[automerger] Chaniging all-apps scrim am: 927447e71d
Change-Id: I93a2a39e56572a0531ac6731327c3c0c610681b0
This commit is contained in:
commit
ec602d7bdb
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2018 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<com.android.quickstep.views.ShelfScrimView
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:id="@+id/scrim_view" />
|
|
@ -1,154 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2018 The Android Open Source Project
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.android.launcher3.uioverrides;
|
|
||||||
|
|
||||||
import static com.android.launcher3.anim.Interpolators.ACCEL_2;
|
|
||||||
import static com.android.launcher3.anim.Interpolators.DEACCEL_2;
|
|
||||||
|
|
||||||
import android.graphics.Canvas;
|
|
||||||
import android.graphics.Color;
|
|
||||||
import android.graphics.Paint;
|
|
||||||
import android.support.v4.graphics.ColorUtils;
|
|
||||||
|
|
||||||
import com.android.launcher3.DeviceProfile;
|
|
||||||
import com.android.launcher3.Launcher;
|
|
||||||
import com.android.launcher3.R;
|
|
||||||
import com.android.launcher3.Utilities;
|
|
||||||
import com.android.launcher3.allapps.AllAppsContainerView;
|
|
||||||
import com.android.launcher3.graphics.ViewScrim;
|
|
||||||
import com.android.launcher3.util.Themes;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scrim used for all-apps and shelf in Overview
|
|
||||||
* In transposed layout, it behaves as a simple color scrim.
|
|
||||||
* In portrait layout, it draws a rounded rect such that
|
|
||||||
* From normal state to overview state, the shelf just fades in and does not move
|
|
||||||
* From overview state to all-apps state the self moves up and fades in to cover the screen
|
|
||||||
*/
|
|
||||||
public class AllAppsScrim extends ViewScrim<AllAppsContainerView> {
|
|
||||||
|
|
||||||
private static final int THRESHOLD_ALPHA_DARK = 102;
|
|
||||||
private static final int THRESHOLD_ALPHA_LIGHT = 46;
|
|
||||||
|
|
||||||
private final Launcher mLauncher;
|
|
||||||
private final int mEndColor;
|
|
||||||
|
|
||||||
private int mProgressColor;
|
|
||||||
|
|
||||||
// In transposed layout, we simply draw a flat color.
|
|
||||||
private boolean mDrawingFlatColor;
|
|
||||||
|
|
||||||
private final Paint mVerticalPaint;
|
|
||||||
private float mVerticalProgress;
|
|
||||||
|
|
||||||
private final int mEndAlpha;
|
|
||||||
private final int mThresholdAlpha;
|
|
||||||
private final float mRadius;
|
|
||||||
private final float mTopPadding;
|
|
||||||
|
|
||||||
// Max vertical progress after which the scrim stops moving.
|
|
||||||
private float mMoveThreshold;
|
|
||||||
// Minimum visible size of the scrim.
|
|
||||||
private int mMinSize;
|
|
||||||
private float mDrawFactor = 0;
|
|
||||||
|
|
||||||
public AllAppsScrim(AllAppsContainerView view) {
|
|
||||||
super(view);
|
|
||||||
mLauncher = Launcher.getLauncher(view.getContext());
|
|
||||||
mEndColor = Themes.getAttrColor(mLauncher, R.attr.allAppsScrimColor);
|
|
||||||
mProgressColor = mEndColor;
|
|
||||||
|
|
||||||
mEndAlpha = Color.alpha(mEndColor);
|
|
||||||
mThresholdAlpha = Themes.getAttrBoolean(mLauncher, R.attr.isMainColorDark)
|
|
||||||
? THRESHOLD_ALPHA_DARK : THRESHOLD_ALPHA_LIGHT;
|
|
||||||
mRadius = mLauncher.getResources().getDimension(R.dimen.shelf_surface_radius);
|
|
||||||
mTopPadding = mLauncher.getResources().getDimension(R.dimen.shelf_surface_top_padding);
|
|
||||||
|
|
||||||
mVerticalPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
|
||||||
mVerticalPaint.setColor(ColorUtils.setAlphaComponent(mEndColor, 255));
|
|
||||||
|
|
||||||
// Just assume the easiest UI for now, until we have the proper layout information.
|
|
||||||
mDrawingFlatColor = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onProgressChanged() {
|
|
||||||
mProgressColor = ColorUtils.setAlphaComponent(mEndColor,
|
|
||||||
Math.round(DEACCEL_2.getInterpolation(mProgress) * Color.alpha(mEndColor)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void draw(Canvas canvas, int width, int height) {
|
|
||||||
if (mDrawingFlatColor) {
|
|
||||||
if (mProgress > 0) {
|
|
||||||
canvas.drawColor(mProgressColor);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mVerticalPaint.getAlpha() == 0) {
|
|
||||||
return;
|
|
||||||
} else if (mDrawFactor <= 0) {
|
|
||||||
canvas.drawPaint(mVerticalPaint);
|
|
||||||
} else {
|
|
||||||
float top = (height - mMinSize) * mDrawFactor - mTopPadding;
|
|
||||||
canvas.drawRoundRect(0, top - mRadius, width, height + mRadius,
|
|
||||||
mRadius, mRadius, mVerticalPaint);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void reInitUi() {
|
|
||||||
DeviceProfile dp = mLauncher.getDeviceProfile();
|
|
||||||
mDrawingFlatColor = dp.isVerticalBarLayout();
|
|
||||||
|
|
||||||
if (!mDrawingFlatColor) {
|
|
||||||
float swipeLength = OverviewState.getDefaultSwipeHeight(mLauncher);
|
|
||||||
mMoveThreshold = 1 - swipeLength / mLauncher.getAllAppsController().getShiftRange();
|
|
||||||
mMinSize = dp.hotseatBarSizePx + dp.getInsets().bottom;
|
|
||||||
onVerticalProgress(mVerticalProgress);
|
|
||||||
}
|
|
||||||
invalidate();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onVerticalProgress(float progress) {
|
|
||||||
mVerticalProgress = progress;
|
|
||||||
if (mDrawingFlatColor) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
float drawFactor;
|
|
||||||
int alpha;
|
|
||||||
if (mVerticalProgress >= mMoveThreshold) {
|
|
||||||
drawFactor = 1;
|
|
||||||
alpha = mVerticalProgress >= 1 ? 0 : Math.round(mThresholdAlpha
|
|
||||||
* ACCEL_2.getInterpolation((1 - mVerticalProgress) / (1 - mMoveThreshold)));
|
|
||||||
} else if (mVerticalProgress <= 0) {
|
|
||||||
drawFactor = 0;
|
|
||||||
alpha = mEndAlpha;
|
|
||||||
} else {
|
|
||||||
drawFactor = mVerticalProgress / mMoveThreshold;
|
|
||||||
alpha = mEndAlpha - Math.round((mEndAlpha - mThresholdAlpha) * drawFactor);
|
|
||||||
}
|
|
||||||
alpha = Utilities.boundToRange(alpha, 0, 255);
|
|
||||||
if (alpha != mVerticalPaint.getAlpha() || drawFactor != mDrawFactor) {
|
|
||||||
mVerticalPaint.setAlpha(alpha);
|
|
||||||
mDrawFactor = drawFactor;
|
|
||||||
invalidate();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -31,7 +31,7 @@ import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
|
||||||
*/
|
*/
|
||||||
public class AllAppsState extends LauncherState {
|
public class AllAppsState extends LauncherState {
|
||||||
|
|
||||||
private static final int STATE_FLAGS = FLAG_DISABLE_ACCESSIBILITY | FLAG_ALL_APPS_SCRIM;
|
private static final int STATE_FLAGS = FLAG_DISABLE_ACCESSIBILITY;
|
||||||
|
|
||||||
private static final PageAlphaProvider PAGE_ALPHA_PROVIDER = new PageAlphaProvider(DEACCEL_2) {
|
private static final PageAlphaProvider PAGE_ALPHA_PROVIDER = new PageAlphaProvider(DEACCEL_2) {
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -24,9 +24,8 @@ import com.android.quickstep.views.RecentsView;
|
||||||
*/
|
*/
|
||||||
public class FastOverviewState extends OverviewState {
|
public class FastOverviewState extends OverviewState {
|
||||||
|
|
||||||
private static final int STATE_FLAGS = FLAG_SHOW_SCRIM | FLAG_DISABLE_RESTORE
|
private static final int STATE_FLAGS = FLAG_DISABLE_RESTORE | FLAG_DISABLE_INTERACTION
|
||||||
| FLAG_DISABLE_INTERACTION | FLAG_OVERVIEW_UI | FLAG_HIDE_BACK_BUTTON
|
| FLAG_OVERVIEW_UI | FLAG_HIDE_BACK_BUTTON | FLAG_DISABLE_ACCESSIBILITY;
|
||||||
| FLAG_DISABLE_ACCESSIBILITY;
|
|
||||||
|
|
||||||
public FastOverviewState(int id) {
|
public FastOverviewState(int id) {
|
||||||
super(id, QuickScrubController.QUICK_SCRUB_START_DURATION, STATE_FLAGS);
|
super(id, QuickScrubController.QUICK_SCRUB_START_DURATION, STATE_FLAGS);
|
||||||
|
|
|
@ -34,7 +34,7 @@ import com.android.quickstep.views.RecentsView;
|
||||||
*/
|
*/
|
||||||
public class OverviewState extends LauncherState {
|
public class OverviewState extends LauncherState {
|
||||||
|
|
||||||
private static final int STATE_FLAGS = FLAG_SHOW_SCRIM | FLAG_WORKSPACE_ICONS_CAN_BE_DRAGGED
|
private static final int STATE_FLAGS = FLAG_WORKSPACE_ICONS_CAN_BE_DRAGGED
|
||||||
| FLAG_DISABLE_RESTORE | FLAG_OVERVIEW_UI | FLAG_DISABLE_ACCESSIBILITY;
|
| FLAG_DISABLE_RESTORE | FLAG_OVERVIEW_UI | FLAG_DISABLE_ACCESSIBILITY;
|
||||||
|
|
||||||
public OverviewState(int id) {
|
public OverviewState(int id) {
|
||||||
|
@ -100,6 +100,11 @@ public class OverviewState extends LauncherState {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getWorkspaceScrimAlpha(Launcher launcher) {
|
||||||
|
return 0.5f;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float getVerticalProgress(Launcher launcher) {
|
public float getVerticalProgress(Launcher launcher) {
|
||||||
if ((getVisibleElements(launcher) & ALL_APPS_HEADER_EXTRA) == 0) {
|
if ((getVisibleElements(launcher) & ALL_APPS_HEADER_EXTRA) == 0) {
|
||||||
|
|
|
@ -0,0 +1,196 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.android.quickstep.views;
|
||||||
|
|
||||||
|
import static android.support.v4.graphics.ColorUtils.compositeColors;
|
||||||
|
import static android.support.v4.graphics.ColorUtils.setAlphaComponent;
|
||||||
|
|
||||||
|
import static com.android.launcher3.LauncherState.OVERVIEW;
|
||||||
|
import static com.android.launcher3.anim.Interpolators.ACCEL_2;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Canvas;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.graphics.Paint;
|
||||||
|
import android.graphics.Path;
|
||||||
|
import android.graphics.Path.Direction;
|
||||||
|
import android.graphics.Path.Op;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
|
import com.android.launcher3.DeviceProfile;
|
||||||
|
import com.android.launcher3.Launcher;
|
||||||
|
import com.android.launcher3.R;
|
||||||
|
import com.android.launcher3.uioverrides.OverviewState;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
|
import com.android.launcher3.views.ScrimView;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scrim used for all-apps and shelf in Overview
|
||||||
|
* In transposed layout, it behaves as a simple color scrim.
|
||||||
|
* In portrait layout, it draws a rounded rect such that
|
||||||
|
* From normal state to overview state, the shelf just fades in and does not move
|
||||||
|
* From overview state to all-apps state the shelf moves up and fades in to cover the screen
|
||||||
|
*/
|
||||||
|
public class ShelfScrimView extends ScrimView {
|
||||||
|
|
||||||
|
private static final int THRESHOLD_ALPHA_DARK = 102;
|
||||||
|
private static final int THRESHOLD_ALPHA_LIGHT = 46;
|
||||||
|
|
||||||
|
private final Launcher mLauncher;
|
||||||
|
|
||||||
|
// In transposed layout, we simply draw a flat color.
|
||||||
|
private boolean mDrawingFlatColor;
|
||||||
|
|
||||||
|
// For shelf mode
|
||||||
|
private final int mEndAlpha;
|
||||||
|
private final int mThresholdAlpha;
|
||||||
|
private final float mRadius;
|
||||||
|
private final float mTopPadding;
|
||||||
|
private final float mMaxScrimAlpha;
|
||||||
|
private final Paint mPaint;
|
||||||
|
|
||||||
|
// Max vertical progress after which the scrim stops moving.
|
||||||
|
private float mMoveThreshold;
|
||||||
|
// Minimum visible size of the scrim.
|
||||||
|
private int mMinSize;
|
||||||
|
|
||||||
|
private float mScrimMoveFactor = 0;
|
||||||
|
private int mShelfColor;
|
||||||
|
private int mRemainingScreenColor;
|
||||||
|
|
||||||
|
private final Path mTempPath = new Path();
|
||||||
|
private final Path mRemainingScreenPath = new Path();
|
||||||
|
private boolean mRemainingScreenPathValid = false;
|
||||||
|
|
||||||
|
public ShelfScrimView(Context context, AttributeSet attrs) {
|
||||||
|
super(context, attrs);
|
||||||
|
|
||||||
|
mLauncher = Launcher.getLauncher(context);
|
||||||
|
mMaxScrimAlpha = OVERVIEW.getWorkspaceScrimAlpha(mLauncher);
|
||||||
|
|
||||||
|
mEndAlpha = Color.alpha(mEndScrim);
|
||||||
|
mThresholdAlpha = Themes.getAttrBoolean(mLauncher, R.attr.isMainColorDark)
|
||||||
|
? THRESHOLD_ALPHA_DARK : THRESHOLD_ALPHA_LIGHT;
|
||||||
|
mRadius = mLauncher.getResources().getDimension(R.dimen.shelf_surface_radius);
|
||||||
|
mTopPadding = mLauncher.getResources().getDimension(R.dimen.shelf_surface_top_padding);
|
||||||
|
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||||
|
|
||||||
|
// Just assume the easiest UI for now, until we have the proper layout information.
|
||||||
|
mDrawingFlatColor = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
|
||||||
|
super.onSizeChanged(w, h, oldw, oldh);
|
||||||
|
mRemainingScreenPathValid = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void reInitUi() {
|
||||||
|
DeviceProfile dp = mLauncher.getDeviceProfile();
|
||||||
|
mDrawingFlatColor = dp.isVerticalBarLayout();
|
||||||
|
|
||||||
|
if (!mDrawingFlatColor) {
|
||||||
|
float swipeLength = OverviewState.getDefaultSwipeHeight(mLauncher);
|
||||||
|
mMoveThreshold = 1 - swipeLength / mLauncher.getAllAppsController().getShiftRange();
|
||||||
|
mMinSize = dp.hotseatBarSizePx + dp.getInsets().bottom;
|
||||||
|
mRemainingScreenPathValid = false;
|
||||||
|
updateColors();
|
||||||
|
}
|
||||||
|
invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateColors() {
|
||||||
|
super.updateColors();
|
||||||
|
if (mDrawingFlatColor) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mProgress >= mMoveThreshold) {
|
||||||
|
mScrimMoveFactor = 1;
|
||||||
|
|
||||||
|
if (mProgress >= 1) {
|
||||||
|
mShelfColor = 0;
|
||||||
|
} else {
|
||||||
|
int alpha = Math.round(mThresholdAlpha * ACCEL_2.getInterpolation(
|
||||||
|
(1 - mProgress) / (1 - mMoveThreshold)));
|
||||||
|
mShelfColor = setAlphaComponent(mEndScrim, alpha);
|
||||||
|
}
|
||||||
|
mRemainingScreenColor = 0;
|
||||||
|
} else if (mProgress <= 0) {
|
||||||
|
mScrimMoveFactor = 0;
|
||||||
|
mShelfColor = mCurrentFlatColor;
|
||||||
|
mRemainingScreenColor = 0;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
mScrimMoveFactor = mProgress / mMoveThreshold;
|
||||||
|
mRemainingScreenColor = setAlphaComponent(mScrimColor,
|
||||||
|
Math.round((1 - mScrimMoveFactor) * mMaxScrimAlpha * 255));
|
||||||
|
|
||||||
|
// Merge the remainingScreenColor and shelfColor in one to avoid overdraw.
|
||||||
|
int alpha = mEndAlpha - Math.round((mEndAlpha - mThresholdAlpha) * mScrimMoveFactor);
|
||||||
|
mShelfColor = compositeColors(setAlphaComponent(mEndScrim, alpha),
|
||||||
|
mRemainingScreenColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDraw(Canvas canvas) {
|
||||||
|
if (mDrawingFlatColor) {
|
||||||
|
if (mCurrentFlatColor != 0) {
|
||||||
|
canvas.drawColor(mCurrentFlatColor);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mShelfColor == 0) {
|
||||||
|
return;
|
||||||
|
} else if (mScrimMoveFactor <= 0) {
|
||||||
|
canvas.drawColor(mShelfColor);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
float minTop = getHeight() - mMinSize;
|
||||||
|
float top = minTop * mScrimMoveFactor - mTopPadding - mRadius;
|
||||||
|
|
||||||
|
// Draw the scrim over the remaining screen if needed.
|
||||||
|
if (mRemainingScreenColor != 0) {
|
||||||
|
if (!mRemainingScreenPathValid) {
|
||||||
|
mTempPath.reset();
|
||||||
|
// Using a arbitrary '+10' in the bottom to avoid any left-overs at the
|
||||||
|
// corners due to rounding issues.
|
||||||
|
mTempPath.addRoundRect(0, minTop, getWidth(), getHeight() + mRadius + 10,
|
||||||
|
mRadius, mRadius, Direction.CW);
|
||||||
|
|
||||||
|
mRemainingScreenPath.reset();
|
||||||
|
mRemainingScreenPath.addRect(0, 0, getWidth(), getHeight(), Direction.CW);
|
||||||
|
mRemainingScreenPath.op(mTempPath, Op.DIFFERENCE);
|
||||||
|
}
|
||||||
|
|
||||||
|
float offset = minTop - top;
|
||||||
|
canvas.translate(0, -offset);
|
||||||
|
mPaint.setColor(mRemainingScreenColor);
|
||||||
|
canvas.drawPath(mRemainingScreenPath, mPaint);
|
||||||
|
canvas.translate(0, offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
mPaint.setColor(mShelfColor);
|
||||||
|
canvas.drawRoundRect(0, top, getWidth(), getHeight() + mRadius,
|
||||||
|
mRadius, mRadius, mPaint);
|
||||||
|
}
|
||||||
|
}
|
|
@ -57,6 +57,9 @@
|
||||||
android:id="@+id/drop_target_bar"
|
android:id="@+id/drop_target_bar"
|
||||||
layout="@layout/drop_target_bar" />
|
layout="@layout/drop_target_bar" />
|
||||||
|
|
||||||
|
<include android:id="@+id/scrim_view"
|
||||||
|
layout="@layout/scrim_view" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/apps_view"
|
android:id="@+id/apps_view"
|
||||||
layout="@layout/all_apps"
|
layout="@layout/all_apps"
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2018 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<com.android.launcher3.views.ScrimView
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:id="@+id/scrim_view" />
|
|
@ -41,9 +41,6 @@
|
||||||
<item type="id" name="drag_event_parity" />
|
<item type="id" name="drag_event_parity" />
|
||||||
|
|
||||||
<!-- AllApps & Launcher transitions -->
|
<!-- AllApps & Launcher transitions -->
|
||||||
<!-- The alpha of the AppsCustomize bg in spring loaded mode -->
|
|
||||||
<integer name="config_workspaceScrimAlpha">76</integer>
|
|
||||||
|
|
||||||
<!-- Out of 100, the percent to shrink the workspace during spring loaded mode. -->
|
<!-- Out of 100, the percent to shrink the workspace during spring loaded mode. -->
|
||||||
<integer name="config_workspaceSpringLoadShrinkPercentage">90</integer>
|
<integer name="config_workspaceSpringLoadShrinkPercentage">90</integer>
|
||||||
|
|
||||||
|
|
|
@ -52,17 +52,15 @@ public class LauncherState {
|
||||||
public static final int ALL_APPS_CONTENT = 1 << 4;
|
public static final int ALL_APPS_CONTENT = 1 << 4;
|
||||||
public static final int DRAG_HANDLE_INDICATOR = 1 << 5;
|
public static final int DRAG_HANDLE_INDICATOR = 1 << 5;
|
||||||
|
|
||||||
protected static final int FLAG_SHOW_SCRIM = 1 << 0;
|
protected static final int FLAG_MULTI_PAGE = 1 << 0;
|
||||||
protected static final int FLAG_MULTI_PAGE = 1 << 1;
|
protected static final int FLAG_DISABLE_ACCESSIBILITY = 1 << 1;
|
||||||
protected static final int FLAG_DISABLE_ACCESSIBILITY = 1 << 2;
|
protected static final int FLAG_DISABLE_RESTORE = 1 << 2;
|
||||||
protected static final int FLAG_DISABLE_RESTORE = 1 << 3;
|
protected static final int FLAG_WORKSPACE_ICONS_CAN_BE_DRAGGED = 1 << 3;
|
||||||
protected static final int FLAG_WORKSPACE_ICONS_CAN_BE_DRAGGED = 1 << 4;
|
protected static final int FLAG_DISABLE_PAGE_CLIPPING = 1 << 4;
|
||||||
protected static final int FLAG_DISABLE_PAGE_CLIPPING = 1 << 5;
|
protected static final int FLAG_PAGE_BACKGROUNDS = 1 << 5;
|
||||||
protected static final int FLAG_PAGE_BACKGROUNDS = 1 << 6;
|
protected static final int FLAG_DISABLE_INTERACTION = 1 << 6;
|
||||||
protected static final int FLAG_ALL_APPS_SCRIM = 1 << 7;
|
protected static final int FLAG_OVERVIEW_UI = 1 << 7;
|
||||||
protected static final int FLAG_DISABLE_INTERACTION = 1 << 8;
|
protected static final int FLAG_HIDE_BACK_BUTTON = 1 << 8;
|
||||||
protected static final int FLAG_OVERVIEW_UI = 1 << 9;
|
|
||||||
protected static final int FLAG_HIDE_BACK_BUTTON = 1 << 10;
|
|
||||||
|
|
||||||
protected static final PageAlphaProvider DEFAULT_ALPHA_PROVIDER =
|
protected static final PageAlphaProvider DEFAULT_ALPHA_PROVIDER =
|
||||||
new PageAlphaProvider(ACCEL_2) {
|
new PageAlphaProvider(ACCEL_2) {
|
||||||
|
@ -116,9 +114,7 @@ public class LauncherState {
|
||||||
*
|
*
|
||||||
* @see WorkspaceStateTransitionAnimation
|
* @see WorkspaceStateTransitionAnimation
|
||||||
*/
|
*/
|
||||||
public final boolean hasScrim;
|
|
||||||
public final boolean hasWorkspacePageBackground;
|
public final boolean hasWorkspacePageBackground;
|
||||||
public final boolean hasAllAppsScrim;
|
|
||||||
|
|
||||||
public final int transitionDuration;
|
public final int transitionDuration;
|
||||||
|
|
||||||
|
@ -153,10 +149,7 @@ public class LauncherState {
|
||||||
this.containerType = containerType;
|
this.containerType = containerType;
|
||||||
this.transitionDuration = transitionDuration;
|
this.transitionDuration = transitionDuration;
|
||||||
|
|
||||||
this.hasScrim = (flags & FLAG_SHOW_SCRIM) != 0;
|
|
||||||
this.hasWorkspacePageBackground = (flags & FLAG_PAGE_BACKGROUNDS) != 0;
|
this.hasWorkspacePageBackground = (flags & FLAG_PAGE_BACKGROUNDS) != 0;
|
||||||
this.hasAllAppsScrim = (flags & FLAG_ALL_APPS_SCRIM) != 0;
|
|
||||||
|
|
||||||
this.hasMultipleVisiblePages = (flags & FLAG_MULTI_PAGE) != 0;
|
this.hasMultipleVisiblePages = (flags & FLAG_MULTI_PAGE) != 0;
|
||||||
this.workspaceAccessibilityFlag = (flags & FLAG_DISABLE_ACCESSIBILITY) != 0
|
this.workspaceAccessibilityFlag = (flags & FLAG_DISABLE_ACCESSIBILITY) != 0
|
||||||
? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
|
? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
|
||||||
|
@ -215,6 +208,10 @@ public class LauncherState {
|
||||||
return 1f;
|
return 1f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float getWorkspaceScrimAlpha(Launcher launcher) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
public String getDescription(Launcher launcher) {
|
public String getDescription(Launcher launcher) {
|
||||||
return launcher.getWorkspace().getCurrentPageDescription();
|
return launcher.getWorkspace().getCurrentPageDescription();
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,9 +96,7 @@ public class WorkspaceStateTransitionAnimation {
|
||||||
|
|
||||||
// Set scrim
|
// Set scrim
|
||||||
propertySetter.setFloat(ViewScrim.get(mWorkspace), ViewScrim.PROGRESS,
|
propertySetter.setFloat(ViewScrim.get(mWorkspace), ViewScrim.PROGRESS,
|
||||||
state.hasScrim ? 1 : 0, Interpolators.LINEAR);
|
state.getWorkspaceScrimAlpha(mLauncher), Interpolators.LINEAR);
|
||||||
propertySetter.setFloat(ViewScrim.get(mLauncher.getAppsView()), ViewScrim.PROGRESS,
|
|
||||||
state.hasAllAppsScrim ? 1 : 0, Interpolators.LINEAR);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void applyChildState(LauncherState state, CellLayout cl, int childIndex) {
|
public void applyChildState(LauncherState state, CellLayout cl, int childIndex) {
|
||||||
|
|
|
@ -47,7 +47,6 @@ import com.android.launcher3.Launcher;
|
||||||
import com.android.launcher3.R;
|
import com.android.launcher3.R;
|
||||||
import com.android.launcher3.Utilities;
|
import com.android.launcher3.Utilities;
|
||||||
import com.android.launcher3.config.FeatureFlags;
|
import com.android.launcher3.config.FeatureFlags;
|
||||||
import com.android.launcher3.uioverrides.AllAppsScrim;
|
|
||||||
import com.android.launcher3.keyboard.FocusedItemDecorator;
|
import com.android.launcher3.keyboard.FocusedItemDecorator;
|
||||||
import com.android.launcher3.userevent.nano.LauncherLogProto.Target;
|
import com.android.launcher3.userevent.nano.LauncherLogProto.Target;
|
||||||
import com.android.launcher3.util.ItemInfoMatcher;
|
import com.android.launcher3.util.ItemInfoMatcher;
|
||||||
|
@ -110,9 +109,6 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
|
||||||
|
|
||||||
mAllAppsStore.addUpdateListener(this::onAppsUpdated);
|
mAllAppsStore.addUpdateListener(this::onAppsUpdated);
|
||||||
|
|
||||||
// Attach a scrim to be drawn behind all-apps and hotseat
|
|
||||||
new AllAppsScrim(this).attach();
|
|
||||||
|
|
||||||
addSpringView(R.id.all_apps_header);
|
addSpringView(R.id.all_apps_header);
|
||||||
addSpringView(R.id.apps_list_view);
|
addSpringView(R.id.apps_list_view);
|
||||||
addSpringView(R.id.all_apps_tabs_view_pager);
|
addSpringView(R.id.all_apps_tabs_view_pager);
|
||||||
|
|
|
@ -26,9 +26,8 @@ import com.android.launcher3.R;
|
||||||
import com.android.launcher3.anim.AnimationSuccessListener;
|
import com.android.launcher3.anim.AnimationSuccessListener;
|
||||||
import com.android.launcher3.anim.AnimatorSetBuilder;
|
import com.android.launcher3.anim.AnimatorSetBuilder;
|
||||||
import com.android.launcher3.anim.PropertySetter;
|
import com.android.launcher3.anim.PropertySetter;
|
||||||
import com.android.launcher3.uioverrides.AllAppsScrim;
|
|
||||||
import com.android.launcher3.graphics.ViewScrim;
|
|
||||||
import com.android.launcher3.util.Themes;
|
import com.android.launcher3.util.Themes;
|
||||||
|
import com.android.launcher3.views.ScrimView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles AllApps view transition.
|
* Handles AllApps view transition.
|
||||||
|
@ -57,7 +56,7 @@ public class AllAppsTransitionController implements StateHandler, OnDeviceProfil
|
||||||
};
|
};
|
||||||
|
|
||||||
private AllAppsContainerView mAppsView;
|
private AllAppsContainerView mAppsView;
|
||||||
private AllAppsScrim mAllAppsScrim;
|
private ScrimView mScrimView;
|
||||||
|
|
||||||
private final Launcher mLauncher;
|
private final Launcher mLauncher;
|
||||||
private final boolean mIsDarkTheme;
|
private final boolean mIsDarkTheme;
|
||||||
|
@ -117,7 +116,7 @@ public class AllAppsTransitionController implements StateHandler, OnDeviceProfil
|
||||||
*/
|
*/
|
||||||
public void setProgress(float progress) {
|
public void setProgress(float progress) {
|
||||||
mProgress = progress;
|
mProgress = progress;
|
||||||
mAllAppsScrim.onVerticalProgress(progress);
|
mScrimView.setProgress(progress);
|
||||||
float shiftCurrent = progress * mShiftRange;
|
float shiftCurrent = progress * mShiftRange;
|
||||||
|
|
||||||
mAppsView.setTranslationY(shiftCurrent);
|
mAppsView.setTranslationY(shiftCurrent);
|
||||||
|
@ -209,8 +208,7 @@ public class AllAppsTransitionController implements StateHandler, OnDeviceProfil
|
||||||
|
|
||||||
public void setupViews(AllAppsContainerView appsView) {
|
public void setupViews(AllAppsContainerView appsView) {
|
||||||
mAppsView = appsView;
|
mAppsView = appsView;
|
||||||
mAllAppsScrim = (AllAppsScrim) ViewScrim.get(mAppsView);
|
mScrimView = mLauncher.findViewById(R.id.scrim_view);
|
||||||
mAllAppsScrim.reInitUi();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -220,8 +218,8 @@ public class AllAppsTransitionController implements StateHandler, OnDeviceProfil
|
||||||
mScrollRangeDelta = delta;
|
mScrollRangeDelta = delta;
|
||||||
mShiftRange = mLauncher.getDeviceProfile().heightPx - mScrollRangeDelta;
|
mShiftRange = mLauncher.getDeviceProfile().heightPx - mScrollRangeDelta;
|
||||||
|
|
||||||
if (mAllAppsScrim != null) {
|
if (mScrimView != null) {
|
||||||
mAllAppsScrim.reInitUi();
|
mScrimView.reInitUi();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,6 @@ public class WorkspaceAndHotseatScrim extends ViewScrim<Workspace> implements
|
||||||
|
|
||||||
private int mFullScrimColor;
|
private int mFullScrimColor;
|
||||||
|
|
||||||
private final int mMaxAlpha;
|
|
||||||
private int mAlpha = 0;
|
private int mAlpha = 0;
|
||||||
|
|
||||||
public WorkspaceAndHotseatScrim(Workspace view) {
|
public WorkspaceAndHotseatScrim(Workspace view) {
|
||||||
|
@ -69,7 +68,6 @@ public class WorkspaceAndHotseatScrim extends ViewScrim<Workspace> implements
|
||||||
mLauncher = Launcher.getLauncher(view.getContext());
|
mLauncher = Launcher.getLauncher(view.getContext());
|
||||||
mWallpaperColorInfo = WallpaperColorInfo.getInstance(mLauncher);
|
mWallpaperColorInfo = WallpaperColorInfo.getInstance(mLauncher);
|
||||||
|
|
||||||
mMaxAlpha = mLauncher.getResources().getInteger(R.integer.config_workspaceScrimAlpha);
|
|
||||||
mMaskHeight = Utilities.pxFromDp(ALPHA_MASK_BITMAP_DP,
|
mMaskHeight = Utilities.pxFromDp(ALPHA_MASK_BITMAP_DP,
|
||||||
view.getResources().getDisplayMetrics());
|
view.getResources().getDisplayMetrics());
|
||||||
|
|
||||||
|
@ -108,7 +106,7 @@ public class WorkspaceAndHotseatScrim extends ViewScrim<Workspace> implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onProgressChanged() {
|
protected void onProgressChanged() {
|
||||||
mAlpha = Math.round(mMaxAlpha * mProgress);
|
mAlpha = Math.round(255 * mProgress);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -126,9 +124,9 @@ public class WorkspaceAndHotseatScrim extends ViewScrim<Workspace> implements
|
||||||
public void onExtractedColorsChanged(WallpaperColorInfo wallpaperColorInfo) {
|
public void onExtractedColorsChanged(WallpaperColorInfo wallpaperColorInfo) {
|
||||||
// for super light wallpaper it needs to be darken for contrast to workspace
|
// for super light wallpaper it needs to be darken for contrast to workspace
|
||||||
// for dark wallpapers the text is white so darkening works as well
|
// for dark wallpapers the text is white so darkening works as well
|
||||||
mFullScrimColor = ColorUtils.compositeColors(DARK_SCRIM_COLOR,
|
mBottomMaskPaint.setColor(ColorUtils.compositeColors(DARK_SCRIM_COLOR,
|
||||||
wallpaperColorInfo.getMainColor());
|
wallpaperColorInfo.getMainColor()));
|
||||||
mBottomMaskPaint.setColor(mFullScrimColor);
|
mFullScrimColor = wallpaperColorInfo.getMainColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Bitmap createDitheredAlphaMask() {
|
public Bitmap createDitheredAlphaMask() {
|
||||||
|
|
|
@ -33,7 +33,7 @@ import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
|
||||||
*/
|
*/
|
||||||
public class SpringLoadedState extends LauncherState {
|
public class SpringLoadedState extends LauncherState {
|
||||||
|
|
||||||
private static final int STATE_FLAGS = FLAG_SHOW_SCRIM | FLAG_MULTI_PAGE |
|
private static final int STATE_FLAGS = FLAG_MULTI_PAGE |
|
||||||
FLAG_DISABLE_ACCESSIBILITY | FLAG_DISABLE_RESTORE | FLAG_WORKSPACE_ICONS_CAN_BE_DRAGGED |
|
FLAG_DISABLE_ACCESSIBILITY | FLAG_DISABLE_RESTORE | FLAG_WORKSPACE_ICONS_CAN_BE_DRAGGED |
|
||||||
FLAG_DISABLE_PAGE_CLIPPING | FLAG_PAGE_BACKGROUNDS | FLAG_HIDE_BACK_BUTTON;
|
FLAG_DISABLE_PAGE_CLIPPING | FLAG_PAGE_BACKGROUNDS | FLAG_HIDE_BACK_BUTTON;
|
||||||
|
|
||||||
|
@ -85,6 +85,11 @@ public class SpringLoadedState extends LauncherState {
|
||||||
launcher.getRotationHelper().setCurrentStateRequest(REQUEST_LOCK);
|
launcher.getRotationHelper().setCurrentStateRequest(REQUEST_LOCK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getWorkspaceScrimAlpha(Launcher launcher) {
|
||||||
|
return 0.3f;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStateDisabled(final Launcher launcher) {
|
public void onStateDisabled(final Launcher launcher) {
|
||||||
launcher.getWorkspace().getPageIndicator().setShouldAutoHide(true);
|
launcher.getWorkspace().getPageIndicator().setShouldAutoHide(true);
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.android.launcher3.views;
|
||||||
|
|
||||||
|
import static android.support.v4.graphics.ColorUtils.compositeColors;
|
||||||
|
import static android.support.v4.graphics.ColorUtils.setAlphaComponent;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Canvas;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.graphics.Rect;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import com.android.launcher3.Insettable;
|
||||||
|
import com.android.launcher3.R;
|
||||||
|
import com.android.launcher3.uioverrides.WallpaperColorInfo;
|
||||||
|
import com.android.launcher3.uioverrides.WallpaperColorInfo.OnChangeListener;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simple scrim which draws a flat color
|
||||||
|
*/
|
||||||
|
public class ScrimView extends View implements Insettable, OnChangeListener {
|
||||||
|
|
||||||
|
private final WallpaperColorInfo mWallpaperColorInfo;
|
||||||
|
protected final int mEndScrim;
|
||||||
|
|
||||||
|
protected float mMaxScrimAlpha;
|
||||||
|
|
||||||
|
protected float mProgress = 1;
|
||||||
|
protected int mScrimColor;
|
||||||
|
|
||||||
|
protected int mCurrentFlatColor;
|
||||||
|
protected int mEndFlatColor;
|
||||||
|
protected int mEndFlatColorAlpha;
|
||||||
|
|
||||||
|
public ScrimView(Context context, AttributeSet attrs) {
|
||||||
|
super(context, attrs);
|
||||||
|
mWallpaperColorInfo = WallpaperColorInfo.getInstance(context);
|
||||||
|
mEndScrim = Themes.getAttrColor(context, R.attr.allAppsScrimColor);
|
||||||
|
|
||||||
|
mMaxScrimAlpha = 0.7f;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setInsets(Rect insets) { }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onAttachedToWindow() {
|
||||||
|
super.onAttachedToWindow();
|
||||||
|
mWallpaperColorInfo.addOnChangeListener(this);
|
||||||
|
onExtractedColorsChanged(mWallpaperColorInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDetachedFromWindow() {
|
||||||
|
super.onDetachedFromWindow();
|
||||||
|
mWallpaperColorInfo.removeOnChangeListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasOverlappingRendering() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onExtractedColorsChanged(WallpaperColorInfo wallpaperColorInfo) {
|
||||||
|
mScrimColor = wallpaperColorInfo.getMainColor();
|
||||||
|
mEndFlatColor = compositeColors(mEndScrim, setAlphaComponent(
|
||||||
|
mScrimColor, Math.round(mMaxScrimAlpha * 255)));
|
||||||
|
mEndFlatColorAlpha = Color.alpha(mEndFlatColor);
|
||||||
|
updateColors();
|
||||||
|
invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProgress(float progress) {
|
||||||
|
if (mProgress != progress) {
|
||||||
|
mProgress = progress;
|
||||||
|
updateColors();
|
||||||
|
invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void reInitUi() { }
|
||||||
|
|
||||||
|
protected void updateColors() {
|
||||||
|
mCurrentFlatColor = mProgress >= 1 ? 0 : setAlphaComponent(
|
||||||
|
mEndFlatColor, Math.round((1 - mProgress) * mEndFlatColorAlpha));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDraw(Canvas canvas) {
|
||||||
|
if (mCurrentFlatColor != 0) {
|
||||||
|
canvas.drawColor(mCurrentFlatColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,39 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2018 The Android Open Source Project
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.android.launcher3.uioverrides;
|
|
||||||
|
|
||||||
import static com.android.launcher3.anim.Interpolators.ACCEL_1_5;
|
|
||||||
|
|
||||||
import com.android.launcher3.R;
|
|
||||||
import com.android.launcher3.allapps.AllAppsContainerView;
|
|
||||||
import com.android.launcher3.graphics.ColorScrim;
|
|
||||||
import com.android.launcher3.util.Themes;
|
|
||||||
|
|
||||||
public class AllAppsScrim extends ColorScrim {
|
|
||||||
|
|
||||||
public AllAppsScrim(AllAppsContainerView view) {
|
|
||||||
super(view, Themes.getAttrColor(view.getContext(), R.attr.allAppsScrimColor), ACCEL_1_5);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void reInitUi() {
|
|
||||||
// No op
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onVerticalProgress(float progress) {
|
|
||||||
// No op
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -34,7 +34,7 @@ public class AllAppsState extends LauncherState {
|
||||||
|
|
||||||
private static final float PARALLAX_COEFFICIENT = .125f;
|
private static final float PARALLAX_COEFFICIENT = .125f;
|
||||||
|
|
||||||
private static final int STATE_FLAGS = FLAG_DISABLE_ACCESSIBILITY | FLAG_ALL_APPS_SCRIM;
|
private static final int STATE_FLAGS = FLAG_DISABLE_ACCESSIBILITY;
|
||||||
|
|
||||||
private static final PageAlphaProvider PAGE_ALPHA_PROVIDER = new PageAlphaProvider(DEACCEL_2) {
|
private static final PageAlphaProvider PAGE_ALPHA_PROVIDER = new PageAlphaProvider(DEACCEL_2) {
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue