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;

 

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. CSS实战flex布局仿京东app
  2. Python学习之pycharm的快捷键大全
  3. 20个基础函数的练习
  4. 换个角度看硅谷的前世今生三部曲之3- 展
  5. 印度硅谷?少来了,硅谷不是你想叫,想叫就能
  6. 面向目标 vs. 面向功能: 选择正确的Produ
  7. 三分钟带你读懂硅谷的过去、现在、和未来
  8. 海外最新的垂直市场水平化攻略
  9. 创新大师Steve Blank: 你真的知道什么是
  10. 公司拿钱要3P|其实,一开始我是拒绝的...