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

Commit 4b0dec26 authored by Ying Xu's avatar Ying Xu Committed by Android (Google) Code Review
Browse files

Merge "[Telephony Mainline] Remove hidden API usages in CarrierAppUtils"

parents b6a5575a 09014f10
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -2183,6 +2183,7 @@ package android.content.pm {
    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable String);
    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable String);
    method @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable android.content.pm.SuspendDialogInfo);
    method @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable android.content.pm.SuspendDialogInfo);
    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
    method public void setSystemAppState(@NonNull String, int);
    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
    method @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
    method @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS}) public abstract void updatePermissionFlags(@NonNull String, @NonNull String, @android.content.pm.PackageManager.PermissionFlags int, @android.content.pm.PackageManager.PermissionFlags int, @NonNull android.os.UserHandle);
    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS}) public abstract void updatePermissionFlags(@NonNull String, @NonNull String, @android.content.pm.PackageManager.PermissionFlags int, @android.content.pm.PackageManager.PermissionFlags int, @NonNull android.os.UserHandle);
@@ -2263,6 +2264,10 @@ package android.content.pm {
    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
    field public static final int RESTRICTION_NONE = 0; // 0x0
    field public static final int RESTRICTION_NONE = 0; // 0x0
    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN = 0; // 0x0
    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE = 1; // 0x1
    field public static final int SYSTEM_APP_STATE_INSTALLED = 2; // 0x2
    field public static final int SYSTEM_APP_STATE_UNINSTALLED = 3; // 0x3
  }
  }
  public abstract static class PackageManager.DexModuleRegisterCallback {
  public abstract static class PackageManager.DexModuleRegisterCallback {
@@ -8815,7 +8820,6 @@ package android.os {
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getEuiccControllerService();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getEuiccControllerService();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getIccPhoneBookServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getIccPhoneBookServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getOpportunisticNetworkServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getOpportunisticNetworkServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getPackageManagerServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getPhoneSubServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getPhoneSubServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getSmsServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getSmsServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getSubscriptionServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getSubscriptionServiceRegisterer();
@@ -9156,6 +9160,7 @@ package android.permission {
  public final class PermissionManager {
  public final class PermissionManager {
    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public int getRuntimePermissionsVersion();
    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public int getRuntimePermissionsVersion();
    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledCarrierApps(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledImsServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledImsServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledTelephonyDataServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledTelephonyDataServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToLuiApp(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToLuiApp(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+40 −18
Original line number Original line Diff line number Diff line
@@ -131,7 +131,7 @@ public class ApplicationPackageManager extends PackageManager {
    private static final int DEFAULT_EPHEMERAL_COOKIE_MAX_SIZE_BYTES = 16384; // 16KB
    private static final int DEFAULT_EPHEMERAL_COOKIE_MAX_SIZE_BYTES = 16384; // 16KB


    // Default flags to use with PackageManager when no flags are given.
    // Default flags to use with PackageManager when no flags are given.
    private final static int sDefaultFlags = PackageManager.GET_SHARED_LIBRARY_FILES;
    private static final int sDefaultFlags = GET_SHARED_LIBRARY_FILES;


    // Name of the resource which provides background permission button string
    // Name of the resource which provides background permission button string
    public static final String APP_PERMISSION_BUTTON_ALLOW_ALWAYS =
    public static final String APP_PERMISSION_BUTTON_ALLOW_ALWAYS =
@@ -907,7 +907,7 @@ public class ApplicationPackageManager extends PackageManager {


    @Override
    @Override
    public boolean hasSigningCertificate(
    public boolean hasSigningCertificate(
            String packageName, byte[] certificate, @PackageManager.CertificateInputType int type) {
            String packageName, byte[] certificate, @CertificateInputType int type) {
        try {
        try {
            return mPM.hasSigningCertificate(packageName, certificate, type);
            return mPM.hasSigningCertificate(packageName, certificate, type);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
@@ -917,7 +917,7 @@ public class ApplicationPackageManager extends PackageManager {


    @Override
    @Override
    public boolean hasSigningCertificate(
    public boolean hasSigningCertificate(
            int uid, byte[] certificate, @PackageManager.CertificateInputType int type) {
            int uid, byte[] certificate, @CertificateInputType int type) {
        try {
        try {
            return mPM.hasUidSigningCertificate(uid, certificate, type);
            return mPM.hasUidSigningCertificate(uid, certificate, type);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
@@ -1464,8 +1464,7 @@ public class ApplicationPackageManager extends PackageManager {
            return getActivityIcon(intent.getComponent());
            return getActivityIcon(intent.getComponent());
        }
        }


        ResolveInfo info = resolveActivity(
        ResolveInfo info = resolveActivity(intent, MATCH_DEFAULT_ONLY);
            intent, PackageManager.MATCH_DEFAULT_ONLY);
        if (info != null) {
        if (info != null) {
            return info.activityInfo.loadIcon(this);
            return info.activityInfo.loadIcon(this);
        }
        }
@@ -1500,7 +1499,7 @@ public class ApplicationPackageManager extends PackageManager {
        }
        }


        ResolveInfo info = resolveActivity(
        ResolveInfo info = resolveActivity(
                intent, PackageManager.MATCH_DEFAULT_ONLY);
                intent, MATCH_DEFAULT_ONLY);
        if (info != null) {
        if (info != null) {
            return info.activityInfo.loadBanner(this);
            return info.activityInfo.loadBanner(this);
        }
        }
@@ -1532,8 +1531,7 @@ public class ApplicationPackageManager extends PackageManager {
            return getActivityLogo(intent.getComponent());
            return getActivityLogo(intent.getComponent());
        }
        }


        ResolveInfo info = resolveActivity(
        ResolveInfo info = resolveActivity(intent, MATCH_DEFAULT_ONLY);
            intent, PackageManager.MATCH_DEFAULT_ONLY);
        if (info != null) {
        if (info != null) {
            return info.activityInfo.loadLogo(this);
            return info.activityInfo.loadLogo(this);
        }
        }
@@ -2017,7 +2015,7 @@ public class ApplicationPackageManager extends PackageManager {


    @Override
    @Override
    public int installExistingPackage(String packageName) throws NameNotFoundException {
    public int installExistingPackage(String packageName) throws NameNotFoundException {
        return installExistingPackage(packageName, PackageManager.INSTALL_REASON_UNKNOWN);
        return installExistingPackage(packageName, INSTALL_REASON_UNKNOWN);
    }
    }


    @Override
    @Override
@@ -2029,7 +2027,7 @@ public class ApplicationPackageManager extends PackageManager {
    @Override
    @Override
    public int installExistingPackageAsUser(String packageName, int userId)
    public int installExistingPackageAsUser(String packageName, int userId)
            throws NameNotFoundException {
            throws NameNotFoundException {
        return installExistingPackageAsUser(packageName, PackageManager.INSTALL_REASON_UNKNOWN,
        return installExistingPackageAsUser(packageName, INSTALL_REASON_UNKNOWN,
                userId);
                userId);
    }
    }


@@ -2404,7 +2402,7 @@ public class ApplicationPackageManager extends PackageManager {
    public void deletePackageAsUser(String packageName, IPackageDeleteObserver observer,
    public void deletePackageAsUser(String packageName, IPackageDeleteObserver observer,
            int flags, int userId) {
            int flags, int userId) {
        try {
        try {
            mPM.deletePackageAsUser(packageName, PackageManager.VERSION_CODE_HIGHEST,
            mPM.deletePackageAsUser(packageName, VERSION_CODE_HIGHEST,
                    observer, userId, flags);
                    observer, userId, flags);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
@@ -2651,11 +2649,11 @@ public class ApplicationPackageManager extends PackageManager {
    public void setSyntheticAppDetailsActivityEnabled(String packageName, boolean enabled) {
    public void setSyntheticAppDetailsActivityEnabled(String packageName, boolean enabled) {
        try {
        try {
            ComponentName componentName = new ComponentName(packageName,
            ComponentName componentName = new ComponentName(packageName,
                    PackageManager.APP_DETAILS_ACTIVITY_CLASS_NAME);
                    APP_DETAILS_ACTIVITY_CLASS_NAME);
            mPM.setComponentEnabledSetting(componentName, enabled
            mPM.setComponentEnabledSetting(componentName, enabled
                    ? PackageManager.COMPONENT_ENABLED_STATE_DEFAULT
                    ? COMPONENT_ENABLED_STATE_DEFAULT
                    : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                    : COMPONENT_ENABLED_STATE_DISABLED,
                    PackageManager.DONT_KILL_APP, getUserId());
                    DONT_KILL_APP, getUserId());
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
        }
        }
@@ -2665,10 +2663,10 @@ public class ApplicationPackageManager extends PackageManager {
    public boolean getSyntheticAppDetailsActivityEnabled(String packageName) {
    public boolean getSyntheticAppDetailsActivityEnabled(String packageName) {
        try {
        try {
            ComponentName componentName = new ComponentName(packageName,
            ComponentName componentName = new ComponentName(packageName,
                    PackageManager.APP_DETAILS_ACTIVITY_CLASS_NAME);
                    APP_DETAILS_ACTIVITY_CLASS_NAME);
            int state = mPM.getComponentEnabledSetting(componentName, getUserId());
            int state = mPM.getComponentEnabledSetting(componentName, getUserId());
            return state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED
            return state == COMPONENT_ENABLED_STATE_ENABLED
                    || state == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;
                    || state == COMPONENT_ENABLED_STATE_DEFAULT;
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
        }
        }
@@ -2742,6 +2740,30 @@ public class ApplicationPackageManager extends PackageManager {
        }
        }
    }
    }


    /** @hide */
    @Override
    public void setSystemAppState(String packageName, @SystemAppState int state) {
        try {
            switch (state) {
                case SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN:
                    mPM.setSystemAppHiddenUntilInstalled(packageName, true);
                    break;
                case SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE:
                    mPM.setSystemAppHiddenUntilInstalled(packageName, false);
                    break;
                case SYSTEM_APP_STATE_INSTALLED:
                    mPM.setSystemAppInstallState(packageName, true, getUserId());
                    break;
                case SYSTEM_APP_STATE_UNINSTALLED:
                    mPM.setSystemAppInstallState(packageName, false, getUserId());
                    break;
                default:
            }
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /** @hide */
    /** @hide */
    @Override
    @Override
    public KeySet getKeySetByAlias(String packageName, String alias) {
    public KeySet getKeySetByAlias(String packageName, String alias) {
+49 −0
Original line number Original line Diff line number Diff line
@@ -3526,6 +3526,44 @@ public abstract class PackageManager {
    @Disabled
    @Disabled
    public static final long FILTER_APPLICATION_QUERY = 135549675L;
    public static final long FILTER_APPLICATION_QUERY = 135549675L;


    /** {@hide} */
    @IntDef(prefix = {"SYSTEM_APP_STATE_"}, value = {
            SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN,
            SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE,
            SYSTEM_APP_STATE_INSTALLED,
            SYSTEM_APP_STATE_UNINSTALLED
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface SystemAppState {}

    /**
     * Constant for noting system app state as hidden before installation
     * @hide
     */
    @SystemApi
    public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN = 0;

    /**
     * Constant for noting system app state as visible before installation
     * @hide
     */
    @SystemApi
    public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE = 1;

    /**
     * Constant for noting system app state as installed
     * @hide
     */
    @SystemApi
    public static final int SYSTEM_APP_STATE_INSTALLED = 2;

    /**
     * Constant for noting system app state as not installed
     * @hide
     */
    @SystemApi
    public static final int SYSTEM_APP_STATE_UNINSTALLED = 3;

    /** {@hide} */
    /** {@hide} */
    public int getUserId() {
    public int getUserId() {
        return UserHandle.myUserId();
        return UserHandle.myUserId();
@@ -6629,6 +6667,17 @@ public abstract class PackageManager {
    public abstract boolean getApplicationHiddenSettingAsUser(@NonNull String packageName,
    public abstract boolean getApplicationHiddenSettingAsUser(@NonNull String packageName,
            @NonNull UserHandle userHandle);
            @NonNull UserHandle userHandle);


    /**
     * Sets system app state
     * @param packageName Package name of the app.
     * @param state State of the app.
     * @hide
     */
    @SystemApi
    public void setSystemAppState(@NonNull String packageName, @SystemAppState int state) {
        throw new RuntimeException("Not implemented. Must override in a subclass");
    }

    /**
    /**
     * Return whether the device has been booted into safe mode.
     * Return whether the device has been booted into safe mode.
     */
     */
+0 −8
Original line number Original line Diff line number Diff line
@@ -190,14 +190,6 @@ public class TelephonyServiceManager {
        return new ServiceRegisterer("euicc_card_controller");
        return new ServiceRegisterer("euicc_card_controller");
    }
    }


    /**
     * Returns {@link ServiceRegisterer} for the package manager service.
     */
    @NonNull
    public ServiceRegisterer getPackageManagerServiceRegisterer() {
        return new ServiceRegisterer("package");
    }

    /**
    /**
     * Returns {@link ServiceRegisterer} for the ICC phone book service.
     * Returns {@link ServiceRegisterer} for the ICC phone book service.
     */
     */
+23 −1
Original line number Original line Diff line number Diff line
@@ -266,6 +266,28 @@ public final class PermissionManager {
        }
        }
    }
    }


    /**
     * Grant default permissions to currently enabled carrier apps
     * @param packageNames Package names of the apps to be granted permissions
     * @param user The user handle
     * @param executor The executor for the callback
     * @param callback The callback provided by caller to be notified when grant completes
     * @hide
     */
    @SystemApi
    @RequiresPermission(Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS)
    public void grantDefaultPermissionsToEnabledCarrierApps(@NonNull String[] packageNames,
            @NonNull UserHandle user, @NonNull @CallbackExecutor Executor executor,
            @NonNull Consumer<Boolean> callback) {
        try {
            mPermissionManager.grantDefaultPermissionsToEnabledCarrierApps(packageNames,
                    user.getIdentifier());
            executor.execute(() -> callback.accept(true));
        } catch (RemoteException e) {
            e.rethrowFromSystemServer();
        }
    }

    private List<SplitPermissionInfo> splitPermissionInfoListToNonParcelableList(
    private List<SplitPermissionInfo> splitPermissionInfoListToNonParcelableList(
            List<SplitPermissionInfoParcelable> parcelableList) {
            List<SplitPermissionInfoParcelable> parcelableList) {
        final int size = parcelableList.size();
        final int size = parcelableList.size();
Loading