Merge "Add setTriggerBack interface to BackCallback." into tm-qpr-dev am: baa507a5f8

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19995003

Change-Id: Icdb32540461a795f172104c6e4499703ecdd9e52
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2022-09-30 21:44:16 +00:00
committed by Automerger Merge Worker
3 changed files with 16 additions and 0 deletions

View File

@@ -61,5 +61,13 @@ public interface NavigationEdgeBackPlugin extends Plugin {
/** Indicates that the gesture was cancelled and the system should not go back. */
void cancelBack();
/**
* Indicates if back will be triggered if committed in current state.
*
* @param triggerBack if back will be triggered in current state.
*/
// TODO(b/247883311): Remove default impl once SwipeBackGestureHandler overrides this.
default void setTriggerBack(boolean triggerBack) {}
}
}

View File

@@ -303,6 +303,13 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
mOverviewProxyService.notifyBackAction(false, (int) mDownPoint.x,
(int) mDownPoint.y, false /* isButton */, !mIsOnLeftEdge);
}
@Override
public void setTriggerBack(boolean triggerBack) {
if (mBackAnimation != null) {
mBackAnimation.setTriggerBack(triggerBack);
}
}
};
private final SysUiState.SysUiStateCallback mSysUiStateCallback =

View File

@@ -880,6 +880,7 @@ public class NavigationBarEdgePanel extends View implements NavigationEdgeBackPl
// Whenever the trigger back state changes the existing translation animation should be
// cancelled
mTranslationAnimation.cancel();
mBackCallback.setTriggerBack(mTriggerBack);
}
}