Merge "[DO NOT MERGE] Guard against launching permission backup/restore twice per request" into qt-dev
diff --git a/core/java/android/permission/PermissionControllerManager.java b/core/java/android/permission/PermissionControllerManager.java
index 3ab5c51..5b2e3a2 100644
--- a/core/java/android/permission/PermissionControllerManager.java
+++ b/core/java/android/permission/PermissionControllerManager.java
@@ -808,6 +808,9 @@
 
         @Override
         public void run() {
+            if (mBackupReader.getStatus() != AsyncTask.Status.PENDING) {
+                return;
+            }
             mBackupReader.execute();
 
             ParcelFileDescriptor remotePipe = mBackupReader.getRemotePipe();
@@ -919,6 +922,9 @@
 
         @Override
         public void run(@NonNull IPermissionController service) {
+            if (mBackupSender.getStatus() != AsyncTask.Status.PENDING) {
+                return;
+            }
             mBackupSender.execute(mBackup);
 
             ParcelFileDescriptor remotePipe = mBackupSender.getRemotePipe();