diff options
| author | 2018-08-30 11:06:49 -0700 | |
|---|---|---|
| committer | 2018-09-13 09:56:41 -0700 | |
| commit | 2d21d77e78e8bd9c06ac7a2192ff90e6d75c5390 (patch) | |
| tree | 04f550dc3e3ceb2761b22e3b27ca8f74dd0fb263 | |
| parent | beb077d987bed4e45a3e6ec7e3b8468ec66e1a0b (diff) | |
Make restricted lock icon system-api
Bug: 110953302
Test: CtsVerifier -> BYOD Managed Provision -> Permission Lockdown (test
created a permission disabled by admin)
Change-Id: I042668225227aabc9655d83307e60f7efe399d8d
15 files changed, 74 insertions, 22 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index e2c59cb10dd4..150f0239c05e 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -217,6 +217,14 @@ package android { field public static final int config_sendPackageName = 17891328; // 0x1110000 } + public static final class R.dimen { + field public static final int config_restricted_icon_size = 17104903; // 0x1050007 + } + + public static final class R.drawable { + field public static final int ic_info = 17301684; // 0x10800b4 + } + public static final class R.raw { field public static final int loaderror = 17825792; // 0x1100000 field public static final int nodomain = 17825793; // 0x1100001 diff --git a/packages/SettingsLib/res/drawable/ic_info.xml b/core/res/res/drawable/ic_info.xml index afe7e6b782ca..f14c4b4f251a 100644 --- a/packages/SettingsLib/res/drawable/ic_info.xml +++ b/core/res/res/drawable/ic_info.xml @@ -18,7 +18,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24" - android:tint="?android:attr/colorAccent"> + android:tint="?attr/colorControlNormal"> <path android:fillColor="@android:color/white" android:pathData="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 293d90e276b3..9462c8169884 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -3486,6 +3486,9 @@ <!-- Name of the font family used for system surfaces where the font should use medium weight --> <string name="config_headlineFontFamilyMedium">@string/font_family_button_material</string> + <!-- Size of icon shown beside a preference locked by admin --> + <dimen name="config_restricted_icon_size">@dimen/restricted_icon_size_material</dimen> + <string translatable="false" name="config_batterySaverDeviceSpecificConfig"></string> <!-- Package name that should be granted Notification Assistant access --> diff --git a/core/res/res/values/dimens_material.xml b/core/res/res/values/dimens_material.xml index 210f30eeb902..a0b40edd68a1 100644 --- a/core/res/res/values/dimens_material.xml +++ b/core/res/res/values/dimens_material.xml @@ -117,6 +117,9 @@ <!-- Default rounded corner for controls --> <dimen name="control_corner_material">2dp</dimen> + <!-- Size of icon shown beside a preference locked by admin --> + <dimen name="restricted_icon_size_material">16dp</dimen> + <dimen name="edit_text_inset_horizontal_material">4dp</dimen> <dimen name="edit_text_inset_top_material">10dp</dimen> <dimen name="edit_text_inset_bottom_material">7dp</dimen> diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index c751af3d0c82..cc99a4e4e640 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -2909,14 +2909,16 @@ <public name="opticalInsetBottom" /> <public name="allowForceDark" /> <public name="supportsAmbientMode" /> - </public-group> - - <public-group type="attr" first-id="0x0101058d"> <!-- @hide For use by platform and tools only. Developers should not specify this value. --> <public name="usesNonSdkApi" /> <public name="minimumUiTimeout" /> </public-group> + <public-group type="drawable" first-id="0x010800b4"> + <!-- @hide @SystemApi --> + <public name="ic_info" /> + </public-group> + <public-group type="style" first-id="0x010302e2"> </public-group> @@ -2943,6 +2945,11 @@ <public name="config_sendPackageName" /> </public-group> + <public-group type="dimen" first-id="0x01050007"> + <!-- @hide @SystemApi --> + <public name="config_restricted_icon_size" /> + </public-group> + <!-- =============================================================== DO NOT ADD UN-GROUPED ITEMS HERE diff --git a/packages/SettingsLib/HelpUtils/res/values/strings.xml b/packages/SettingsLib/HelpUtils/res/values/strings.xml index ae07f5de852b..3e882bcc5754 100644 --- a/packages/SettingsLib/HelpUtils/res/values/strings.xml +++ b/packages/SettingsLib/HelpUtils/res/values/strings.xml @@ -17,7 +17,7 @@ <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Label for Help and feedback menu item --> + <!-- Label for Help and feedback menu item [CHAR LIMIT=45]--> <string name="help_feedback_label">Help & feedback</string> </resources>
\ No newline at end of file diff --git a/packages/SettingsLib/RestrictedLockUtils/Android.bp b/packages/SettingsLib/RestrictedLockUtils/Android.bp index d4c9794bda63..b2f088257bb9 100644 --- a/packages/SettingsLib/RestrictedLockUtils/Android.bp +++ b/packages/SettingsLib/RestrictedLockUtils/Android.bp @@ -2,6 +2,7 @@ android_library { name: "SettingsLibRestrictedLockUtils", srcs: ["src/**/*.java"], + resource_dirs: ["res"], libs: [ "androidx.annotation_annotation", diff --git a/packages/SettingsLib/res/layout/restricted_icon.xml b/packages/SettingsLib/RestrictedLockUtils/res/layout/restricted_icon.xml index 724a524ad46a..0f02abd94216 100644 --- a/packages/SettingsLib/res/layout/restricted_icon.xml +++ b/packages/SettingsLib/RestrictedLockUtils/res/layout/restricted_icon.xml @@ -15,6 +15,7 @@ --> <ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/restricted_icon" - android:layout_width="@dimen/restricted_icon_size" - android:layout_height="@dimen/restricted_icon_size" - android:src="@drawable/ic_info" />
\ No newline at end of file + android:layout_width="@*android:dimen/config_restricted_icon_size" + android:layout_height="@*android:dimen/config_restricted_icon_size" + android:tint="?android:attr/colorAccent" + android:src="@*android:drawable/ic_info" /> diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values/strings.xml new file mode 100644 index 000000000000..7e4460ba815d --- /dev/null +++ b/packages/SettingsLib/RestrictedLockUtils/res/values/strings.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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. + --> + +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + + <!-- Summary for switch preference to denote it is switched on [CHAR LIMIT=50] --> + <string name="enabled_by_admin">Enabled by admin</string> + <!-- Summary for switch preference to denote it is switched off [CHAR LIMIT=50] --> + <string name="disabled_by_admin">Disabled by admin</string> + +</resources>
\ No newline at end of file diff --git a/packages/SettingsLib/res/layout/restricted_switch_widget.xml b/packages/SettingsLib/res/layout/restricted_switch_widget.xml index b286df0e52e3..e1f6cdf57101 100644 --- a/packages/SettingsLib/res/layout/restricted_switch_widget.xml +++ b/packages/SettingsLib/res/layout/restricted_switch_widget.xml @@ -16,9 +16,10 @@ <merge xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/restricted_icon" - android:layout_width="@dimen/restricted_icon_size" - android:layout_height="@dimen/restricted_icon_size" - android:src="@drawable/ic_info" + android:layout_width="@*android:dimen/config_restricted_icon_size" + android:layout_height="@*android:dimen/config_restricted_icon_size" + android:tint="?android:attr/colorAccent" + android:src="@*android:drawable/ic_info" android:gravity="end|center_vertical" /> <!-- Based off frameworks/base/core/res/res/layout/preference_widget_switch.xml --> <Switch xmlns:android="http://schemas.android.com/apk/res/android" @@ -28,4 +29,4 @@ android:focusable="false" android:clickable="false" android:background="@null" /> -</merge>
\ No newline at end of file +</merge> diff --git a/packages/SettingsLib/res/values/dimens.xml b/packages/SettingsLib/res/values/dimens.xml index 8094b021fa00..a9c5061f6d87 100644 --- a/packages/SettingsLib/res/values/dimens.xml +++ b/packages/SettingsLib/res/values/dimens.xml @@ -36,7 +36,6 @@ <dimen name="two_target_pref_medium_icon_size">32dp</dimen> <!-- Lock icon for preferences locked by admin --> - <dimen name="restricted_icon_size">16dp</dimen> <dimen name="restricted_icon_padding">4dp</dimen> <dimen name="wifi_preference_badge_padding">8dip</dimen> diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml index ea6844ef2740..332ced66ef77 100644 --- a/packages/SettingsLib/res/values/strings.xml +++ b/packages/SettingsLib/res/values/strings.xml @@ -965,11 +965,6 @@ <!-- Summary for settings preference disabled by administrator [CHAR LIMIT=50] --> <string name="disabled_by_admin_summary_text">Controlled by admin</string> - <!-- Summary for switch preference to denote it is switched on [CHAR LIMIT=50] --> - <string name="enabled_by_admin">Enabled by admin</string> - <!-- Summary for switch preference to denote it is switched off [CHAR LIMIT=50] --> - <string name="disabled_by_admin">Disabled by admin</string> - <!-- [CHAR LIMIT=25] Manage applications, text telling using an application is disabled. --> <string name="disabled">Disabled</string> <!-- Summary of app trusted to install apps [CHAR LIMIT=45] --> diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java index 0094c2c32ef8..c03ba9a93294 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java @@ -29,6 +29,7 @@ import android.content.Context; import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.content.pm.UserInfo; +import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.os.RemoteException; import android.os.UserHandle; @@ -55,9 +56,15 @@ public class RestrictedLockUtilsInternal extends RestrictedLockUtils { * @return drawables for displaying with settings that are locked by a device admin. */ public static Drawable getRestrictedPadlock(Context context) { - Drawable restrictedPadlock = context.getDrawable(R.drawable.ic_info); + Drawable restrictedPadlock = context.getDrawable(android.R.drawable.ic_info); final int iconSize = context.getResources().getDimensionPixelSize( - R.dimen.restricted_icon_size); + android.R.dimen.config_restricted_icon_size); + + TypedArray ta = context.obtainStyledAttributes(new int[]{android.R.attr.colorAccent}); + int colorAccent = ta.getColor(0, 0); + ta.recycle(); + restrictedPadlock.setTint(colorAccent); + restrictedPadlock.setBounds(0, 0, iconSize, iconSize); return restrictedPadlock; } diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/SettingsLibRobolectricTestRunner.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/SettingsLibRobolectricTestRunner.java index dde17462a6f9..0ca2e87de336 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/SettingsLibRobolectricTestRunner.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/SettingsLibRobolectricTestRunner.java @@ -52,6 +52,8 @@ public class SettingsLibRobolectricTestRunner extends RobolectricTestRunner { @Override public List<ResourcePath> getIncludedResourcePaths() { final List<ResourcePath> paths = super.getIncludedResourcePaths(); + paths.add(resourcePath("file:frameworks/base/packages/SettingsLib/HelpUtils/res")); + paths.add(resourcePath("file:frameworks/base/packages/SettingsLib/RestrictedLockUtils/res")); paths.add(resourcePath("file:frameworks/base/packages/SettingsLib/res")); paths.add(resourcePath("file:frameworks/base/core/res/res")); paths.add(resourcePath("file:out/soong/.intermediates/prebuilts/sdk/current/androidx/androidx.appcompat_appcompat-nodeps/android_common/aar/res/")); diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java index a501ffa1200e..40e7386cf5af 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java @@ -77,10 +77,10 @@ public class TileTest { @Test public void getIcon_hasIconMetadata_returnIcon() { - mActivityInfo.metaData.putInt(META_DATA_PREFERENCE_ICON, R.drawable.ic_info); + mActivityInfo.metaData.putInt(META_DATA_PREFERENCE_ICON, android.R.drawable.ic_info); assertThat(mTile.getIcon(RuntimeEnvironment.application).getResId()) - .isEqualTo(R.drawable.ic_info); + .isEqualTo(android.R.drawable.ic_info); } @Test |