添加手机底部三个物理键按键音

alps_o1/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java

import android.widget.ImageView;
 //added by wm  KT_SMART_WAKEUP ->start 
 
+//rex add start
+import android.media.Ringtone;
+import android.media.RingtoneManager;
+import android.net.Uri;
+//rex add end
+
 /**
  * WindowManagerPolicy implementation for the Android phone UI.  This
  * introduces a new method suffix, Lp, for an internal lock of the
@@ -359,6 +365,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
     static public final String SYSTEM_DIALOG_REASON_ASSIST = "assist";
     static public final String SYSTEM_DIALOG_REASON_SCREENSHOT = "screenshot";
 
+    //rex add start
+    private static final Uri soundUri = Uri.parse("file://" + "/system/media/audio/ui/Effect_Tick.ogg");
+    private Ringtone sfx;
+    //rex add end
+
     /**
      * These are the system UI flags that, when changing, can cause the layout
      * of the screen to change.
@@ -2221,9 +2232,20 @@ public class PhoneWindowManager implements WindowManagerPolicy {
             mAlspsGesture= new AlspsGesture(mContext);
          }
         //added by wm  KT_SMART_WAKEUP ->end
-				
+			
     }
 
+    //rex add start
+    private void playSound() {
+         sfx = RingtoneManager.getRingtone(mContext, soundUri);
+         if (sfx != null) {
+               sfx.setStreamType(AudioManager.STREAM_SYSTEM);
+               sfx.setVolume(0.3f);
+               sfx.play();
+         }
+    }
+    //rex add end
+
     /**
      * Read values from config.xml that may be overridden depending on
      * the configuration of the device.
@@ -3549,6 +3571,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
             // Remember that home is pressed and handle special actions.
             if (repeatCount == 0) {
                 mHomePressed = true;
+                //rex add start
+                playSound();
+                //rex add end
                 if (mHomeDoubleTapPending) {
                     mHomeDoubleTapPending = false;
                     mHandler.removeCallbacks(mHomeDoubleTapTimeoutRunnable);
@@ -3601,6 +3626,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                     toggleRecentApps();
                 }
             }
+            //rex add start
+            if (repeatCount == 0 && down) {
+                playSound();
+            }
+            //rex add end
             return -1;
         } else if (keyCode == KeyEvent.KEYCODE_N && event.isMetaPressed()) {
             if (down) {
@@ -6222,6 +6252,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
             case KeyEvent.KEYCODE_BACK: {
                 if (down) {
                     interceptBackKeyDown();
+                    //rex add start
+                    playSound();
+                    //rex add end
                 } else {
                    boolean handled = interceptBackKeyUp(event);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值