summaryrefslogtreecommitdiffstats
path: root/go/quickstep
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-05-02 20:41:15 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-05-02 20:41:15 +0000
commit79be2caf1d56eb2fcd0a589f5e0e53274f83caa8 (patch)
tree475dd36e8aa45e6d48e8e832617e8b329ff7439e /go/quickstep
parent6a2c585073eef4867b9d32e5735f4228d7a788d7 (diff)
parente659758f170703a7f69a312aa65c9401829d3f27 (diff)
downloadandroid_packages_apps_Trebuchet-79be2caf1d56eb2fcd0a589f5e0e53274f83caa8.tar.gz
android_packages_apps_Trebuchet-79be2caf1d56eb2fcd0a589f5e0e53274f83caa8.tar.bz2
android_packages_apps_Trebuchet-79be2caf1d56eb2fcd0a589f5e0e53274f83caa8.zip
Merge "Add scrim under status bar and above thumbnails." into ub-launcher3-qt-dev
Diffstat (limited to 'go/quickstep')
-rw-r--r--go/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java7
-rw-r--r--go/quickstep/src/com/android/quickstep/RecentsActivity.java1
-rw-r--r--go/quickstep/src/com/android/quickstep/views/IconRecentsView.java23
3 files changed, 30 insertions, 1 deletions
diff --git a/go/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java b/go/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java
index d20910fd2..1b24fc856 100644
--- a/go/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java
+++ b/go/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java
@@ -52,12 +52,19 @@ public class OverviewState extends LauncherState {
public void onStateEnabled(Launcher launcher) {
IconRecentsView recentsView = launcher.getOverviewPanel();
recentsView.onBeginTransitionToOverview();
+ recentsView.setShowStatusBarForegroundScrim(true);
// Request orientation be set to unspecified, letting the system decide the best
// orientation.
launcher.getRotationHelper().setCurrentStateRequest(REQUEST_ROTATE);
}
@Override
+ public void onStateDisabled(Launcher launcher) {
+ IconRecentsView recentsView = launcher.getOverviewPanel();
+ recentsView.setShowStatusBarForegroundScrim(false);
+ }
+
+ @Override
public PageAlphaProvider getWorkspacePageAlphaProvider(Launcher launcher) {
return new PageAlphaProvider(DEACCEL_2) {
@Override
diff --git a/go/quickstep/src/com/android/quickstep/RecentsActivity.java b/go/quickstep/src/com/android/quickstep/RecentsActivity.java
index f2ca368e8..9fb80679e 100644
--- a/go/quickstep/src/com/android/quickstep/RecentsActivity.java
+++ b/go/quickstep/src/com/android/quickstep/RecentsActivity.java
@@ -37,6 +37,7 @@ public final class RecentsActivity extends BaseRecentsActivity {
mRecentsRootView = findViewById(R.id.drag_layer);
mIconRecentsView = findViewById(R.id.overview_panel);
mIconRecentsView.setRecentsToActivityHelper(new FallbackRecentsToActivityHelper(this));
+ mIconRecentsView.setShowStatusBarForegroundScrim(true);
}
@Override
diff --git a/go/quickstep/src/com/android/quickstep/views/IconRecentsView.java b/go/quickstep/src/com/android/quickstep/views/IconRecentsView.java
index f951304f5..c52a94f81 100644
--- a/go/quickstep/src/com/android/quickstep/views/IconRecentsView.java
+++ b/go/quickstep/src/com/android/quickstep/views/IconRecentsView.java
@@ -33,6 +33,7 @@ import android.animation.ValueAnimator;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
import android.util.ArraySet;
import android.util.AttributeSet;
import android.util.FloatProperty;
@@ -54,6 +55,7 @@ import androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListene
import com.android.launcher3.BaseActivity;
import com.android.launcher3.Insettable;
import com.android.launcher3.R;
+import com.android.launcher3.util.Themes;
import com.android.quickstep.ContentFillItemAnimator;
import com.android.quickstep.RecentsModel;
import com.android.quickstep.RecentsToActivityHelper;
@@ -114,6 +116,8 @@ public final class IconRecentsView extends FrameLayout implements Insettable {
private final DefaultItemAnimator mDefaultItemAnimator = new DefaultItemAnimator();
private final ContentFillItemAnimator mLoadingContentItemAnimator =
new ContentFillItemAnimator();
+ private final BaseActivity mActivity;
+ private final Drawable mStatusBarForegroundScrim;
private RecentsToActivityHelper mActivityHelper;
private RecyclerView mTaskRecyclerView;
@@ -143,8 +147,10 @@ public final class IconRecentsView extends FrameLayout implements Insettable {
public IconRecentsView(Context context, AttributeSet attrs) {
super(context, attrs);
- BaseActivity activity = BaseActivity.fromContext(context);
+ mActivity = BaseActivity.fromContext(context);
mContext = context;
+ mStatusBarForegroundScrim =
+ Themes.getAttrDrawable(mContext, R.attr.workspaceStatusBarScrim);
mTaskLoader = new TaskListLoader(mContext);
mTaskAdapter = new TaskAdapter(mTaskLoader);
mTaskAdapter.setOnClearAllClickListener(view -> animateClearAllTasks());
@@ -339,6 +345,21 @@ public final class IconRecentsView extends FrameLayout implements Insettable {
}
/**
+ * Set whether or not to show the scrim in between the view and the top insets. This only works
+ * if the view is being insetted in the first place.
+ *
+ * The scrim is added to the activity's root view to prevent animations on this view
+ * affecting the scrim. As a result, it is the activity's responsibility to show/hide this
+ * scrim as appropriate.
+ *
+ * @param showStatusBarForegroundScrim true to show the scrim, false to hide
+ */
+ public void setShowStatusBarForegroundScrim(boolean showStatusBarForegroundScrim) {
+ boolean shouldShow = mInsets.top != 0 && showStatusBarForegroundScrim;
+ mActivity.getDragLayer().setForeground(shouldShow ? mStatusBarForegroundScrim : null);
+ }
+
+ /**
* Get the bottom most thumbnail view to animate to.
*
* @return the thumbnail view if laid out