android 9.0 增加实体按键的按键声音,以及增加按键声音的开关

diff --git a/frameworks/base/api/current.txt b/frameworks/base/api/current.txt
index 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; // 0x2
diff --git a/frameworks/base/core/res/res/xml/audio_assets.xml b/frameworks/base/core/res/res/xml/audio_assets.xml
old mode 100644
new mode 100755
index 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 @@
 <audio_assets version="1.0">
     <group name="touch_sounds">
         <asset id="FX_KEY_CLICK" file="Effect_Tick.ogg"/>
+        <asset id="FX_KEY_CLICK_VOL" file="barcodebeep.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"/>
diff --git a/frameworks/base/data/sounds/AllAudio.mk b/frameworks/base/data/sounds/AllAudio.mk
old mode 100644
new mode 100755
index 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.ogg
new file mode 100755
index 0000000..ca1532c
Binary files /dev/null and b/frameworks/base/data/sounds/effects/barcodebeep.ogg differ
diff --git a/frameworks/base/data/sounds/effects/ogg/barcodebeep.ogg b/frameworks/base/data/sounds/effects/ogg/barcodebeep.ogg
new file mode 100755
index 0000000..ca1532c
Binary files /dev/null and b/frameworks/base/data/sounds/effects/ogg/barcodebeep.ogg differ
diff --git a/frameworks/base/media/java/android/media/AudioManager.java b/frameworks/base/media/java/android/media/AudioManager.java
old mode 100644
new mode 100755
index 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.java
index 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=" + keyguardActive
diff --git a/kernel/msm-4.9/drivers/input/keyboard/sn7326_kpd.h b/kernel/msm-4.9/drivers/input/keyboard/sn7326_kpd.h
index 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;

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值