android 9 3288 导航栏添加关机按钮

效果

android 9 3288 导航栏添加关机按钮_第1张图片 

diff --git a/frameworks/base/packages/SystemUI/res/values-sw372dp/config.xml b/frameworks/base/packages/SystemUI/res/values-sw372dp/config.xml
index f66ba9c..d7b3391 100755
--- a/frameworks/base/packages/SystemUI/res/values-sw372dp/config.xml
+++ b/frameworks/base/packages/SystemUI/res/values-sw372dp/config.xml
@@ -21,5 +21,5 @@
      for different hardware and product builds. -->
 
     
-    left;volume_sub,back,home,recent,volume_add,screenshot;right
+    left;soft_shutdown,volume_sub,back,home,recent,volume_add,screenshot;space
 
diff --git a/frameworks/base/packages/SystemUI/res/values-sw400dp/config.xml b/frameworks/base/packages/SystemUI/res/values-sw400dp/config.xml
index fb418ff..d7b3391 100644
--- a/frameworks/base/packages/SystemUI/res/values-sw400dp/config.xml
+++ b/frameworks/base/packages/SystemUI/res/values-sw400dp/config.xml
@@ -21,5 +21,5 @@
      for different hardware and product builds. -->
 
     
-    left;volume_sub,back,home,recent,volume_add,screenshot;right[.1W]
+    left;soft_shutdown,volume_sub,back,home,recent,volume_add,screenshot;space
 
diff --git a/frameworks/base/packages/SystemUI/res/values-sw450dp/config.xml b/frameworks/base/packages/SystemUI/res/values-sw450dp/config.xml
index fb418ff..d7b3391 100644
--- a/frameworks/base/packages/SystemUI/res/values-sw450dp/config.xml
+++ b/frameworks/base/packages/SystemUI/res/values-sw450dp/config.xml
@@ -21,5 +21,5 @@
      for different hardware and product builds. -->
 
     
-    left;volume_sub,back,home,recent,volume_add,screenshot;right[.1W]
+    left;soft_shutdown,volume_sub,back,home,recent,volume_add,screenshot;space
 
diff --git a/frameworks/base/packages/SystemUI/res/values-sw500dp/config.xml b/frameworks/base/packages/SystemUI/res/values-sw500dp/config.xml
index fb418ff..d7b3391 100644
--- a/frameworks/base/packages/SystemUI/res/values-sw500dp/config.xml
+++ b/frameworks/base/packages/SystemUI/res/values-sw500dp/config.xml
@@ -21,5 +21,5 @@
      for different hardware and product builds. -->
 
     
-    left;volume_sub,back,home,recent,volume_add,screenshot;right[.1W]
+    left;soft_shutdown,volume_sub,back,home,recent,volume_add,screenshot;space
 
diff --git a/frameworks/base/packages/SystemUI/res/values-sw600dp/config.xml b/frameworks/base/packages/SystemUI/res/values-sw600dp/config.xml
index 9216e70..6497788 100644
--- a/frameworks/base/packages/SystemUI/res/values-sw600dp/config.xml
+++ b/frameworks/base/packages/SystemUI/res/values-sw600dp/config.xml
@@ -30,7 +30,7 @@
     true
 
     
-    left;volume_sub,back,home,recent,volume_add,screenshot;right[.1W]
+    left;soft_shutdown,volume_sub,back,home,recent,volume_add,screenshot;space
 
     
     290
diff --git a/frameworks/base/packages/SystemUI/res/values-sw650dp/config.xml b/frameworks/base/packages/SystemUI/res/values-sw650dp/config.xml
index fb418ff..d7b3391 100644
--- a/frameworks/base/packages/SystemUI/res/values-sw650dp/config.xml
+++ b/frameworks/base/packages/SystemUI/res/values-sw650dp/config.xml
@@ -21,5 +21,5 @@
      for different hardware and product builds. -->
 
     
-    left;volume_sub,back,home,recent,volume_add,screenshot;right[.1W]
+    left;soft_shutdown,volume_sub,back,home,recent,volume_add,screenshot;space
 
diff --git a/frameworks/base/packages/SystemUI/res/values-sw800dp/config.xml b/frameworks/base/packages/SystemUI/res/values-sw800dp/config.xml
index fb418ff..d7b3391 100644
--- a/frameworks/base/packages/SystemUI/res/values-sw800dp/config.xml
+++ b/frameworks/base/packages/SystemUI/res/values-sw800dp/config.xml
@@ -21,5 +21,5 @@
      for different hardware and product builds. -->
 
     
