summaryrefslogtreecommitdiff
path: root/packages/PrintSpooler/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/PrintSpooler/src')
-rw-r--r--packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java
index bd2b5ec8436e..4a3a6d248254 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java
@@ -84,6 +84,7 @@ import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
+import android.window.OnBackInvokedDispatcher;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -323,6 +324,8 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
});
getLoaderManager().initLoader(LOADER_ID_ENABLED_PRINT_SERVICES, null, this);
+ getWindow().getOnBackInvokedDispatcher().registerOnBackInvokedCallback(
+ OnBackInvokedDispatcher.PRIORITY_DEFAULT, this::onBackInvoked);
}
private void onConnectedToPrintSpooler(final IBinder documentAdapter) {
@@ -481,17 +484,21 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
if ((keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_ESCAPE)
&& event.isTracking() && !event.isCanceled()) {
- if (mPrintPreviewController != null && mPrintPreviewController.isOptionsOpened()
- && !hasErrors()) {
- mPrintPreviewController.closeOptions();
- } else {
- cancelPrint();
- }
+ onBackInvoked();
return true;
}
return super.onKeyUp(keyCode, event);
}
+ private void onBackInvoked() {
+ if (mPrintPreviewController != null && mPrintPreviewController.isOptionsOpened()
+ && !hasErrors()) {
+ mPrintPreviewController.closeOptions();
+ } else {
+ cancelPrint();
+ }
+ }
+
@Override
public void onRequestContentUpdate() {
if (canUpdateDocument()) {