Merge "Fixing wrong intests being sent to DeviceProfile in case of lowRam device Also fixing the navbar to dark theme when a black bar is drawn behind nav bar" into ub-launcher3-dorval-polish2

This commit is contained in:
TreeHugger Robot
2017-08-18 18:57:34 +00:00
committed by Android (Google) Code Review
2 changed files with 22 additions and 10 deletions
@@ -11,6 +11,9 @@ import android.util.AttributeSet;
import android.view.View;
import android.view.ViewDebug;
import static com.android.launcher3.util.SystemUiController.FLAG_DARK_NAV;
import static com.android.launcher3.util.SystemUiController.UI_STATE_ROOT_VIEW;
public class LauncherRootView extends InsettableFrameLayout {
private final Paint mOpaquePaint;
@@ -44,20 +47,28 @@ public class LauncherRootView extends InsettableFrameLayout {
@TargetApi(23)
@Override
protected boolean fitSystemWindows(Rect insets) {
boolean rawInsetsChanged = !mInsets.equals(insets);
mDrawSideInsetBar = (insets.right > 0 || insets.left > 0) &&
(!Utilities.ATLEAST_MARSHMALLOW ||
getContext().getSystemService(ActivityManager.class).isLowRamDevice());
mRightInsetBarWidth = insets.right;
mLeftInsetBarWidth = insets.left;
setInsets(mDrawSideInsetBar ? new Rect(0, insets.top, 0, insets.bottom) : insets);
getContext().getSystemService(ActivityManager.class).isLowRamDevice());
if (mDrawSideInsetBar) {
mLeftInsetBarWidth = insets.left;
mRightInsetBarWidth = insets.right;
insets = new Rect(0, insets.top, 0, insets.bottom);
} else {
mLeftInsetBarWidth = mRightInsetBarWidth = 0;
}
Launcher.getLauncher(getContext()).getSystemUiController().updateUiState(
UI_STATE_ROOT_VIEW, mDrawSideInsetBar ? FLAG_DARK_NAV : 0);
if (mAlignedView != null && mDrawSideInsetBar) {
boolean rawInsetsChanged = !mInsets.equals(insets);
setInsets(insets);
if (mAlignedView != null) {
// Apply margins on aligned view to handle left/right insets.
MarginLayoutParams lp = (MarginLayoutParams) mAlignedView.getLayoutParams();
if (lp.leftMargin != insets.left || lp.rightMargin != insets.right) {
lp.leftMargin = insets.left;
lp.rightMargin = insets.right;
if (lp.leftMargin != mLeftInsetBarWidth || lp.rightMargin != mRightInsetBarWidth) {
lp.leftMargin = mLeftInsetBarWidth;
lp.rightMargin = mRightInsetBarWidth;
mAlignedView.setLayoutParams(lp);
}
}
@@ -30,6 +30,7 @@ public class SystemUiController {
public static final int UI_STATE_BASE_WINDOW = 0;
public static final int UI_STATE_ALL_APPS = 1;
public static final int UI_STATE_WIDGET_BOTTOM_SHEET = 2;
public static final int UI_STATE_ROOT_VIEW = 3;
public static final int FLAG_LIGHT_NAV = 1 << 0;
public static final int FLAG_DARK_NAV = 1 << 1;
@@ -37,7 +38,7 @@ public class SystemUiController {
public static final int FLAG_DARK_STATUS = 1 << 3;
private final Window mWindow;
private final int[] mStates = new int[3];
private final int[] mStates = new int[4];
public SystemUiController(Window window) {
mWindow = window;