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

Commit 70c95c56 authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

Expose API for heavy-weight apps and get it working again.

Still very rough UI, but basically does what is intended.
Also add two tests apps for manual tests (CTS test will
be coming).

Bug: 63937884
Test: manual

Change-Id: I45a6a2b122a75f8125510a2027bb1faf57c6956d
parent 36976d99
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -362,6 +362,7 @@ package android {
    field public static final int canRequestTouchExplorationMode = 16843735; // 0x10103d7
    field public static final int canRetrieveWindowContent = 16843653; // 0x1010385
    field public static final int candidatesTextStyleSpans = 16843312; // 0x1010230
    field public static final int cantSaveState = 16844142; // 0x101056e
    field public static final deprecated int capitalize = 16843113; // 0x1010169
    field public static final int category = 16843752; // 0x10103e8
    field public static final int centerBright = 16842956; // 0x10100cc
+1 −0
Original line number Diff line number Diff line
@@ -494,6 +494,7 @@ package android {
    field public static final int canRequestTouchExplorationMode = 16843735; // 0x10103d7
    field public static final int canRetrieveWindowContent = 16843653; // 0x1010385
    field public static final int candidatesTextStyleSpans = 16843312; // 0x1010230
    field public static final int cantSaveState = 16844142; // 0x101056e
    field public static final deprecated int capitalize = 16843113; // 0x1010169
    field public static final int category = 16843752; // 0x10103e8
    field public static final int centerBright = 16842956; // 0x10100cc
+1 −0
Original line number Diff line number Diff line
@@ -362,6 +362,7 @@ package android {
    field public static final int canRequestTouchExplorationMode = 16843735; // 0x10103d7
    field public static final int canRetrieveWindowContent = 16843653; // 0x1010385
    field public static final int candidatesTextStyleSpans = 16843312; // 0x1010230
    field public static final int cantSaveState = 16844142; // 0x101056e
    field public static final deprecated int capitalize = 16843113; // 0x1010169
    field public static final int category = 16843752; // 0x10103e8
    field public static final int centerBright = 16842956; // 0x10100cc
+8 −10
Original line number Diff line number Diff line
@@ -3711,7 +3711,6 @@ public class PackageParser {
                ai.flags |= ApplicationInfo.FLAG_IS_GAME;
            }

            if (false) {
            if (sa.getBoolean(
                    com.android.internal.R.styleable.AndroidManifestApplication_cantSaveState,
                    false)) {
@@ -3719,12 +3718,11 @@ public class PackageParser {

                // A heavy-weight application can not be in a custom process.
                // We can do direct compare because we intern all strings.
                    if (ai.processName != null && ai.processName != ai.packageName) {
                if (ai.processName != null && !ai.processName.equals(ai.packageName)) {
                    outError[0] = "cantSaveState applications can not use custom processes";
                }
            }
        }
        }

        ai.uiOptions = sa.getInt(
                com.android.internal.R.styleable.AndroidManifestApplication_uiOptions, 0);
+13 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.content.pm.ParceledListSlice;
import android.media.AudioAttributes;
import android.os.RemoteException;
import android.provider.Settings;

@@ -47,6 +48,7 @@ public class SystemNotificationChannels {
    public static String RETAIL_MODE = "RETAIL_MODE";
    public static String USB = "USB";
    public static String FOREGROUND_SERVICE = "FOREGROUND_SERVICE";
    public static String HEAVY_WEIGHT_APP = "HEAVY_WEIGHT_APP";

    public static void createAll(Context context) {
        final NotificationManager nm = context.getSystemService(NotificationManager.class);
@@ -139,6 +141,17 @@ public class SystemNotificationChannels {
        foregroundChannel.setBlockableSystem(true);
        channelsList.add(foregroundChannel);

        NotificationChannel heavyWeightChannel = new NotificationChannel(
                HEAVY_WEIGHT_APP,
                context.getString(R.string.notification_channel_heavy_weight_app),
                NotificationManager.IMPORTANCE_DEFAULT);
        heavyWeightChannel.setShowBadge(false);
        heavyWeightChannel.setSound(null, new AudioAttributes.Builder()
                .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
                .setUsage(AudioAttributes.USAGE_NOTIFICATION_EVENT)
                .build());
        channelsList.add(heavyWeightChannel);

        nm.createNotificationChannels(channelsList);
    }

Loading