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.@{**/
日拱一卒百无有尽,功不唐捐终入海
浙公网安备 33010602011771号