Work on separating out the status bar management
Lots of stuff:
- Make StatusBarIconController be a permanent dependency
- Break out dark stuff into DarkIconDispatcher
- Create StatusBarFragment
- This bit is a bit ugly for now, but will be better later
- Other stuff probably
Test: runtest systemui
Change-Id: I4973bc9f944e66af92731bf1edd2b39657f1782f
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
index 7e08812..b52c26f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
@@ -24,9 +24,13 @@
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
+import com.android.systemui.BatteryMeterView;
import com.android.systemui.DejankUtils;
+import com.android.systemui.Dependency;
import com.android.systemui.EventLogTags;
import com.android.systemui.R;
+import com.android.systemui.statusbar.policy.DarkIconDispatcher;
+import com.android.systemui.statusbar.policy.DarkIconDispatcher.DarkReceiver;
public class PhoneStatusBarView extends PanelBar {
private static final String TAG = "PhoneStatusBarView";
@@ -48,6 +52,7 @@
}
}
};
+ private DarkReceiver mBattery;
public PhoneStatusBarView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -70,6 +75,20 @@
@Override
public void onFinishInflate() {
mBarTransitions.init();
+ mBattery = (DarkReceiver) findViewById(R.id.battery);
+ }
+
+ @Override
+ protected void onAttachedToWindow() {
+ super.onAttachedToWindow();
+ // Always have Battery meters in the status bar observe the dark/light modes.
+ Dependency.get(DarkIconDispatcher.class).addDarkReceiver(mBattery);
+ }
+
+ @Override
+ protected void onDetachedFromWindow() {
+ super.onDetachedFromWindow();
+ Dependency.get(DarkIconDispatcher.class).removeDarkReceiver(mBattery);
}
@Override