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

Commit 12705131 authored by Todd Kennedy's avatar Todd Kennedy
Browse files

Hide ephemerality

Change-Id: Ibf60366b3f00b1920e330cd804bcc1c550f8882a

Bug: 26404647
parent f55ed12f
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -9488,8 +9488,6 @@ package android.content.pm {
    method public abstract int getComponentEnabledSetting(android.content.ComponentName);
    method public abstract android.graphics.drawable.Drawable getDefaultActivityIcon();
    method public abstract android.graphics.drawable.Drawable getDrawable(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public abstract byte[] getEphemeralCookie();
    method public abstract int getEphemeralCookieMaxSizeBytes();
    method public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
    method public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
    method public abstract java.lang.String getInstallerPackageName(java.lang.String);
@@ -9523,7 +9521,6 @@ package android.content.pm {
    method public abstract java.lang.CharSequence getUserBadgedLabel(java.lang.CharSequence, android.os.UserHandle);
    method public abstract android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public abstract boolean hasSystemFeature(java.lang.String);
    method public abstract boolean isEphemeralApplication();
    method public abstract boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String);
    method public abstract boolean isSafeMode();
    method public abstract java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
@@ -9541,7 +9538,6 @@ package android.content.pm {
    method public abstract android.content.pm.ResolveInfo resolveService(android.content.Intent, int);
    method public abstract void setApplicationEnabledSetting(java.lang.String, int, int);
    method public abstract void setComponentEnabledSetting(android.content.ComponentName, int, int);
    method public abstract boolean setEphemeralCookie(byte[]);
    method public abstract void setInstallerPackageName(java.lang.String, java.lang.String);
    method public abstract void verifyPendingInstall(int, int);
    field public static final int COMPONENT_ENABLED_STATE_DEFAULT = 0; // 0x0
@@ -36841,8 +36837,6 @@ package android.test.mock {
    method public int getComponentEnabledSetting(android.content.ComponentName);
    method public android.graphics.drawable.Drawable getDefaultActivityIcon();
    method public android.graphics.drawable.Drawable getDrawable(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public byte[] getEphemeralCookie();
    method public int getEphemeralCookieMaxSizeBytes();
    method public java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
    method public java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
    method public java.lang.String getInstallerPackageName(java.lang.String);
@@ -36875,7 +36869,6 @@ package android.test.mock {
    method public java.lang.CharSequence getUserBadgedLabel(java.lang.CharSequence, android.os.UserHandle);
    method public android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public boolean hasSystemFeature(java.lang.String);
    method public boolean isEphemeralApplication();
    method public boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String);
    method public boolean isSafeMode();
    method public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
@@ -36893,7 +36886,6 @@ package android.test.mock {
    method public android.content.pm.ResolveInfo resolveService(android.content.Intent, int);
    method public void setApplicationEnabledSetting(java.lang.String, int, int);
    method public void setComponentEnabledSetting(android.content.ComponentName, int, int);
    method public boolean setEphemeralCookie(byte[]);
    method public void setInstallerPackageName(java.lang.String, java.lang.String);
    method public void verifyPendingInstall(int, int);
  }
+0 −8
Original line number Diff line number Diff line
@@ -9790,8 +9790,6 @@ package android.content.pm {
    method public abstract int getComponentEnabledSetting(android.content.ComponentName);
    method public abstract android.graphics.drawable.Drawable getDefaultActivityIcon();
    method public abstract android.graphics.drawable.Drawable getDrawable(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public abstract byte[] getEphemeralCookie();
    method public abstract int getEphemeralCookieMaxSizeBytes();
    method public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
    method public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
    method public abstract java.lang.String getInstallerPackageName(java.lang.String);
@@ -9827,7 +9825,6 @@ package android.content.pm {
    method public abstract android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public abstract void grantRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
    method public abstract boolean hasSystemFeature(java.lang.String);
    method public abstract boolean isEphemeralApplication();
    method public abstract boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String);
    method public abstract boolean isSafeMode();
    method public abstract java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
@@ -9847,7 +9844,6 @@ package android.content.pm {
    method public abstract void revokeRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
    method public abstract void setApplicationEnabledSetting(java.lang.String, int, int);
    method public abstract void setComponentEnabledSetting(android.content.ComponentName, int, int);
    method public abstract boolean setEphemeralCookie(byte[]);
    method public abstract void setInstallerPackageName(java.lang.String, java.lang.String);
    method public abstract void updatePermissionFlags(java.lang.String, java.lang.String, int, int, android.os.UserHandle);
    method public abstract void verifyIntentFilter(int, int, java.util.List<java.lang.String>);
@@ -39184,8 +39180,6 @@ package android.test.mock {
    method public int getComponentEnabledSetting(android.content.ComponentName);
    method public android.graphics.drawable.Drawable getDefaultActivityIcon();
    method public android.graphics.drawable.Drawable getDrawable(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public byte[] getEphemeralCookie();
    method public int getEphemeralCookieMaxSizeBytes();
    method public java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
    method public java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
    method public java.lang.String getInstallerPackageName(java.lang.String);
@@ -39220,7 +39214,6 @@ package android.test.mock {
    method public android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public void grantRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
    method public boolean hasSystemFeature(java.lang.String);
    method public boolean isEphemeralApplication();
    method public boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String);
    method public boolean isSafeMode();
    method public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
@@ -39240,7 +39233,6 @@ package android.test.mock {
    method public void revokeRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
    method public void setApplicationEnabledSetting(java.lang.String, int, int);
    method public void setComponentEnabledSetting(android.content.ComponentName, int, int);
    method public boolean setEphemeralCookie(byte[]);
    method public void setInstallerPackageName(java.lang.String, java.lang.String);
    method public void updatePermissionFlags(java.lang.String, java.lang.String, int, int, android.os.UserHandle);
    method public void verifyIntentFilter(int, int, java.util.List<java.lang.String>);
+0 −8
Original line number Diff line number Diff line
@@ -9496,8 +9496,6 @@ package android.content.pm {
    method public abstract android.graphics.drawable.Drawable getDefaultActivityIcon();
    method public abstract java.lang.String getDefaultBrowserPackageNameAsUser(int);
    method public abstract android.graphics.drawable.Drawable getDrawable(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public abstract byte[] getEphemeralCookie();
    method public abstract int getEphemeralCookieMaxSizeBytes();
    method public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
    method public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
    method public abstract java.lang.String getInstallerPackageName(java.lang.String);
@@ -9531,7 +9529,6 @@ package android.content.pm {
    method public abstract java.lang.CharSequence getUserBadgedLabel(java.lang.CharSequence, android.os.UserHandle);
    method public abstract android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public abstract boolean hasSystemFeature(java.lang.String);
    method public abstract boolean isEphemeralApplication();
    method public abstract boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String);
    method public abstract boolean isSafeMode();
    method public abstract java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
@@ -9549,7 +9546,6 @@ package android.content.pm {
    method public abstract android.content.pm.ResolveInfo resolveService(android.content.Intent, int);
    method public abstract void setApplicationEnabledSetting(java.lang.String, int, int);
    method public abstract void setComponentEnabledSetting(android.content.ComponentName, int, int);
    method public abstract boolean setEphemeralCookie(byte[]);
    method public abstract void setInstallerPackageName(java.lang.String, java.lang.String);
    method public abstract void verifyPendingInstall(int, int);
    field public static final int COMPONENT_ENABLED_STATE_DEFAULT = 0; // 0x0
@@ -36857,8 +36853,6 @@ package android.test.mock {
    method public android.graphics.drawable.Drawable getDefaultActivityIcon();
    method public java.lang.String getDefaultBrowserPackageNameAsUser(int);
    method public android.graphics.drawable.Drawable getDrawable(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public byte[] getEphemeralCookie();
    method public int getEphemeralCookieMaxSizeBytes();
    method public java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
    method public java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
    method public java.lang.String getInstallerPackageName(java.lang.String);
@@ -36891,7 +36885,6 @@ package android.test.mock {
    method public java.lang.CharSequence getUserBadgedLabel(java.lang.CharSequence, android.os.UserHandle);
    method public android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
    method public boolean hasSystemFeature(java.lang.String);
    method public boolean isEphemeralApplication();
    method public boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String);
    method public boolean isSafeMode();
    method public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
@@ -36909,7 +36902,6 @@ package android.test.mock {
    method public android.content.pm.ResolveInfo resolveService(android.content.Intent, int);
    method public void setApplicationEnabledSetting(java.lang.String, int, int);
    method public void setComponentEnabledSetting(android.content.ComponentName, int, int);
    method public boolean setEphemeralCookie(byte[]);
    method public void setInstallerPackageName(java.lang.String, java.lang.String);
    method public void verifyPendingInstall(int, int);
  }
+8 −0
Original line number Diff line number Diff line
@@ -3258,6 +3258,8 @@ public abstract class PackageManager {
     * @see #setEphemeralCookie(byte[])
     * @see #getEphemeralCookie()
     * @see #getEphemeralCookieMaxSizeBytes()
     *
     * @hide
     */
    public abstract boolean isEphemeralApplication();

@@ -3270,6 +3272,8 @@ public abstract class PackageManager {
     * @see #isEphemeralApplication()
     * @see #setEphemeralCookie(byte[])
     * @see #getEphemeralCookie()
     *
     * @hide
     */
    public abstract int getEphemeralCookieMaxSizeBytes();

@@ -3286,6 +3290,8 @@ public abstract class PackageManager {
     * @see #isEphemeralApplication()
     * @see #setEphemeralCookie(byte[])
     * @see #getEphemeralCookieMaxSizeBytes()
     *
     * @hide
     */
    public abstract @NonNull byte[] getEphemeralCookie();

@@ -3304,6 +3310,8 @@ public abstract class PackageManager {
     * @see #isEphemeralApplication()
     * @see #getEphemeralCookieMaxSizeBytes()
     * @see #getEphemeralCookie()
     *
     * @hide
     */
    public abstract boolean setEphemeralCookie(@NonNull  byte[] cookie);

+25 −0
Original line number Diff line number Diff line
@@ -318,6 +318,8 @@ public class PackageManagerService extends IPackageManager.Stub {
    static final boolean CLEAR_RUNTIME_PERMISSIONS_ON_UPGRADE = false;
    private static final boolean DISABLE_EPHEMERAL_APPS = true;
    private static final int RADIO_UID = Process.PHONE_UID;
    private static final int LOG_UID = Process.LOG_UID;
    private static final int NFC_UID = Process.NFC_UID;
@@ -4469,6 +4471,9 @@ public class PackageManagerService extends IPackageManager.Stub {
    private boolean isEphemeralAllowed(
            Intent intent, List<ResolveInfo> resolvedActivites, int userId) {
        // Short circuit and return early if possible.
        if (DISABLE_EPHEMERAL_APPS) {
            return false;
        }
        final int callingUser = UserHandle.getCallingUserId();
        if (callingUser != UserHandle.USER_SYSTEM) {
            return false;
@@ -5803,6 +5808,10 @@ public class PackageManagerService extends IPackageManager.Stub {
    @Override
    public ParceledListSlice<EphemeralApplicationInfo> getEphemeralApplications(int userId) {
        if (DISABLE_EPHEMERAL_APPS) {
            return null;
        }
        mContext.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_EPHEMERAL_APPS,
                "getEphemeralApplications");
        enforceCrossUserPermission(Binder.getCallingUid(), userId, true, false,
@@ -5821,6 +5830,10 @@ public class PackageManagerService extends IPackageManager.Stub {
    public boolean isEphemeralApplication(String packageName, int userId) {
        enforceCrossUserPermission(Binder.getCallingUid(), userId, true, false,
                "isEphemeral");
        if (DISABLE_EPHEMERAL_APPS) {
            return false;
        }
        if (!isCallerSameApp(packageName)) {
            return false;
        }
@@ -5835,6 +5848,10 @@ public class PackageManagerService extends IPackageManager.Stub {
    @Override
    public byte[] getEphemeralApplicationCookie(String packageName, int userId) {
        if (DISABLE_EPHEMERAL_APPS) {
            return null;
        }
        enforceCrossUserPermission(Binder.getCallingUid(), userId, true, false,
                "getCookie");
        if (!isCallerSameApp(packageName)) {
@@ -5848,6 +5865,10 @@ public class PackageManagerService extends IPackageManager.Stub {
    @Override
    public boolean setEphemeralApplicationCookie(String packageName, byte[] cookie, int userId) {
        if (DISABLE_EPHEMERAL_APPS) {
            return true;
        }
        enforceCrossUserPermission(Binder.getCallingUid(), userId, true, false,
                "setCookie");
        if (!isCallerSameApp(packageName)) {
@@ -5861,6 +5882,10 @@ public class PackageManagerService extends IPackageManager.Stub {
    @Override
    public Bitmap getEphemeralApplicationIcon(String packageName, int userId) {
        if (DISABLE_EPHEMERAL_APPS) {
            return null;
        }
        mContext.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_EPHEMERAL_APPS,
                "getEphemeralApplicationIcon");
        enforceCrossUserPermission(Binder.getCallingUid(), userId, true, false,
Loading