From 4dad9087ab85a13899e30ef0480dfe376454fdc3 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Wed, 24 Mar 2021 16:36:05 +0800 Subject: [PATCH] Fix resource problem in SettingsSliderPreferenceControllerTest Somehow Resource IDs are inconsistent between Settings and SettingsUnitTests. This is a workaround for NotFoundException in SettingsUnitTests. Bug: 183340630 Test: atest SettingsSliderPreferenceControllerTest Change-Id: I72fef4856317ebf9fb1a667ddb910878185aae39 --- .../android/settingslib/widget/TwoTargetPreference.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/SettingsLib/TwoTargetPreference/src/com/android/settingslib/widget/TwoTargetPreference.java b/packages/SettingsLib/TwoTargetPreference/src/com/android/settingslib/widget/TwoTargetPreference.java index 9130662021d54..17f257d3758ab 100644 --- a/packages/SettingsLib/TwoTargetPreference/src/com/android/settingslib/widget/TwoTargetPreference.java +++ b/packages/SettingsLib/TwoTargetPreference/src/com/android/settingslib/widget/TwoTargetPreference.java @@ -72,9 +72,9 @@ public class TwoTargetPreference extends Preference { private void init(Context context) { setLayoutResource(R.layout.preference_two_target); mSmallIconSize = context.getResources().getDimensionPixelSize( - R.dimen.two_target_pref_small_icon_size); + resourceId(context, "dimen", "two_target_pref_small_icon_size")); mMediumIconSize = context.getResources().getDimensionPixelSize( - R.dimen.two_target_pref_medium_icon_size); + resourceId(context, "dimen", "two_target_pref_medium_icon_size")); final int secondTargetResId = getSecondTargetResId(); if (secondTargetResId != 0) { setWidgetLayoutResource(secondTargetResId); @@ -116,4 +116,8 @@ public class TwoTargetPreference extends Preference { protected int getSecondTargetResId() { return 0; } + + private int resourceId(Context context, String type, String name) { + return context.getResources().getIdentifier(name, type, context.getPackageName()); + } }