summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/content/pm/PermissionInfo.java7
-rw-r--r--core/res/AndroidManifest.xml13
-rw-r--r--core/res/res/values/attrs_manifest.xml2
-rw-r--r--services/core/java/com/android/server/pm/Settings.java6
4 files changed, 19 insertions, 9 deletions
diff --git a/core/java/android/content/pm/PermissionInfo.java b/core/java/android/content/pm/PermissionInfo.java
index d514513..9da2ba9 100644
--- a/core/java/android/content/pm/PermissionInfo.java
+++ b/core/java/android/content/pm/PermissionInfo.java
@@ -145,6 +145,13 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
public static final int FLAG_COSTS_MONEY = 1<<0;
/**
+ * Flag for {@link #flags}, corresponding to <code>hidden</code>
+ * value of {@link android.R.attr#permissionFlags}.
+ * @hide
+ */
+ public static final int FLAG_HIDDEN = 1<<1;
+
+ /**
* Flag for {@link #flags}, indicating that this permission has been
* installed into the system's globally defined permissions.
*/
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 425f39f..53b553e8 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -599,7 +599,6 @@
-->
<permission android:name="android.permission.ACCESS_IMS_CALL_SERVICE"
android:permissionGroup="android.permission-group.PHONE"
- android:permissionFlags="hide"
android:label="@string/permlab_accessImsCallService"
android:description="@string/permdesc_accessImsCallService"
android:protectionLevel="signature|system" />
@@ -760,32 +759,32 @@
<!-- @hide We need to keep this around for backwards compatibility -->
<permission android:name="android.permission.READ_PROFILE"
android:protectionLevel="normal"
- android:permissionFlags="hide"/>
+ android:permissionFlags="hidden"/>
<!-- @hide We need to keep this around for backwards compatibility -->
<permission android:name="android.permission.WRITE_PROFILE"
android:protectionLevel="normal"
- android:permissionFlags="hide"/>
+ android:permissionFlags="hidden"/>
<!-- @hide We need to keep this around for backwards compatibility -->
<permission android:name="android.permission.READ_SOCIAL_STREAM"
android:protectionLevel="normal"
- android:permissionFlags="hide"/>
+ android:permissionFlags="hidden"/>
<!-- @hide We need to keep this around for backwards compatibility -->
<permission android:name="android.permission.WRITE_SOCIAL_STREAM"
android:protectionLevel="normal"
- android:permissionFlags="hide"/>
+ android:permissionFlags="hidden"/>
<!-- @hide We need to keep this around for backwards compatibility -->
<permission android:name="android.permission.READ_USER_DICTIONARY"
android:protectionLevel="normal"
- android:permissionFlags="hide"/>
+ android:permissionFlags="hidden"/>
<!-- @hide We need to keep this around for backwards compatibility -->
<permission android:name="android.permission.WRITE_USER_DICTIONARY"
android:protectionLevel="normal"
- android:permissionFlags="hide"/>
+ android:permissionFlags="hidden"/>
<!-- ====================================================================== -->
<!-- INSTALL PERMISSIONS -->
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index de16f20..1a45b3a 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -250,7 +250,7 @@
<flag name="costsMoney" value="0x0001" />
<!-- Additional flag from base permission type: this permission is hidden
and should not show in the UI. -->
- <flag name="hide" value="0x2" />
+ <flag name="hidden" value="0x2" />
</attr>
<!-- Specified the name of a group that this permission is associated
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index 82ffa47..00d0fe1 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -4150,6 +4150,9 @@ final class Settings {
if ((perm.info.flags&PermissionInfo.FLAG_COSTS_MONEY) != 0) {
pw.print(", COSTS_MONEY");
}
+ if ((perm.info.flags&PermissionInfo.FLAG_HIDDEN) != 0) {
+ pw.print(", COSTS_HIDDEN");
+ }
if ((perm.info.flags&PermissionInfo.FLAG_INSTALLED) != 0) {
pw.print(", INSTALLED");
}
@@ -4306,7 +4309,8 @@ final class Settings {
pw.println(PermissionInfo.protectionToString(p.protectionLevel));
if (p.perm != null) {
pw.print(" perm="); pw.println(p.perm);
- if (p.perm.info.flags != PermissionInfo.FLAG_INSTALLED) {
+ if ((p.perm.info.flags & PermissionInfo.FLAG_INSTALLED) == 0
+ || (p.perm.info.flags & PermissionInfo.FLAG_HIDDEN) != 0) {
pw.print(" flags=0x"); pw.println(Integer.toHexString(p.perm.info.flags));
}
}