diff --git a/res/xml/zen_mode_custom_rule_settings.xml b/res/xml/zen_mode_custom_rule_settings.xml index 169a94f4216..8f360b9cedd 100644 --- a/res/xml/zen_mode_custom_rule_settings.xml +++ b/res/xml/zen_mode_custom_rule_settings.xml @@ -22,11 +22,11 @@ - - diff --git a/res/xml/zen_mode_restrict_notifications_settings.xml b/res/xml/zen_mode_restrict_notifications_settings.xml index f5e7615d5e9..051c20855f1 100644 --- a/res/xml/zen_mode_restrict_notifications_settings.xml +++ b/res/xml/zen_mode_restrict_notifications_settings.xml @@ -23,19 +23,19 @@ - - - diff --git a/src/com/android/settings/display/ScreenTimeoutSettings.java b/src/com/android/settings/display/ScreenTimeoutSettings.java index 290e4fff9cf..a0d78d54182 100644 --- a/src/com/android/settings/display/ScreenTimeoutSettings.java +++ b/src/com/android/settings/display/ScreenTimeoutSettings.java @@ -36,13 +36,13 @@ import com.android.settings.search.actionbar.SearchMenuController; import com.android.settings.support.actionbar.HelpMenuController; import com.android.settings.support.actionbar.HelpResourceProvider; import com.android.settings.widget.RadioButtonPickerFragment; -import com.android.settings.widget.RadioButtonPreferenceWithExtraWidget; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.search.SearchIndexableRaw; import com.android.settingslib.widget.CandidateInfo; import com.android.settingslib.widget.FooterPreference; +import com.android.settingslib.widget.RadioButtonPreference; import com.google.common.annotations.VisibleForTesting; @@ -126,8 +126,8 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements } for (CandidateInfo info : candidateList) { - RadioButtonPreferenceWithExtraWidget pref = - new RadioButtonPreferenceWithExtraWidget(getPrefContext()); + RadioButtonPreference pref = + new RadioButtonPreference(getPrefContext()); bindPreference(pref, info.getKey(), info, defaultKey); screen.addPreference(pref); } diff --git a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java index bed14a81726..ddcdd59d3ac 100644 --- a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java +++ b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java @@ -21,9 +21,6 @@ import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_2BUTTON_OVE import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_3BUTTON_OVERLAY; import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL_OVERLAY; -import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_GONE; -import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_SETTING; - import android.app.settings.SettingsEnums; import android.content.Context; import android.content.Intent; @@ -49,7 +46,6 @@ import com.android.settings.support.actionbar.HelpMenuController; import com.android.settings.support.actionbar.HelpResourceProvider; import com.android.settings.utils.CandidateInfoExtra; import com.android.settings.widget.RadioButtonPickerFragment; -import com.android.settings.widget.RadioButtonPreferenceWithExtraWidget; import com.android.settings.widget.VideoPreference; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.CandidateInfo; @@ -119,8 +115,8 @@ public class SystemNavigationGestureSettings extends RadioButtonPickerFragment i return; } for (CandidateInfo info : candidateList) { - RadioButtonPreferenceWithExtraWidget pref = - new RadioButtonPreferenceWithExtraWidget(getPrefContext()); + RadioButtonPreference pref = + new RadioButtonPreference(getPrefContext()); bindPreference(pref, info.getKey(), info, defaultKey); bindPreferenceExtra(pref, info.getKey(), info, defaultKey, systemDefaultKey); screen.addPreference(pref); @@ -131,20 +127,15 @@ public class SystemNavigationGestureSettings extends RadioButtonPickerFragment i @Override public void bindPreferenceExtra(RadioButtonPreference pref, String key, CandidateInfo info, String defaultKey, String systemDefaultKey) { - if (!(info instanceof CandidateInfoExtra) - || !(pref instanceof RadioButtonPreferenceWithExtraWidget)) { + if (!(info instanceof CandidateInfoExtra)) { return; } pref.setSummary(((CandidateInfoExtra) info).loadSummary()); - RadioButtonPreferenceWithExtraWidget p = (RadioButtonPreferenceWithExtraWidget) pref; if (info.getKey() == KEY_SYSTEM_NAV_GESTURAL) { - p.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_SETTING); - p.setExtraWidgetOnClickListener((v) -> startActivity(new Intent( + pref.setExtraWidgetOnClickListener((v) -> startActivity(new Intent( GestureNavigationSettingsFragment.GESTURE_NAVIGATION_SETTINGS))); - } else { - p.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_GONE); } } diff --git a/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreference.java b/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreference.java deleted file mode 100644 index 57f48918995..00000000000 --- a/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreference.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * 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. - */ - -package com.android.settings.notification.zen; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.View; -import android.widget.RadioButton; - -import androidx.preference.PreferenceViewHolder; - -import com.android.settings.R; -import com.android.settingslib.TwoTargetPreference; - -/** - * A radio button preference with a divider and a settings icon that links to another screen. - */ -public class ZenCustomRadioButtonPreference extends TwoTargetPreference - implements View.OnClickListener { - - private RadioButton mButton; - private boolean mChecked; - - private OnGearClickListener mOnGearClickListener; - private OnRadioButtonClickListener mOnRadioButtonClickListener; - - public ZenCustomRadioButtonPreference(Context context, AttributeSet attrs, - int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - setLayoutResource(R.layout.preference_two_target_radio); - } - - public ZenCustomRadioButtonPreference(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - setLayoutResource(R.layout.preference_two_target_radio); - } - - public ZenCustomRadioButtonPreference(Context context, AttributeSet attrs) { - super(context, attrs); - setLayoutResource(R.layout.preference_two_target_radio); - } - - public ZenCustomRadioButtonPreference(Context context) { - super(context); - setLayoutResource(R.layout.preference_two_target_radio); - } - - @Override - protected int getSecondTargetResId() { - return R.layout.preference_widget_gear; - } - - public void setOnGearClickListener(OnGearClickListener l) { - mOnGearClickListener = l; - notifyChanged(); - } - - public void setOnRadioButtonClickListener(OnRadioButtonClickListener l) { - mOnRadioButtonClickListener = l; - notifyChanged(); - } - - @Override - public void onBindViewHolder(PreferenceViewHolder holder) { - super.onBindViewHolder(holder); - View buttonFrame = holder.findViewById(R.id.checkbox_frame); - if (buttonFrame != null) { - buttonFrame.setOnClickListener(this); - } - mButton = (RadioButton) holder.findViewById(android.R.id.checkbox); - if (mButton != null) { - mButton.setChecked(mChecked); - } - - final View gear = holder.findViewById(android.R.id.widget_frame); - final View divider = holder.findViewById(R.id.two_target_divider); - if (mOnGearClickListener != null) { - divider.setVisibility(View.VISIBLE); - gear.setVisibility(View.VISIBLE); - gear.setOnClickListener(this); - } else { - divider.setVisibility(View.GONE); - gear.setVisibility(View.GONE); - gear.setOnClickListener(null); - } - } - - public boolean isChecked() { - return mButton != null && mChecked; - } - - public void setChecked(boolean checked) { - mChecked = checked; - if (mButton != null) { - mButton.setChecked(checked); - } - } - - public RadioButton getRadioButton() { - return mButton; - } - - @Override - public void onClick() { - if (mOnRadioButtonClickListener != null) { - mOnRadioButtonClickListener.onRadioButtonClick(this); - } - } - - @Override - public void onClick(View v) { - if (v.getId() == android.R.id.widget_frame) { - if (mOnGearClickListener != null) { - mOnGearClickListener.onGearClick(this); - } - } else if (v.getId() == R.id.checkbox_frame) { - if (mOnRadioButtonClickListener != null) { - mOnRadioButtonClickListener.onRadioButtonClick(this); - } - } - } - - public interface OnGearClickListener { - void onGearClick(ZenCustomRadioButtonPreference p); - } - - public interface OnRadioButtonClickListener { - void onRadioButtonClick(ZenCustomRadioButtonPreference p); - } -} diff --git a/src/com/android/settings/notification/zen/ZenModePriorityConversationsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModePriorityConversationsPreferenceController.java index e77f4eac2ac..5afe0b63326 100644 --- a/src/com/android/settings/notification/zen/ZenModePriorityConversationsPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModePriorityConversationsPreferenceController.java @@ -16,9 +16,6 @@ package com.android.settings.notification.zen; -import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_GONE; -import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_SETTING; - import android.app.NotificationManager; import android.app.settings.SettingsEnums; import android.content.Context; @@ -37,7 +34,6 @@ import com.android.settings.R; import com.android.settings.core.SubSettingLauncher; import com.android.settings.notification.NotificationBackend; import com.android.settings.notification.app.ConversationListSettings; -import com.android.settings.widget.RadioButtonPreferenceWithExtraWidget; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.widget.RadioButtonPreference; @@ -186,13 +182,10 @@ public class ZenModePriorityConversationsPreferenceController } private RadioButtonPreference makeRadioPreference(String key, int titleId) { - RadioButtonPreferenceWithExtraWidget pref = - new RadioButtonPreferenceWithExtraWidget(mPreferenceCategory.getContext()); + final RadioButtonPreference pref = + new RadioButtonPreference(mPreferenceCategory.getContext()); if (KEY_ALL.equals(key) || KEY_IMPORTANT.equals(key)) { pref.setExtraWidgetOnClickListener(mConversationSettingsWidgetClickListener); - pref.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_SETTING); - } else { - pref.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_GONE); } pref.setKey(key); pref.setTitle(titleId); diff --git a/src/com/android/settings/notification/zen/ZenModePrioritySendersPreferenceController.java b/src/com/android/settings/notification/zen/ZenModePrioritySendersPreferenceController.java index abf2cedd3dc..482865c40ab 100644 --- a/src/com/android/settings/notification/zen/ZenModePrioritySendersPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModePrioritySendersPreferenceController.java @@ -19,9 +19,6 @@ package com.android.settings.notification.zen; import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CALLS; import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES; -import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_GONE; -import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_SETTING; - import android.app.NotificationManager; import android.content.Context; import android.content.Intent; @@ -35,7 +32,6 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; import com.android.settings.R; -import com.android.settings.widget.RadioButtonPreferenceWithExtraWidget; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.widget.RadioButtonPreference; @@ -67,7 +63,7 @@ public class ZenModePrioritySendersPreferenceController private final boolean mIsMessages; // if this is false, then this preference is for calls private PreferenceCategory mPreferenceCategory; - private List mRadioButtonPreferences = new ArrayList<>(); + private List mRadioButtonPreferences = new ArrayList<>(); public ZenModePrioritySendersPreferenceController(Context context, String key, Lifecycle lifecycle, boolean isMessages) { @@ -114,7 +110,7 @@ public class ZenModePrioritySendersPreferenceController public void updateState(Preference preference) { final int currSetting = getPrioritySenders(); - for (RadioButtonPreferenceWithExtraWidget pref : mRadioButtonPreferences) { + for (RadioButtonPreference pref : mRadioButtonPreferences) { pref.setChecked(keyToSetting(pref.getKey()) == currSetting); } } @@ -126,7 +122,7 @@ public class ZenModePrioritySendersPreferenceController } private void updateSummaries() { - for (RadioButtonPreferenceWithExtraWidget pref : mRadioButtonPreferences) { + for (RadioButtonPreference pref : mRadioButtonPreferences) { pref.setSummary(getSummary(pref.getKey())); } } @@ -169,9 +165,9 @@ public class ZenModePrioritySendersPreferenceController } } - private RadioButtonPreferenceWithExtraWidget makeRadioPreference(String key, int titleId) { - RadioButtonPreferenceWithExtraWidget pref = - new RadioButtonPreferenceWithExtraWidget(mPreferenceCategory.getContext()); + private RadioButtonPreference makeRadioPreference(String key, int titleId) { + final RadioButtonPreference pref = + new RadioButtonPreference(mPreferenceCategory.getContext()); pref.setKey(key); pref.setTitle(titleId); pref.setOnClickListener(mRadioButtonClickListener); @@ -179,9 +175,6 @@ public class ZenModePrioritySendersPreferenceController View.OnClickListener widgetClickListener = getWidgetClickListener(key); if (widgetClickListener != null) { pref.setExtraWidgetOnClickListener(widgetClickListener); - pref.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_SETTING); - } else { - pref.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_GONE); } mPreferenceCategory.addPreference(pref); diff --git a/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceController.java index f729be8bed3..735ce7915b5 100644 --- a/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceController.java @@ -24,12 +24,13 @@ import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; public class ZenModeVisEffectsAllPreferenceController extends AbstractZenModePreferenceController - implements ZenCustomRadioButtonPreference.OnRadioButtonClickListener { + implements RadioButtonPreference.OnClickListener { - private ZenCustomRadioButtonPreference mPreference; + private RadioButtonPreference mPreference; protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF | Policy.SUPPRESSED_EFFECT_SCREEN_ON @@ -50,7 +51,7 @@ public class ZenModeVisEffectsAllPreferenceController public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mPreference = screen.findPreference(getPreferenceKey()); - mPreference.setOnRadioButtonClickListener(this); + mPreference.setOnClickListener(this); } @Override @@ -68,7 +69,7 @@ public class ZenModeVisEffectsAllPreferenceController } @Override - public void onRadioButtonClick(ZenCustomRadioButtonPreference p) { + public void onRadioButtonClicked(RadioButtonPreference p) { mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_AND_VIS_EFFECTS, true); mBackend.saveVisualEffectsPolicy(EFFECTS, true); diff --git a/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceController.java index a772eb5e734..535dca3976a 100644 --- a/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceController.java @@ -26,11 +26,12 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.SubSettingLauncher; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; public class ZenModeVisEffectsCustomPreferenceController extends AbstractZenModePreferenceController { - private ZenCustomRadioButtonPreference mPreference; + private RadioButtonPreference mPreference; protected static final int INTERRUPTIVE_EFFECTS = NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT @@ -53,12 +54,11 @@ public class ZenModeVisEffectsCustomPreferenceController super.displayPreference(screen); mPreference = screen.findPreference(getPreferenceKey()); - mPreference.setOnGearClickListener(p -> { + mPreference.setExtraWidgetOnClickListener(p -> { launchCustomSettings(); - }); - mPreference.setOnRadioButtonClickListener(p -> { + mPreference.setOnClickListener(p -> { launchCustomSettings(); }); } diff --git a/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceController.java b/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceController.java index 84037b9952f..8723ea8dc43 100644 --- a/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceController.java @@ -24,12 +24,13 @@ import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; public class ZenModeVisEffectsNonePreferenceController extends AbstractZenModePreferenceController - implements ZenCustomRadioButtonPreference.OnRadioButtonClickListener { + implements RadioButtonPreference.OnClickListener { - private ZenCustomRadioButtonPreference mPreference; + private RadioButtonPreference mPreference; protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF | Policy.SUPPRESSED_EFFECT_SCREEN_ON @@ -50,7 +51,7 @@ public class ZenModeVisEffectsNonePreferenceController public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mPreference = screen.findPreference(getPreferenceKey()); - mPreference.setOnRadioButtonClickListener(this); + mPreference.setOnClickListener(this); } @Override @@ -67,7 +68,7 @@ public class ZenModeVisEffectsNonePreferenceController } @Override - public void onRadioButtonClick(ZenCustomRadioButtonPreference preference) { + public void onRadioButtonClicked(RadioButtonPreference preference) { mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_ONLY, true); mBackend.saveVisualEffectsPolicy(EFFECTS, false); diff --git a/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceController.java index 56b98ff2256..2cf8679326f 100644 --- a/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceController.java @@ -25,11 +25,12 @@ import androidx.preference.PreferenceScreen; import com.android.settings.core.SubSettingLauncher; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; public class ZenRuleCustomPolicyPreferenceController extends AbstractZenCustomRulePreferenceController { - private ZenCustomRadioButtonPreference mPreference; + private RadioButtonPreference mPreference; public ZenRuleCustomPolicyPreferenceController(Context context, Lifecycle lifecycle, String key) { @@ -41,13 +42,12 @@ public class ZenRuleCustomPolicyPreferenceController extends super.displayPreference(screen); mPreference = screen.findPreference(getPreferenceKey()); - mPreference.setOnGearClickListener(p -> { + mPreference.setExtraWidgetOnClickListener(p -> { setCustomPolicy(); launchCustomSettings(); - }); - mPreference.setOnRadioButtonClickListener(p -> { + mPreference.setOnClickListener(p -> { setCustomPolicy(); launchCustomSettings(); }); diff --git a/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceController.java index 268156b5167..372f1524443 100644 --- a/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceController.java @@ -26,11 +26,12 @@ import androidx.preference.PreferenceScreen; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; public class ZenRuleDefaultPolicyPreferenceController extends AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin { - private ZenCustomRadioButtonPreference mPreference; + private RadioButtonPreference mPreference; public ZenRuleDefaultPolicyPreferenceController(Context context, Lifecycle lifecycle, String key) { @@ -42,7 +43,7 @@ public class ZenRuleDefaultPolicyPreferenceController extends super.displayPreference(screen); mPreference = screen.findPreference(getPreferenceKey()); - mPreference.setOnRadioButtonClickListener(p -> { + mPreference.setOnClickListener(p -> { mRule.setZenPolicy(null); mBackend.updateZenRule(mId, mRule); }); diff --git a/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceController.java index fb46209e913..6e9152fa301 100644 --- a/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceController.java @@ -27,11 +27,12 @@ import androidx.preference.PreferenceScreen; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; public class ZenRuleVisEffectsAllPreferenceController extends AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin { - private ZenCustomRadioButtonPreference mPreference; + private RadioButtonPreference mPreference; public ZenRuleVisEffectsAllPreferenceController(Context context, Lifecycle lifecycle, String key) { @@ -43,7 +44,7 @@ public class ZenRuleVisEffectsAllPreferenceController extends super.displayPreference(screen); mPreference = screen.findPreference(getPreferenceKey()); - mPreference.setOnRadioButtonClickListener(p -> { + mPreference.setOnClickListener(p -> { mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_ONLY, Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId)); mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy()) diff --git a/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceController.java index 68ab818620f..d7c5f86cc36 100644 --- a/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceController.java @@ -27,11 +27,12 @@ import com.android.internal.logging.nano.MetricsProto; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.SubSettingLauncher; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; public class ZenRuleVisEffectsCustomPreferenceController extends AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin { - private ZenCustomRadioButtonPreference mPreference; + private RadioButtonPreference mPreference; public ZenRuleVisEffectsCustomPreferenceController(Context context, Lifecycle lifecycle, String key) { @@ -43,12 +44,12 @@ public class ZenRuleVisEffectsCustomPreferenceController extends super.displayPreference(screen); mPreference = screen.findPreference(getPreferenceKey()); - mPreference.setOnGearClickListener(p -> { + mPreference.setOnClickListener(p -> { launchCustomSettings(); }); - mPreference.setOnRadioButtonClickListener(p -> { + mPreference.setExtraWidgetOnClickListener(p -> { launchCustomSettings(); }); } diff --git a/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceController.java index cb3e690fcd0..5484ed50ddb 100644 --- a/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceController.java @@ -27,11 +27,12 @@ import androidx.preference.PreferenceScreen; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; public class ZenRuleVisEffectsNonePreferenceController extends AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin { - private ZenCustomRadioButtonPreference mPreference; + private RadioButtonPreference mPreference; public ZenRuleVisEffectsNonePreferenceController(Context context, Lifecycle lifecycle, String key) { @@ -43,7 +44,7 @@ public class ZenRuleVisEffectsNonePreferenceController extends super.displayPreference(screen); mPreference = screen.findPreference(getPreferenceKey()); - mPreference.setOnRadioButtonClickListener(p -> { + mPreference.setOnClickListener(p -> { mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_AND_VIS_EFFECTS, Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId)); mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy()) diff --git a/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidget.java b/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidget.java deleted file mode 100644 index 2b28ec1e5f4..00000000000 --- a/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidget.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (C) 2019 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 - */ - -package com.android.settings.widget; - -import android.content.Context; -import android.view.View; -import android.widget.ImageView; - -import androidx.preference.PreferenceViewHolder; - -import com.android.settings.R; -import com.android.settingslib.widget.RadioButtonPreference; - -public class RadioButtonPreferenceWithExtraWidget extends RadioButtonPreference { - public static final int EXTRA_WIDGET_VISIBILITY_GONE = 0; - public static final int EXTRA_WIDGET_VISIBILITY_INFO = 1; - public static final int EXTRA_WIDGET_VISIBILITY_SETTING = 2; - - private View mExtraWidgetDivider; - private ImageView mExtraWidget; - - private int mExtraWidgetVisibility = EXTRA_WIDGET_VISIBILITY_GONE; - private View.OnClickListener mExtraWidgetOnClickListener; - - public RadioButtonPreferenceWithExtraWidget(Context context) { - super(context, null); - setLayoutResource(R.layout.preference_radio_with_extra_widget); - } - - @Override - public void onBindViewHolder(PreferenceViewHolder view) { - super.onBindViewHolder(view); - - mExtraWidget = (ImageView) view.findViewById(R.id.radio_extra_widget); - mExtraWidgetDivider = view.findViewById(R.id.radio_extra_widget_divider); - setExtraWidgetVisibility(mExtraWidgetVisibility); - - if (mExtraWidgetOnClickListener != null) { - setExtraWidgetOnClickListener(mExtraWidgetOnClickListener); - } - } - - public void setExtraWidgetVisibility(int visibility) { - mExtraWidgetVisibility = visibility; - if (mExtraWidget == null || mExtraWidgetDivider == null) { - return; - } - - if (visibility == EXTRA_WIDGET_VISIBILITY_GONE) { - mExtraWidget.setClickable(false); - mExtraWidget.setVisibility(View.GONE); - mExtraWidgetDivider.setVisibility(View.GONE); - } else { - mExtraWidget.setClickable(true); - mExtraWidget.setVisibility(View.VISIBLE); - mExtraWidgetDivider.setVisibility(View.VISIBLE); - if (mExtraWidgetVisibility == EXTRA_WIDGET_VISIBILITY_INFO) { - mExtraWidget.setImageResource(R.drawable.ic_settings_about); - mExtraWidget.setContentDescription( - getContext().getResources().getText(R.string.information_label)); - } else if (mExtraWidgetVisibility == EXTRA_WIDGET_VISIBILITY_SETTING) { - mExtraWidget.setImageResource(R.drawable.ic_settings_accent); - mExtraWidget.setContentDescription( - getContext().getResources().getText(R.string.settings_label)); - } - } - } - - public void setExtraWidgetOnClickListener(View.OnClickListener listener) { - mExtraWidgetOnClickListener = listener; - if (mExtraWidget != null) { - mExtraWidget.setEnabled(true); - mExtraWidget.setOnClickListener(listener); - } - } -} \ No newline at end of file diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreferenceTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreferenceTest.java deleted file mode 100644 index f6e51cd8664..00000000000 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreferenceTest.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * 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. - */ - -package com.android.settings.notification.zen; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; - -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.RadioButton; - -import androidx.preference.PreferenceViewHolder; - -import com.android.settings.R; -import com.android.settings.notification.zen.ZenCustomRadioButtonPreference; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; - -@RunWith(RobolectricTestRunner.class) -public class ZenCustomRadioButtonPreferenceTest { - - private Context mContext; - - @Before - public void setUp() { - mContext = RuntimeEnvironment.application; - } - - @Test - public void createNewPreference_shouldSetLayout() { - final ZenCustomRadioButtonPreference preference - = new ZenCustomRadioButtonPreference(mContext); - - assertThat(preference.getLayoutResource()).isEqualTo(R.layout.preference_two_target_radio); - assertThat(preference.getWidgetLayoutResource()) - .isEqualTo(R.layout.preference_widget_gear); - } - - @Test - public void setChecked_shouldUpdateButtonCheckedState() { - final ZenCustomRadioButtonPreference preference = - new ZenCustomRadioButtonPreference(mContext); - final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests( - LayoutInflater.from(mContext).inflate( - R.layout.preference_two_target_radio, null)); - final RadioButton toggle = (RadioButton) holder.findViewById(android.R.id.checkbox); - preference.onBindViewHolder(holder); - - preference.setChecked(true); - assertThat(toggle.isChecked()).isTrue(); - - preference.setChecked(false); - assertThat(toggle.isChecked()).isFalse(); - } - - @Test - public void clickRadioButton_shouldNotifyRadioButtonClicked() { - final ZenCustomRadioButtonPreference preference - = new ZenCustomRadioButtonPreference(mContext); - final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests( - LayoutInflater.from(mContext).inflate(R.layout.preference_two_target_radio, null)); - final View toggle = holder.findViewById(R.id.checkbox_frame); - - ZenCustomRadioButtonPreference.OnRadioButtonClickListener l = mock( - ZenCustomRadioButtonPreference.OnRadioButtonClickListener.class); - preference.setOnRadioButtonClickListener(l); - preference.onBindViewHolder(holder); - - toggle.performClick(); - verify(l).onRadioButtonClick(preference); - } - - @Test - public void clickWidgetView_shouldNotifyWidgetClicked() { - final ZenCustomRadioButtonPreference preference = - new ZenCustomRadioButtonPreference(mContext); - final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests( - LayoutInflater.from(mContext).inflate(R.layout.preference_two_target_radio, null)); - final View widgetView = holder.findViewById(android.R.id.widget_frame); - - ZenCustomRadioButtonPreference.OnGearClickListener l = mock( - ZenCustomRadioButtonPreference.OnGearClickListener.class); - preference.setOnGearClickListener(l); - preference.onBindViewHolder(holder); - - widgetView.performClick(); - verify(l).onGearClick(preference); - } -} diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceControllerTest.java index 05537f3798d..45a40d3ee0a 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceControllerTest.java @@ -40,11 +40,9 @@ import android.content.Context; import androidx.preference.PreferenceScreen; -import com.android.settings.notification.zen.ZenCustomRadioButtonPreference; -import com.android.settings.notification.zen.ZenModeBackend; -import com.android.settings.notification.zen.ZenModeVisEffectsAllPreferenceController; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; @@ -63,7 +61,7 @@ public class ZenModeVisEffectsAllPreferenceControllerTest { @Mock private ZenModeBackend mBackend; @Mock - private ZenCustomRadioButtonPreference mockPref; + private RadioButtonPreference mPref; private Context mContext; private FakeFeatureFactory mFeatureFactory; @Mock @@ -86,7 +84,7 @@ public class ZenModeVisEffectsAllPreferenceControllerTest { mContext, mock(Lifecycle.class), PREF_KEY); ReflectionHelpers.setField(mController, "mBackend", mBackend); - when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref); + when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPref); mController.displayPreference(mScreen); } @@ -98,9 +96,9 @@ public class ZenModeVisEffectsAllPreferenceControllerTest { @Test public void updateState_notChecked() { mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1); - mController.updateState(mockPref); + mController.updateState(mPref); - verify(mockPref).setChecked(false); + verify(mPref).setChecked(false); } @Test @@ -115,9 +113,9 @@ public class ZenModeVisEffectsAllPreferenceControllerTest { | SUPPRESSED_EFFECT_PEEK | SUPPRESSED_EFFECT_NOTIFICATION_LIST; mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed); - mController.updateState(mockPref); + mController.updateState(mPref); - verify(mockPref).setChecked(true); + verify(mPref).setChecked(true); } @Test @@ -132,7 +130,7 @@ public class ZenModeVisEffectsAllPreferenceControllerTest { | SUPPRESSED_EFFECT_PEEK | SUPPRESSED_EFFECT_NOTIFICATION_LIST; mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1); - mController.onRadioButtonClick(mockPref); + mController.onRadioButtonClicked(mPref); verify(mBackend).saveVisualEffectsPolicy(allSuppressed, true); verify(mFeatureFactory.metricsFeatureProvider).action(eq(mContext), eq(ACTION_ZEN_SOUND_AND_VIS_EFFECTS), diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceControllerTest.java index baea9ef3626..88c2c501380 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceControllerTest.java @@ -38,11 +38,9 @@ import android.content.Context; import androidx.preference.PreferenceScreen; -import com.android.settings.notification.zen.ZenCustomRadioButtonPreference; -import com.android.settings.notification.zen.ZenModeBackend; -import com.android.settings.notification.zen.ZenModeVisEffectsCustomPreferenceController; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; @@ -61,7 +59,7 @@ public class ZenModeVisEffectsCustomPreferenceControllerTest { @Mock private ZenModeBackend mBackend; @Mock - private ZenCustomRadioButtonPreference mockPref; + private RadioButtonPreference mPref; private Context mContext; @Mock private PreferenceScreen mScreen; @@ -83,7 +81,7 @@ public class ZenModeVisEffectsCustomPreferenceControllerTest { mContext, mock(Lifecycle.class), PREF_KEY); ReflectionHelpers.setField(mController, "mBackend", mBackend); - when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref); + when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPref); mController.displayPreference(mScreen); } @@ -102,9 +100,9 @@ public class ZenModeVisEffectsCustomPreferenceControllerTest { @Test public void updateState_notChecked_noVisEffects() { mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0); - mController.updateState(mockPref); + mController.updateState(mPref); - verify(mockPref).setChecked(false); + verify(mPref).setChecked(false); } @Test @@ -119,25 +117,25 @@ public class ZenModeVisEffectsCustomPreferenceControllerTest { | SUPPRESSED_EFFECT_PEEK | SUPPRESSED_EFFECT_NOTIFICATION_LIST; mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed); - mController.updateState(mockPref); + mController.updateState(mPref); - verify(mockPref).setChecked(false); + verify(mPref).setChecked(false); } @Test public void updateState_checked() { mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2); - mController.updateState(mockPref); + mController.updateState(mPref); - verify(mockPref).setChecked(true); + verify(mPref).setChecked(true); } @Test public void updateState_listeners() { mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2); - mController.updateState(mockPref); + mController.updateState(mPref); - verify(mockPref).setOnGearClickListener(any()); - verify(mockPref).setOnRadioButtonClickListener(any()); + verify(mPref).setExtraWidgetOnClickListener(any()); + verify(mPref).setOnClickListener(any()); } } diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceControllerTest.java index aacb1093be8..79c6cb8ec03 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceControllerTest.java @@ -40,11 +40,9 @@ import android.content.Context; import androidx.preference.PreferenceScreen; -import com.android.settings.notification.zen.ZenCustomRadioButtonPreference; -import com.android.settings.notification.zen.ZenModeBackend; -import com.android.settings.notification.zen.ZenModeVisEffectsNonePreferenceController; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; @@ -63,7 +61,7 @@ public class ZenModeVisEffectsNonePreferenceControllerTest { @Mock private ZenModeBackend mBackend; @Mock - private ZenCustomRadioButtonPreference mockPref; + private RadioButtonPreference mMockPref; private Context mContext; private FakeFeatureFactory mFeatureFactory; @Mock @@ -86,7 +84,7 @@ public class ZenModeVisEffectsNonePreferenceControllerTest { mContext, mock(Lifecycle.class), PREF_KEY); ReflectionHelpers.setField(mController, "mBackend", mBackend); - when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref); + when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref); mController.displayPreference(mScreen); } @@ -98,17 +96,17 @@ public class ZenModeVisEffectsNonePreferenceControllerTest { @Test public void updateState_notChecked() { mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1); - mController.updateState(mockPref); + mController.updateState(mMockPref); - verify(mockPref).setChecked(false); + verify(mMockPref).setChecked(false); } @Test public void updateState_checked() { mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0); - mController.updateState(mockPref); + mController.updateState(mMockPref); - verify(mockPref).setChecked(true); + verify(mMockPref).setChecked(true); } @Test @@ -123,7 +121,7 @@ public class ZenModeVisEffectsNonePreferenceControllerTest { | SUPPRESSED_EFFECT_PEEK | SUPPRESSED_EFFECT_NOTIFICATION_LIST; mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1); - mController.onRadioButtonClick(mockPref); + mController.onRadioButtonClicked(mMockPref); verify(mBackend).saveVisualEffectsPolicy(allSuppressed, false); verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class), eq(ACTION_ZEN_SOUND_ONLY), diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceControllerTest.java index f6fa5b702c1..f149541f885 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceControllerTest.java @@ -27,6 +27,7 @@ import android.service.notification.ZenPolicy; import androidx.preference.PreferenceScreen; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; @@ -47,7 +48,7 @@ public class ZenRuleCustomPolicyPreferenceControllerTest extends @Mock private NotificationManager mNotificationManager; @Mock - private ZenCustomRadioButtonPreference mockPref; + private RadioButtonPreference mMockPref; @Mock private PreferenceScreen mScreen; @@ -70,21 +71,21 @@ public class ZenRuleCustomPolicyPreferenceControllerTest extends PREF_KEY); ReflectionHelpers.setField(mController, "mBackend", mBackend); when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule); - when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref); + when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref); mController.displayPreference(mScreen); } @Test public void updateState_nullZenPolicy() { updateControllerZenPolicy(null); - mController.updateState(mockPref); - verify(mockPref).setChecked(false); + mController.updateState(mMockPref); + verify(mMockPref).setChecked(false); } @Test public void updateState_hasZenPolicy() { updateControllerZenPolicy(new ZenPolicy.Builder().build()); - mController.updateState(mockPref); - verify(mockPref).setChecked(true); + mController.updateState(mMockPref); + verify(mMockPref).setChecked(true); } } diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceControllerTest.java index 7091cebc39c..c0258e4f9aa 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceControllerTest.java @@ -27,6 +27,7 @@ import android.service.notification.ZenPolicy; import androidx.preference.PreferenceScreen; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; @@ -47,7 +48,7 @@ public class ZenRuleDefaultPolicyPreferenceControllerTest extends @Mock private NotificationManager mNotificationManager; @Mock - private ZenCustomRadioButtonPreference mockPref; + private RadioButtonPreference mMockPref; @Mock private PreferenceScreen mScreen; @@ -70,21 +71,21 @@ public class ZenRuleDefaultPolicyPreferenceControllerTest extends PREF_KEY); ReflectionHelpers.setField(mController, "mBackend", mBackend); when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule); - when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref); + when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref); mController.displayPreference(mScreen); } @Test public void updateState_nullZenPolicy() { updateControllerZenPolicy(null); - mController.updateState(mockPref); - verify(mockPref).setChecked(true); + mController.updateState(mMockPref); + verify(mMockPref).setChecked(true); } @Test public void updateState_hasZenPolicy() { updateControllerZenPolicy(new ZenPolicy.Builder().build()); - mController.updateState(mockPref); - verify(mockPref).setChecked(false); + mController.updateState(mMockPref); + verify(mMockPref).setChecked(false); } } diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRulePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRulePreferenceControllerTest.java index 13963db08c9..e3fef1929fa 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenRulePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRulePreferenceControllerTest.java @@ -28,10 +28,8 @@ import android.content.Context; import androidx.preference.PreferenceScreen; -import com.android.settings.notification.zen.AbstractZenCustomRulePreferenceController; -import com.android.settings.notification.zen.ZenCustomRadioButtonPreference; -import com.android.settings.notification.zen.ZenModeBackend; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; @@ -51,7 +49,7 @@ public class ZenRulePreferenceControllerTest { @Mock private NotificationManager mNotificationManager; @Mock - private ZenCustomRadioButtonPreference mockPref; + private RadioButtonPreference mMockPref; @Mock private PreferenceScreen mScreen; @@ -67,7 +65,7 @@ public class ZenRulePreferenceControllerTest { mContext = RuntimeEnvironment.application; mController = new TestablePreferenceController(mContext,"test", mock(Lifecycle.class)); ReflectionHelpers.setField(mController, "mBackend", mBackend); - when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref); + when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref); mController.displayPreference(mScreen); } diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceControllerTest.java index f30587f338d..edbcd06377b 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceControllerTest.java @@ -27,6 +27,7 @@ import android.service.notification.ZenPolicy; import androidx.preference.PreferenceScreen; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; @@ -47,7 +48,7 @@ public class ZenRuleVisEffectsAllPreferenceControllerTest extends @Mock private NotificationManager mNotificationManager; @Mock - private ZenCustomRadioButtonPreference mockPref; + private RadioButtonPreference mMockPref; @Mock private PreferenceScreen mScreen; @@ -69,7 +70,7 @@ public class ZenRuleVisEffectsAllPreferenceControllerTest extends PREF_KEY); ReflectionHelpers.setField(mController, "mBackend", mBackend); when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule); - when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref); + when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref); mController.displayPreference(mScreen); } @@ -78,8 +79,8 @@ public class ZenRuleVisEffectsAllPreferenceControllerTest extends updateControllerZenPolicy(new ZenPolicy.Builder() .hideAllVisualEffects() .build()); - mController.updateState(mockPref); - verify(mockPref).setChecked(false); + mController.updateState(mMockPref); + verify(mMockPref).setChecked(false); } @Test @@ -87,8 +88,8 @@ public class ZenRuleVisEffectsAllPreferenceControllerTest extends updateControllerZenPolicy(new ZenPolicy.Builder() .showAllVisualEffects() .build()); - mController.updateState(mockPref); - verify(mockPref).setChecked(true); + mController.updateState(mMockPref); + verify(mMockPref).setChecked(true); } @Test @@ -97,8 +98,8 @@ public class ZenRuleVisEffectsAllPreferenceControllerTest extends .showPeeking(true) .showBadges(false) .build()); - mController.updateState(mockPref); + mController.updateState(mMockPref); - verify(mockPref).setChecked(false); + verify(mMockPref).setChecked(false); } } diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceControllerTest.java index 99b76cebcdf..ece5d5fc3eb 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceControllerTest.java @@ -27,6 +27,7 @@ import android.service.notification.ZenPolicy; import androidx.preference.PreferenceScreen; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; @@ -47,7 +48,7 @@ public class ZenRuleVisEffectsCustomPreferenceControllerTest extends @Mock private NotificationManager mNotificationManager; @Mock - private ZenCustomRadioButtonPreference mockPref; + private RadioButtonPreference mMockPref; @Mock private PreferenceScreen mScreen; @@ -69,7 +70,7 @@ public class ZenRuleVisEffectsCustomPreferenceControllerTest extends PREF_KEY); ReflectionHelpers.setField(mController, "mBackend", mBackend); when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule); - when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref); + when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref); mController.displayPreference(mScreen); } @@ -78,8 +79,8 @@ public class ZenRuleVisEffectsCustomPreferenceControllerTest extends updateControllerZenPolicy(new ZenPolicy.Builder() .hideAllVisualEffects() .build()); - mController.updateState(mockPref); - verify(mockPref).setChecked(false); + mController.updateState(mMockPref); + verify(mMockPref).setChecked(false); } @Test @@ -87,8 +88,8 @@ public class ZenRuleVisEffectsCustomPreferenceControllerTest extends updateControllerZenPolicy(new ZenPolicy.Builder() .showAllVisualEffects() .build()); - mController.updateState(mockPref); - verify(mockPref).setChecked(false); + mController.updateState(mMockPref); + verify(mMockPref).setChecked(false); } @Test @@ -97,8 +98,8 @@ public class ZenRuleVisEffectsCustomPreferenceControllerTest extends .showPeeking(true) .showBadges(false) .build()); - mController.updateState(mockPref); + mController.updateState(mMockPref); - verify(mockPref).setChecked(true); + verify(mMockPref).setChecked(true); } } diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceControllerTest.java index 510da5f0696..2daf4fba1e1 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceControllerTest.java @@ -27,6 +27,7 @@ import android.service.notification.ZenPolicy; import androidx.preference.PreferenceScreen; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; @@ -47,7 +48,7 @@ public class ZenRuleVisEffectsNonePreferenceControllerTest extends @Mock private NotificationManager mNotificationManager; @Mock - private ZenCustomRadioButtonPreference mockPref; + private RadioButtonPreference mMockPref; @Mock private PreferenceScreen mScreen; @@ -69,7 +70,7 @@ public class ZenRuleVisEffectsNonePreferenceControllerTest extends PREF_KEY); ReflectionHelpers.setField(mController, "mBackend", mBackend); when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule); - when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref); + when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref); mController.displayPreference(mScreen); } @@ -78,8 +79,8 @@ public class ZenRuleVisEffectsNonePreferenceControllerTest extends updateControllerZenPolicy(new ZenPolicy.Builder() .hideAllVisualEffects() .build()); - mController.updateState(mockPref); - verify(mockPref).setChecked(true); + mController.updateState(mMockPref); + verify(mMockPref).setChecked(true); } @Test @@ -87,8 +88,8 @@ public class ZenRuleVisEffectsNonePreferenceControllerTest extends updateControllerZenPolicy(new ZenPolicy.Builder() .showAllVisualEffects() .build()); - mController.updateState(mockPref); - verify(mockPref).setChecked(false); + mController.updateState(mMockPref); + verify(mMockPref).setChecked(false); } @Test @@ -97,8 +98,8 @@ public class ZenRuleVisEffectsNonePreferenceControllerTest extends .showPeeking(true) .showBadges(false) .build()); - mController.updateState(mockPref); + mController.updateState(mMockPref); - verify(mockPref).setChecked(false); + verify(mMockPref).setChecked(false); } } diff --git a/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidgetTest.java b/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidgetTest.java deleted file mode 100644 index 2e2d786787e..00000000000 --- a/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidgetTest.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright (C) 2019 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 - */ - -package com.android.settings.widget; - -import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_GONE; -import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_INFO; -import static com.android.settings.widget.RadioButtonPreferenceWithExtraWidget.EXTRA_WIDGET_VISIBILITY_SETTING; - -import static com.google.common.truth.Truth.assertThat; - -import static org.junit.Assert.assertEquals; - -import android.app.Application; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.preference.PreferenceViewHolder; - -import com.android.settings.R; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; - -@RunWith(RobolectricTestRunner.class) -public class RadioButtonPreferenceWithExtraWidgetTest { - - private Application mContext; - private RadioButtonPreferenceWithExtraWidget mPreference; - - private TextView mSummary; - private ImageView mExtraWidget; - private View mExtraWidgetDivider; - - private boolean mIsClickListenerCalled = false; - private View.OnClickListener mClickListener = new View.OnClickListener() { - @Override - public void onClick(View v) { - mIsClickListenerCalled = true; - } - }; - - @Before - public void setUp() { - mContext = RuntimeEnvironment.application; - mPreference = new RadioButtonPreferenceWithExtraWidget(mContext); - mPreference.setSummary("test summary"); - - View view = LayoutInflater.from(mContext) - .inflate(R.layout.preference_radio_with_extra_widget, null); - PreferenceViewHolder preferenceViewHolder = - PreferenceViewHolder.createInstanceForTests(view); - mPreference.onBindViewHolder(preferenceViewHolder); - - mSummary = view.findViewById(android.R.id.summary); - mExtraWidget = view.findViewById(R.id.radio_extra_widget); - mExtraWidgetDivider = view.findViewById(R.id.radio_extra_widget_divider); - } - - @Test - public void shouldHaveRadioPreferenceWithExtraWidgetLayout() { - assertThat(mPreference.getLayoutResource()) - .isEqualTo(R.layout.preference_radio_with_extra_widget); - } - - @Test - public void iconSpaceReservedShouldBeFalse() { - assertThat(mPreference.isIconSpaceReserved()).isFalse(); - } - - @Test - public void summaryShouldBeVisible() { - assertEquals(View.VISIBLE, mSummary.getVisibility()); - } - - @Test - public void testSetExtraWidgetVisibility_gone() { - mPreference.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_GONE); - assertEquals(View.GONE, mExtraWidget.getVisibility()); - assertEquals(View.GONE, mExtraWidgetDivider.getVisibility()); - assertThat(mExtraWidget.isClickable()).isFalse(); - } - - @Test - public void testSetExtraWidgetVisibility_info() { - mPreference.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_INFO); - assertEquals(View.VISIBLE, mExtraWidget.getVisibility()); - assertEquals(View.VISIBLE, mExtraWidgetDivider.getVisibility()); - assertThat(mExtraWidget.isClickable()).isTrue(); - assertEquals(mContext.getResources().getText(R.string.information_label), - mExtraWidget.getContentDescription()); - } - - @Test - public void testSetExtraWidgetVisibility_setting() { - mPreference.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_SETTING); - assertEquals(View.VISIBLE, mExtraWidget.getVisibility()); - assertEquals(View.VISIBLE, mExtraWidgetDivider.getVisibility()); - assertThat(mExtraWidget.isClickable()).isTrue(); - assertEquals(mContext.getResources().getText(R.string.settings_label), - mExtraWidget.getContentDescription()); - } - - @Test - public void testSetExtraWidgetOnClickListener() { - mPreference.setExtraWidgetOnClickListener(mClickListener); - - assertThat(mIsClickListenerCalled).isFalse(); - mExtraWidget.callOnClick(); - assertThat(mIsClickListenerCalled).isTrue(); - } - - @Test - public void extraWidgetStaysEnabledWhenPreferenceIsDisabled() { - mPreference.setEnabled(false); - mExtraWidget.setEnabled(false); - - assertThat(mExtraWidget.isEnabled()).isFalse(); - mPreference.setExtraWidgetOnClickListener(mClickListener); - assertThat(mExtraWidget.isEnabled()).isTrue(); - } -}