summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt2
-rw-r--r--core/java/android/content/pm/PackageParser.java2
-rwxr-xr-xcore/java/android/widget/AppSecurityPermissions.java64
-rw-r--r--core/res/AndroidManifest.xml119
-rw-r--r--core/res/res/drawable-hdpi/perm_group_accounts.pngbin0 -> 1745 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_affects_battery.pngbin0 -> 1241 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_app_info.pngbin0 -> 1714 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_audio_settings.pngbin0 -> 2008 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_bluetooth.pngbin0 -> 1579 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_bookmarks.pngbin0 -> 2085 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_calendar.pngbin0 -> 1419 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_camera.pngbin0 -> 1781 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_device_alarms.pngbin0 -> 2021 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_display.pngbin0 -> 1218 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_location.pngbin0 -> 1574 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_messages.pngbin0 -> 1634 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_microphone.pngbin0 -> 1600 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_network.pngbin0 -> 1826 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_personal_info.pngbin0 -> 1603 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_phone_calls.pngbin0 -> 1691 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_screenlock.pngbin0 -> 1383 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_shortrange_network.pngbin0 -> 1319 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_social_info.pngbin0 -> 2075 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_status_bar.pngbin0 -> 1272 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_storage.pngbin0 -> 1644 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_sync_settings.pngbin0 -> 1938 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_system_clock.pngbin0 -> 1794 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_system_tools.pngbin0 -> 1535 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_user_dictionary.pngbin0 -> 1386 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_user_dictionary_write.pngbin0 -> 1853 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_voicemail.pngbin0 -> 1655 bytes
-rw-r--r--core/res/res/drawable-hdpi/perm_group_wallpaper.pngbin0 -> 1431 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_accounts.pngbin0 -> 1471 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_affects_battery.pngbin0 -> 1116 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_app_info.pngbin0 -> 1426 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_audio_settings.pngbin0 -> 1582 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_bluetooth.pngbin0 -> 1355 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_bookmarks.pngbin0 -> 1609 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_calendar.pngbin0 -> 1404 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_camera.pngbin0 -> 1465 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_device_alarms.pngbin0 -> 1546 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_display.pngbin0 -> 1203 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_location.pngbin0 -> 1360 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_messages.pngbin0 -> 1418 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_microphone.pngbin0 -> 1319 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_network.pngbin0 -> 1434 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_personal_info.pngbin0 -> 1359 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_phone_calls.pngbin0 -> 1429 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_screenlock.pngbin0 -> 1272 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_shortrange_network.pngbin0 -> 1171 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_social_info.pngbin0 -> 1590 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_status_bar.pngbin0 -> 1160 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_storage.pngbin0 -> 1338 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_sync_settings.pngbin0 -> 1522 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_system_clock.pngbin0 -> 1408 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_system_tools.pngbin0 -> 1339 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_user_dictionary.pngbin0 -> 1253 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_user_dictionary_write.pngbin0 -> 1530 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_voicemail.pngbin0 -> 1326 bytes
-rw-r--r--core/res/res/drawable-mdpi/perm_group_wallpaper.pngbin0 -> 1240 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_accounts.pngbin0 -> 2030 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_affects_battery.pngbin0 -> 1304 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_app_info.pngbin0 -> 1839 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_audio_settings.pngbin0 -> 2489 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_bluetooth.pngbin0 -> 1948 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_bookmarks.pngbin0 -> 2657 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_calendar.pngbin0 -> 1680 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_camera.pngbin0 -> 2050 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_device_alarms.pngbin0 -> 2626 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_display.pngbin0 -> 1425 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_location.pngbin0 -> 1911 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_messages.pngbin0 -> 1927 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_microphone.pngbin0 -> 1866 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_network.pngbin0 -> 2190 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_personal_info.pngbin0 -> 1910 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_phone_calls.pngbin0 -> 2021 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_screenlock.pngbin0 -> 1561 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_shortrange_network.pngbin0 -> 1498 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_social_info.pngbin0 -> 2541 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_status_bar.pngbin0 -> 1407 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_storage.pngbin0 -> 1924 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_sync_settings.pngbin0 -> 2338 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_system_clock.pngbin0 -> 2284 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_system_tools.pngbin0 -> 1641 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_user_dictionary.pngbin0 -> 1452 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_user_dictionary_write.pngbin0 -> 2166 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_voicemail.pngbin0 -> 1971 bytes
-rw-r--r--core/res/res/drawable-xhdpi/perm_group_wallpaper.pngbin0 -> 1544 bytes
-rw-r--r--core/res/res/layout/app_permission_item.xml1
-rw-r--r--core/res/res/values/public.xml5
-rwxr-xr-xcore/res/res/values/strings.xml32
91 files changed, 157 insertions, 68 deletions
diff --git a/api/current.txt b/api/current.txt
index 133a280427fd..300a69005065 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -144,6 +144,7 @@ package android {
field public static final java.lang.String AFFECTS_BATTERY = "android.permission-group.AFFECTS_BATTERY";
field public static final java.lang.String APP_INFO = "android.permission-group.APP_INFO";
field public static final java.lang.String AUDIO_SETTINGS = "android.permission-group.AUDIO_SETTINGS";
+ field public static final java.lang.String BLUETOOTH_NETWORK = "android.permission-group.BLUETOOTH_NETWORK";
field public static final java.lang.String BOOKMARKS = "android.permission-group.BOOKMARKS";
field public static final java.lang.String CALENDAR = "android.permission-group.CALENDAR";
field public static final java.lang.String CAMERA = "android.permission-group.CAMERA";
@@ -169,6 +170,7 @@ package android {
field public static final java.lang.String USER_DICTIONARY = "android.permission-group.USER_DICTIONARY";
field public static final java.lang.String VOICEMAIL = "android.permission-group.VOICEMAIL";
field public static final java.lang.String WALLPAPER = "android.permission-group.WALLPAPER";
+ field public static final java.lang.String WRITE_USER_DICTIONARY = "android.permission-group.WRITE_USER_DICTIONARY";
}
public final class R {
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index 98b40eb54883..ad52e13873b0 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -1458,7 +1458,7 @@ public class PackageParser {
com.android.internal.R.styleable.AndroidManifestPermissionGroup_permissionGroupFlags, 0);
perm.info.priority = sa.getInt(
com.android.internal.R.styleable.AndroidManifestPermissionGroup_priority, 0);
- if (perm.info.priority > 0 && (flags&PARSE_IS_SYSTEM) != 0) {
+ if (perm.info.priority > 0 && (flags&PARSE_IS_SYSTEM) == 0) {
perm.info.priority = 0;
}
diff --git a/core/java/android/widget/AppSecurityPermissions.java b/core/java/android/widget/AppSecurityPermissions.java
index 5d8bdbbc15e4..64f6c07f87a6 100755
--- a/core/java/android/widget/AppSecurityPermissions.java
+++ b/core/java/android/widget/AppSecurityPermissions.java
@@ -98,6 +98,20 @@ public class AppSecurityPermissions {
MyPermissionGroupInfo(PermissionGroupInfo info) {
super(info);
}
+
+ public Drawable loadGroupIcon(PackageManager pm) {
+ if (icon != 0) {
+ return loadIcon(pm);
+ } else {
+ ApplicationInfo appInfo;
+ try {
+ appInfo = pm.getApplicationInfo(packageName, 0);
+ return appInfo.loadIcon(pm);
+ } catch (NameNotFoundException e) {
+ }
+ }
+ return null;
+ }
}
static class MyPermissionInfo extends PermissionInfo {
@@ -155,16 +169,7 @@ public class AppSecurityPermissions {
PackageManager pm = getContext().getPackageManager();
Drawable icon = null;
if (first) {
- if (grp.icon != 0) {
- icon = grp.loadIcon(pm);
- } else {
- ApplicationInfo appInfo;
- try {
- appInfo = pm.getApplicationInfo(grp.packageName, 0);
- icon = appInfo.loadIcon(pm);
- } catch (NameNotFoundException e) {
- }
- }
+ icon = grp.loadGroupIcon(pm);
}
CharSequence label = perm.mLabel;
if (perm.mNew && newPermPrefix != null) {
@@ -191,10 +196,28 @@ public class AppSecurityPermissions {
if (mDialog != null) {
mDialog.dismiss();
}
+ PackageManager pm = getContext().getPackageManager();
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setTitle(mGroup.mLabel);
- builder.setMessage(mPerm.loadDescription(getContext().getPackageManager()));
+ if (mPerm.descriptionRes != 0) {
+ builder.setMessage(mPerm.loadDescription(pm));
+ } else {
+ CharSequence appName;
+ try {
+ ApplicationInfo app = pm.getApplicationInfo(mPerm.packageName, 0);
+ appName = app.loadLabel(pm);
+ } catch (NameNotFoundException e) {
+ appName = mPerm.packageName;
+ }
+ StringBuilder sbuilder = new StringBuilder(128);
+ sbuilder.append(getContext().getString(
+ R.string.perms_description_app, appName));
+ sbuilder.append("\n\n");
+ sbuilder.append(mPerm.name);
+ builder.setMessage(sbuilder.toString());
+ }
builder.setCancelable(true);
+ builder.setIcon(mGroup.loadGroupIcon(pm));
mDialog = builder.show();
mDialog.setCanceledOnTouchOutside(true);
}
@@ -611,9 +634,26 @@ public class AppSecurityPermissions {
}
for (MyPermissionGroupInfo pgrp : mPermGroups.values()) {
- pgrp.mLabel = pgrp.loadLabel(mPm);
+ if (pgrp.labelRes != 0 || pgrp.nonLocalizedLabel != null) {
+ pgrp.mLabel = pgrp.loadLabel(mPm);
+ } else {
+ ApplicationInfo app;
+ try {
+ app = mPm.getApplicationInfo(pgrp.packageName, 0);
+ pgrp.mLabel = app.loadLabel(mPm);
+ } catch (NameNotFoundException e) {
+ pgrp.mLabel = pgrp.loadLabel(mPm);
+ }
+ }
mPermGroupsList.add(pgrp);
}
Collections.sort(mPermGroupsList, mPermGroupComparator);
+ if (false) {
+ for (MyPermissionGroupInfo grp : mPermGroupsList) {
+ Log.i("foo", "Group " + grp.name + " personal="
+ + ((grp.flags&PermissionGroupInfo.FLAG_PERSONAL_INFO) != 0)
+ + " priority=" + grp.priority);
+ }
+ }
}
}
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index bd1f574b112a..e16e49a1d08f 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -155,9 +155,10 @@
receiving or reading an MMS. -->
<permission-group android:name="android.permission-group.MESSAGES"
android:label="@string/permgrouplab_messages"
+ android:icon="@drawable/perm_group_messages"
android:description="@string/permgroupdesc_messages"
android:permissionGroupFlags="personalInfo"
- android:priority="2"/>
+ android:priority="360"/>
<!-- Allows an application to send SMS messages. -->
<permission android:name="android.permission.SEND_SMS"
@@ -250,9 +251,10 @@
<permission-group android:name="android.permission-group.SOCIAL_INFO"
android:label="@string/permgrouplab_socialInfo"
+ android:icon="@drawable/perm_group_social_info"
android:description="@string/permgroupdesc_socialInfo"
android:permissionGroupFlags="personalInfo"
- android:priority="6" />
+ android:priority="320" />
<!-- Allows an application to read the user's contacts data. -->
<permission android:name="android.permission.READ_CONTACTS"
@@ -310,9 +312,10 @@
distinct permissions). -->
<permission-group android:name="android.permission-group.PERSONAL_INFO"
android:label="@string/permgrouplab_personalInfo"
+ android:icon="@drawable/perm_group_personal_info"
android:description="@string/permgroupdesc_personalInfo"
android:permissionGroupFlags="personalInfo"
- android:priority="7" />
+ android:priority="310" />
<!-- Allows an application to read the user's personal profile data. -->
<permission android:name="android.permission.READ_PROFILE"
@@ -338,9 +341,10 @@
calendar to create / view events.-->
<permission-group android:name="android.permission-group.CALENDAR"
android:label="@string/permgrouplab_calendar"
+ android:icon="@drawable/perm_group_calendar"
android:description="@string/permgroupdesc_calendar"
android:permissionGroupFlags="personalInfo"
- android:priority="9" />
+ android:priority="290" />
<!-- Allows an application to read the user's calendar data. -->
<permission android:name="android.permission.READ_CALENDAR"
@@ -366,9 +370,10 @@
calendar to create / view events.-->
<permission-group android:name="android.permission-group.USER_DICTIONARY"
android:label="@string/permgrouplab_dictionary"
+ android:icon="@drawable/perm_group_user_dictionary"
android:description="@string/permgroupdesc_dictionary"
android:permissionGroupFlags="personalInfo"
- android:priority="20" />
+ android:priority="170" />
<!-- Allows an application to read the user dictionary. This should
really only be required by an IME, or a dictionary editor like
@@ -379,9 +384,18 @@
android:label="@string/permlab_readDictionary"
android:description="@string/permdesc_readDictionary" />
+ <!-- Used for permissions that provide access to the user
+ calendar to create / view events.-->
+ <permission-group android:name="android.permission-group.WRITE_USER_DICTIONARY"
+ android:label="@string/permgrouplab_writeDictionary"
+ android:icon="@drawable/perm_group_user_dictionary_write"
+ android:description="@string/permgroupdesc_writeDictionary"
+ android:permissionGroupFlags="personalInfo"
+ android:priority="160" />
+
<!-- Allows an application to write to the user dictionary. -->
<permission android:name="android.permission.WRITE_USER_DICTIONARY"
- android:permissionGroup="android.permission-group.USER_DICTIONARY"
+ android:permissionGroup="android.permission-group.WRITE_USER_DICTIONARY"
android:protectionLevel="normal"
android:label="@string/permlab_writeDictionary"
android:description="@string/permdesc_writeDictionary" />
@@ -395,9 +409,10 @@
bookmarks and browser history.-->
<permission-group android:name="android.permission-group.BOOKMARKS"
android:label="@string/permgrouplab_bookmarks"
+ android:icon="@drawable/perm_group_bookmarks"
android:description="@string/permgroupdesc_bookmarks"
android:permissionGroupFlags="personalInfo"
- android:priority="8" />
+ android:priority="300" />
<!-- Allows an application to read (but not write) the user's
browsing history and bookmarks. -->
@@ -423,9 +438,10 @@
<!-- Used for permissions that provide access to the user voicemail box. -->
<permission-group android:name="android.permission-group.DEVICE_ALARMS"
android:label="@string/permgrouplab_deviceAlarms"
+ android:icon="@drawable/perm_group_device_alarms"
android:description="@string/permgroupdesc_deviceAlarms"
android:permissionGroupFlags="personalInfo"
- android:priority="16"/>
+ android:priority="210" />
<!-- Allows an application to broadcast an Intent to set an alarm for the
user. -->
@@ -443,9 +459,10 @@
<!-- Used for permissions that provide access to the user voicemail box. -->
<permission-group android:name="android.permission-group.VOICEMAIL"
android:label="@string/permgrouplab_voicemail"
+ android:icon="@drawable/perm_group_voicemail"
android:description="@string/permgroupdesc_voicemail"
android:permissionGroupFlags="personalInfo"
- android:priority="10" />
+ android:priority="280" />
<!-- Allows an application to add voicemails into the system. -->
<permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
@@ -463,9 +480,10 @@
location. -->
<permission-group android:name="android.permission-group.LOCATION"
android:label="@string/permgrouplab_location"
+ android:icon="@drawable/perm_group_location"
android:description="@string/permgroupdesc_location"
android:permissionGroupFlags="personalInfo"
- android:priority="5" />
+ android:priority="330" />
<!-- Allows an application to access fine (e.g., GPS) location -->
<permission android:name="android.permission.ACCESS_FINE_LOCATION"
@@ -512,8 +530,9 @@
or other related network operations. -->
<permission-group android:name="android.permission-group.NETWORK"
android:label="@string/permgrouplab_network"
+ android:icon="@drawable/perm_group_network"
android:description="@string/permgroupdesc_network"
- android:priority="11" />
+ android:priority="270" />
<!-- Allows applications to open network sockets. -->
<permission android:name="android.permission.INTERNET"
@@ -562,28 +581,36 @@
<!-- ======================================= -->
<eat-comment />
- <!-- Used for permissions that provide access to network services that
- are for peripherals and other nearby devices. These networks
- generally do not provide IP based networking or internet access.-->
- <permission-group android:name="android.permission-group.SHORTRANGE_NETWORK"
- android:label="@string/permgrouplab_shortRangeNetwork"
- android:description="@string/permgroupdesc_shortRangeNetwork"
- android:priority="12" />
+ <!-- Used for permissions that provide access to other devices through Bluetooth.-->
+ <permission-group android:name="android.permission-group.BLUETOOTH_NETWORK"
+ android:label="@string/permgrouplab_bluetoothNetwork"
+ android:icon="@drawable/perm_group_bluetooth"
+ android:description="@string/permgroupdesc_bluetoothNetwork"
+ android:priority="260" />
<!-- Allows applications to connect to paired bluetooth devices -->
<permission android:name="android.permission.BLUETOOTH"
- android:permissionGroup="android.permission-group.SHORTRANGE_NETWORK"
+ android:permissionGroup="android.permission-group.BLUETOOTH_NETWORK"
android:protectionLevel="dangerous"
android:description="@string/permdesc_bluetooth"
android:label="@string/permlab_bluetooth" />
<!-- Allows applications to discover and pair bluetooth devices -->
<permission android:name="android.permission.BLUETOOTH_ADMIN"
- android:permissionGroup="android.permission-group.SHORTRANGE_NETWORK"
+ android:permissionGroup="android.permission-group.BLUETOOTH_NETWORK"
android:protectionLevel="dangerous"
android:description="@string/permdesc_bluetoothAdmin"
android:label="@string/permlab_bluetoothAdmin" />
+ <!-- Used for permissions that provide access to network services that
+ are for peripherals and other nearby devices. These networks
+ generally do not provide IP based networking or internet access.-->
+ <permission-group android:name="android.permission-group.SHORTRANGE_NETWORK"
+ android:label="@string/permgrouplab_shortrangeNetwork"
+ android:icon="@drawable/perm_group_shortrange_network"
+ android:description="@string/permgroupdesc_shortrangeNetwork"
+ android:priority="250" />
+
<!-- Allows applications to perform I/O operations over NFC -->
<permission android:name="android.permission.NFC"
android:permissionGroup="android.permission-group.SHORTRANGE_NETWORK"
@@ -607,9 +634,10 @@
by the Account Manager. -->
<permission-group android:name="android.permission-group.ACCOUNTS"
android:label="@string/permgrouplab_accounts"
+ android:icon="@drawable/perm_group_accounts"
android:description="@string/permgroupdesc_accounts"
android:permissionGroupFlags="personalInfo"
- android:priority="17" />
+ android:priority="200" />
<!-- Allows access to the list of accounts in the Accounts Service -->
<permission android:name="android.permission.GET_ACCOUNTS"
@@ -659,8 +687,9 @@
<permission-group android:name="android.permission-group.AFFECTS_BATTERY"
android:label="@string/permgrouplab_affectsBattery"
+ android:icon="@drawable/perm_group_affects_battery"
android:description="@string/permgroupdesc_affectsBattery"
- android:priority="19" />
+ android:priority="180" />
<!-- Allows applications to enter Wi-Fi Multicast mode -->
<permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
@@ -699,8 +728,9 @@
the device. -->
<permission-group android:name="android.permission-group.AUDIO_SETTINGS"
android:label="@string/permgrouplab_audioSettings"
+ android:icon="@drawable/perm_group_audio_settings"
android:description="@string/permgroupdesc_audioSettings"
- android:priority="25" />
+ android:priority="130" />
<!-- Allows an application to modify global audio settings -->
<permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
@@ -719,7 +749,7 @@
<permission-group android:name="android.permission-group.HARDWARE_CONTROLS"
android:label="@string/permgrouplab_hardwareControls"
android:description="@string/permgroupdesc_hardwareControls"
- android:priority="26"/>
+ android:priority="260"/>
<!-- Allows an application to manage preferences and permissions for USB devices
@hide -->
@@ -766,9 +796,10 @@
but are in a separate (more visible) permission group. -->
<permission-group android:name="android.permission-group.MICROPHONE"
android:label="@string/permgrouplab_microphone"
+ android:icon="@drawable/perm_group_microphone"
android:description="@string/permgroupdesc_microphone"
android:permissionGroupFlags="personalInfo"
- android:priority="4" />
+ android:priority="340" />
<!-- Allows an application to record audio -->
<permission android:name="android.permission.RECORD_AUDIO"
@@ -786,9 +817,10 @@
camera or capturing images/video from the device. -->
<permission-group android:name="android.permission-group.CAMERA"
android:label="@string/permgrouplab_camera"
+ android:icon="@drawable/perm_group_camera"
android:description="@string/permgroupdesc_camera"
android:permissionGroupFlags="personalInfo"
- android:priority="3" />
+ android:priority="350" />
<!-- Required to be able to access the camera device.
<p>This will automatically enforce the <a
@@ -813,9 +845,10 @@
and modifying the phone state. -->
<permission-group android:name="android.permission-group.PHONE_CALLS"
android:label="@string/permgrouplab_phoneCalls"
+ android:icon="@drawable/perm_group_phone_calls"
android:description="@string/permgroupdesc_phoneCalls"
android:permissionGroupFlags="personalInfo"
- android:priority="1" />
+ android:priority="370" />
<!-- Allows an application to monitor, modify, or abort outgoing
calls. -->
@@ -870,9 +903,10 @@
<!-- Group of permissions that are related to SD card access. -->
<permission-group android:name="android.permission-group.STORAGE"
android:label="@string/permgrouplab_storage"
+ android:icon="@drawable/perm_group_storage"
android:description="@string/permgroupdesc_storage"
android:permissionGroupFlags="personalInfo"
- android:priority="13" />
+ android:priority="240" />
<!-- Allows an application to read from external storage -->
<permission android:name="android.permission.READ_EXTERNAL_STORAGE"
@@ -904,8 +938,10 @@
<!-- Group of permissions that are related to the screenlock. -->
<permission-group android:name="android.permission-group.SCREENLOCK"
android:label="@string/permgrouplab_storage"
+ android:icon="@drawable/perm_group_screenlock"
android:permissionGroupFlags="personalInfo"
- android:description="@string/permgroupdesc_storage" />
+ android:description="@string/permgroupdesc_storage"
+ android:priority="230" />
<!-- Allows applications to disable the keyguard -->
<permission android:name="android.permission.DISABLE_KEYGUARD"
@@ -924,7 +960,9 @@
running apps, or killing background processes. -->
<permission-group android:name="android.permission-group.APP_INFO"
android:label="@string/permgrouplab_appInfo"
- android:description="@string/permgroupdesc_appInfo" />
+ android:icon="@drawable/perm_group_app_info"
+ android:description="@string/permgroupdesc_appInfo"
+ android:priority="220" />
<!-- Allows an application to get information about the currently
or recently running tasks. -->
@@ -990,8 +1028,9 @@
another application displays UI to the user. -->
<permission-group android:name="android.permission-group.DISPLAY"
android:label="@string/permgrouplab_display"
+ android:icon="@drawable/perm_group_display"
android:description="@string/permgroupdesc_display"
- android:priority="18"/>
+ android:priority="190"/>
<!-- Allows an application to open windows using the type
{@link android.view.WindowManager.LayoutParams#TYPE_SYSTEM_ALERT},
@@ -1013,8 +1052,9 @@
another application displays UI to the user. -->
<permission-group android:name="android.permission-group.WALLPAPER"
android:label="@string/permgrouplab_wallpaper"
+ android:icon="@drawable/perm_group_wallpaper"
android:description="@string/permgroupdesc_wallpaper"
- android:priority="22" />
+ android:priority="150" />
<!-- Allows applications to set the wallpaper -->
<permission android:name="android.permission.SET_WALLPAPER"
@@ -1038,8 +1078,9 @@
<!-- Group of permissions that are related to system clock. -->
<permission-group android:name="android.permission-group.SYSTEM_CLOCK"
android:label="@string/permgrouplab_systemClock"
+ android:icon="@drawable/perm_group_system_clock"
android:description="@string/permgroupdesc_systemClock"
- android:priority="23" />
+ android:priority="140" />
<!-- Allows applications to set the system time -->
<permission android:name="android.permission.SET_TIME"
@@ -1061,7 +1102,9 @@
<!-- Used for permissions that change the status bar -->
<permission-group android:name="android.permission-group.STATUS_BAR"
android:label="@string/permgrouplab_statusBar"
- android:description="@string/permgroupdesc_statusBar" />
+ android:icon="@drawable/perm_group_status_bar"
+ android:description="@string/permgroupdesc_statusBar"
+ android:priority="110" />
<!-- Allows an application to expand or collapse the status bar. -->
<permission android:name="android.permission.EXPAND_STATUS_BAR"
@@ -1078,8 +1121,9 @@
related information. -->
<permission-group android:name="android.permission-group.SYNC_SETTINGS"
android:label="@string/permgrouplab_syncSettings"
+ android:icon="@drawable/perm_group_sync_settings"
android:description="@string/permgroupdesc_syncSettings"
- android:priority="29" />
+ android:priority="120" />
<!-- Allows applications to read the sync settings -->
<permission android:name="android.permission.READ_SYNC_SETTINGS"
@@ -1116,8 +1160,9 @@
such as writing the global system settings. -->
<permission-group android:name="android.permission-group.SYSTEM_TOOLS"
android:label="@string/permgrouplab_systemTools"
+ android:icon="@drawable/perm_group_system_tools"
android:description="@string/permgroupdesc_systemTools"
- android:priority="30" />
+ android:priority="100" />
<!-- @hide Change the screen compatibility mode of applications -->
<permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
@@ -1345,7 +1390,7 @@
<permission-group android:name="android.permission-group.DEVELOPMENT_TOOLS"
android:label="@string/permgrouplab_developmentTools"
android:description="@string/permgroupdesc_developmentTools"
- android:priority="31" />
+ android:priority="310" />
<!-- Allows an application to read or write the secure system settings. -->
<permission android:name="android.permission.WRITE_SECURE_SETTINGS"
diff --git a/core/res/res/drawable-hdpi/perm_group_accounts.png b/core/res/res/drawable-hdpi/perm_group_accounts.png
new file mode 100644
index 000000000000..db59ab0a2922
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_accounts.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_affects_battery.png b/core/res/res/drawable-hdpi/perm_group_affects_battery.png
new file mode 100644
index 000000000000..8ca8154da58c
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_affects_battery.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_app_info.png b/core/res/res/drawable-hdpi/perm_group_app_info.png
new file mode 100644
index 000000000000..b03e2f343eaa
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_app_info.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_audio_settings.png b/core/res/res/drawable-hdpi/perm_group_audio_settings.png
new file mode 100644
index 000000000000..4e652a874d50
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_audio_settings.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_bluetooth.png b/core/res/res/drawable-hdpi/perm_group_bluetooth.png
new file mode 100644
index 000000000000..0f2845426f26
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_bluetooth.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_bookmarks.png b/core/res/res/drawable-hdpi/perm_group_bookmarks.png
new file mode 100644
index 000000000000..06f634459052
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_bookmarks.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_calendar.png b/core/res/res/drawable-hdpi/perm_group_calendar.png
new file mode 100644
index 000000000000..c0a4dfd54e5a
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_calendar.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_camera.png b/core/res/res/drawable-hdpi/perm_group_camera.png
new file mode 100644
index 000000000000..cbc07b062195
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_camera.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_device_alarms.png b/core/res/res/drawable-hdpi/perm_group_device_alarms.png
new file mode 100644
index 000000000000..d44b9deca776
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_device_alarms.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_display.png b/core/res/res/drawable-hdpi/perm_group_display.png
new file mode 100644
index 000000000000..e8afececbef2
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_display.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_location.png b/core/res/res/drawable-hdpi/perm_group_location.png
new file mode 100644
index 000000000000..dc2f8ef0991a
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_location.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_messages.png b/core/res/res/drawable-hdpi/perm_group_messages.png
new file mode 100644
index 000000000000..680c178b2006
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_messages.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_microphone.png b/core/res/res/drawable-hdpi/perm_group_microphone.png
new file mode 100644
index 000000000000..a73a945d04b8
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_microphone.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_network.png b/core/res/res/drawable-hdpi/perm_group_network.png
new file mode 100644
index 000000000000..c750e2aa02c3
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_network.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_personal_info.png b/core/res/res/drawable-hdpi/perm_group_personal_info.png
new file mode 100644
index 000000000000..130e7adbedfc
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_personal_info.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_phone_calls.png b/core/res/res/drawable-hdpi/perm_group_phone_calls.png
new file mode 100644
index 000000000000..577855bd37d3
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_phone_calls.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_screenlock.png b/core/res/res/drawable-hdpi/perm_group_screenlock.png
new file mode 100644
index 000000000000..9c5143d8daae
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_screenlock.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_shortrange_network.png b/core/res/res/drawable-hdpi/perm_group_shortrange_network.png
new file mode 100644
index 000000000000..554a4e46b4b9
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_shortrange_network.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_social_info.png b/core/res/res/drawable-hdpi/perm_group_social_info.png
new file mode 100644
index 000000000000..134990b79983
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_social_info.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_status_bar.png b/core/res/res/drawable-hdpi/perm_group_status_bar.png
new file mode 100644
index 000000000000..bda963bb9c51
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_status_bar.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_storage.png b/core/res/res/drawable-hdpi/perm_group_storage.png
new file mode 100644
index 000000000000..e6b39654b52b
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_storage.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_sync_settings.png b/core/res/res/drawable-hdpi/perm_group_sync_settings.png
new file mode 100644
index 000000000000..be70866ac133
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_sync_settings.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_system_clock.png b/core/res/res/drawable-hdpi/perm_group_system_clock.png
new file mode 100644
index 000000000000..75794c3232b5
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_system_clock.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_system_tools.png b/core/res/res/drawable-hdpi/perm_group_system_tools.png
new file mode 100644
index 000000000000..3fd43853ac10
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_system_tools.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_user_dictionary.png b/core/res/res/drawable-hdpi/perm_group_user_dictionary.png
new file mode 100644
index 000000000000..98a08948def2
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_user_dictionary.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_user_dictionary_write.png b/core/res/res/drawable-hdpi/perm_group_user_dictionary_write.png
new file mode 100644
index 000000000000..784ea0fed6f7
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_user_dictionary_write.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_voicemail.png b/core/res/res/drawable-hdpi/perm_group_voicemail.png
new file mode 100644
index 000000000000..b08b15346068
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_voicemail.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/perm_group_wallpaper.png b/core/res/res/drawable-hdpi/perm_group_wallpaper.png
new file mode 100644
index 000000000000..cf073a4d653c
--- /dev/null
+++ b/core/res/res/drawable-hdpi/perm_group_wallpaper.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_accounts.png b/core/res/res/drawable-mdpi/perm_group_accounts.png
new file mode 100644
index 000000000000..3dd4043b457a
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_accounts.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_affects_battery.png b/core/res/res/drawable-mdpi/perm_group_affects_battery.png
new file mode 100644
index 000000000000..72919163ca38
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_affects_battery.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_app_info.png b/core/res/res/drawable-mdpi/perm_group_app_info.png
new file mode 100644
index 000000000000..8ba65bd86acc
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_app_info.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_audio_settings.png b/core/res/res/drawable-mdpi/perm_group_audio_settings.png
new file mode 100644
index 000000000000..f2f461bd3074
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_audio_settings.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_bluetooth.png b/core/res/res/drawable-mdpi/perm_group_bluetooth.png
new file mode 100644
index 000000000000..6db6fdea7626
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_bluetooth.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_bookmarks.png b/core/res/res/drawable-mdpi/perm_group_bookmarks.png
new file mode 100644
index 000000000000..f908e14c1e3a
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_bookmarks.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_calendar.png b/core/res/res/drawable-mdpi/perm_group_calendar.png
new file mode 100644
index 000000000000..5905973ba19d
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_calendar.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_camera.png b/core/res/res/drawable-mdpi/perm_group_camera.png
new file mode 100644
index 000000000000..be1c9e69fafb
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_camera.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_device_alarms.png b/core/res/res/drawable-mdpi/perm_group_device_alarms.png
new file mode 100644
index 000000000000..48d6d6a4f6f8
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_device_alarms.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_display.png b/core/res/res/drawable-mdpi/perm_group_display.png
new file mode 100644
index 000000000000..e10609c3f7ee
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_display.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_location.png b/core/res/res/drawable-mdpi/perm_group_location.png
new file mode 100644
index 000000000000..e79ec258db23
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_location.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_messages.png b/core/res/res/drawable-mdpi/perm_group_messages.png
new file mode 100644
index 000000000000..dfb3ba7fec0e
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_messages.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_microphone.png b/core/res/res/drawable-mdpi/perm_group_microphone.png
new file mode 100644
index 000000000000..9bab315b88cf
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_microphone.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_network.png b/core/res/res/drawable-mdpi/perm_group_network.png
new file mode 100644
index 000000000000..f2798a7fa02d
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_network.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_personal_info.png b/core/res/res/drawable-mdpi/perm_group_personal_info.png
new file mode 100644
index 000000000000..6233a8258d60
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_personal_info.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_phone_calls.png b/core/res/res/drawable-mdpi/perm_group_phone_calls.png
new file mode 100644
index 000000000000..ff3ffd530666
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_phone_calls.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_screenlock.png b/core/res/res/drawable-mdpi/perm_group_screenlock.png
new file mode 100644
index 000000000000..abfe6e4780a0
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_screenlock.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_shortrange_network.png b/core/res/res/drawable-mdpi/perm_group_shortrange_network.png
new file mode 100644
index 000000000000..5d733756525b
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_shortrange_network.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_social_info.png b/core/res/res/drawable-mdpi/perm_group_social_info.png
new file mode 100644
index 000000000000..c862f9ef46f8
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_social_info.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_status_bar.png b/core/res/res/drawable-mdpi/perm_group_status_bar.png
new file mode 100644
index 000000000000..4158fa678a53
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_status_bar.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_storage.png b/core/res/res/drawable-mdpi/perm_group_storage.png
new file mode 100644
index 000000000000..3dcfb22fe1bf
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_storage.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_sync_settings.png b/core/res/res/drawable-mdpi/perm_group_sync_settings.png
new file mode 100644
index 000000000000..5a0e5ffaedd0
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_sync_settings.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_system_clock.png b/core/res/res/drawable-mdpi/perm_group_system_clock.png
new file mode 100644
index 000000000000..e4d574386705
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_system_clock.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_system_tools.png b/core/res/res/drawable-mdpi/perm_group_system_tools.png
new file mode 100644
index 000000000000..fc7337d5c9d1
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_system_tools.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_user_dictionary.png b/core/res/res/drawable-mdpi/perm_group_user_dictionary.png
new file mode 100644
index 000000000000..92864ba25d8f
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_user_dictionary.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_user_dictionary_write.png b/core/res/res/drawable-mdpi/perm_group_user_dictionary_write.png
new file mode 100644
index 000000000000..9f4871398200
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_user_dictionary_write.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_voicemail.png b/core/res/res/drawable-mdpi/perm_group_voicemail.png
new file mode 100644
index 000000000000..a34d6897e0fe
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_voicemail.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/perm_group_wallpaper.png b/core/res/res/drawable-mdpi/perm_group_wallpaper.png
new file mode 100644
index 000000000000..b990e7f0852a
--- /dev/null
+++ b/core/res/res/drawable-mdpi/perm_group_wallpaper.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_accounts.png b/core/res/res/drawable-xhdpi/perm_group_accounts.png
new file mode 100644
index 000000000000..74cd33bd23e9
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_accounts.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_affects_battery.png b/core/res/res/drawable-xhdpi/perm_group_affects_battery.png
new file mode 100644
index 000000000000..d4a9bb5d67e4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_affects_battery.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_app_info.png b/core/res/res/drawable-xhdpi/perm_group_app_info.png
new file mode 100644
index 000000000000..46089e5ba859
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_app_info.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_audio_settings.png b/core/res/res/drawable-xhdpi/perm_group_audio_settings.png
new file mode 100644
index 000000000000..2f7cbc3b10ff
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_audio_settings.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_bluetooth.png b/core/res/res/drawable-xhdpi/perm_group_bluetooth.png
new file mode 100644
index 000000000000..6bbde5235917
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_bluetooth.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_bookmarks.png b/core/res/res/drawable-xhdpi/perm_group_bookmarks.png
new file mode 100644
index 000000000000..1277d03e15fd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_bookmarks.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_calendar.png b/core/res/res/drawable-xhdpi/perm_group_calendar.png
new file mode 100644
index 000000000000..3c7f2d36d106
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_calendar.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_camera.png b/core/res/res/drawable-xhdpi/perm_group_camera.png
new file mode 100644
index 000000000000..a4545546abc6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_camera.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_device_alarms.png b/core/res/res/drawable-xhdpi/perm_group_device_alarms.png
new file mode 100644
index 000000000000..1bb151cf30bb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_device_alarms.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_display.png b/core/res/res/drawable-xhdpi/perm_group_display.png
new file mode 100644
index 000000000000..9e36cf83d550
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_display.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_location.png b/core/res/res/drawable-xhdpi/perm_group_location.png
new file mode 100644
index 000000000000..4c49521af13e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_location.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_messages.png b/core/res/res/drawable-xhdpi/perm_group_messages.png
new file mode 100644
index 000000000000..f046d46b55bd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_messages.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_microphone.png b/core/res/res/drawable-xhdpi/perm_group_microphone.png
new file mode 100644
index 000000000000..bdb66e263b07
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_microphone.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_network.png b/core/res/res/drawable-xhdpi/perm_group_network.png
new file mode 100644
index 000000000000..fe1adadb6b52
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_network.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_personal_info.png b/core/res/res/drawable-xhdpi/perm_group_personal_info.png
new file mode 100644
index 000000000000..1ae418f677bf
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_personal_info.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_phone_calls.png b/core/res/res/drawable-xhdpi/perm_group_phone_calls.png
new file mode 100644
index 000000000000..288e15cf1e39
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_phone_calls.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_screenlock.png b/core/res/res/drawable-xhdpi/perm_group_screenlock.png
new file mode 100644
index 000000000000..bf3ec34218cf
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_screenlock.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_shortrange_network.png b/core/res/res/drawable-xhdpi/perm_group_shortrange_network.png
new file mode 100644
index 000000000000..5e1e240796eb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_shortrange_network.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_social_info.png b/core/res/res/drawable-xhdpi/perm_group_social_info.png
new file mode 100644
index 000000000000..2111a837ef43
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_social_info.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_status_bar.png b/core/res/res/drawable-xhdpi/perm_group_status_bar.png
new file mode 100644
index 000000000000..ce65380f6cf2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_status_bar.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_storage.png b/core/res/res/drawable-xhdpi/perm_group_storage.png
new file mode 100644
index 000000000000..4cd5c9b05002
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_storage.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_sync_settings.png b/core/res/res/drawable-xhdpi/perm_group_sync_settings.png
new file mode 100644
index 000000000000..24eb5797dd06
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_sync_settings.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_system_clock.png b/core/res/res/drawable-xhdpi/perm_group_system_clock.png
new file mode 100644
index 000000000000..36d1294f406f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_system_clock.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_system_tools.png b/core/res/res/drawable-xhdpi/perm_group_system_tools.png
new file mode 100644
index 000000000000..7b6cdd8f8717
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_system_tools.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_user_dictionary.png b/core/res/res/drawable-xhdpi/perm_group_user_dictionary.png
new file mode 100644
index 000000000000..c0106bba1d71
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_user_dictionary.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_user_dictionary_write.png b/core/res/res/drawable-xhdpi/perm_group_user_dictionary_write.png
new file mode 100644
index 000000000000..36bb395d7d4c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_user_dictionary_write.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_voicemail.png b/core/res/res/drawable-xhdpi/perm_group_voicemail.png
new file mode 100644
index 000000000000..eb17a631c10d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_voicemail.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/perm_group_wallpaper.png b/core/res/res/drawable-xhdpi/perm_group_wallpaper.png
new file mode 100644
index 000000000000..be4663c9b7d0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/perm_group_wallpaper.png
Binary files differ
diff --git a/core/res/res/layout/app_permission_item.xml b/core/res/res/layout/app_permission_item.xml
index 9b8c5ae7de20..c448bd1dbaef 100644
--- a/core/res/res/layout/app_permission_item.xml
+++ b/core/res/res/layout/app_permission_item.xml
@@ -42,6 +42,7 @@
<TextView
android:id="@+id/perm_name"
android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textSize="16sp"
android:layout_marginLeft="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index 822ee14d3aeb..82d377967dd6 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -462,7 +462,6 @@
<java-symbol type="string" name="db_default_sync_mode" />
<java-symbol type="string" name="db_wal_sync_mode" />
<java-symbol type="string" name="decline" />
- <java-symbol type="string" name="default_permission_group" />
<java-symbol type="string" name="default_text_encoding" />
<java-symbol type="string" name="description_target_unlock_tablet" />
<java-symbol type="string" name="double_tap_toast" />
@@ -652,10 +651,8 @@
<java-symbol type="string" name="orgTypeOther" />
<java-symbol type="string" name="orgTypeWork" />
<java-symbol type="string" name="passwordIncorrect" />
- <java-symbol type="string" name="permissions_format" />
+ <java-symbol type="string" name="perms_description_app" />
<java-symbol type="string" name="perms_new_perm_prefix" />
- <java-symbol type="string" name="perms_hide" />
- <java-symbol type="string" name="perms_show_all" />
<java-symbol type="string" name="petabyteShort" />
<java-symbol type="string" name="phoneTypeAssistant" />
<java-symbol type="string" name="phoneTypeCallback" />
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 3250507b500f..1652ef03a79d 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -408,16 +408,21 @@
<string name="permgroupdesc_network">Access various network features.</string>
<!-- Title of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
- <string name="permgrouplab_shortRangeNetwork">Bluetooth and NFC</string>
+ <string name="permgrouplab_bluetoothNetwork">Bluetooth</string>
<!-- Description of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
- <string name="permgroupdesc_shortRangeNetwork">Access Bluetooth or NFC networks and devices.</string>
+ <string name="permgroupdesc_bluetoothNetwork">Access devices and networks through Bluetooth.</string>
- <!-- Title of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
+ <!-- Title of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permgrouplab_shortrangeNetwork">Short-range Networks</string>
+ <!-- Description of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permgroupdesc_shortrangeNetwork">Access devices through short-range networks such as NFC.</string>
+
+ <!-- Title of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permgrouplab_audioSettings">Audio Settings</string>
<!-- Description of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permgroupdesc_audioSettings">Change audio settings.</string>
- <!-- Title of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
+ <!-- Title of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permgrouplab_affectsBattery">Affects Battery</string>
<!-- Description of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permgroupdesc_affectsBattery">Use features that can quickly drain battery.</string>
@@ -428,9 +433,14 @@
<string name="permgroupdesc_calendar">Direct access to calendar and events.</string>
<!-- Title of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
- <string name="permgrouplab_dictionary">User Dictionary</string>
+ <string name="permgrouplab_dictionary">Read User Dictionary</string>
<!-- Description of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
- <string name="permgroupdesc_dictionary">Direct access to the user dictionary.</string>
+ <string name="permgroupdesc_dictionary">Read words in user dictionary.</string>
+
+ <!-- Title of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permgrouplab_writeDictionary">Write User Dictionary</string>
+ <!-- Description of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permgroupdesc_writeDictionary">Add words to the user dictionary.</string>
<!-- Title of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permgrouplab_bookmarks">Bookmarks and History</string>
@@ -2976,18 +2986,12 @@
<string name="date_time_done">Done</string>
<!-- Security Permissions strings-->
- <!-- The default permission group for any permissions that have not explicitly set a group. -->
- <string name="default_permission_group">Default</string>
- <!-- Do not translate. -->
- <string name="permissions_format"><xliff:g id="perm_line1">%1$s</xliff:g>, <xliff:g id="perm_line2">%2$s</xliff:g></string>
<!-- Text that is placed at the front of a permission name that is being added to an app [CHAR LIMIT=NONE] -->
<string name="perms_new_perm_prefix"><font size="12" fgcolor="#ff900000">NEW: </font></string>
+ <!-- Text that is placed at the front of a permission name that is being added to an app [CHAR LIMIT=NONE] -->
+ <string name="perms_description_app">Provided by <xliff:g id="app_name">%1$s</xliff:g>.</string>
<!-- Shown for an application when it doesn't require any permission grants. -->
<string name="no_permissions">No permissions required</string>
- <!-- When installing an application, the less-dangerous permissions are hidden. If the user showed those, this is the text to hide them again. -->
- <string name="perms_hide"><b>Hide</b></string>
- <!-- When installing an application, the less-dangerous permissions are hidden. This is the text to show those. -->
- <string name="perms_show_all"><b>Show all</b></string>
<!-- USB storage dialog strings -->
<!-- This is the title for the activity's window. -->