Loading packages/SystemUI/res/layout/status_bar.xml +2 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ <com.android.systemui.statusbar.phone.PhoneStatusBarView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui" android:layout_width="match_parent" android:layout_height="@dimen/status_bar_height" android:id="@+id/status_bar" android:background="@drawable/system_bar_background" android:orientation="vertical" Loading packages/SystemUI/res/layout/super_status_bar.xml +3 −2 Original line number Diff line number Diff line Loading @@ -59,9 +59,10 @@ sysui:ignoreRightInset="true" android:importantForAccessibility="no"/> <include layout="@layout/status_bar" <FrameLayout android:id="@+id/status_bar_container" android:layout_width="match_parent" android:layout_height="@dimen/status_bar_height" /> android:layout_height="wrap_content" /> <include layout="@layout/brightness_mirror" /> Loading packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +43 −3 Original line number Diff line number Diff line Loading @@ -16,18 +16,29 @@ package com.android.systemui; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Rect; import android.util.ArraySet; import android.util.AttributeSet; import android.util.TypedValue; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener; import com.android.systemui.statusbar.policy.DarkIconDispatcher; import com.android.systemui.statusbar.policy.DarkIconDispatcher.DarkReceiver; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; public class BatteryMeterView extends ImageView implements BatteryController.BatteryStateChangeCallback, TunerService.Tunable { BatteryStateChangeCallback, Tunable, DarkReceiver, ConfigurationListener { private final BatteryMeterDrawable mDrawable; private final String mSlotBattery; Loading Loading @@ -77,6 +88,7 @@ public class BatteryMeterView extends ImageView implements mBatteryController.addCallback(this); mDrawable.startListening(); Dependency.get(TunerService.class).addTunable(this, StatusBarIconController.ICON_BLACKLIST); Dependency.get(ConfigurationController.class).addCallback(this); } @Override Loading @@ -85,6 +97,7 @@ public class BatteryMeterView extends ImageView implements mBatteryController.removeCallback(this); mDrawable.stopListening(); Dependency.get(TunerService.class).removeTunable(this); Dependency.get(ConfigurationController.class).removeCallback(this); } @Override Loading @@ -99,8 +112,35 @@ public class BatteryMeterView extends ImageView implements } public void setDarkIntensity(float f) { mDrawable.setDarkIntensity(f); @Override public void onDensityOrFontScaleChanged() { scaleBatteryMeterViews(); } /** * Looks up the scale factor for status bar icons and scales the battery view by that amount. */ private void scaleBatteryMeterViews() { Resources res = getContext().getResources(); TypedValue typedValue = new TypedValue(); res.getValue(R.dimen.status_bar_icon_scale_factor, typedValue, true); float iconScaleFactor = typedValue.getFloat(); int batteryHeight = res.getDimensionPixelSize(R.dimen.status_bar_battery_icon_height); int batteryWidth = res.getDimensionPixelSize(R.dimen.status_bar_battery_icon_width); int marginBottom = res.getDimensionPixelSize(R.dimen.battery_margin_bottom); LinearLayout.LayoutParams scaledLayoutParams = new LinearLayout.LayoutParams( (int) (batteryWidth * iconScaleFactor), (int) (batteryHeight * iconScaleFactor)); scaledLayoutParams.setMarginsRelative(0, 0, 0, marginBottom); setLayoutParams(scaledLayoutParams); } @Override public void onDarkChanged(Rect area, float darkIntensity, int tint) { mDrawable.setDarkIntensity(DarkIconDispatcher.isInArea(area, this) ? darkIntensity : 0); } public void setRawColors(int fgColor, int bgColor) { Loading packages/SystemUI/src/com/android/systemui/Dependency.java +15 −0 Original line number Diff line number Diff line Loading @@ -25,9 +25,13 @@ import android.util.ArrayMap; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.assist.AssistManager; import com.android.systemui.plugins.PluginManager; import com.android.systemui.statusbar.phone.ConfigurationControllerImpl; import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl; import com.android.systemui.statusbar.phone.ManagedProfileController; import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl; import com.android.systemui.statusbar.phone.StatusBarWindowManager; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl; import com.android.systemui.statusbar.policy.AccessibilityController; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BatteryControllerImpl; Loading @@ -35,6 +39,8 @@ import com.android.systemui.statusbar.policy.BluetoothController; import com.android.systemui.statusbar.policy.BluetoothControllerImpl; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.CastControllerImpl; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.DarkIconDispatcher; import com.android.systemui.statusbar.policy.DataSaverController; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.DeviceProvisionedControllerImpl; Loading Loading @@ -187,6 +193,15 @@ public class Dependency extends SystemUI { mProviders.put(StatusBarWindowManager.class.getName(), () -> new StatusBarWindowManager(mContext)); mProviders.put(DarkIconDispatcher.class.getName(), () -> new DarkIconDispatcherImpl(mContext)); mProviders.put(ConfigurationController.class.getName(), () -> new ConfigurationControllerImpl(mContext)); mProviders.put(StatusBarIconController.class.getName(), () -> new StatusBarIconControllerImpl(mContext)); // Put all dependencies above here so the factory can override them if it wants. SystemUIFactory.getInstance().injectDependencies(mProviders, mContext); } Loading packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ public class FragmentHostManager { return p; } public void addTagListener(String tag, FragmentListener listener) { public FragmentHostManager addTagListener(String tag, FragmentListener listener) { ArrayList<FragmentListener> listeners = mListeners.get(tag); if (listeners == null) { listeners = new ArrayList<>(); Loading @@ -108,6 +108,7 @@ public class FragmentHostManager { if (current != null && current.getView() != null) { listener.onFragmentViewCreated(tag, current); } return this; } // Shouldn't generally be needed, included for completeness sake. Loading Loading
packages/SystemUI/res/layout/status_bar.xml +2 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ <com.android.systemui.statusbar.phone.PhoneStatusBarView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui" android:layout_width="match_parent" android:layout_height="@dimen/status_bar_height" android:id="@+id/status_bar" android:background="@drawable/system_bar_background" android:orientation="vertical" Loading
packages/SystemUI/res/layout/super_status_bar.xml +3 −2 Original line number Diff line number Diff line Loading @@ -59,9 +59,10 @@ sysui:ignoreRightInset="true" android:importantForAccessibility="no"/> <include layout="@layout/status_bar" <FrameLayout android:id="@+id/status_bar_container" android:layout_width="match_parent" android:layout_height="@dimen/status_bar_height" /> android:layout_height="wrap_content" /> <include layout="@layout/brightness_mirror" /> Loading
packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +43 −3 Original line number Diff line number Diff line Loading @@ -16,18 +16,29 @@ package com.android.systemui; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Rect; import android.util.ArraySet; import android.util.AttributeSet; import android.util.TypedValue; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener; import com.android.systemui.statusbar.policy.DarkIconDispatcher; import com.android.systemui.statusbar.policy.DarkIconDispatcher.DarkReceiver; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; public class BatteryMeterView extends ImageView implements BatteryController.BatteryStateChangeCallback, TunerService.Tunable { BatteryStateChangeCallback, Tunable, DarkReceiver, ConfigurationListener { private final BatteryMeterDrawable mDrawable; private final String mSlotBattery; Loading Loading @@ -77,6 +88,7 @@ public class BatteryMeterView extends ImageView implements mBatteryController.addCallback(this); mDrawable.startListening(); Dependency.get(TunerService.class).addTunable(this, StatusBarIconController.ICON_BLACKLIST); Dependency.get(ConfigurationController.class).addCallback(this); } @Override Loading @@ -85,6 +97,7 @@ public class BatteryMeterView extends ImageView implements mBatteryController.removeCallback(this); mDrawable.stopListening(); Dependency.get(TunerService.class).removeTunable(this); Dependency.get(ConfigurationController.class).removeCallback(this); } @Override Loading @@ -99,8 +112,35 @@ public class BatteryMeterView extends ImageView implements } public void setDarkIntensity(float f) { mDrawable.setDarkIntensity(f); @Override public void onDensityOrFontScaleChanged() { scaleBatteryMeterViews(); } /** * Looks up the scale factor for status bar icons and scales the battery view by that amount. */ private void scaleBatteryMeterViews() { Resources res = getContext().getResources(); TypedValue typedValue = new TypedValue(); res.getValue(R.dimen.status_bar_icon_scale_factor, typedValue, true); float iconScaleFactor = typedValue.getFloat(); int batteryHeight = res.getDimensionPixelSize(R.dimen.status_bar_battery_icon_height); int batteryWidth = res.getDimensionPixelSize(R.dimen.status_bar_battery_icon_width); int marginBottom = res.getDimensionPixelSize(R.dimen.battery_margin_bottom); LinearLayout.LayoutParams scaledLayoutParams = new LinearLayout.LayoutParams( (int) (batteryWidth * iconScaleFactor), (int) (batteryHeight * iconScaleFactor)); scaledLayoutParams.setMarginsRelative(0, 0, 0, marginBottom); setLayoutParams(scaledLayoutParams); } @Override public void onDarkChanged(Rect area, float darkIntensity, int tint) { mDrawable.setDarkIntensity(DarkIconDispatcher.isInArea(area, this) ? darkIntensity : 0); } public void setRawColors(int fgColor, int bgColor) { Loading
packages/SystemUI/src/com/android/systemui/Dependency.java +15 −0 Original line number Diff line number Diff line Loading @@ -25,9 +25,13 @@ import android.util.ArrayMap; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.assist.AssistManager; import com.android.systemui.plugins.PluginManager; import com.android.systemui.statusbar.phone.ConfigurationControllerImpl; import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl; import com.android.systemui.statusbar.phone.ManagedProfileController; import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl; import com.android.systemui.statusbar.phone.StatusBarWindowManager; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl; import com.android.systemui.statusbar.policy.AccessibilityController; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BatteryControllerImpl; Loading @@ -35,6 +39,8 @@ import com.android.systemui.statusbar.policy.BluetoothController; import com.android.systemui.statusbar.policy.BluetoothControllerImpl; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.CastControllerImpl; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.DarkIconDispatcher; import com.android.systemui.statusbar.policy.DataSaverController; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.DeviceProvisionedControllerImpl; Loading Loading @@ -187,6 +193,15 @@ public class Dependency extends SystemUI { mProviders.put(StatusBarWindowManager.class.getName(), () -> new StatusBarWindowManager(mContext)); mProviders.put(DarkIconDispatcher.class.getName(), () -> new DarkIconDispatcherImpl(mContext)); mProviders.put(ConfigurationController.class.getName(), () -> new ConfigurationControllerImpl(mContext)); mProviders.put(StatusBarIconController.class.getName(), () -> new StatusBarIconControllerImpl(mContext)); // Put all dependencies above here so the factory can override them if it wants. SystemUIFactory.getInstance().injectDependencies(mProviders, mContext); } Loading
packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ public class FragmentHostManager { return p; } public void addTagListener(String tag, FragmentListener listener) { public FragmentHostManager addTagListener(String tag, FragmentListener listener) { ArrayList<FragmentListener> listeners = mListeners.get(tag); if (listeners == null) { listeners = new ArrayList<>(); Loading @@ -108,6 +108,7 @@ public class FragmentHostManager { if (current != null && current.getView() != null) { listener.onFragmentViewCreated(tag, current); } return this; } // Shouldn't generally be needed, included for completeness sake. Loading