[-1] Show toast when user trys to swipe to -1 on extreme battery saver mode

Fix: 355485335
Flag: com.android.launcher3.use_activity_overlay
Test: manual - record a video
Change-Id: I79a3ece2fb2c0d1eddac0e4f91274ffe222e317f
This commit is contained in:
Fengjiang Li
2024-09-04 14:46:37 -07:00
parent 8ffec48bf7
commit a7e357e339
4 changed files with 19 additions and 0 deletions

View File

@@ -3036,6 +3036,7 @@ public class Launcher extends StatefulActivity<LauncherState>
return mPopupDataProvider.getDotInfoForItem(info);
}
@NonNull
public LauncherOverlayManager getOverlayManager() {
return mOverlayManager;
}

View File

@@ -1463,6 +1463,15 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
mEdgeGlowLeft.onFlingVelocity(velocity);
mEdgeGlowRight.onFlingVelocity(velocity);
}
// Detect if user tries to swipe to -1 page but gets disallowed by checking if there was
// left-over values in mEdgeGlowLeft (or mEdgeGlowRight in RLT).
final int layoutDir = getLayoutDirection();
if ((mEdgeGlowLeft.getDistance() > 0 && layoutDir == LAYOUT_DIRECTION_LTR)
|| (mEdgeGlowRight.getDistance() > 0 && layoutDir == LAYOUT_DIRECTION_RTL)) {
onDisallowSwipeToMinusOnePage();
}
mEdgeGlowLeft.onRelease(ev);
mEdgeGlowRight.onRelease(ev);
// End any intermediate reordering states
@@ -1487,6 +1496,8 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
return true;
}
protected void onDisallowSwipeToMinusOnePage() {}
protected void onNotSnappingToPageInFreeScroll() { }
/**

View File

@@ -1123,6 +1123,11 @@ public class Workspace<T extends View & PageIndicator> extends PagedView<T>
return super.onTouchEvent(ev);
}
@Override
protected void onDisallowSwipeToMinusOnePage() {
mLauncher.getOverlayManager().onDisallowSwipeToMinusOnePage();
}
/**
* Called directly from a CellLayout (not by the framework), after we've been added as a
* listener via setOnInterceptTouchEventListener(). This allows us to tell the CellLayout

View File

@@ -49,6 +49,8 @@ public interface LauncherOverlayManager {
default void onActivityDestroyed() { }
default void onDisallowSwipeToMinusOnePage() {}
/**
* @deprecated use LauncherOverlayTouchProxy directly
*/