<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2012, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->

<!-- Mapping of UI sound effects to audio assets under /system/media/audio/ui.
     Modify this file to override default sound assets.
     Currently only touch sounds can be overridden. Other groups can be added
     in the future for other UI sounds like camera, lock, dock...
-->

<audio_assets version="1.0">
    <group name="touch_sounds">
        <asset id="FX_KEY_CLICK" file="Effect_Tick.ogg"/>
        <asset id="FX_FOCUS_NAVIGATION_UP" file="Effect_Tick.ogg"/>
        <asset id="FX_FOCUS_NAVIGATION_DOWN" file="Effect_Tick.ogg"/>
        <asset id="FX_FOCUS_NAVIGATION_LEFT" file="Effect_Tick.ogg"/>
        <asset id="FX_FOCUS_NAVIGATION_RIGHT" file="Effect_Tick.ogg"/>
        <asset id="FX_KEYPRESS_STANDARD" file="KeypressStandard.ogg"/>
        <asset id="FX_KEYPRESS_SPACEBAR" file="KeypressSpacebar.ogg"/>
        <asset id="FX_KEYPRESS_DELETE" file="KeypressDelete.ogg"/>
        <asset id="FX_KEYPRESS_RETURN" file="KeypressReturn.ogg"/>
        <asset id="FX_KEYPRESS_INVALID" file="KeypressInvalid.ogg"/>
    </group>
</audio_assets>
