diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-05-02 20:41:15 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-05-02 20:41:15 +0000 |
commit | 79be2caf1d56eb2fcd0a589f5e0e53274f83caa8 (patch) | |
tree | 475dd36e8aa45e6d48e8e832617e8b329ff7439e /go/quickstep | |
parent | 6a2c585073eef4867b9d32e5735f4228d7a788d7 (diff) | |
parent | e659758f170703a7f69a312aa65c9401829d3f27 (diff) | |
download | android_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')
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 |