Merge "Fix nav bar color while QS customizing." into oc-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8e32aa1fc0
@@ -42,6 +42,7 @@ import com.android.systemui.power.PowerNotificationWarnings;
|
||||
import com.android.systemui.power.PowerUI;
|
||||
import com.android.systemui.statusbar.phone.ConfigurationControllerImpl;
|
||||
import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl;
|
||||
import com.android.systemui.statusbar.phone.LightBarController;
|
||||
import com.android.systemui.statusbar.phone.ManagedProfileController;
|
||||
import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
@@ -296,12 +297,13 @@ public class Dependency extends SystemUI {
|
||||
|
||||
mProviders.put(UiOffloadThread.class, UiOffloadThread::new);
|
||||
|
||||
|
||||
mProviders.put(PowerUI.WarningsUI.class, () -> new PowerNotificationWarnings(mContext));
|
||||
|
||||
mProviders.put(IconLogger.class, () -> new IconLoggerImpl(mContext,
|
||||
getDependency(BG_LOOPER), getDependency(MetricsLogger.class)));
|
||||
|
||||
mProviders.put(LightBarController.class, () -> new LightBarController(mContext));
|
||||
|
||||
// Put all dependencies above here so the factory can override them if it wants.
|
||||
SystemUIFactory.getInstance().injectDependencies(mProviders, mContext);
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.systemui.qs.customize;
|
||||
import android.animation.Animator;
|
||||
import android.animation.Animator.AnimatorListener;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.drawable.Drawable;
|
||||
@@ -35,6 +36,8 @@ import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.view.WindowManager.LayoutParams;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.Toolbar;
|
||||
import android.widget.Toolbar.OnMenuItemClickListener;
|
||||
@@ -48,7 +51,9 @@ import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.qs.QSContainerImpl;
|
||||
import com.android.systemui.qs.QSDetailClipper;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.statusbar.phone.LightBarController;
|
||||
import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer;
|
||||
import com.android.systemui.statusbar.phone.SystemUIDialog;
|
||||
import com.android.systemui.statusbar.policy.KeyguardMonitor;
|
||||
import com.android.systemui.statusbar.policy.KeyguardMonitor.Callback;
|
||||
|
||||
@@ -67,6 +72,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
|
||||
private static final String EXTRA_QS_CUSTOMIZING = "qs_customizing";
|
||||
|
||||
private final QSDetailClipper mClipper;
|
||||
private final LightBarController mLightBarController;
|
||||
|
||||
private boolean isShown;
|
||||
private QSTileHost mHost;
|
||||
@@ -80,6 +86,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
|
||||
private int mX;
|
||||
private int mY;
|
||||
private boolean mOpening;
|
||||
private boolean mIsShowingNavBackdrop;
|
||||
|
||||
public QSCustomizer(Context context, AttributeSet attrs) {
|
||||
super(new ContextThemeWrapper(context, R.style.edit_theme), attrs);
|
||||
@@ -114,6 +121,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
|
||||
DefaultItemAnimator animator = new DefaultItemAnimator();
|
||||
animator.setMoveDuration(TileAdapter.MOVE_DURATION);
|
||||
mRecyclerView.setItemAnimator(animator);
|
||||
mLightBarController = Dependency.get(LightBarController.class);
|
||||
updateNavBackDrop(getResources().getConfiguration());
|
||||
}
|
||||
|
||||
@@ -125,11 +133,16 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
|
||||
|
||||
private void updateNavBackDrop(Configuration newConfig) {
|
||||
View navBackdrop = findViewById(R.id.nav_bar_background);
|
||||
mIsShowingNavBackdrop = newConfig.smallestScreenWidthDp >= 600
|
||||
|| newConfig.orientation != Configuration.ORIENTATION_LANDSCAPE;
|
||||
if (navBackdrop != null) {
|
||||
boolean shouldShow = newConfig.smallestScreenWidthDp >= 600
|
||||
|| newConfig.orientation != Configuration.ORIENTATION_LANDSCAPE;
|
||||
navBackdrop.setVisibility(shouldShow ? View.VISIBLE : View.GONE);
|
||||
navBackdrop.setVisibility(mIsShowingNavBackdrop ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
updateNavColors();
|
||||
}
|
||||
|
||||
private void updateNavColors() {
|
||||
mLightBarController.setQsCustomizing(mIsShowingNavBackdrop && isShown);
|
||||
}
|
||||
|
||||
public void setHost(QSTileHost host) {
|
||||
@@ -161,6 +174,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
|
||||
announceForAccessibility(mContext.getString(
|
||||
R.string.accessibility_desc_quick_settings_edit));
|
||||
Dependency.get(KeyguardMonitor.class).addCallback(mKeyguardCallback);
|
||||
updateNavColors();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,6 +190,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
|
||||
mNotifQsContainer.setCustomizerAnimating(false);
|
||||
mNotifQsContainer.setCustomizerShowing(true);
|
||||
Dependency.get(KeyguardMonitor.class).addCallback(mKeyguardCallback);
|
||||
updateNavColors();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,6 +216,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
|
||||
announceForAccessibility(mContext.getString(
|
||||
R.string.accessibility_desc_quick_settings));
|
||||
Dependency.get(KeyguardMonitor.class).removeCallback(mKeyguardCallback);
|
||||
updateNavColors();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,6 +72,7 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
|
||||
|
||||
private final Rect mLastFullscreenBounds = new Rect();
|
||||
private final Rect mLastDockedBounds = new Rect();
|
||||
private boolean mQsCustomizing;
|
||||
|
||||
public LightBarController(Context ctx) {
|
||||
mDarkModeColor = Color.valueOf(ctx.getColor(R.color.dark_mode_icon_color_single_tone));
|
||||
@@ -129,7 +130,8 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
|
||||
mHasLightNavigationBar = isLight(vis, navigationBarMode,
|
||||
View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
|
||||
mNavigationLight = mHasLightNavigationBar
|
||||
&& (mScrimAlphaBelowThreshold || !mInvertLightNavBarWithScrim);
|
||||
&& (mScrimAlphaBelowThreshold || !mInvertLightNavBarWithScrim)
|
||||
&& !mQsCustomizing;
|
||||
if (mNavigationLight != last) {
|
||||
updateNavigation();
|
||||
}
|
||||
@@ -146,6 +148,12 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
|
||||
mLastNavigationBarMode);
|
||||
}
|
||||
|
||||
public void setQsCustomizing(boolean customizing) {
|
||||
if (mQsCustomizing == customizing) return;
|
||||
mQsCustomizing = customizing;
|
||||
reevaluate();
|
||||
}
|
||||
|
||||
public void setScrimAlpha(float alpha) {
|
||||
mScrimAlpha = alpha;
|
||||
boolean belowThresholdBefore = mScrimAlphaBelowThreshold;
|
||||
|
||||
@@ -1125,7 +1125,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
}
|
||||
});
|
||||
|
||||
mLightBarController = new LightBarController(context);
|
||||
mLightBarController = Dependency.get(LightBarController.class);
|
||||
if (mNavigationBar != null) {
|
||||
mNavigationBar.setLightBarController(mLightBarController);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user