Don't update nav bar tint when in gesture nav
- The region sampling listener is already constantly updating the tint
based on the actual content beneath the bar
Change-Id: Ia521bd3c5c8507fd97e22dd12e8102dfc2368320
Bug: 154002408
Test: Open up the settings "opening links" activity and ensure it
the tint doesn't get clobbered
This commit is contained in:
@@ -44,6 +44,7 @@ import com.android.systemui.statusbar.phone.BarTransitions.TransitionMode;
|
||||
import com.android.systemui.statusbar.phone.LightBarController;
|
||||
import com.android.systemui.statusbar.phone.NavigationBarFragment;
|
||||
import com.android.systemui.statusbar.phone.NavigationBarView;
|
||||
import com.android.systemui.statusbar.phone.NavigationModeController;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@@ -139,7 +140,8 @@ public class NavigationBarController implements Callbacks {
|
||||
? Dependency.get(LightBarController.class)
|
||||
: new LightBarController(context,
|
||||
Dependency.get(DarkIconDispatcher.class),
|
||||
Dependency.get(BatteryController.class));
|
||||
Dependency.get(BatteryController.class),
|
||||
Dependency.get(NavigationModeController.class));
|
||||
navBar.setLightBarController(lightBarController);
|
||||
|
||||
// TODO(b/118592525): to support multi-display, we start to add something which is
|
||||
|
||||
@@ -33,6 +33,7 @@ import com.android.internal.view.AppearanceRegion;
|
||||
import com.android.systemui.Dumpable;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.plugins.DarkIconDispatcher;
|
||||
import com.android.systemui.shared.system.QuickStepContract;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
|
||||
import java.io.FileDescriptor;
|
||||
@@ -58,6 +59,7 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
|
||||
private AppearanceRegion[] mAppearanceRegions = new AppearanceRegion[0];
|
||||
private int mStatusBarMode;
|
||||
private int mNavigationBarMode;
|
||||
private int mNavigationMode;
|
||||
private final Color mDarkModeColor;
|
||||
|
||||
/**
|
||||
@@ -84,11 +86,14 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
|
||||
|
||||
@Inject
|
||||
public LightBarController(Context ctx, DarkIconDispatcher darkIconDispatcher,
|
||||
BatteryController batteryController) {
|
||||
BatteryController batteryController, NavigationModeController navModeController) {
|
||||
mDarkModeColor = Color.valueOf(ctx.getColor(R.color.dark_mode_icon_color_single_tone));
|
||||
mStatusBarIconController = (SysuiDarkIconDispatcher) darkIconDispatcher;
|
||||
mBatteryController = batteryController;
|
||||
mBatteryController.addCallback(this);
|
||||
mNavigationMode = navModeController.addListener((mode) -> {
|
||||
mNavigationMode = mode;
|
||||
});
|
||||
}
|
||||
|
||||
public void setNavigationBar(LightBarTransitionsController navigationBar) {
|
||||
@@ -234,7 +239,8 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
|
||||
}
|
||||
|
||||
private void updateNavigation() {
|
||||
if (mNavigationBarController != null) {
|
||||
if (mNavigationBarController != null
|
||||
&& !QuickStepContract.isGesturalMode(mNavigationMode)) {
|
||||
mNavigationBarController.setIconsDark(mNavigationLight, animateChange());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,11 +148,6 @@ public class RegionSamplingHelper implements View.OnAttachStateChangeListener,
|
||||
updateSamplingRect();
|
||||
}
|
||||
|
||||
private void postUpdateSamplingListener() {
|
||||
mHandler.removeCallbacks(mUpdateSamplingListener);
|
||||
mHandler.post(mUpdateSamplingListener);
|
||||
}
|
||||
|
||||
private void updateSamplingListener() {
|
||||
boolean isSamplingEnabled = mSamplingEnabled
|
||||
&& !mSamplingRequestBounds.isEmpty()
|
||||
|
||||
@@ -56,7 +56,7 @@ public class LightBarControllerTest extends SysuiTestCase {
|
||||
when(mStatusBarIconController.getTransitionsController()).thenReturn(
|
||||
mLightBarTransitionsController);
|
||||
mLightBarController = new LightBarController(mContext, mStatusBarIconController,
|
||||
mock(BatteryController.class));
|
||||
mock(BatteryController.class), mock(NavigationModeController.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user