-    left;volume_sub,back,home,recent,volume_add,screenshot;right[.1W]
+    left;soft_shutdown,volume_sub,back,home,recent,volume_add,screenshot;space
 
diff --git a/frameworks/base/packages/SystemUI/res/values-sw900dp/config.xml b/frameworks/base/packages/SystemUI/res/values-sw900dp/config.xml
index 833016b..4f19494 100644
--- a/frameworks/base/packages/SystemUI/res/values-sw900dp/config.xml
+++ b/frameworks/base/packages/SystemUI/res/values-sw900dp/config.xml
@@ -19,6 +19,5 @@
 
     
-    left;volume_sub,back,home,recent,volume_add,screenshot;right[.1W]
-
+    left;soft_shutdown,volume_sub,back,home,recent,volume_add,screenshot;space
 
diff --git a/frameworks/base/packages/SystemUI/res/values/config.xml b/frameworks/base/packages/SystemUI/res/values/config.xml
index 4d53ea8..d80d80e 100755
--- a/frameworks/base/packages/SystemUI/res/values/config.xml
+++ b/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -363,7 +363,7 @@
     
 
     
-    left;volume_sub,back,home,recent,volume_add,screenshot;right
+    left;soft_shutdown,volume_sub,back,home,recent,volume_add,screenshot;space
     back[1.7WC];home;contextual[1WC]
 
     false
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
index 6fd36b4..a76f828 100755
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
@@ -794,6 +794,9 @@ public class NavigationBarFragment extends Fragment implements Callbacks {
             screenshotButton.setVisibility(View.GONE);
         }
 
+        ButtonDispatcher powerButton = mNavigationBarView.getPowerButton();
+        powerButton.setOnClickListener(this:: powerClick);
+        powerButton.setOnTouchListener(this:: powerTouch);
         ButtonDispatcher volumeAddButton=mNavigationBarView.getVolumeAddButton();
         ButtonDispatcher volumeSubButton=mNavigationBarView.getVolumeSubButton();
         boolean isShowVolumeButton="true".equals(SystemProperties.get("ro.rk.systembar.voiceicon","true"));
@@ -994,11 +997,22 @@ public class NavigationBarFragment extends Fragment implements Callbacks {
         return false;
     }
 
+    private boolean powerTouch(View v, MotionEvent event) {
+        if (event.getAction() == MotionEvent.ACTION_UP) {
+            Intent intent=new Intent("com.google.systemui.poweroff");
+            getContext().sendBroadcast(intent);
+        }
+        return false;
+    }
     private void screenshotClick(View v) {
         Intent intent=new Intent("android.intent.action.SCREENSHOT");
         getContext().sendBroadcast(intent);
     }
 
+    private void powerClick(View v) {
+        Intent intent=new Intent("com.google.systemui.poweroff");
+        getContext().sendBroadcast(intent);            
+    }
     private void onAccessibilityClick(View v) {
         mAccessibilityManager.notifyAccessibilityButtonClicked();
     }
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
index f8c7fe3..7ae4987 100644
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
@@ -72,6 +72,7 @@ public class NavigationBarInflaterView extends FrameLayout
     public static final String SCREENSHOT = "screenshot";
     public static final String VOLUME_ADD = "volume_add";
     public static final String VOLUME_SUB = "volume_sub";
+    public static final String SOFT_SHUTDOWN = "soft_shutdown";
 
     public static final String GRAVITY_SEPARATOR = ";";
     public static final String BUTTON_SEPARATOR = ",";
@@ -414,6 +415,8 @@ public class NavigationBarInflaterView extends FrameLayout
             v = inflater.inflate(R.layout.volume_add, parent, false);
         } else if (VOLUME_SUB.equals(button)) {
             v = inflater.inflate(R.layout.volume_sub, parent, false);
+        }  else if (SOFT_SHUTDOWN.equals(button)) {
+            v = inflater.inflate(R.layout.soft_shutdown, parent, false);
         } else if (button.startsWith(KEY)) {
             String uri = extractImage(button);
             int code = extractKeycode(button);
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
index cc0b12b..85934e2 100644
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
@@ -132,6 +132,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener

 

你可能感兴趣的:(rk3288)