Merge "Make navbar scrim taskbar background if taskbar is enabled." into udc-dev am: 93f20cc2d5

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22387706

Change-Id: Ide1a0dc2a5ef5fb6d885c9a5d9c3a7065088f046
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Brian Isganitis
2023-04-06 00:37:01 +00:00
committed by Automerger Merge Worker
3 changed files with 32 additions and 3 deletions
@@ -184,7 +184,7 @@ public class ActivityAllAppsContainerView<T extends Context & ActivityContext>
this, mActivityContext.getStatsLogManager()); this, mActivityContext.getStatsLogManager());
mAH = Arrays.asList(null, null, null); mAH = Arrays.asList(null, null, null);
mNavBarScrimPaint = new Paint(); mNavBarScrimPaint = new Paint();
mNavBarScrimPaint.setColor(Themes.getAttrColor(context, R.attr.allAppsNavBarScrimColor)); mNavBarScrimPaint.setColor(Themes.getNavBarScrimColor(mActivityContext));
AllAppsStore.OnUpdateListener onAppsUpdated = this::onAppsUpdated; AllAppsStore.OnUpdateListener onAppsUpdated = this::onAppsUpdated;
if (TestProtocol.sDebugTracing) { if (TestProtocol.sDebugTracing) {
@@ -831,6 +831,12 @@ public class ActivityAllAppsContainerView<T extends Context & ActivityContext>
} }
} }
updateBackground(dp); updateBackground(dp);
int navBarScrimColor = Themes.getNavBarScrimColor(mActivityContext);
if (mNavBarScrimPaint.getColor() != navBarScrimColor) {
mNavBarScrimPaint.setColor(navBarScrimColor);
invalidate();
}
} }
protected void updateBackground(DeviceProfile deviceProfile) { protected void updateBackground(DeviceProfile deviceProfile) {
@@ -32,10 +32,13 @@ import android.util.AttributeSet;
import android.util.SparseArray; import android.util.SparseArray;
import android.util.TypedValue; import android.util.TypedValue;
import androidx.annotation.ColorInt;
import com.android.launcher3.LauncherPrefs; import com.android.launcher3.LauncherPrefs;
import com.android.launcher3.R; import com.android.launcher3.R;
import com.android.launcher3.Utilities; import com.android.launcher3.Utilities;
import com.android.launcher3.icons.GraphicsUtils; import com.android.launcher3.icons.GraphicsUtils;
import com.android.launcher3.views.ActivityContext;
/** /**
* Various utility methods associated with theming. * Various utility methods associated with theming.
@@ -198,4 +201,12 @@ public class Themes {
return result; return result;
} }
/** Returns the desired navigation bar scrim color depending on the {@code DeviceProfile}. */
@ColorInt
public static <T extends Context & ActivityContext> int getNavBarScrimColor(T context) {
return context.getDeviceProfile().isTaskbarPresent
? context.getColor(R.color.taskbar_background)
: Themes.getAttrColor(context, R.attr.allAppsNavBarScrimColor);
}
} }
@@ -37,6 +37,7 @@ import androidx.annotation.Px;
import androidx.core.view.ViewCompat; import androidx.core.view.ViewCompat;
import com.android.launcher3.DeviceProfile; import com.android.launcher3.DeviceProfile;
import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener;
import com.android.launcher3.DragSource; import com.android.launcher3.DragSource;
import com.android.launcher3.DropTarget.DragObject; import com.android.launcher3.DropTarget.DragObject;
import com.android.launcher3.Insettable; import com.android.launcher3.Insettable;
@@ -60,7 +61,7 @@ import com.android.launcher3.views.ArrowTipView;
*/ */
public abstract class BaseWidgetSheet extends AbstractSlideInView<Launcher> public abstract class BaseWidgetSheet extends AbstractSlideInView<Launcher>
implements OnClickListener, OnLongClickListener, DragSource, implements OnClickListener, OnLongClickListener, DragSource,
PopupDataProvider.PopupDataChangeListener, Insettable { PopupDataProvider.PopupDataChangeListener, Insettable, OnDeviceProfileChangeListener {
/** The default number of cells that can fit horizontally in a widget sheet. */ /** The default number of cells that can fit horizontally in a widget sheet. */
public static final int DEFAULT_MAX_HORIZONTAL_SPANS = 4; public static final int DEFAULT_MAX_HORIZONTAL_SPANS = 4;
@@ -84,7 +85,7 @@ public abstract class BaseWidgetSheet extends AbstractSlideInView<Launcher>
mWidgetCellHorizontalPadding = getResources().getDimensionPixelSize( mWidgetCellHorizontalPadding = getResources().getDimensionPixelSize(
R.dimen.widget_cell_horizontal_padding); R.dimen.widget_cell_horizontal_padding);
mNavBarScrimPaint = new Paint(); mNavBarScrimPaint = new Paint();
mNavBarScrimPaint.setColor(Themes.getAttrColor(context, R.attr.allAppsNavBarScrimColor)); mNavBarScrimPaint.setColor(Themes.getNavBarScrimColor(mActivityContext));
} }
protected int getScrimColor(Context context) { protected int getScrimColor(Context context) {
@@ -98,12 +99,23 @@ public abstract class BaseWidgetSheet extends AbstractSlideInView<Launcher>
.normalizeWindowInsets(getContext(), getRootWindowInsets(), new Rect()); .normalizeWindowInsets(getContext(), getRootWindowInsets(), new Rect());
mNavBarScrimHeight = getNavBarScrimHeight(windowInsets); mNavBarScrimHeight = getNavBarScrimHeight(windowInsets);
mActivityContext.getPopupDataProvider().setChangeListener(this); mActivityContext.getPopupDataProvider().setChangeListener(this);
mActivityContext.addOnDeviceProfileChangeListener(this);
} }
@Override @Override
protected void onDetachedFromWindow() { protected void onDetachedFromWindow() {
super.onDetachedFromWindow(); super.onDetachedFromWindow();
mActivityContext.getPopupDataProvider().setChangeListener(null); mActivityContext.getPopupDataProvider().setChangeListener(null);
mActivityContext.removeOnDeviceProfileChangeListener(this);
}
@Override
public void onDeviceProfileChanged(DeviceProfile dp) {
int navBarScrimColor = Themes.getNavBarScrimColor(mActivityContext);
if (mNavBarScrimPaint.getColor() != navBarScrimColor) {
mNavBarScrimPaint.setColor(navBarScrimColor);
invalidate();
}
} }
@Override @Override