mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 18:58:19 +00:00
Merge "Update region sampling to account for window visibility" into tm-qpr-dev
This commit is contained in:
@@ -15,6 +15,8 @@
|
||||
*/
|
||||
package com.android.launcher3.taskbar;
|
||||
|
||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.ValueAnimator;
|
||||
@@ -36,6 +38,7 @@ import com.android.launcher3.util.Executors;
|
||||
import com.android.launcher3.util.MultiPropertyFactory;
|
||||
import com.android.launcher3.util.MultiValueAlpha;
|
||||
import com.android.systemui.shared.navigationbar.RegionSamplingHelper;
|
||||
import com.android.systemui.shared.system.QuickStepContract;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
@@ -78,6 +81,10 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT
|
||||
private float mStartProgressForNextRevealAnim;
|
||||
private boolean mWasLastRevealAnimReversed;
|
||||
|
||||
// States that affect whether region sampling is enabled or not
|
||||
private boolean mIsStashed;
|
||||
private boolean mTaskbarHidden;
|
||||
|
||||
public StashedHandleViewController(TaskbarActivityContext activity,
|
||||
StashedHandleView stashedHandleView) {
|
||||
mActivity = activity;
|
||||
@@ -218,7 +225,8 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT
|
||||
|
||||
/** Called when taskbar is stashed or unstashed. */
|
||||
public void onIsStashedChanged(boolean isStashed) {
|
||||
mRegionSamplingHelper.setWindowVisible(isStashed);
|
||||
mIsStashed = isStashed;
|
||||
updateRegionSamplingWindowVisibility();
|
||||
if (isStashed) {
|
||||
mStashedHandleView.updateSampledRegion(mStashedHandleBounds);
|
||||
mRegionSamplingHelper.start(mStashedHandleView.getSampledRegion());
|
||||
@@ -247,6 +255,15 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT
|
||||
homeDisabled ? 0 : 1);
|
||||
}
|
||||
|
||||
public void updateStateForSysuiFlags(int systemUiStateFlags) {
|
||||
mTaskbarHidden = (systemUiStateFlags & SYSUI_STATE_NAV_BAR_HIDDEN) != 0;
|
||||
updateRegionSamplingWindowVisibility();
|
||||
}
|
||||
|
||||
private void updateRegionSamplingWindowVisibility() {
|
||||
mRegionSamplingHelper.setWindowVisible(mIsStashed && !mTaskbarHidden);
|
||||
}
|
||||
|
||||
public boolean isStashedHandleVisible() {
|
||||
return mStashedHandleView.getVisibility() == View.VISIBLE;
|
||||
}
|
||||
|
||||
@@ -570,6 +570,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
|
||||
|| isNavBarKidsModeActive());
|
||||
mControllers.stashedHandleViewController.setIsHomeButtonDisabled(
|
||||
mControllers.navbarButtonsViewController.isHomeDisabled());
|
||||
mControllers.stashedHandleViewController.updateStateForSysuiFlags(systemUiStateFlags);
|
||||
mControllers.taskbarKeyguardController.updateStateForSysuiFlags(systemUiStateFlags);
|
||||
mControllers.taskbarStashController.updateStateForSysuiFlags(
|
||||
systemUiStateFlags, fromInit || !isUserSetupComplete());
|
||||
|
||||
Reference in New Issue
Block a user