summaryrefslogtreecommitdiffstats
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)
downloadframeworks_base-e5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7.zip
frameworks_base-e5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7.tar.gz
frameworks_base-e5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7.tar.bz2
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 001d9b9..d8e8f4e 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 d6c17ae..faf5622 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 6a51371..1cb0fd4 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 5f2262b..efeded5 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 9b1979f..5fc8c5f 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 95bd480..482ad6e 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 eb46cf0..5e55ba7 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 b4c0219..8b6ae41 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 833dc21..9866200 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 f0d4cb1..4dcad6f 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 77fd409..6de8a8b 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 e164f5f..e29332c 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 e16894e..d1ea3e1 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 b4cc252..33ecc4d 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 12ed920..c218d38 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 e388480..36c90f2 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;
}