Turn off automatic updates in page-agnostic mode
Update global settings to disable updates in page-agnostic mode Test: m Settings && adb install -r $ANDROID_PRODUCT_OUT/system_ext/priv-app/Settings/Settings.apk Bug: 295035851 Bug: 302391134 Change-Id: I170bb3ffd50a08a1399bffcde23e5f111d9a5a1d
This commit is contained in:
@@ -23,6 +23,7 @@ import android.app.PendingIntent;
|
|||||||
import android.app.Service;
|
import android.app.Service;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
@@ -35,6 +36,8 @@ public class PageAgnosticNotificationService extends Service {
|
|||||||
"com.android.settings.development.PageAgnosticNotificationService";
|
"com.android.settings.development.PageAgnosticNotificationService";
|
||||||
private static final int NOTIFICATION_ID = 1;
|
private static final int NOTIFICATION_ID = 1;
|
||||||
|
|
||||||
|
static final int DISABLE_UPDATES_SETTING = 1;
|
||||||
|
|
||||||
private NotificationManager mNotificationManager;
|
private NotificationManager mNotificationManager;
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -106,6 +109,22 @@ public class PageAgnosticNotificationService extends Service {
|
|||||||
return builder.build();
|
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
|
@Override
|
||||||
public int onStartCommand(@Nullable Intent intent, int flags, int startId) {
|
public int onStartCommand(@Nullable Intent intent, int flags, int startId) {
|
||||||
Notification notification = buildNotification();
|
Notification notification = buildNotification();
|
||||||
@@ -113,7 +132,8 @@ public class PageAgnosticNotificationService extends Service {
|
|||||||
mNotificationManager.notify(NOTIFICATION_ID, notification);
|
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;
|
return Service.START_NOT_STICKY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user