android 9.0 增加实体按键的按键声音,以及增加按键声音的开关
16lz
2021-01-24
diff --git a/frameworks/base/api/current.txt b/frameworks/base/api/current.txtindex 240da7e..0af343b 100755--- a/frameworks/base/api/current.txt+++ b/frameworks/base/api/current.txt@@ -22252,6 +22252,7 @@ package android.media { field public static final int FX_KEYPRESS_SPACEBAR = 6; // 0x6 field public static final int FX_KEYPRESS_STANDARD = 5; // 0x5 field public static final int FX_KEY_CLICK = 0; // 0x0+ field public static final int FX_KEY_CLICK_VOL = 10; // 0xa field public static final int GET_DEVICES_ALL = 3; // 0x3 field public static final int GET_DEVICES_INPUTS = 1; // 0x1 field public static final int GET_DEVICES_OUTPUTS = 2; // 0x2diff --git a/frameworks/base/core/res/res/xml/audio_assets.xml b/frameworks/base/core/res/res/xml/audio_assets.xmlold mode 100644new mode 100755index af5798a..1a3958c--- a/frameworks/base/core/res/res/xml/audio_assets.xml+++ b/frameworks/base/core/res/res/xml/audio_assets.xml@@ -26,6 +26,7 @@ + diff --git a/frameworks/base/data/sounds/AllAudio.mk b/frameworks/base/data/sounds/AllAudio.mkold mode 100644new mode 100755index edfd380..12de0de--- a/frameworks/base/data/sounds/AllAudio.mk+++ b/frameworks/base/data/sounds/AllAudio.mk@@ -232,4 +232,5 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/ogg/WirelessChargingStarted.ogg:system/media/audio/ui/WirelessChargingStarted.ogg \ $(LOCAL_PATH)/effects/ogg/camera_click_48k.ogg:system/media/audio/ui/camera_click.ogg \ $(LOCAL_PATH)/effects/ogg/camera_focus.ogg:system/media/audio/ui/camera_focus.ogg \+ $(LOCAL_PATH)/effects/ogg/barcodebeep.ogg:system/media/audio/ui/barcodebeep.ogg \ diff --git a/frameworks/base/data/sounds/effects/barcodebeep.ogg b/frameworks/base/data/sounds/effects/barcodebeep.oggnew file mode 100755index 0000000..ca1532cBinary files /dev/null and b/frameworks/base/data/sounds/effects/barcodebeep.ogg differdiff --git a/frameworks/base/data/sounds/effects/ogg/barcodebeep.ogg b/frameworks/base/data/sounds/effects/ogg/barcodebeep.oggnew file mode 100755index 0000000..ca1532cBinary files /dev/null and b/frameworks/base/data/sounds/effects/ogg/barcodebeep.ogg differdiff --git a/frameworks/base/media/java/android/media/AudioManager.java b/frameworks/base/media/java/android/media/AudioManager.javaold mode 100644new mode 100755index b318971..e8457cb--- a/frameworks/base/media/java/android/media/AudioManager.java+++ b/frameworks/base/media/java/android/media/AudioManager.java@@ -2009,10 +2009,15 @@ public class AudioManager { * @see #playSoundEffect(int) */ public static final int FX_KEYPRESS_INVALID = 9;++public static final int FX_KEY_CLICK_VOL = 10; /** * @hide Number of sound effects */- public static final int NUM_SOUND_EFFECTS = 10;+ public static final int NUM_SOUND_EFFECTS = 11;+++ /** * Plays a sound effect (Key clicks, lid open/close...)diff --git a/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java b/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.javaindex 22486c9..2f11687 100755--- a/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java+++ b/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java@@ -298,6 +298,9 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.List; import android.app.Instrumentation;//oudelin+++ /** * WindowManagerPolicy implementation for the Android phone UI. This * introduces a new method suffix, Lp, for an internal lock of the@@ -884,6 +887,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { public static final String KEY_VALUE="RSCJA_SCAN_KEY_VALUE"; public static final String KEY_STATE="RSCJA_SCAN_KEY_START"; public static final String KEY_BATTERY_STATE="RSCJA_KEY_BAT_VALUE";+ public static final String KEY_VOLUME_OPNE="KEY_VOLUME_OPNE"; private class PolicyHandler extends Handler { @Override public void handleMessage(Message msg) {@@ -1069,7 +1073,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { UserHandle.USER_ALL); resolver.registerContentObserver(Settings.System.getUriFor( KEY_BATTERY_STATE), false, this,-UserHandle.USER_ALL);+UserHandle.USER_ALL);+ resolver.registerContentObserver(Settings.System.getUriFor(+ KEY_VOLUME_OPNE), false, this,+UserHandle.USER_ALL); updateSettings(); } @@ -3754,15 +3761,29 @@ public class PhoneWindowManager implements WindowManagerPolicy { final boolean down = event.getAction() == KeyEvent.ACTION_DOWN; final boolean canceled = event.isCanceled(); int batt = Settings.System.getInt(mContext.getContentResolver(), KEY_BATTERY_STATE, 0);+int key_volume = Settings.System.getInt(mContext.getContentResolver(), KEY_VOLUME_OPNE, 0); // if (DEBUG_INPUT) { Log.d(TAG, "interceptKeyTi keyCode=" + keyCode + " down=" + down + " repeatCount=" + repeatCount + " keyguardOn=" + keyguardOn + " mHomePressed=" + mHomePressed- + " canceled=" + canceled);+ + " canceled=" + canceled + "key_volume =" +key_volume); // }+ if(down && keyCode!=3 && key_volume == 1 ) {+performVirtualKeyClickSound();+} // add switch (keyCode) {+case 142 :{+if(down ){+if(key_volume == 0){+Settings.System.putInt(mContext.getContentResolver(), KEY_VOLUME_OPNE, 1);+}else{+Settings.System.putInt(mContext.getContentResolver(), KEY_VOLUME_OPNE, 0);+} +} +break ;+} case 295: case 296: case 291:@@ -6231,7 +6252,15 @@ public class PhoneWindowManager implements WindowManagerPolicy { setHdmiPlugged(!mHdmiPlugged); } -+private void performVirtualKeyClickSound(){+AudioManager audioManager = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE);+if(audioManager != null){+Log.d(TAG, "interceptKeyTq ssssssssssssssss performVirtualKeyClickSound ");+ audioManager.playSoundEffect(AudioManager.FX_KEY_CLICK_VOL);+}else{+ Log.w(TAG, "performVirtualKeyClickSound");+}+} /** {@inheritDoc} */ @Override public int interceptKeyBeforeQueueing(KeyEvent event, int policyFlags) {@@ -6255,7 +6284,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { (interactive ? isKeyguardShowingAndNotOccluded() : mKeyguardDelegate.isShowing()));- // if (DEBUG_INPUT) { Log.d(TAG, "interceptKeyTq keycode=" + keyCode + " interactive=" + interactive + " keyguardActive=" + keyguardActivediff --git a/kernel/msm-4.9/drivers/input/keyboard/sn7326_kpd.h b/kernel/msm-4.9/drivers/input/keyboard/sn7326_kpd.hindex 90a3321..05084fa 100755--- a/kernel/msm-4.9/drivers/input/keyboard/sn7326_kpd.h+++ b/kernel/msm-4.9/drivers/input/keyboard/sn7326_kpd.h@@ -141,7 +141,7 @@ struct sn7326_button sn7326_keypad1_alphabet[] = { KEYPAD_BUTTON_LOW(KEY_RIGHTSHIFT), KEYPAD_BUTTON_LOW(KEY_P), //10 KEYPAD_BUTTON_LOW(KEY_Z),-KEYPAD_BUTTON_LOW(KEY_SPACE),+KEYPAD_BUTTON_LOW(KEY_F12), KEYPAD_BUTTON_LOW(0), KEYPAD_BUTTON_LOW(0), KEYPAD_BUTTON_LOW(0),@@ -320,7 +320,7 @@ struct sn7326_button sn7326_keypad2_alphabet[] = { KEYPAD_BUTTON_LOW(KEY_CAMERA), //shuben KEYPAD_BUTTON_LOW(KEY_6), KEYPAD_BUTTON_LOW(KEY_POUND), //#-KEYPAD_BUTTON_LOW(KEY_SPACE),+KEYPAD_BUTTON_LOW(KEY_F12), }; struct sn7326_pdata {//pdata unsigned int rst_gpio;
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer