summaryrefslogtreecommitdiff
path: root/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java
diff options
context:
space:
mode:
authorSudheer Shanka <sudheersai@google.com>2016-04-20 18:04:12 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-04-20 18:04:14 +0000
commitdf9ecfc587615edc80c6bf96e67d7dc4d510e03f (patch)
tree508be338ab368e2c21c7fdecf25d4605f399ce72 /packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java
parent801d4161dd9e872bec73d855d21d030ba39a8b91 (diff)
parenta1790c3b35fc1ea7a80c132f0059873328e51e9e (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.java29
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