diff options
author | Sudheer Shanka <sudheersai@google.com> | 2016-04-20 18:04:12 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-04-20 18:04:14 +0000 |
commit | df9ecfc587615edc80c6bf96e67d7dc4d510e03f (patch) | |
tree | 508be338ab368e2c21c7fdecf25d4605f399ce72 /packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java | |
parent | 801d4161dd9e872bec73d855d21d030ba39a8b91 (diff) | |
parent | a1790c3b35fc1ea7a80c132f0059873328e51e9e (diff) |
Merge "Add restrictedSwitchSummary attribute to restricted switch preferences." into nyc-dev
Diffstat (limited to 'packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java')
-rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java index b178e4870bed..1ad710a6d731 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java @@ -37,6 +37,7 @@ import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; public class RestrictedSwitchPreference extends SwitchPreference { RestrictedPreferenceHelper mHelper; boolean mUseAdditionalSummary = false; + String mRestrictedSwitchSummary = null; public RestrictedSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { @@ -45,14 +46,30 @@ public class RestrictedSwitchPreference extends SwitchPreference { mHelper = new RestrictedPreferenceHelper(context, this, attrs); if (attrs != null) { final TypedArray attributes = context.obtainStyledAttributes(attrs, - R.styleable.RestrictedPreference); - final TypedValue useAdditionalSummary = - attributes.peekValue(R.styleable.RestrictedPreference_useAdditionalSummary); + R.styleable.RestrictedSwitchPreference); + final TypedValue useAdditionalSummary = attributes.peekValue( + R.styleable.RestrictedSwitchPreference_useAdditionalSummary); if (useAdditionalSummary != null) { mUseAdditionalSummary = (useAdditionalSummary.type == TypedValue.TYPE_INT_BOOLEAN && useAdditionalSummary.data != 0); } + + final TypedValue restrictedSwitchSummary = attributes.peekValue( + R.styleable.RestrictedSwitchPreference_restrictedSwitchSummary); + CharSequence data = null; + if (restrictedSwitchSummary != null + && restrictedSwitchSummary.type == TypedValue.TYPE_STRING) { + if (restrictedSwitchSummary.resourceId != 0) { + data = context.getString(restrictedSwitchSummary.resourceId); + } else { + data = restrictedSwitchSummary.string; + } + } + mRestrictedSwitchSummary = data == null ? null : data.toString(); + } + if (mRestrictedSwitchSummary == null) { + mRestrictedSwitchSummary = context.getString(R.string.disabled_by_admin); } if (mUseAdditionalSummary) { setLayoutResource(R.layout.restricted_switch_preference); @@ -91,8 +108,7 @@ public class RestrictedSwitchPreference extends SwitchPreference { R.id.additional_summary); if (additionalSummaryView != null) { if (isDisabledByAdmin()) { - additionalSummaryView.setText( - isChecked() ? R.string.enabled_by_admin : R.string.disabled_by_admin); + additionalSummaryView.setText(mRestrictedSwitchSummary); additionalSummaryView.setVisibility(View.VISIBLE); } else { additionalSummaryView.setVisibility(View.GONE); @@ -102,8 +118,7 @@ public class RestrictedSwitchPreference extends SwitchPreference { final TextView summaryView = (TextView) holder.findViewById(android.R.id.summary); if (summaryView != null) { if (isDisabledByAdmin()) { - summaryView.setText( - isChecked() ? R.string.enabled_by_admin : R.string.disabled_by_admin); + summaryView.setText(mRestrictedSwitchSummary); summaryView.setVisibility(View.VISIBLE); } // No need to change the visibility to GONE in the else case here since Preference |