summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorPeter Wang <tpwang@google.com>2020-01-24 08:15:38 +0800
committerPeter Wang <tpwang@google.com>2020-01-24 09:22:25 +0800
commit09014f10482fa6300e80a4bbb51d7f404129bc06 (patch)
treedbab85d655fe198e9150f22801896f531b87e72d /core/java/android
parent4a58806789a85978f6a4abeb7236ba091d0aa960 (diff)
[Telephony Mainline] Remove hidden API usages in CarrierAppUtils
Bug: 146904426 Test: Build Change-Id: Ib307e565b85e7d9a142efc7e3348b823dc46643d
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/app/ApplicationPackageManager.java58
-rw-r--r--core/java/android/content/pm/PackageManager.java49
-rw-r--r--core/java/android/os/TelephonyServiceManager.java8
-rw-r--r--core/java/android/permission/PermissionManager.java24
4 files changed, 112 insertions, 27 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index 4e6319db97f4..c09aa1ff05a8 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -131,7 +131,7 @@ public class ApplicationPackageManager extends PackageManager {
private static final int DEFAULT_EPHEMERAL_COOKIE_MAX_SIZE_BYTES = 16384; // 16KB
// 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
public static final String APP_PERMISSION_BUTTON_ALLOW_ALWAYS =
@@ -907,7 +907,7 @@ public class ApplicationPackageManager extends PackageManager {
@Override
public boolean hasSigningCertificate(
- String packageName, byte[] certificate, @PackageManager.CertificateInputType int type) {
+ String packageName, byte[] certificate, @CertificateInputType int type) {
try {
return mPM.hasSigningCertificate(packageName, certificate, type);
} catch (RemoteException e) {
@@ -917,7 +917,7 @@ public class ApplicationPackageManager extends PackageManager {
@Override
public boolean hasSigningCertificate(
- int uid, byte[] certificate, @PackageManager.CertificateInputType int type) {
+ int uid, byte[] certificate, @CertificateInputType int type) {
try {
return mPM.hasUidSigningCertificate(uid, certificate, type);
} catch (RemoteException e) {
@@ -1464,8 +1464,7 @@ public class ApplicationPackageManager extends PackageManager {
return getActivityIcon(intent.getComponent());
}
- ResolveInfo info = resolveActivity(
- intent, PackageManager.MATCH_DEFAULT_ONLY);
+ ResolveInfo info = resolveActivity(intent, MATCH_DEFAULT_ONLY);
if (info != null) {
return info.activityInfo.loadIcon(this);
}
@@ -1500,7 +1499,7 @@ public class ApplicationPackageManager extends PackageManager {
}
ResolveInfo info = resolveActivity(
- intent, PackageManager.MATCH_DEFAULT_ONLY);
+ intent, MATCH_DEFAULT_ONLY);
if (info != null) {
return info.activityInfo.loadBanner(this);
}
@@ -1532,8 +1531,7 @@ public class ApplicationPackageManager extends PackageManager {
return getActivityLogo(intent.getComponent());
}
- ResolveInfo info = resolveActivity(
- intent, PackageManager.MATCH_DEFAULT_ONLY);
+ ResolveInfo info = resolveActivity(intent, MATCH_DEFAULT_ONLY);
if (info != null) {
return info.activityInfo.loadLogo(this);
}
@@ -2017,7 +2015,7 @@ public class ApplicationPackageManager extends PackageManager {
@Override
public int installExistingPackage(String packageName) throws NameNotFoundException {
- return installExistingPackage(packageName, PackageManager.INSTALL_REASON_UNKNOWN);
+ return installExistingPackage(packageName, INSTALL_REASON_UNKNOWN);
}
@Override
@@ -2029,7 +2027,7 @@ public class ApplicationPackageManager extends PackageManager {
@Override
public int installExistingPackageAsUser(String packageName, int userId)
throws NameNotFoundException {
- return installExistingPackageAsUser(packageName, PackageManager.INSTALL_REASON_UNKNOWN,
+ return installExistingPackageAsUser(packageName, INSTALL_REASON_UNKNOWN,
userId);
}
@@ -2404,7 +2402,7 @@ public class ApplicationPackageManager extends PackageManager {
public void deletePackageAsUser(String packageName, IPackageDeleteObserver observer,
int flags, int userId) {
try {
- mPM.deletePackageAsUser(packageName, PackageManager.VERSION_CODE_HIGHEST,
+ mPM.deletePackageAsUser(packageName, VERSION_CODE_HIGHEST,
observer, userId, flags);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
@@ -2651,11 +2649,11 @@ public class ApplicationPackageManager extends PackageManager {
public void setSyntheticAppDetailsActivityEnabled(String packageName, boolean enabled) {
try {
ComponentName componentName = new ComponentName(packageName,
- PackageManager.APP_DETAILS_ACTIVITY_CLASS_NAME);
+ APP_DETAILS_ACTIVITY_CLASS_NAME);
mPM.setComponentEnabledSetting(componentName, enabled
- ? PackageManager.COMPONENT_ENABLED_STATE_DEFAULT
- : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP, getUserId());
+ ? COMPONENT_ENABLED_STATE_DEFAULT
+ : COMPONENT_ENABLED_STATE_DISABLED,
+ DONT_KILL_APP, getUserId());
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
@@ -2665,10 +2663,10 @@ public class ApplicationPackageManager extends PackageManager {
public boolean getSyntheticAppDetailsActivityEnabled(String packageName) {
try {
ComponentName componentName = new ComponentName(packageName,
- PackageManager.APP_DETAILS_ACTIVITY_CLASS_NAME);
+ APP_DETAILS_ACTIVITY_CLASS_NAME);
int state = mPM.getComponentEnabledSetting(componentName, getUserId());
- return state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED
- || state == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;
+ return state == COMPONENT_ENABLED_STATE_ENABLED
+ || state == COMPONENT_ENABLED_STATE_DEFAULT;
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
@@ -2744,6 +2742,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 */
+ @Override
public KeySet getKeySetByAlias(String packageName, String alias) {
Objects.requireNonNull(packageName);
Objects.requireNonNull(alias);
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 205617022aa1..948ce39a8f0b 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -3517,6 +3517,44 @@ public abstract class PackageManager {
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} */
public int getUserId() {
return UserHandle.myUserId();
}
@@ -6620,6 +6658,17 @@ public abstract class PackageManager {
@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.
*/
public abstract boolean isSafeMode();
diff --git a/core/java/android/os/TelephonyServiceManager.java b/core/java/android/os/TelephonyServiceManager.java
index c93eba6523f0..c67dedb4ac17 100644
--- a/core/java/android/os/TelephonyServiceManager.java
+++ b/core/java/android/os/TelephonyServiceManager.java
@@ -191,14 +191,6 @@ public class TelephonyServiceManager {
}
/**
- * 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.
*/
@NonNull
diff --git a/core/java/android/permission/PermissionManager.java b/core/java/android/permission/PermissionManager.java
index 5a1ba7fe534c..4812ea98b569 100644
--- a/core/java/android/permission/PermissionManager.java
+++ b/core/java/android/permission/PermissionManager.java
@@ -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(
List<SplitPermissionInfoParcelable> parcelableList) {
final int size = parcelableList.size();
@@ -416,4 +438,4 @@ public final class PermissionManager {
e.rethrowFromSystemServer();
}
}
-}
+} \ No newline at end of file