mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-02 17:06:49 +00:00
Remove LockscreenRecentsActivity am: 1801d19bcd
Change-Id: I8c9aa9ce998391b20ceaf5bd3a9a11e1ddcedcb1
This commit is contained in:
@@ -95,12 +95,6 @@
|
||||
android:clearTaskOnLaunch="true"
|
||||
android:exported="false" />
|
||||
|
||||
<activity android:name="com.android.quickstep.LockScreenRecentsActivity"
|
||||
android:theme="@android:style/Theme.NoDisplay"
|
||||
android:showOnLockScreen="true"
|
||||
android:taskAffinity="${packageName}.locktask"
|
||||
android:directBootAware="true" />
|
||||
|
||||
<activity
|
||||
android:name="com.android.quickstep.interaction.GestureSandboxActivity"
|
||||
android:autoRemoveFromRecents="true"
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2019 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;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
|
||||
/**
|
||||
* Empty activity to start a recents transition
|
||||
*/
|
||||
public class LockScreenRecentsActivity extends Activity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
@@ -18,14 +18,15 @@ package com.android.quickstep.inputconsumers;
|
||||
import static android.view.MotionEvent.ACTION_CANCEL;
|
||||
import static android.view.MotionEvent.ACTION_POINTER_DOWN;
|
||||
import static android.view.MotionEvent.ACTION_UP;
|
||||
|
||||
import static com.android.launcher3.Utilities.squaredHypot;
|
||||
import static com.android.launcher3.Utilities.squaredTouchSlop;
|
||||
import static com.android.quickstep.LauncherSwipeHandler.MIN_PROGRESS_FOR_OVERVIEW;
|
||||
import static com.android.quickstep.MultiStateCallback.DEBUG_STATES;
|
||||
import static com.android.quickstep.util.ActiveGestureLog.INTENT_EXTRA_LOG_TRACE_ID;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Point;
|
||||
@@ -34,15 +35,14 @@ import android.graphics.Rect;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.VelocityTracker;
|
||||
import android.view.ViewConfiguration;
|
||||
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.Utilities;
|
||||
import com.android.launcher3.anim.Interpolators;
|
||||
import com.android.launcher3.testing.TestLogging;
|
||||
import com.android.launcher3.testing.TestProtocol;
|
||||
import com.android.launcher3.util.DefaultDisplay;
|
||||
import com.android.quickstep.GestureState;
|
||||
import com.android.quickstep.InputConsumer;
|
||||
import com.android.quickstep.LockScreenRecentsActivity;
|
||||
import com.android.quickstep.MultiStateCallback;
|
||||
import com.android.quickstep.RecentsAnimationCallbacks;
|
||||
import com.android.quickstep.RecentsAnimationController;
|
||||
@@ -52,6 +52,7 @@ import com.android.quickstep.TaskAnimationManager;
|
||||
import com.android.quickstep.util.AppWindowAnimationHelper;
|
||||
import com.android.quickstep.util.TransformParams;
|
||||
import com.android.systemui.shared.recents.model.ThumbnailData;
|
||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
||||
import com.android.systemui.shared.system.InputMonitorCompat;
|
||||
import com.android.systemui.shared.system.RemoteAnimationTargetCompat;
|
||||
|
||||
@@ -61,8 +62,6 @@ import com.android.systemui.shared.system.RemoteAnimationTargetCompat;
|
||||
public class DeviceLockedInputConsumer implements InputConsumer,
|
||||
RecentsAnimationCallbacks.RecentsAnimationListener {
|
||||
|
||||
private static final float SCALE_DOWN = 0.75f;
|
||||
|
||||
private static final String[] STATE_NAMES = DEBUG_STATES ? new String[2] : null;
|
||||
private static int getFlagForIndex(int index, String name) {
|
||||
if (DEBUG_STATES) {
|
||||
@@ -93,6 +92,7 @@ public class DeviceLockedInputConsumer implements InputConsumer,
|
||||
private float mProgress;
|
||||
|
||||
private boolean mThresholdCrossed = false;
|
||||
private boolean mHomeLaunched = false;
|
||||
|
||||
private RecentsAnimationController mRecentsAnimationController;
|
||||
private RecentsAnimationTargets mRecentsAnimationTargets;
|
||||
@@ -176,7 +176,6 @@ public class DeviceLockedInputConsumer implements InputConsumer,
|
||||
* the animation can still be running.
|
||||
*/
|
||||
private void finishTouchTracking(MotionEvent ev) {
|
||||
mStateCallback.setState(STATE_HANDLER_INVALIDATED);
|
||||
if (mThresholdCrossed && ev.getAction() == ACTION_UP) {
|
||||
mVelocityTracker.computeCurrentVelocity(1000,
|
||||
ViewConfiguration.get(mContext).getScaledMaximumFlingVelocity());
|
||||
@@ -192,12 +191,34 @@ public class DeviceLockedInputConsumer implements InputConsumer,
|
||||
} else {
|
||||
dismissTask = mProgress >= (1 - MIN_PROGRESS_FOR_OVERVIEW);
|
||||
}
|
||||
if (dismissTask) {
|
||||
// For now, just start the home intent so user is prompted to unlock the device.
|
||||
mContext.startActivity(new Intent(Intent.ACTION_MAIN)
|
||||
.addCategory(Intent.CATEGORY_HOME)
|
||||
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
|
||||
}
|
||||
|
||||
// Animate back to fullscreen before finishing
|
||||
ValueAnimator animator = ValueAnimator.ofFloat(mTransformParams.getProgress(), 0f);
|
||||
animator.setDuration(100);
|
||||
animator.setInterpolator(Interpolators.ACCEL);
|
||||
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
|
||||
@Override
|
||||
public void onAnimationUpdate(ValueAnimator valueAnimator) {
|
||||
mTransformParams.setProgress((float) valueAnimator.getAnimatedValue());
|
||||
mAppWindowAnimationHelper.applyTransform(mTransformParams);
|
||||
}
|
||||
});
|
||||
animator.addListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
if (dismissTask) {
|
||||
// For now, just start the home intent so user is prompted to unlock the device.
|
||||
mContext.startActivity(new Intent(Intent.ACTION_MAIN)
|
||||
.addCategory(Intent.CATEGORY_HOME)
|
||||
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
|
||||
mHomeLaunched = true;
|
||||
}
|
||||
mStateCallback.setState(STATE_HANDLER_INVALIDATED);
|
||||
}
|
||||
});
|
||||
animator.start();
|
||||
} else {
|
||||
mStateCallback.setState(STATE_HANDLER_INVALIDATED);
|
||||
}
|
||||
mVelocityTracker.recycle();
|
||||
mVelocityTracker = null;
|
||||
@@ -205,13 +226,11 @@ public class DeviceLockedInputConsumer implements InputConsumer,
|
||||
|
||||
private void startRecentsTransition() {
|
||||
mThresholdCrossed = true;
|
||||
mHomeLaunched = false;
|
||||
TestLogging.recordEvent(TestProtocol.SEQUENCE_PILFER, "pilferPointers");
|
||||
mInputMonitorCompat.pilferPointers();
|
||||
|
||||
Intent intent = new Intent(Intent.ACTION_MAIN)
|
||||
.addCategory(Intent.CATEGORY_DEFAULT)
|
||||
.setComponent(new ComponentName(mContext, LockScreenRecentsActivity.class))
|
||||
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK)
|
||||
Intent intent = mGestureState.getHomeIntent()
|
||||
.putExtra(INTENT_EXTRA_LOG_TRACE_ID, mGestureState.getGestureId());
|
||||
mTaskAnimationManager.startRecentsAnimation(mGestureState, intent, this);
|
||||
}
|
||||
@@ -229,8 +248,9 @@ public class DeviceLockedInputConsumer implements InputConsumer,
|
||||
mAppWindowAnimationHelper.updateSource(displaySize, targetCompat);
|
||||
}
|
||||
|
||||
Utilities.scaleRectAboutCenter(displaySize, SCALE_DOWN);
|
||||
displaySize.offsetTo(displaySize.left, 0);
|
||||
// Offset the surface slightly
|
||||
displaySize.offset(0, mContext.getResources().getDimensionPixelSize(
|
||||
R.dimen.device_locked_y_offset));
|
||||
mTransformParams.setTargetSet(mRecentsAnimationTargets);
|
||||
mAppWindowAnimationHelper.updateTargetRect(displaySize);
|
||||
mAppWindowAnimationHelper.applyTransform(mTransformParams);
|
||||
@@ -245,7 +265,9 @@ public class DeviceLockedInputConsumer implements InputConsumer,
|
||||
}
|
||||
|
||||
private void endRemoteAnimation() {
|
||||
if (mRecentsAnimationController != null) {
|
||||
if (mHomeLaunched) {
|
||||
ActivityManagerWrapper.getInstance().cancelRecentsAnimation(false);
|
||||
} else if (mRecentsAnimationController != null) {
|
||||
mRecentsAnimationController.finishController(
|
||||
false /* toRecents */, null /* callback */, false /* sendUserLeaveHint */);
|
||||
}
|
||||
|
||||
@@ -79,6 +79,9 @@
|
||||
<!-- Distance to move elements when swiping up to go home from launcher -->
|
||||
<dimen name="home_pullback_distance">28dp</dimen>
|
||||
|
||||
<!-- Distance to move the tasks when swiping up while the device is locked -->
|
||||
<dimen name="device_locked_y_offset">-80dp</dimen>
|
||||
|
||||
<!-- Overscroll Gesture -->
|
||||
<dimen name="gestures_overscroll_fling_threshold">40dp</dimen>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user