Loading src/com/android/settings/development/Enable16KBootReceiver.java +10 −10 Original line number Diff line number Diff line Loading @@ -28,17 +28,17 @@ public class Enable16KBootReceiver extends BroadcastReceiver { @Override public void onReceive(@NonNull Context context, @NonNull Intent intent) { String action = intent.getAction(); if (!Intent.ACTION_BOOT_COMPLETED.equals(action)) { return; } if (Intent.ACTION_BOOT_COMPLETED.equals(action) || PageAgnosticNotificationService.INTENT_ACTION_DISMISSED.equals(action)) { // Do nothing if device is not in page-agnostic mode if (!Enable16kUtils.isPageAgnosticModeOn(context)) { return; } // start a service to post persistent notification Intent startNotificationIntent = new Intent(context, PageAgnosticNotificationService.class); context.startServiceAsUser(startNotificationIntent, UserHandle.SYSTEM); Intent startServiceIntent = new Intent(context, PageAgnosticNotificationService.class); startServiceIntent.setAction(action); context.startServiceAsUser(startServiceIntent, UserHandle.SYSTEM); } } } src/com/android/settings/development/PageAgnosticNotificationService.java +15 −3 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ public class PageAgnosticNotificationService extends Service { private static final String NOTIFICATION_CHANNEL_ID = "com.android.settings.development.PageAgnosticNotificationService"; public static final String INTENT_ACTION_DISMISSED = "com.android.settings.development.NOTIFICATION_DISMISSED"; private static final int NOTIFICATION_ID = 1; static final int DISABLE_UPDATES_SETTING = 1; Loading Loading @@ -63,6 +65,9 @@ public class PageAgnosticNotificationService extends Service { public void onCreate() { super.onCreate(); createNotificationChannel(); // No updates should be allowed in page-agnostic mode disableAutomaticUpdates(); } private Notification buildNotification() { Loading @@ -89,6 +94,15 @@ public class PageAgnosticNotificationService extends Service { notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); Intent dismissIntent = new Intent(this, Enable16KBootReceiver.class); dismissIntent.setAction(INTENT_ACTION_DISMISSED); PendingIntent dismissPendingIntent = PendingIntent.getBroadcast( this.getApplicationContext(), 0, dismissIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); Notification.Action action = new Notification.Action.Builder( R.drawable.empty_icon, Loading @@ -104,6 +118,7 @@ public class PageAgnosticNotificationService extends Service { .setOngoing(true) .setSmallIcon(R.drawable.ic_settings_24dp) .setContentIntent(notifyPendingIntent) .setDeleteIntent(dismissPendingIntent) .addAction(action); return builder.build(); Loading Loading @@ -131,9 +146,6 @@ public class PageAgnosticNotificationService extends Service { if (mNotificationManager != null) { mNotificationManager.notify(NOTIFICATION_ID, notification); } // No updates should be allowed in page-agnostic mode disableAutomaticUpdates(); return Service.START_REDELIVER_INTENT; } } Loading
src/com/android/settings/development/Enable16KBootReceiver.java +10 −10 Original line number Diff line number Diff line Loading @@ -28,17 +28,17 @@ public class Enable16KBootReceiver extends BroadcastReceiver { @Override public void onReceive(@NonNull Context context, @NonNull Intent intent) { String action = intent.getAction(); if (!Intent.ACTION_BOOT_COMPLETED.equals(action)) { return; } if (Intent.ACTION_BOOT_COMPLETED.equals(action) || PageAgnosticNotificationService.INTENT_ACTION_DISMISSED.equals(action)) { // Do nothing if device is not in page-agnostic mode if (!Enable16kUtils.isPageAgnosticModeOn(context)) { return; } // start a service to post persistent notification Intent startNotificationIntent = new Intent(context, PageAgnosticNotificationService.class); context.startServiceAsUser(startNotificationIntent, UserHandle.SYSTEM); Intent startServiceIntent = new Intent(context, PageAgnosticNotificationService.class); startServiceIntent.setAction(action); context.startServiceAsUser(startServiceIntent, UserHandle.SYSTEM); } } }
src/com/android/settings/development/PageAgnosticNotificationService.java +15 −3 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ public class PageAgnosticNotificationService extends Service { private static final String NOTIFICATION_CHANNEL_ID = "com.android.settings.development.PageAgnosticNotificationService"; public static final String INTENT_ACTION_DISMISSED = "com.android.settings.development.NOTIFICATION_DISMISSED"; private static final int NOTIFICATION_ID = 1; static final int DISABLE_UPDATES_SETTING = 1; Loading Loading @@ -63,6 +65,9 @@ public class PageAgnosticNotificationService extends Service { public void onCreate() { super.onCreate(); createNotificationChannel(); // No updates should be allowed in page-agnostic mode disableAutomaticUpdates(); } private Notification buildNotification() { Loading @@ -89,6 +94,15 @@ public class PageAgnosticNotificationService extends Service { notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); Intent dismissIntent = new Intent(this, Enable16KBootReceiver.class); dismissIntent.setAction(INTENT_ACTION_DISMISSED); PendingIntent dismissPendingIntent = PendingIntent.getBroadcast( this.getApplicationContext(), 0, dismissIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); Notification.Action action = new Notification.Action.Builder( R.drawable.empty_icon, Loading @@ -104,6 +118,7 @@ public class PageAgnosticNotificationService extends Service { .setOngoing(true) .setSmallIcon(R.drawable.ic_settings_24dp) .setContentIntent(notifyPendingIntent) .setDeleteIntent(dismissPendingIntent) .addAction(action); return builder.build(); Loading Loading @@ -131,9 +146,6 @@ public class PageAgnosticNotificationService extends Service { if (mNotificationManager != null) { mNotificationManager.notify(NOTIFICATION_ID, notification); } // No updates should be allowed in page-agnostic mode disableAutomaticUpdates(); return Service.START_REDELIVER_INTENT; } }