Android 5.1状态栏背景色定制 在Launcher3界面显示透明,在其他界面显示黑色

直接贴代码

diff --git a/alps/frameworks/base/core/java/android/app/Activity.java b/alps/frameworks/base/core/java/android/app/Activity.java
old mode 100644
new mode 100755
index 1d17928..5650cb7
--- a/alps/frameworks/base/core/java/android/app/Activity.java
+++ b/alps/frameworks/base/core/java/android/app/Activity.java
@@ -1231,6 +1231,20 @@ public class Activity extends ContextThemeWrapper
         getApplication().dispatchActivityResumed(this);
         mActivityTransitionState.onResume();
         mCalled = true;
+		//add by xxxxxx start
+		try{
+              if(getPackageName().equals("com.android.launcher3") ){
+                   Intent showTitleBackIntent = new Intent("change_statusbar_transparent");
+                   sendBroadcast(showTitleBackIntent);
+              }else{
+                  Intent showTitleBackIntent = new Intent("change_statusbar_black");
+                  sendBroadcast(showTitleBackIntent);
+              }
+          }catch (Exception e) {
+             e.printStackTrace();       
+        }
+		//add by xxxxxx end
     }
 
     /**
diff --git a/alps/packages/apps/LauncherL1/src/com/android/launcher3/Launcher.java b/alps/packages/apps/LauncherL1/src/com/android/launcher3/Launcher.java
index c842fec..e848f9f 100755
--- a/alps/packages/apps/LauncherL1/src/com/android/launcher3/Launcher.java
+++ b/alps/packages/apps/LauncherL1/src/com/android/launcher3/Launcher.java
@@ -2066,6 +2066,10 @@ public class Launcher extends Activity
                 if (isInEditMode()) {
                     exitEditMode();
                 }
+				//add by xxxxxx start
+		        Intent in =new Intent("change_statusbar_transparent");
+		        sendBroadcast(in);
+               //add by xxxxxx end
             } else if (Intent.ACTION_USER_PRESENT.equals(action)) {
                 mUserPresent = true;
                 updateRunning();
				 
diff --git a/alps/frameworks/base/packages/SystemUI/res/layout/status_bar.xml b/alps/frameworks/base/packages/SystemUI/res/layout/status_bar.xml
index 6ae2ace..634f821 100755
--- a/alps/frameworks/base/packages/SystemUI/res/layout/status_bar.xml
+++ b/alps/frameworks/base/packages/SystemUI/res/layout/status_bar.xml
@@ -23,12 +23,14 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"
     android:id="@+id/status_bar"
-    android:background="@drawable/system_bar_background"
+    android:background="#00000000"
     android:orientation="vertical"
     android:focusable="true"
     android:descendantFocusability="afterDescendants"
     >
 	
+<!--android:background="@drawable/system_bar_background"-->
+	
 	<LinearLayout
 	    android:id="@+id/status_bar_volume"
         android:layout_width="wrap_content"
diff --git a/alps/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/alps/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 9043a20..69485ca 100755
--- a/alps/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/alps/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -413,6 +413,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
     boolean mQuicksettingShow = false;
 	
 	//add by xxxxxx start
+	private boolean  mKeyTestRunning = false;
+	private static final String KEY_START_TEST = "com.tdc.factory.keytest.start";
+    private static final String KEY_STOP_TEST = "com.tdc.factory.keytest.stop";
 	private CustomBatteryController customBatteryController;
 	private static boolean isNavigationShow = true ;
 	private static final String EXTRA_VOLUME_STREAM_TYPE = "android.media.EXTRA_VOLUME_STREAM_TYPE";
@@ -1191,6 +1194,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
 		//filter.addAction("android.media.VOLUME_CHANGED_ACTION");
+		filter.addAction("change_statusbar_transparent");
+		filter.addAction("change_statusbar_black");
 		//add by xxxxxx end
         ///@}
         if (DEBUG_MEDIA_FAKE_ARTWORK) {
@@ -1568,11 +1575,14 @@ public void showNavigationBar() {
 
     private void prepareNavigationBarView() {
         mNavigationBarView.reorient();
-
-        mNavigationBarView.getRecentsButton().setOnClickListener(mRecentsClickListener);
-        mNavigationBarView.getRecentsButton().setOnTouchListener(mRecentsPreloadOnTouchListener);
-        mNavigationBarView.getRecentsButton().setLongClickable(true);
-        mNavigationBarView.getRecentsButton().setOnLongClickListener(mLongPressBackRecentsListener);
+		//System.out.println("keytest prepareNavigationBarView getRecentsButton mKeyTestRunning=="+mKeyTestRunning);
+        
+			mNavigationBarView.getRecentsButton().setOnClickListener(mRecentsClickListener);
+            mNavigationBarView.getRecentsButton().setOnTouchListener(mRecentsPreloadOnTouchListener);
+            mNavigationBarView.getRecentsButton().setLongClickable(true);
+            mNavigationBarView.getRecentsButton().setOnLongClickListener(mLongPressBackRecentsListener);
+			
+        
         mNavigationBarView.getBackButton().setLongClickable(true);
         mNavigationBarView.getBackButton().setOnLongClickListener(mLongPressBackRecentsListener);
         mNavigationBarView.getHomeButton().setOnTouchListener(mHomeActionListener);
@@ -3661,6 +3671,17 @@ public void showNavigationBar() {
 				mhandler.sendEmptyMessageDelayed(1115, 200);
 			}else if("com.hys.sdcard_remove".equals(action)){
 				mhandler.sendEmptyMessageDelayed(1116, 200);
+			}else if("change_statusbar_transparent".equals(action)){
+				Log.d(TAG, "This transparent:");
+				mStatusBarView.setBackgroundColor(Color.TRANSPARENT);
+			}else if("change_statusbar_black".equals(action)){
+				Log.d(TAG, "This black:");
+				mStatusBarView.setBackgroundColor(Color.BLACK);    
 			}
 			//add by xxxxxx end
         }
diff --git a/alps/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/alps/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index 89cc2be..04aad19 100755
--- a/alps/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/alps/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -3774,7 +3774,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                     // If the opaque status bar is currently requested to be visible,
                     // and not in the process of animating on or off, then
                     // we can tell the app that it is covered by it.
-                    mSystemTop = mUnrestrictedScreenTop + mStatusBarHeight;
+                    //mSystemTop = mUnrestrictedScreenTop + mStatusBarHeight;//noted by xxxxxx
                 }
                 if (mStatusBarController.checkHiddenLw()) {
                     updateSysUiVisibility = true;
@@ -3789,7 +3789,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
     /** {@inheritDoc} */
     @Override
     public int getSystemDecorLayerLw() {
-        if (mStatusBar != null) return mStatusBar.getSurfaceLayer();
+        if (mStatusBar != null) return 0;//mStatusBar.getSurfaceLayer();//noted by xxxxxx
         if (mNavigationBar != null) return mNavigationBar.getSurfaceLayer();
         return 0;
     }
