summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2012-09-16 16:42:42 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-16 16:42:43 -0700
commitb137c8065db941b23ab23f6550a1c65693039ff5 (patch)
tree9cf3fef5d9b0b9f0ba226df1b30e6d062362fe96 /core
parenta40b2b3457e233d5f601260761d1f39e894eb384 (diff)
parent2ca2c8787130506d350d997c18bbc274faf88e37 (diff)
downloadframeworks_base-b137c8065db941b23ab23f6550a1c65693039ff5.zip
frameworks_base-b137c8065db941b23ab23f6550a1c65693039ff5.tar.gz
frameworks_base-b137c8065db941b23ab23f6550a1c65693039ff5.tar.bz2
Merge "More adjustments to permissions." into jb-mr1-dev
Diffstat (limited to 'core')
-rw-r--r--core/java/android/content/pm/PackageParser.java3
-rw-r--r--core/java/android/content/pm/PermissionInfo.java45
-rwxr-xr-xcore/java/android/widget/AppSecurityPermissions.java14
-rw-r--r--core/res/AndroidManifest.xml38
-rw-r--r--core/res/res/layout/app_permission_item.xml1
-rw-r--r--core/res/res/layout/app_permission_item_money.xml71
-rw-r--r--core/res/res/values/attrs_manifest.xml9
-rw-r--r--core/res/res/values/colors.xml7
-rw-r--r--core/res/res/values/public.xml3
-rwxr-xr-xcore/res/res/values/strings.xml41
-rw-r--r--core/res/res/values/symbols.xml1
11 files changed, 168 insertions, 65 deletions
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index 5ebca9e..0a22fca 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -1543,6 +1543,9 @@ public class PackageParser {
com.android.internal.R.styleable.AndroidManifestPermission_protectionLevel,
PermissionInfo.PROTECTION_NORMAL);
+ perm.info.flags = sa.getInt(
+ com.android.internal.R.styleable.AndroidManifestPermission_permissionFlags, 0);
+
sa.recycle();
if (perm.info.protectionLevel == -1) {
diff --git a/core/java/android/content/pm/PermissionInfo.java b/core/java/android/content/pm/PermissionInfo.java
index 69b812c..5a63e5f 100644
--- a/core/java/android/content/pm/PermissionInfo.java
+++ b/core/java/android/content/pm/PermissionInfo.java
@@ -79,11 +79,34 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
public static final int PROTECTION_MASK_FLAGS = 0xf0;
/**
+ * The level of access this permission is protecting, as per
+ * {@link android.R.attr#protectionLevel}. Values may be
+ * {@link #PROTECTION_NORMAL}, {@link #PROTECTION_DANGEROUS}, or
+ * {@link #PROTECTION_SIGNATURE}. May also include the additional
+ * flags {@link #PROTECTION_FLAG_SYSTEM} or {@link #PROTECTION_FLAG_DEVELOPMENT}
+ * (which only make sense in combination with the base
+ * {@link #PROTECTION_SIGNATURE}.
+ */
+ public int protectionLevel;
+
+ /**
* The group this permission is a part of, as per
* {@link android.R.attr#permissionGroup}.
*/
public String group;
-
+
+ /**
+ * Flag for {@link #flags}, corresponding to <code>costsMoney</code>
+ * value of {@link android.R.attr#permissionFlags}.
+ */
+ public static final int FLAG_COSTS_MONEY = 1<<0;
+
+ /**
+ * Additional flags about this permission as given by
+ * {@link android.R.attr#permissionFlags}.
+ */
+ public int flags;
+
/**
* A string resource identifier (in the package's resources) of this
* permission's description. From the "description" attribute or,
@@ -99,17 +122,6 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
*/
public CharSequence nonLocalizedDescription;
- /**
- * The level of access this permission is protecting, as per
- * {@link android.R.attr#protectionLevel}. Values may be
- * {@link #PROTECTION_NORMAL}, {@link #PROTECTION_DANGEROUS}, or
- * {@link #PROTECTION_SIGNATURE}. May also include the additional
- * flags {@link #PROTECTION_FLAG_SYSTEM} or {@link #PROTECTION_FLAG_DEVELOPMENT}
- * (which only make sense in combination with the base
- * {@link #PROTECTION_SIGNATURE}.
- */
- public int protectionLevel;
-
/** @hide */
public static int fixProtectionLevel(int level) {
if (level == PROTECTION_SIGNATURE_OR_SYSTEM) {
@@ -149,9 +161,10 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
public PermissionInfo(PermissionInfo orig) {
super(orig);
+ protectionLevel = orig.protectionLevel;
+ flags = orig.flags;
group = orig.group;
descriptionRes = orig.descriptionRes;
- protectionLevel = orig.protectionLevel;
nonLocalizedDescription = orig.nonLocalizedDescription;
}
@@ -191,9 +204,10 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
public void writeToParcel(Parcel dest, int parcelableFlags) {
super.writeToParcel(dest, parcelableFlags);
+ dest.writeInt(protectionLevel);
+ dest.writeInt(flags);
dest.writeString(group);
dest.writeInt(descriptionRes);
- dest.writeInt(protectionLevel);
TextUtils.writeToParcel(nonLocalizedDescription, dest, parcelableFlags);
}
@@ -209,9 +223,10 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
private PermissionInfo(Parcel source) {
super(source);
+ protectionLevel = source.readInt();
+ flags = source.readInt();
group = source.readString();
descriptionRes = source.readInt();
- protectionLevel = source.readInt();
nonLocalizedDescription = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source);
}
}
diff --git a/core/java/android/widget/AppSecurityPermissions.java b/core/java/android/widget/AppSecurityPermissions.java
index 76b34ef..f79ec42 100755
--- a/core/java/android/widget/AppSecurityPermissions.java
+++ b/core/java/android/widget/AppSecurityPermissions.java
@@ -67,7 +67,7 @@ public class AppSecurityPermissions {
public static final int WHICH_ALL = 0xffff;
private final static String TAG = "AppSecurityPermissions";
- private boolean localLOGV = false;
+ private final static boolean localLOGV = false;
private Context mContext;
private LayoutInflater mInflater;
private PackageManager mPm;
@@ -189,6 +189,8 @@ public class AppSecurityPermissions {
permGrpIcon.setImageDrawable(icon);
permNameView.setText(label);
setOnClickListener(this);
+ if (localLOGV) Log.i(TAG, "Made perm item " + perm.name
+ + ": " + label + " in group " + grp.name);
}
@Override
@@ -531,7 +533,9 @@ public class AppSecurityPermissions {
MyPermissionGroupInfo grp, MyPermissionInfo perm, boolean first,
CharSequence newPermPrefix) {
PermissionItemView permView = (PermissionItemView)inflater.inflate(
- R.layout.app_permission_item, null);
+ (perm.flags & PermissionInfo.FLAG_COSTS_MONEY) != 0
+ ? R.layout.app_permission_item_money : R.layout.app_permission_item,
+ null);
permView.setPermission(grp, perm, first, newPermPrefix);
return permView;
}
@@ -568,6 +572,8 @@ public class AppSecurityPermissions {
// already granted, they will not be granted as part of the install.
if ((existingReqFlags&PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0
&& (pInfo.protectionLevel & PermissionInfo.PROTECTION_FLAG_DEVELOPMENT) != 0) {
+ if (localLOGV) Log.i(TAG, "Special perm " + pInfo.name
+ + ": protlevel=0x" + Integer.toHexString(pInfo.protectionLevel));
return true;
}
return false;
@@ -650,9 +656,9 @@ public class AppSecurityPermissions {
mPermGroupsList.add(pgrp);
}
Collections.sort(mPermGroupsList, mPermGroupComparator);
- if (false) {
+ if (localLOGV) {
for (MyPermissionGroupInfo grp : mPermGroupsList) {
- Log.i("foo", "Group " + grp.name + " personal="
+ Log.i(TAG, "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 0a409ad..0bc09aa 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -171,6 +171,7 @@
<permission android:name="android.permission.SEND_SMS"
android:permissionGroup="android.permission-group.MESSAGES"
android:protectionLevel="dangerous"
+ android:permissionFlags="costsMoney"
android:label="@string/permlab_sendSms"
android:description="@string/permdesc_sendSms" />
@@ -404,7 +405,6 @@
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. -->
@@ -515,14 +515,14 @@
<!-- Allows an application to create mock location providers for testing -->
<permission android:name="android.permission.ACCESS_MOCK_LOCATION"
- android:permissionGroup="android.permission-group.LOCATION"
+ android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="dangerous"
android:label="@string/permlab_accessMockLocation"
android:description="@string/permdesc_accessMockLocation" />
<!-- Allows an application to access extra location provider commands -->
<permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
- android:permissionGroup="android.permission-group.LOCATION"
+ android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="normal"
android:label="@string/permlab_accessLocationExtraCommands"
android:description="@string/permdesc_accessLocationExtraCommands" />
@@ -616,24 +616,14 @@
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"
+ android:permissionGroup="android.permission-group.NETWORK"
android:protectionLevel="dangerous"
android:description="@string/permdesc_nfc"
android:label="@string/permlab_nfc" />
- <!-- Allows an internal user to use privileged ConnectivityManager
- APIs.
+ <!-- Allows an internal user to use privileged ConnectivityManager APIs.
@hide -->
<permission android:name="android.permission.CONNECTIVITY_INTERNAL"
android:permissionGroup="android.permission-group.NETWORK"
@@ -904,6 +894,7 @@
<permission android:name="android.permission.CALL_PHONE"
android:permissionGroup="android.permission-group.PHONE_CALLS"
android:protectionLevel="dangerous"
+ android:permissionFlags="costsMoney"
android:label="@string/permlab_callPhone"
android:description="@string/permdesc_callPhone" />
@@ -929,7 +920,7 @@
<!-- Allows an application to read from external storage -->
<permission android:name="android.permission.READ_EXTERNAL_STORAGE"
- android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
+ android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:label="@string/permlab_sdcardRead"
android:description="@string/permdesc_sdcardRead"
android:protectionLevel="normal" />
@@ -1227,7 +1218,7 @@
<!-- Allows an application to modify the current configuration, such
as locale. -->
<permission android:name="android.permission.CHANGE_CONFIGURATION"
- android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
+ android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
android:protectionLevel="signature|system|development"
android:label="@string/permlab_changeConfiguration"
android:description="@string/permdesc_changeConfiguration" />
@@ -1287,7 +1278,7 @@
<!-- @deprecated This functionality will be removed in the future; please do
not use. Allow an application to make its activities persistent. -->
<permission android:name="android.permission.PERSISTENT_ACTIVITY"
- android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
+ android:permissionGroup="android.permission-group.APP_INFO"
android:protectionLevel="normal"
android:label="@string/permlab_persistentActivity"
android:description="@string/permdesc_persistentActivity" />
@@ -1320,7 +1311,7 @@
explicitly declare your use of this facility to make that visible
to the user. -->
<permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
- android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
+ android:permissionGroup="android.permission-group.APP_INFO"
android:protectionLevel="normal"
android:label="@string/permlab_receiveBootCompleted"
android:description="@string/permdesc_receiveBootCompleted" />
@@ -1411,7 +1402,7 @@
<!-- Allows applications to change network connectivity state -->
<permission android:name="android.permission.CHANGE_NETWORK_STATE"
- android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
+ android:permissionGroup="android.permission-group.NETWORK"
android:protectionLevel="normal"
android:description="@string/permdesc_changeNetworkState"
android:label="@string/permlab_changeNetworkState" />
@@ -1535,8 +1526,8 @@
<!-- Allows an application to update device statistics. Not for
use by third party apps. -->
<permission android:name="android.permission.UPDATE_DEVICE_STATS"
- android:label="@string/permlab_batteryStats"
- android:description="@string/permdesc_batteryStats"
+ android:label="@string/permlab_updateBatteryStats"
+ android:description="@string/permdesc_updateBatteryStats"
android:protectionLevel="signature|system" />
<!-- Allows an application to open windows that are for use by parts
@@ -1854,9 +1845,10 @@
<!-- Allows an application to collect battery statistics -->
<permission android:name="android.permission.BATTERY_STATS"
+ android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:label="@string/permlab_batteryStats"
android:description="@string/permdesc_batteryStats"
- android:protectionLevel="normal" />
+ android:protectionLevel="dangerous" />
<!-- Allows an application to control the backup and restore process
@hide pending API council -->
diff --git a/core/res/res/layout/app_permission_item.xml b/core/res/res/layout/app_permission_item.xml
index 7d44d44..e2ffffb 100644
--- a/core/res/res/layout/app_permission_item.xml
+++ b/core/res/res/layout/app_permission_item.xml
@@ -16,7 +16,6 @@
<!--
Defines the layout of a single permission item.
- Contains the group name and a list of permission labels under the group.
-->
<view class="android.widget.AppSecurityPermissions$PermissionItemView"
diff --git a/core/res/res/layout/app_permission_item_money.xml b/core/res/res/layout/app_permission_item_money.xml
new file mode 100644
index 0000000..ab0d532
--- /dev/null
+++ b/core/res/res/layout/app_permission_item_money.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!--
+ Defines the layout of a single permission item that costs money.
+-->
+
+<view class="android.widget.AppSecurityPermissions$PermissionItemView"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:background="?android:attr/selectableItemBackground">
+
+ <ImageView
+ android:id="@+id/perm_icon"
+ android:layout_width="32dp"
+ android:layout_height="32dp"
+ android:layout_marginStart="16dp"
+ android:layout_marginEnd="8dp"
+ android:scaleType="fitCenter" />
+
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:background="?android:attr/dividerVertical" />
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp">
+ <TextView
+ android:id="@+id/perm_name"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textSize="16sp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentStart="true"
+ android:layout_alignParentTop="true" />
+ <ImageView
+ android:id="@+id/perm_money_icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentStart="true"
+ android:layout_below="@id/perm_name"
+ android:scaleType="fitCenter" />
+ <TextView
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textSize="16sp"
+ android:textColor="@color/perms_costs_money"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toEndOf="@id/perm_money_icon"
+ android:layout_below="@id/perm_name"
+ android:text="@string/perm_costs_money" />
+ </RelativeLayout>
+
+</view>
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index 4fbe002..3c0c0a7 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -207,6 +207,14 @@
<flag name="personalInfo" value="0x0001" />
</attr>
+ <!-- Flags indicating more context for a permission. -->
+ <attr name="permissionFlags">
+ <!-- Set to indicate that this permission allows an operation that
+ may cost the user money. Such permissions may be highlighted
+ when shown to the user with this additional information. -->
+ <flag name="costsMoney" value="0x0001" />
+ </attr>
+
<!-- Specified the name of a group that this permission is associated
with. The group must have been defined with the
{@link android.R.styleable#AndroidManifestPermissionGroup permission-group} tag. -->
@@ -894,6 +902,7 @@
<attr name="permissionGroup" />
<attr name="description" />
<attr name="protectionLevel" />
+ <attr name="permissionFlags" />
</declare-styleable>
<!-- The <code>permission-group</code> tag declares a logical grouping of
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index 41f902f..eba354b 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -18,8 +18,8 @@
*/
-->
<resources>
- <drawable name="screen_background_light">#ffffffff</drawable>
- <drawable name="screen_background_dark">#ff000000</drawable>
+ <drawable name="screen_background_light">#ffffffff</drawable>
+ <drawable name="screen_background_dark">#ff000000</drawable>
<drawable name="status_bar_closed_default_background">#ff000000</drawable>
<drawable name="status_bar_opened_default_background">#ff000000</drawable>
<drawable name="notification_item_background_color">#ff111111</drawable>
@@ -90,7 +90,8 @@
<color name="perms_dangerous_grp_color">#33b5e5</color>
<color name="perms_dangerous_perm_color">#33b5e5</color>
<color name="shadow">#cc222222</color>
-
+ <color name="perms_costs_money">#ffffb060</color>
+
<!-- For search-related UIs -->
<color name="search_url_text_normal">#7fa87f</color>
<color name="search_url_text_selected">@android:color/black</color>
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index 7dc19bf..f28fab1 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -2017,5 +2017,6 @@
<public type="attr" name="widgetCategory" />
<public type="attr" name="permissionGroupFlags" />
<public type="attr" name="labelFor" />
-
+ <public type="attr" name="permissionFlags" />
+
</resources>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 9a9e971..73a61b6 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -424,11 +424,6 @@
<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. -->
- <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>
@@ -827,10 +822,17 @@
to control whether activities are always finished as soon as they
go to the background. Never needed for normal apps.</string>
- <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
- <string name="permlab_batteryStats">modify battery statistics</string>
- <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
- <string name="permdesc_batteryStats">Allows the app to modify
+ <!-- [CHAR LIMIT=NONE] Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permlab_batteryStats">read battery statistics</string>
+ <!-- [CHAR LIMIT=NONE] Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permdesc_batteryStats">Allows an application to read the current low-level
+ battery use data. May allow the application to find out detailed information about
+ which apps you use.</string>
+
+ <!-- [CHAR LIMIT=NONE] Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permlab_updateBatteryStats">modify battery statistics</string>
+ <!-- [CHAR LIMIT=NONE] Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permdesc_updateBatteryStats">Allows the app to modify
collected battery statistics. Not for use by normal apps.</string>
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
@@ -853,9 +855,10 @@
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permlab_systemAlertWindow">draw over other apps</string>
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
- <string name="permdesc_systemAlertWindow">Allows the app to show system
- alert windows. Some alert windows may take over the entire screen.
- </string>
+ <string name="permdesc_systemAlertWindow">Allows the app to draw on top of other
+ applications or parts of the user interface. They may interfere with your
+ use of the interface in any application, or change what you think you are
+ seeing in other applications.</string>
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permlab_setAnimationScale">modify global animation speed</string>
@@ -1000,12 +1003,12 @@
<string name="permlab_clearAppCache">delete all app cache data</string>
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permdesc_clearAppCache" product="tablet">Allows the app to free tablet storage
- by deleting files in app cache directory. Access is very
- restricted usually to system process.</string>
+ by deleting files in the cache directories of other applications. This may cause other
+ applications to start up more slowly as they need to re-retrieve their data.</string>
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permdesc_clearAppCache" product="default">Allows the app to free phone storage
- by deleting files in app cache directory. Access is very
- restricted usually to system process.</string>
+ by deleting files in the cache directories of other applications. This may cause other
+ applications to start up more slowly as they need to re-retrieve their data.</string>
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permlab_movePackage">move app resources</string>
@@ -1632,7 +1635,7 @@
<string name="permdesc_bluetoothAdmin" product="default">Allows the app to configure
the local Bluetooth phone, and to discover and pair with remote devices.</string>
- <string name="permlab_accessWimaxState">View WiMAX connections</string>
+ <string name="permlab_accessWimaxState">connect and disconnect from WiMAX</string>
<string name="permdesc_accessWimaxState">Allows the app to determine whether
WiMAX is enabled and information about any WiMAX networks that are
connected. </string>
@@ -1701,7 +1704,7 @@
names and phrases that the user may have stored in the user dictionary.</string>
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
- <string name="permlab_writeDictionary">write to user-defined dictionary</string>
+ <string name="permlab_writeDictionary">add words to user-defined dictionary</string>
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permdesc_writeDictionary">Allows the app to write new words into the
user dictionary.</string>
@@ -3138,6 +3141,8 @@
<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>
+ <!-- [CHAR LIMIT=NONE] Additional text in permission description for perms that can cost money. -->
+ <string name="perm_costs_money">this may cost you money</string>
<!-- USB storage dialog strings -->
<!-- This is the title for the activity's window. -->
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 7286623..2bfb06d 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -991,6 +991,7 @@
<java-symbol type="layout" name="alert_dialog_progress" />
<java-symbol type="layout" name="always_use_checkbox" />
<java-symbol type="layout" name="app_permission_item" />
+ <java-symbol type="layout" name="app_permission_item_money" />
<java-symbol type="layout" name="app_permission_item_old" />
<java-symbol type="layout" name="app_perms_summary" />
<java-symbol type="layout" name="calendar_view" />