summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2014-07-19 15:44:09 -0700
committerAmith Yamasani <yamasani@google.com>2014-07-21 22:18:40 +0000
commite5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7 (patch)
tree0a758d1029f2b8aed41a089330c7fa79564a6a32
parentc2ae1a6b455d97c4e89e2bf7b113435dd63bb36f (diff)
Rename setApplicationBlocked to setApplicationHidden
This corrects the expected behavior of the app state. Hidden apps can be installed by the store to be brought out of hidden state. Bug: 16191518 Change-Id: Id128ce971ceee99ba1dea14ba07ce03bd8d77335
-rw-r--r--api/current.txt6
-rw-r--r--cmds/pm/src/com/android/commands/pm/Pm.java20
-rw-r--r--core/java/android/app/ApplicationPackageManager.java8
-rw-r--r--core/java/android/app/admin/DevicePolicyManager.java36
-rw-r--r--core/java/android/app/admin/IDevicePolicyManager.aidl6
-rw-r--r--core/java/android/content/pm/ApplicationInfo.java4
-rw-r--r--core/java/android/content/pm/IPackageManager.aidl4
-rw-r--r--core/java/android/content/pm/PackageManager.java13
-rw-r--r--core/java/android/content/pm/PackageParser.java28
-rw-r--r--core/java/android/content/pm/PackageUserState.java6
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java44
-rw-r--r--services/core/java/com/android/server/pm/PackageSettingBase.java12
-rw-r--r--services/core/java/com/android/server/pm/Settings.java28
-rw-r--r--services/core/java/com/android/server/pm/UserManagerService.java12
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java28
-rw-r--r--test-runner/src/android/test/mock/MockPackageManager.java4
16 files changed, 135 insertions, 124 deletions
diff --git a/api/current.txt b/api/current.txt
index 001d9b99fa8e..d8e8f4e585b2 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -5355,7 +5355,7 @@ package android.app.admin {
method public boolean installCaCert(android.content.ComponentName, byte[]);
method public boolean isActivePasswordSufficient();
method public boolean isAdminActive(android.content.ComponentName);
- method public boolean isApplicationBlocked(android.content.ComponentName, java.lang.String);
+ method public boolean isApplicationHidden(android.content.ComponentName, java.lang.String);
method public boolean isDeviceOwnerApp(java.lang.String);
method public boolean isLockTaskPermitted(java.lang.String);
method public boolean isMasterVolumeMuted(android.content.ComponentName);
@@ -5365,9 +5365,9 @@ package android.app.admin {
method public boolean removeUser(android.content.ComponentName, android.os.UserHandle);
method public boolean resetPassword(java.lang.String, int);
method public void setAccountManagementDisabled(android.content.ComponentName, java.lang.String, boolean);
- method public boolean setApplicationBlocked(android.content.ComponentName, java.lang.String, boolean);
+ method public boolean setApplicationHidden(android.content.ComponentName, java.lang.String, boolean);
method public void setApplicationRestrictions(android.content.ComponentName, java.lang.String, android.os.Bundle);
- method public int setApplicationsBlocked(android.content.ComponentName, android.content.Intent, boolean);
+ method public int setApplicationsHidden(android.content.ComponentName, android.content.Intent, boolean);
method public void setBlockUninstall(android.content.ComponentName, java.lang.String, boolean);
method public void setCameraDisabled(android.content.ComponentName, boolean);
method public void setCrossProfileCallerIdDisabled(android.content.ComponentName, boolean);
diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java
index d6c17ae99870..faf5622f38b6 100644
--- a/cmds/pm/src/com/android/commands/pm/Pm.java
+++ b/cmds/pm/src/com/android/commands/pm/Pm.java
@@ -197,13 +197,13 @@ public final class Pm {
return;
}
- if ("block".equals(op)) {
- runSetBlockedSetting(true);
+ if ("hide".equals(op)) {
+ runSetHiddenSetting(true);
return;
}
- if ("unblock".equals(op)) {
- runSetBlockedSetting(false);
+ if ("unhide".equals(op)) {
+ runSetHiddenSetting(false);
return;
}
@@ -1471,7 +1471,7 @@ public final class Pm {
}
}
- private void runSetBlockedSetting(boolean state) {
+ private void runSetHiddenSetting(boolean state) {
int userId = 0;
String option = nextOption();
if (option != null && option.equals("--user")) {
@@ -1492,9 +1492,9 @@ public final class Pm {
return;
}
try {
- mPm.setApplicationBlockedSettingAsUser(pkg, state, userId);
- System.err.println("Package " + pkg + " new blocked state: "
- + mPm.getApplicationBlockedSettingAsUser(pkg, userId));
+ mPm.setApplicationHiddenSettingAsUser(pkg, state, userId);
+ System.err.println("Package " + pkg + " new hidden state: "
+ + mPm.getApplicationHiddenSettingAsUser(pkg, userId));
} catch (RemoteException e) {
System.err.println(e.toString());
System.err.println(PM_NOT_RUNNING_ERR);
@@ -1751,8 +1751,8 @@ public final class Pm {
System.err.println(" pm disable [--user USER_ID] PACKAGE_OR_COMPONENT");
System.err.println(" pm disable-user [--user USER_ID] PACKAGE_OR_COMPONENT");
System.err.println(" pm disable-until-used [--user USER_ID] PACKAGE_OR_COMPONENT");
- System.err.println(" pm block [--user USER_ID] PACKAGE_OR_COMPONENT");
- System.err.println(" pm unblock [--user USER_ID] PACKAGE_OR_COMPONENT");
+ System.err.println(" pm hide [--user USER_ID] PACKAGE_OR_COMPONENT");
+ System.err.println(" pm unhide [--user USER_ID] PACKAGE_OR_COMPONENT");
System.err.println(" pm grant PACKAGE PERMISSION");
System.err.println(" pm revoke PACKAGE PERMISSION");
System.err.println(" pm set-install-location [0/auto] [1/internal] [2/external]");
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index 6a513718c119..1cb0fd42608a 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -1452,10 +1452,10 @@ final class ApplicationPackageManager extends PackageManager {
}
@Override
- public boolean setApplicationBlockedSettingAsUser(String packageName, boolean blocked,
+ public boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden,
UserHandle user) {
try {
- return mPM.setApplicationBlockedSettingAsUser(packageName, blocked,
+ return mPM.setApplicationHiddenSettingAsUser(packageName, hidden,
user.getIdentifier());
} catch (RemoteException re) {
// Should never happen!
@@ -1464,9 +1464,9 @@ final class ApplicationPackageManager extends PackageManager {
}
@Override
- public boolean getApplicationBlockedSettingAsUser(String packageName, UserHandle user) {
+ public boolean getApplicationHiddenSettingAsUser(String packageName, UserHandle user) {
try {
- return mPM.getApplicationBlockedSettingAsUser(packageName, user.getIdentifier());
+ return mPM.getApplicationHiddenSettingAsUser(packageName, user.getIdentifier());
} catch (RemoteException re) {
// Should never happen!
}
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 5f2262b7a568..efeded5f2037 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -2523,20 +2523,20 @@ public class DevicePolicyManager {
}
/**
- * Called by device or profile owner to block or unblock packages. When a package is blocked it
+ * Called by device or profile owner to hide or unhide packages. When a package is hidden it
* is unavailable for use, but the data and actual package file remain.
*
* @param admin Which {@link DeviceAdminReceiver} this request is associated with.
- * @param packageName The name of the package to block or unblock.
- * @param blocked {@code true} if the package should be blocked, {@code false} if it should be
- * unblocked.
- * @return boolean Whether the blocked setting of the package was successfully updated.
+ * @param packageName The name of the package to hide or unhide.
+ * @param hidden {@code true} if the package should be hidden, {@code false} if it should be
+ * unhidden.
+ * @return boolean Whether the hidden setting of the package was successfully updated.
*/
- public boolean setApplicationBlocked(ComponentName admin, String packageName,
- boolean blocked) {
+ public boolean setApplicationHidden(ComponentName admin, String packageName,
+ boolean hidden) {
if (mService != null) {
try {
- return mService.setApplicationBlocked(admin, packageName, blocked);
+ return mService.setApplicationHidden(admin, packageName, hidden);
} catch (RemoteException e) {
Log.w(TAG, "Failed talking with device policy service", e);
}
@@ -2545,20 +2545,20 @@ public class DevicePolicyManager {
}
/**
- * Called by profile or device owner to block or unblock currently installed packages. This
+ * Called by profile or device owner to hide or unhide currently installed packages. This
* should only be called by a profile or device owner running within a managed profile.
*
* @param admin Which {@link DeviceAdminReceiver} this request is associated with.
* @param intent An intent matching the app(s) to be updated. All apps that resolve for this
* intent will be updated in the current profile.
- * @param blocked {@code true} if the packages should be blocked, {@code false} if they should
- * be unblocked.
+ * @param hidden {@code true} if the packages should be hidden, {@code false} if they should
+ * be unhidden.
* @return int The number of activities that matched the intent and were updated.
*/
- public int setApplicationsBlocked(ComponentName admin, Intent intent, boolean blocked) {
+ public int setApplicationsHidden(ComponentName admin, Intent intent, boolean hidden) {
if (mService != null) {
try {
- return mService.setApplicationsBlocked(admin, intent, blocked);
+ return mService.setApplicationsHidden(admin, intent, hidden);
} catch (RemoteException e) {
Log.w(TAG, "Failed talking with device policy service", e);
}
@@ -2567,16 +2567,16 @@ public class DevicePolicyManager {
}
/**
- * Called by device or profile owner to determine if a package is blocked.
+ * Called by device or profile owner to determine if a package is hidden.
*
* @param admin Which {@link DeviceAdminReceiver} this request is associated with.
- * @param packageName The name of the package to retrieve the blocked status of.
- * @return boolean {@code true} if the package is blocked, {@code false} otherwise.
+ * @param packageName The name of the package to retrieve the hidden status of.
+ * @return boolean {@code true} if the package is hidden, {@code false} otherwise.
*/
- public boolean isApplicationBlocked(ComponentName admin, String packageName) {
+ public boolean isApplicationHidden(ComponentName admin, String packageName) {
if (mService != null) {
try {
- return mService.isApplicationBlocked(admin, packageName);
+ return mService.isApplicationHidden(admin, packageName);
} catch (RemoteException e) {
Log.w(TAG, "Failed talking with device policy service", e);
}
diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl
index 9b1979f7b732..5fc8c5f49983 100644
--- a/core/java/android/app/admin/IDevicePolicyManager.aidl
+++ b/core/java/android/app/admin/IDevicePolicyManager.aidl
@@ -132,9 +132,9 @@ interface IDevicePolicyManager {
void addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags);
void clearCrossProfileIntentFilters(in ComponentName admin);
- boolean setApplicationBlocked(in ComponentName admin, in String packageName, boolean blocked);
- int setApplicationsBlocked(in ComponentName admin, in Intent intent, boolean blocked);
- boolean isApplicationBlocked(in ComponentName admin, in String packageName);
+ boolean setApplicationHidden(in ComponentName admin, in String packageName, boolean hidden);
+ int setApplicationsHidden(in ComponentName admin, in Intent intent, boolean hidden);
+ boolean isApplicationHidden(in ComponentName admin, in String packageName);
UserHandle createUser(in ComponentName who, in String name);
UserHandle createAndInitializeUser(in ComponentName who, in String name, in String profileOwnerName, in ComponentName profileOwnerComponent, in Bundle adminExtras);
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java
index 95bd4806a4be..482ad6e267fa 100644
--- a/core/java/android/content/pm/ApplicationInfo.java
+++ b/core/java/android/content/pm/ApplicationInfo.java
@@ -334,11 +334,11 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
public static final int FLAG_FULL_BACKUP_ONLY = 1<<26;
/**
- * Value for {@link #flags}: true if the application is blocked via restrictions and for
+ * Value for {@link #flags}: true if the application is hidden via restrictions and for
* most purposes is considered as not installed.
* {@hide}
*/
- public static final int FLAG_BLOCKED = 1<<27;
+ public static final int FLAG_HIDDEN = 1<<27;
/**
* Value for {@link #flags}: set to <code>true</code> if the application
diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl
index eb46cf0452a5..5e55ba72e6a8 100644
--- a/core/java/android/content/pm/IPackageManager.aidl
+++ b/core/java/android/content/pm/IPackageManager.aidl
@@ -428,8 +428,8 @@ interface IPackageManager {
/** Reflects current DeviceStorageMonitorService state */
boolean isStorageLow();
- boolean setApplicationBlockedSettingAsUser(String packageName, boolean blocked, int userId);
- boolean getApplicationBlockedSettingAsUser(String packageName, int userId);
+ boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden, int userId);
+ boolean getApplicationHiddenSettingAsUser(String packageName, int userId);
IPackageInstaller getPackageInstaller();
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index b4c02199c5e7..8b6ae41d628c 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -3642,20 +3642,21 @@ public abstract class PackageManager {
public abstract int getApplicationEnabledSetting(String packageName);
/**
- * Puts the package in a blocked state, which is almost like an uninstalled state,
+ * Puts the package in a hidden state, which is almost like an uninstalled state,
* making the package unavailable, but it doesn't remove the data or the actual
- * package file.
+ * package file. Application can be unhidden by either resetting the hidden state
+ * or by installing it, such as with {@link #installExistingPackage(String)}
* @hide
*/
- public abstract boolean setApplicationBlockedSettingAsUser(String packageName, boolean blocked,
+ public abstract boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden,
UserHandle userHandle);
/**
- * Returns the blocked state of a package.
- * @see #setApplicationBlockedSettingAsUser(String, boolean, UserHandle)
+ * Returns the hidden state of a package.
+ * @see #setApplicationHiddenSettingAsUser(String, boolean, UserHandle)
* @hide
*/
- public abstract boolean getApplicationBlockedSettingAsUser(String packageName,
+ public abstract boolean getApplicationHiddenSettingAsUser(String packageName,
UserHandle userHandle);
/**
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index 833dc213c0c1..9866200f80f2 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -382,23 +382,23 @@ public class PackageParser {
}
/**
- * Returns true if the package is installed and not blocked, or if the caller
- * explicitly wanted all uninstalled and blocked packages as well.
+ * Returns true if the package is installed and not hidden, or if the caller
+ * explicitly wanted all uninstalled and hidden packages as well.
*/
- private static boolean checkUseInstalledOrBlocked(int flags, PackageUserState state) {
- return (state.installed && !state.blocked)
+ private static boolean checkUseInstalledOrHidden(int flags, PackageUserState state) {
+ return (state.installed && !state.hidden)
|| (flags & PackageManager.GET_UNINSTALLED_PACKAGES) != 0;
}
public static boolean isAvailable(PackageUserState state) {
- return checkUseInstalledOrBlocked(0, state);
+ return checkUseInstalledOrHidden(0, state);
}
public static PackageInfo generatePackageInfo(PackageParser.Package p,
int gids[], int flags, long firstInstallTime, long lastUpdateTime,
HashSet<String> grantedPermissions, PackageUserState state, int userId) {
- if (!checkUseInstalledOrBlocked(flags, state)) {
+ if (!checkUseInstalledOrHidden(flags, state)) {
return null;
}
PackageInfo pi = new PackageInfo();
@@ -4533,7 +4533,7 @@ public class PackageParser {
return true;
}
}
- if (!state.installed || state.blocked) {
+ if (!state.installed || state.hidden) {
return true;
}
if (state.stopped) {
@@ -4566,10 +4566,10 @@ public class PackageParser {
} else {
ai.flags &= ~ApplicationInfo.FLAG_INSTALLED;
}
- if (state.blocked) {
- ai.flags |= ApplicationInfo.FLAG_BLOCKED;
+ if (state.hidden) {
+ ai.flags |= ApplicationInfo.FLAG_HIDDEN;
} else {
- ai.flags &= ~ApplicationInfo.FLAG_BLOCKED;
+ ai.flags &= ~ApplicationInfo.FLAG_HIDDEN;
}
if (state.enabled == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) {
ai.enabled = true;
@@ -4585,7 +4585,7 @@ public class PackageParser {
public static ApplicationInfo generateApplicationInfo(Package p, int flags,
PackageUserState state, int userId) {
if (p == null) return null;
- if (!checkUseInstalledOrBlocked(flags, state)) {
+ if (!checkUseInstalledOrHidden(flags, state)) {
return null;
}
if (!copyNeeded(flags, p, state, null, userId)
@@ -4673,7 +4673,7 @@ public class PackageParser {
public static final ActivityInfo generateActivityInfo(Activity a, int flags,
PackageUserState state, int userId) {
if (a == null) return null;
- if (!checkUseInstalledOrBlocked(flags, state)) {
+ if (!checkUseInstalledOrHidden(flags, state)) {
return null;
}
if (!copyNeeded(flags, a.owner, state, a.metaData, userId)) {
@@ -4714,7 +4714,7 @@ public class PackageParser {
public static final ServiceInfo generateServiceInfo(Service s, int flags,
PackageUserState state, int userId) {
if (s == null) return null;
- if (!checkUseInstalledOrBlocked(flags, state)) {
+ if (!checkUseInstalledOrHidden(flags, state)) {
return null;
}
if (!copyNeeded(flags, s.owner, state, s.metaData, userId)) {
@@ -4763,7 +4763,7 @@ public class PackageParser {
public static final ProviderInfo generateProviderInfo(Provider p, int flags,
PackageUserState state, int userId) {
if (p == null) return null;
- if (!checkUseInstalledOrBlocked(flags, state)) {
+ if (!checkUseInstalledOrHidden(flags, state)) {
return null;
}
if (!copyNeeded(flags, p.owner, state, p.metaData, userId)
diff --git a/core/java/android/content/pm/PackageUserState.java b/core/java/android/content/pm/PackageUserState.java
index f0d4cb1cd901..4dcad6f16195 100644
--- a/core/java/android/content/pm/PackageUserState.java
+++ b/core/java/android/content/pm/PackageUserState.java
@@ -28,7 +28,7 @@ public class PackageUserState {
public boolean stopped;
public boolean notLaunched;
public boolean installed;
- public boolean blocked; // Is the app restricted by owner / admin
+ public boolean hidden; // Is the app restricted by owner / admin
public int enabled;
public boolean blockUninstall;
@@ -39,7 +39,7 @@ public class PackageUserState {
public PackageUserState() {
installed = true;
- blocked = false;
+ hidden = false;
enabled = COMPONENT_ENABLED_STATE_DEFAULT;
}
@@ -48,7 +48,7 @@ public class PackageUserState {
stopped = o.stopped;
notLaunched = o.notLaunched;
enabled = o.enabled;
- blocked = o.blocked;
+ hidden = o.hidden;
lastDisableAppCaller = o.lastDisableAppCaller;
disabledComponents = o.disabledComponents != null
? new HashSet<String>(o.disabledComponents) : null;
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 77fd409739da..6de8a8b77187 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -7882,7 +7882,7 @@ public class PackageManagerService extends IPackageManager.Stub {
}
@Override
- public boolean setApplicationBlockedSettingAsUser(String packageName, boolean blocked,
+ public boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden,
int userId) {
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.MANAGE_USERS, null);
PackageSetting pkgSetting;
@@ -7890,11 +7890,11 @@ public class PackageManagerService extends IPackageManager.Stub {
if (UserHandle.getUserId(uid) != userId) {
mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.INTERACT_ACROSS_USERS_FULL,
- "setApplicationBlockedSetting for user " + userId);
+ "setApplicationHiddenSetting for user " + userId);
}
- if (blocked && isPackageDeviceAdmin(packageName, userId)) {
- Slog.w(TAG, "Not blocking package " + packageName + ": has active device admin");
+ if (hidden && isPackageDeviceAdmin(packageName, userId)) {
+ Slog.w(TAG, "Not hiding package " + packageName + ": has active device admin");
return false;
}
@@ -7908,10 +7908,10 @@ public class PackageManagerService extends IPackageManager.Stub {
if (pkgSetting == null) {
return false;
}
- if (pkgSetting.getBlocked(userId) != blocked) {
- pkgSetting.setBlocked(blocked, userId);
+ if (pkgSetting.getHidden(userId) != hidden) {
+ pkgSetting.setHidden(hidden, userId);
mSettings.writePackageRestrictionsLPr(userId);
- if (blocked) {
+ if (hidden) {
sendRemoved = true;
} else {
sendAdded = true;
@@ -7924,8 +7924,8 @@ public class PackageManagerService extends IPackageManager.Stub {
}
if (sendRemoved) {
killApplication(packageName, UserHandle.getUid(userId, pkgSetting.appId),
- "blocking pkg");
- sendPackageBlockedForUser(packageName, pkgSetting, userId);
+ "hiding pkg");
+ sendApplicationHiddenForUser(packageName, pkgSetting, userId);
}
} finally {
Binder.restoreCallingIdentity(callingId);
@@ -7933,7 +7933,7 @@ public class PackageManagerService extends IPackageManager.Stub {
return false;
}
- private void sendPackageBlockedForUser(String packageName, PackageSetting pkgSetting,
+ private void sendApplicationHiddenForUser(String packageName, PackageSetting pkgSetting,
int userId) {
final PackageRemovedInfo info = new PackageRemovedInfo();
info.removedPackage = packageName;
@@ -7944,13 +7944,13 @@ public class PackageManagerService extends IPackageManager.Stub {
/**
* Returns true if application is not found or there was an error. Otherwise it returns
- * the blocked state of the package for the given user.
+ * the hidden state of the package for the given user.
*/
@Override
- public boolean getApplicationBlockedSettingAsUser(String packageName, int userId) {
+ public boolean getApplicationHiddenSettingAsUser(String packageName, int userId) {
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.MANAGE_USERS, null);
enforceCrossUserPermission(Binder.getCallingUid(), userId, true,
- "getApplicationBlocked for user " + userId);
+ "getApplicationHidden for user " + userId);
PackageSetting pkgSetting;
long callingId = Binder.clearCallingIdentity();
try {
@@ -7960,7 +7960,7 @@ public class PackageManagerService extends IPackageManager.Stub {
if (pkgSetting == null) {
return true;
}
- return pkgSetting.getBlocked(userId);
+ return pkgSetting.getHidden(userId);
}
} finally {
Binder.restoreCallingIdentity(callingId);
@@ -7994,7 +7994,7 @@ public class PackageManagerService extends IPackageManager.Stub {
}
if (!pkgSetting.getInstalled(userId)) {
pkgSetting.setInstalled(true, userId);
- pkgSetting.setBlocked(false, userId);
+ pkgSetting.setHidden(false, userId);
mSettings.writePackageRestrictionsLPr(userId);
sendAdded = true;
}
@@ -10593,19 +10593,19 @@ public class PackageManagerService extends IPackageManager.Stub {
return;
}
- boolean blocked = false;
+ boolean uninstallBlocked = false;
if ((flags & PackageManager.DELETE_ALL_USERS) != 0) {
int[] users = sUserManager.getUserIds();
for (int i = 0; i < users.length; ++i) {
if (getBlockUninstallForUser(packageName, users[i])) {
- blocked = true;
+ uninstallBlocked = true;
break;
}
}
} else {
- blocked = getBlockUninstallForUser(packageName, userId);
+ uninstallBlocked = getBlockUninstallForUser(packageName, userId);
}
- if (blocked) {
+ if (uninstallBlocked) {
try {
observer.packageDeleted(packageName, PackageManager.DELETE_FAILED_OWNER_BLOCKED);
} catch (RemoteException re) {
@@ -10613,7 +10613,9 @@ public class PackageManagerService extends IPackageManager.Stub {
return;
}
- if (DEBUG_REMOVE) Slog.d(TAG, "deletePackageAsUser: pkg=" + packageName + " user=" + userId);
+ if (DEBUG_REMOVE) {
+ Slog.d(TAG, "deletePackageAsUser: pkg=" + packageName + " user=" + userId);
+ }
// Queue up an async operation since the package deletion may take a little while.
mHandler.post(new Runnable() {
public void run() {
@@ -11032,7 +11034,7 @@ public class PackageManagerService extends IPackageManager.Stub {
false, //installed
true, //stopped
true, //notLaunched
- false, //blocked
+ false, //hidden
null, null, null,
false // blockUninstall
);
diff --git a/services/core/java/com/android/server/pm/PackageSettingBase.java b/services/core/java/com/android/server/pm/PackageSettingBase.java
index e164f5f7a7cd..e29332cd249d 100644
--- a/services/core/java/com/android/server/pm/PackageSettingBase.java
+++ b/services/core/java/com/android/server/pm/PackageSettingBase.java
@@ -281,12 +281,12 @@ class PackageSettingBase extends GrantedPermissions {
modifyUserState(userId).notLaunched = stop;
}
- boolean getBlocked(int userId) {
- return readUserState(userId).blocked;
+ boolean getHidden(int userId) {
+ return readUserState(userId).hidden;
}
- void setBlocked(boolean blocked, int userId) {
- modifyUserState(userId).blocked = blocked;
+ void setHidden(boolean hidden, int userId) {
+ modifyUserState(userId).hidden = hidden;
}
boolean getBlockUninstall(int userId) {
@@ -298,7 +298,7 @@ class PackageSettingBase extends GrantedPermissions {
}
void setUserState(int userId, int enabled, boolean installed, boolean stopped,
- boolean notLaunched, boolean blocked,
+ boolean notLaunched, boolean hidden,
String lastDisableAppCaller, HashSet<String> enabledComponents,
HashSet<String> disabledComponents, boolean blockUninstall) {
PackageUserState state = modifyUserState(userId);
@@ -306,7 +306,7 @@ class PackageSettingBase extends GrantedPermissions {
state.installed = installed;
state.stopped = stopped;
state.notLaunched = notLaunched;
- state.blocked = blocked;
+ state.hidden = hidden;
state.lastDisableAppCaller = lastDisableAppCaller;
state.enabledComponents = enabledComponents;
state.disabledComponents = disabledComponents;
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index e16894e25f48..d1ea3e19e9d6 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -153,7 +153,10 @@ final class Settings {
private static final String ATTR_ENABLED = "enabled";
private static final String ATTR_ENABLED_CALLER = "enabledCaller";
private static final String ATTR_STOPPED = "stopped";
+ // Legacy, here for reading older versions of the package-restrictions.
private static final String ATTR_BLOCKED = "blocked";
+ // New name for the above attribute.
+ private static final String ATTR_HIDDEN = "hidden";
private static final String ATTR_INSTALLED = "inst";
private static final String ATTR_BLOCK_UNINSTALL = "blockUninstall";
@@ -606,7 +609,7 @@ final class Settings {
installed,
true, // stopped,
true, // notLaunched
- false, // blocked
+ false, // hidden
null, null, null,
false // blockUninstall
);
@@ -1177,7 +1180,7 @@ final class Settings {
true, // installed
false, // stopped
false, // notLaunched
- false, // blocked
+ false, // hidden
null, null, null,
false // blockUninstall
);
@@ -1233,9 +1236,14 @@ final class Settings {
final String stoppedStr = parser.getAttributeValue(null, ATTR_STOPPED);
final boolean stopped = stoppedStr == null
? false : Boolean.parseBoolean(stoppedStr);
+ // For backwards compatibility with the previous name of "blocked", which
+ // now means hidden, read the old attribute as well.
final String blockedStr = parser.getAttributeValue(null, ATTR_BLOCKED);
- final boolean blocked = blockedStr == null
+ boolean hidden = blockedStr == null
? false : Boolean.parseBoolean(blockedStr);
+ final String hiddenStr = parser.getAttributeValue(null, ATTR_HIDDEN);
+ hidden = hiddenStr == null
+ ? hidden : Boolean.parseBoolean(hiddenStr);
final String notLaunchedStr = parser.getAttributeValue(null, ATTR_NOT_LAUNCHED);
final boolean notLaunched = stoppedStr == null
? false : Boolean.parseBoolean(notLaunchedStr);
@@ -1263,7 +1271,7 @@ final class Settings {
}
}
- ps.setUserState(userId, enabled, installed, stopped, notLaunched, blocked,
+ ps.setUserState(userId, enabled, installed, stopped, notLaunched, hidden,
enabledCaller, enabledComponents, disabledComponents, blockUninstall);
} else if (tagName.equals("preferred-activities")) {
readPreferredActivitiesLPw(parser, userId);
@@ -1432,7 +1440,7 @@ final class Settings {
PackageUserState ustate = pkg.readUserState(userId);
if (ustate.stopped || ustate.notLaunched || !ustate.installed
|| ustate.enabled != COMPONENT_ENABLED_STATE_DEFAULT
- || ustate.blocked
+ || ustate.hidden
|| (ustate.enabledComponents != null
&& ustate.enabledComponents.size() > 0)
|| (ustate.disabledComponents != null
@@ -1451,8 +1459,8 @@ final class Settings {
if (ustate.notLaunched) {
serializer.attribute(null, ATTR_NOT_LAUNCHED, "true");
}
- if (ustate.blocked) {
- serializer.attribute(null, ATTR_BLOCKED, "true");
+ if (ustate.hidden) {
+ serializer.attribute(null, ATTR_HIDDEN, "true");
}
if (ustate.blockUninstall) {
serializer.attribute(null, ATTR_BLOCK_UNINSTALL, "true");
@@ -3443,7 +3451,7 @@ final class Settings {
pw.print(user.id);
pw.print(",");
pw.print(ps.getInstalled(user.id) ? "I" : "i");
- pw.print(ps.getBlocked(user.id) ? "B" : "b");
+ pw.print(ps.getHidden(user.id) ? "B" : "b");
pw.print(ps.getStopped(user.id) ? "S" : "s");
pw.print(ps.getNotLaunched(user.id) ? "l" : "L");
pw.print(",");
@@ -3583,8 +3591,8 @@ final class Settings {
pw.print(prefix); pw.print(" User "); pw.print(user.id); pw.print(": ");
pw.print(" installed=");
pw.print(ps.getInstalled(user.id));
- pw.print(" blocked=");
- pw.print(ps.getBlocked(user.id));
+ pw.print(" hidden=");
+ pw.print(ps.getHidden(user.id));
pw.print(" stopped=");
pw.print(ps.getStopped(user.id));
pw.print(" notLaunched=");
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index b4cc25238803..33ecc4dc3db8 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -1428,7 +1428,7 @@ public class UserManagerService extends IUserManager.Stub {
removeRestrictionsForUser(userHandle, true);
}
- private void removeRestrictionsForUser(final int userHandle, boolean unblockApps) {
+ private void removeRestrictionsForUser(final int userHandle, boolean unhideApps) {
synchronized (mPackagesLock) {
// Remove all user restrictions
setUserRestrictions(new Bundle(), userHandle);
@@ -1437,12 +1437,12 @@ public class UserManagerService extends IUserManager.Stub {
// Remove any app restrictions
cleanAppRestrictions(userHandle);
}
- if (unblockApps) {
- unblockAllAppsForUser(userHandle);
+ if (unhideApps) {
+ unhideAllInstalledAppsForUser(userHandle);
}
}
- private void unblockAllAppsForUser(final int userHandle) {
+ private void unhideAllInstalledAppsForUser(final int userHandle) {
mHandler.post(new Runnable() {
@Override
public void run() {
@@ -1453,8 +1453,8 @@ public class UserManagerService extends IUserManager.Stub {
try {
for (ApplicationInfo appInfo : apps) {
if ((appInfo.flags & ApplicationInfo.FLAG_INSTALLED) != 0
- && (appInfo.flags & ApplicationInfo.FLAG_BLOCKED) != 0) {
- mPm.setApplicationBlockedSettingAsUser(appInfo.packageName, false,
+ && (appInfo.flags & ApplicationInfo.FLAG_HIDDEN) != 0) {
+ mPm.setApplicationHiddenSettingAsUser(appInfo.packageName, false,
userHandle);
}
}
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 12ed920fe32b..c218d3826b8c 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -3708,8 +3708,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
}
@Override
- public boolean setApplicationBlocked(ComponentName who, String packageName,
- boolean blocked) {
+ public boolean setApplicationHidden(ComponentName who, String packageName,
+ boolean hidden) {
int callingUserId = UserHandle.getCallingUserId();
synchronized (this) {
if (who == null) {
@@ -3720,10 +3720,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
long id = Binder.clearCallingIdentity();
try {
IPackageManager pm = AppGlobals.getPackageManager();
- return pm.setApplicationBlockedSettingAsUser(packageName, blocked, callingUserId);
+ return pm.setApplicationHiddenSettingAsUser(packageName, hidden, callingUserId);
} catch (RemoteException re) {
// shouldn't happen
- Slog.e(LOG_TAG, "Failed to setApplicationBlockedSetting", re);
+ Slog.e(LOG_TAG, "Failed to setApplicationHiddenSetting", re);
} finally {
restoreCallingIdentity(id);
}
@@ -3732,7 +3732,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
}
@Override
- public int setApplicationsBlocked(ComponentName who, Intent intent, boolean blocked) {
+ public int setApplicationsHidden(ComponentName who, Intent intent, boolean hidden) {
int callingUserId = UserHandle.getCallingUserId();
synchronized (this) {
if (who == null) {
@@ -3750,20 +3750,20 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
callingUserId);
if (DBG) Slog.d(LOG_TAG, "Enabling activities: " + activitiesToEnable);
- int numberOfAppsUnblocked = 0;
+ int numberOfAppsUnhidden = 0;
if (activitiesToEnable != null) {
for (ResolveInfo info : activitiesToEnable) {
if (info.activityInfo != null) {
- numberOfAppsUnblocked++;
- pm.setApplicationBlockedSettingAsUser(info.activityInfo.packageName,
- blocked, callingUserId);
+ numberOfAppsUnhidden++;
+ pm.setApplicationHiddenSettingAsUser(info.activityInfo.packageName,
+ hidden, callingUserId);
}
}
}
- return numberOfAppsUnblocked;
+ return numberOfAppsUnhidden;
} catch (RemoteException re) {
// shouldn't happen
- Slog.e(LOG_TAG, "Failed to setApplicationsBlockedSettingsWithIntent", re);
+ Slog.e(LOG_TAG, "Failed to setApplicationsHiddenSettingsWithIntent", re);
} finally {
restoreCallingIdentity(id);
}
@@ -3772,7 +3772,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
}
@Override
- public boolean isApplicationBlocked(ComponentName who, String packageName) {
+ public boolean isApplicationHidden(ComponentName who, String packageName) {
int callingUserId = UserHandle.getCallingUserId();
synchronized (this) {
if (who == null) {
@@ -3783,10 +3783,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
long id = Binder.clearCallingIdentity();
try {
IPackageManager pm = AppGlobals.getPackageManager();
- return pm.getApplicationBlockedSettingAsUser(packageName, callingUserId);
+ return pm.getApplicationHiddenSettingAsUser(packageName, callingUserId);
} catch (RemoteException re) {
// shouldn't happen
- Slog.e(LOG_TAG, "Failed to getApplicationBlockedSettingAsUser", re);
+ Slog.e(LOG_TAG, "Failed to getApplicationHiddenSettingAsUser", re);
} finally {
restoreCallingIdentity(id);
}
diff --git a/test-runner/src/android/test/mock/MockPackageManager.java b/test-runner/src/android/test/mock/MockPackageManager.java
index e38848098c89..36c90f286d8c 100644
--- a/test-runner/src/android/test/mock/MockPackageManager.java
+++ b/test-runner/src/android/test/mock/MockPackageManager.java
@@ -661,7 +661,7 @@ public class MockPackageManager extends PackageManager {
* @hide
*/
@Override
- public boolean setApplicationBlockedSettingAsUser(String packageName, boolean blocked,
+ public boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden,
UserHandle user) {
return false;
}
@@ -670,7 +670,7 @@ public class MockPackageManager extends PackageManager {
* @hide
*/
@Override
- public boolean getApplicationBlockedSettingAsUser(String packageName, UserHandle user) {
+ public boolean getApplicationHiddenSettingAsUser(String packageName, UserHandle user) {
return false;
}