Merge "Do not forward & register IME compat back callback in the app process." into udc-dev

This commit is contained in:
Shan Huang
2023-03-01 05:45:25 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 0 deletions

View File

@@ -11382,6 +11382,10 @@ public final class ViewRootImpl implements ViewParent,
sendBackKeyEvent(KeyEvent.ACTION_DOWN);
sendBackKeyEvent(KeyEvent.ACTION_UP);
};
if (mOnBackInvokedDispatcher.hasImeOnBackInvokedDispatcher()) {
Log.d(TAG, "Skip registering CompatOnBackInvokedCallback on IME dispatcher");
return;
}
mOnBackInvokedDispatcher.registerOnBackInvokedCallback(
OnBackInvokedDispatcher.PRIORITY_DEFAULT, mCompatOnBackInvokedCallback);
}

View File

@@ -357,6 +357,11 @@ public class WindowOnBackInvokedDispatcher implements OnBackInvokedDispatcher {
mImeDispatcher = imeDispatcher;
}
/** Returns true if a non-null {@link ImeOnBackInvokedDispatcher} has been set. **/
public boolean hasImeOnBackInvokedDispatcher() {
return mImeDispatcher != null;
}
/**
* Class used to check whether a callback can be registered or not. This is meant to be
* shared with {@link ProxyOnBackInvokedDispatcher} which needs to do the same checks.