diff --git a/alps/packages/apps/LauncherL1/src/com/android/launcher3/Launcher.java b/alps/packages/apps/LauncherL1/src/com/android/launcher3/Launcher.java
index 51c099c..c842fec 100755
--- a/alps/packages/apps/LauncherL1/src/com/android/launcher3/Launcher.java
+++ b/alps/packages/apps/LauncherL1/src/com/android/launcher3/Launcher.java
@@ -1213,6 +1213,10 @@ public class Launcher extends Activity
         }
 
         FirstFrameAnimatorHelper.setIsVisible(true);
+		//add by xxxxxx start
+		Intent intent =new Intent("change_statusbar_transparent");
+		sendBroadcast(intent);
+        //add by xxxxxx end
     }
 
     @Override
@@ -1418,6 +1422,10 @@ public class Launcher extends Activity
         if (LauncherLog.DEBUG) {
             LauncherLog.d(TAG, "(Launcher)onPause: set SharedPreferences for MMS,end");
         }
+		//add by xxxxxx start
+		Intent intent =new Intent("change_statusbar_black");
+		sendBroadcast(intent);
+        //add by xxxxxx end
     }
 
     QSBScroller mQsbScroller = new QSBScroller() {
@@ -6330,6 +6338,16 @@ public class Launcher extends Activity
         themes.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
             startActivity(themes); 
     }
+	@Override
+	protected void onRestart() {
+		// TODO Auto-generated method stub
+		super.onRestart();
+		if (LauncherLog.DEBUG) {
+            LauncherLog.d(TAG, "(Launcher)onRestart: this = ");
+        }
+		Intent intent =new Intent("change_statusbar_transparent");
+		sendBroadcast(intent);
+	}
 	//noted by xxxxxx end
     
     /**M: Added for unread message feature.@{**/

 

posted @ 2020-03-30 10:34  稻香鱼  阅读(485)  评论(0)    收藏  举报