Merge "Turn off automatic updates in page-agnostic mode" into main
diff --git a/src/com/android/settings/development/PageAgnosticNotificationService.java b/src/com/android/settings/development/PageAgnosticNotificationService.java
index 29bc776..bce1dd9 100644
--- a/src/com/android/settings/development/PageAgnosticNotificationService.java
+++ b/src/com/android/settings/development/PageAgnosticNotificationService.java
@@ -23,6 +23,7 @@
 import android.app.Service;
 import android.content.Intent;
 import android.os.IBinder;
+import android.provider.Settings;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -35,6 +36,8 @@
             "com.android.settings.development.PageAgnosticNotificationService";
     private static final int NOTIFICATION_ID = 1;
 
+    static final int DISABLE_UPDATES_SETTING = 1;
+
     private NotificationManager mNotificationManager;
 
     @Nullable
@@ -106,6 +109,22 @@
         return builder.build();
     }
 
+    private void disableAutomaticUpdates() {
+        final int currentState =
+                Settings.Global.getInt(
+                        getApplicationContext().getContentResolver(),
+                        Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE,
+                        0 /* default */);
+        // 0 means enabled, 1 means disabled
+        if (currentState == 0) {
+            // automatic updates are enabled, disable them
+            Settings.Global.putInt(
+                    getApplicationContext().getContentResolver(),
+                    Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE,
+                    DISABLE_UPDATES_SETTING);
+        }
+    }
+
     @Override
     public int onStartCommand(@Nullable Intent intent, int flags, int startId) {
         Notification notification = buildNotification();
@@ -113,7 +132,8 @@
             mNotificationManager.notify(NOTIFICATION_ID, notification);
         }
 
-        // When clicked on notification, show dialog with full text
+        // No updates should be allowed in page-agnostic mode
+        disableAutomaticUpdates();
         return Service.START_NOT_STICKY;
     }
 }