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

This commit is contained in:
TreeHugger Robot
2022-09-30 21:23:22 +00:00
committed by Android (Google) Code Review
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);
}
}