Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f7486fc4 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Repost PageAgnostic mode notification when dismissed" into main am: 9a492ca3

parents 226c0d54 9a492ca3
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -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);
        }
    }
}
+15 −3
Original line number Diff line number Diff line
@@ -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;
@@ -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() {
@@ -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,
@@ -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();
@@ -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;
    }
}