Replace some customized RadioButtonPreferences
- Deleted ZenCustomRadioButtonPreference - Deleted RadioButtonPreferenceWithExtraWidget - Replaced with RadioButtonPreference Bug: 173472216 Test: robotest Change-Id: I645b59d65ae14af1f384f16ee7b76b3c98e23e1f
This commit is contained in:
@@ -22,11 +22,11 @@
|
|||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="zen_custom_rule_category">
|
android:key="zen_custom_rule_category">
|
||||||
<com.android.settings.notification.zen.ZenCustomRadioButtonPreference
|
<com.android.settingslib.widget.RadioButtonPreference
|
||||||
android:key="zen_custom_rule_setting_default"
|
android:key="zen_custom_rule_setting_default"
|
||||||
android:title="@string/zen_mode_custom_behavior_summary_default"/>
|
android:title="@string/zen_mode_custom_behavior_summary_default"/>
|
||||||
|
|
||||||
<com.android.settings.notification.zen.ZenCustomRadioButtonPreference
|
<com.android.settingslib.widget.RadioButtonPreference
|
||||||
android:key="zen_custom_rule_setting"
|
android:key="zen_custom_rule_setting"
|
||||||
android:title="@string/zen_mode_custom_behavior_summary" />
|
android:title="@string/zen_mode_custom_behavior_summary" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
@@ -23,19 +23,19 @@
|
|||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="restrict_category"
|
android:key="restrict_category"
|
||||||
android:title="@string/zen_mode_restrict_notifications_category">
|
android:title="@string/zen_mode_restrict_notifications_category">
|
||||||
<com.android.settings.notification.zen.ZenCustomRadioButtonPreference
|
<com.android.settingslib.widget.RadioButtonPreference
|
||||||
android:key="zen_mute_notifications"
|
android:key="zen_mute_notifications"
|
||||||
android:title="@string/zen_mode_restrict_notifications_mute"
|
android:title="@string/zen_mode_restrict_notifications_mute"
|
||||||
android:summary="@string/zen_mode_restrict_notifications_mute_summary"
|
android:summary="@string/zen_mode_restrict_notifications_mute_summary"
|
||||||
settings:searchable="false"/>
|
settings:searchable="false"/>
|
||||||
|
|
||||||
<com.android.settings.notification.zen.ZenCustomRadioButtonPreference
|
<com.android.settingslib.widget.RadioButtonPreference
|
||||||
android:key="zen_hide_notifications"
|
android:key="zen_hide_notifications"
|
||||||
android:title="@string/zen_mode_restrict_notifications_hide"
|
android:title="@string/zen_mode_restrict_notifications_hide"
|
||||||
android:summary="@string/zen_mode_restrict_notifications_hide_summary"
|
android:summary="@string/zen_mode_restrict_notifications_hide_summary"
|
||||||
settings:searchable="false"/>
|
settings:searchable="false"/>
|
||||||
|
|
||||||
<com.android.settings.notification.zen.ZenCustomRadioButtonPreference
|
<com.android.settingslib.widget.RadioButtonPreference
|
||||||
android:key="zen_custom"
|
android:key="zen_custom"
|
||||||
android:title="@string/zen_mode_restrict_notifications_custom"
|
android:title="@string/zen_mode_restrict_notifications_custom"
|
||||||
settings:searchable="false"/>
|
settings:searchable="false"/>
|
||||||
|
@@ -36,13 +36,13 @@ import com.android.settings.search.actionbar.SearchMenuController;
|
|||||||
import com.android.settings.support.actionbar.HelpMenuController;
|
import com.android.settings.support.actionbar.HelpMenuController;
|
||||||
import com.android.settings.support.actionbar.HelpResourceProvider;
|
import com.android.settings.support.actionbar.HelpResourceProvider;
|
||||||
import com.android.settings.widget.RadioButtonPickerFragment;
|
import com.android.settings.widget.RadioButtonPickerFragment;
|
||||||
import com.android.settings.widget.RadioButtonPreferenceWithExtraWidget;
|
|
||||||
import com.android.settingslib.RestrictedLockUtils;
|
import com.android.settingslib.RestrictedLockUtils;
|
||||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||||
import com.android.settingslib.search.SearchIndexable;
|
import com.android.settingslib.search.SearchIndexable;
|
||||||
import com.android.settingslib.search.SearchIndexableRaw;
|
import com.android.settingslib.search.SearchIndexableRaw;
|
||||||
import com.android.settingslib.widget.CandidateInfo;
|
import com.android.settingslib.widget.CandidateInfo;
|
||||||
import com.android.settingslib.widget.FooterPreference;
|
import com.android.settingslib.widget.FooterPreference;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
|
||||||
@@ -126,8 +126,8 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (CandidateInfo info : candidateList) {
|
for (CandidateInfo info : candidateList) {
|
||||||
RadioButtonPreferenceWithExtraWidget pref =
|
RadioButtonPreference pref =
|
||||||
new RadioButtonPreferenceWithExtraWidget(getPrefContext());
|
new RadioButtonPreference(getPrefContext());
|
||||||
bindPreference(pref, info.getKey(), info, defaultKey);
|
bindPreference(pref, info.getKey(), info, defaultKey);
|
||||||
screen.addPreference(pref);
|
screen.addPreference(pref);
|
||||||
}
|
}
|
||||||
|
@@ -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_3BUTTON_OVERLAY;
|
||||||
import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL_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.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
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.support.actionbar.HelpResourceProvider;
|
||||||
import com.android.settings.utils.CandidateInfoExtra;
|
import com.android.settings.utils.CandidateInfoExtra;
|
||||||
import com.android.settings.widget.RadioButtonPickerFragment;
|
import com.android.settings.widget.RadioButtonPickerFragment;
|
||||||
import com.android.settings.widget.RadioButtonPreferenceWithExtraWidget;
|
|
||||||
import com.android.settings.widget.VideoPreference;
|
import com.android.settings.widget.VideoPreference;
|
||||||
import com.android.settingslib.search.SearchIndexable;
|
import com.android.settingslib.search.SearchIndexable;
|
||||||
import com.android.settingslib.widget.CandidateInfo;
|
import com.android.settingslib.widget.CandidateInfo;
|
||||||
@@ -119,8 +115,8 @@ public class SystemNavigationGestureSettings extends RadioButtonPickerFragment i
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (CandidateInfo info : candidateList) {
|
for (CandidateInfo info : candidateList) {
|
||||||
RadioButtonPreferenceWithExtraWidget pref =
|
RadioButtonPreference pref =
|
||||||
new RadioButtonPreferenceWithExtraWidget(getPrefContext());
|
new RadioButtonPreference(getPrefContext());
|
||||||
bindPreference(pref, info.getKey(), info, defaultKey);
|
bindPreference(pref, info.getKey(), info, defaultKey);
|
||||||
bindPreferenceExtra(pref, info.getKey(), info, defaultKey, systemDefaultKey);
|
bindPreferenceExtra(pref, info.getKey(), info, defaultKey, systemDefaultKey);
|
||||||
screen.addPreference(pref);
|
screen.addPreference(pref);
|
||||||
@@ -131,20 +127,15 @@ public class SystemNavigationGestureSettings extends RadioButtonPickerFragment i
|
|||||||
@Override
|
@Override
|
||||||
public void bindPreferenceExtra(RadioButtonPreference pref,
|
public void bindPreferenceExtra(RadioButtonPreference pref,
|
||||||
String key, CandidateInfo info, String defaultKey, String systemDefaultKey) {
|
String key, CandidateInfo info, String defaultKey, String systemDefaultKey) {
|
||||||
if (!(info instanceof CandidateInfoExtra)
|
if (!(info instanceof CandidateInfoExtra)) {
|
||||||
|| !(pref instanceof RadioButtonPreferenceWithExtraWidget)) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
pref.setSummary(((CandidateInfoExtra) info).loadSummary());
|
pref.setSummary(((CandidateInfoExtra) info).loadSummary());
|
||||||
|
|
||||||
RadioButtonPreferenceWithExtraWidget p = (RadioButtonPreferenceWithExtraWidget) pref;
|
|
||||||
if (info.getKey() == KEY_SYSTEM_NAV_GESTURAL) {
|
if (info.getKey() == KEY_SYSTEM_NAV_GESTURAL) {
|
||||||
p.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_SETTING);
|
pref.setExtraWidgetOnClickListener((v) -> startActivity(new Intent(
|
||||||
p.setExtraWidgetOnClickListener((v) -> startActivity(new Intent(
|
|
||||||
GestureNavigationSettingsFragment.GESTURE_NAVIGATION_SETTINGS)));
|
GestureNavigationSettingsFragment.GESTURE_NAVIGATION_SETTINGS)));
|
||||||
} else {
|
|
||||||
p.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_GONE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -16,9 +16,6 @@
|
|||||||
|
|
||||||
package com.android.settings.notification.zen;
|
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.NotificationManager;
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -37,7 +34,6 @@ import com.android.settings.R;
|
|||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settings.notification.NotificationBackend;
|
import com.android.settings.notification.NotificationBackend;
|
||||||
import com.android.settings.notification.app.ConversationListSettings;
|
import com.android.settings.notification.app.ConversationListSettings;
|
||||||
import com.android.settings.widget.RadioButtonPreferenceWithExtraWidget;
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
import com.android.settingslib.widget.RadioButtonPreference;
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
@@ -186,13 +182,10 @@ public class ZenModePriorityConversationsPreferenceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
private RadioButtonPreference makeRadioPreference(String key, int titleId) {
|
private RadioButtonPreference makeRadioPreference(String key, int titleId) {
|
||||||
RadioButtonPreferenceWithExtraWidget pref =
|
final RadioButtonPreference pref =
|
||||||
new RadioButtonPreferenceWithExtraWidget(mPreferenceCategory.getContext());
|
new RadioButtonPreference(mPreferenceCategory.getContext());
|
||||||
if (KEY_ALL.equals(key) || KEY_IMPORTANT.equals(key)) {
|
if (KEY_ALL.equals(key) || KEY_IMPORTANT.equals(key)) {
|
||||||
pref.setExtraWidgetOnClickListener(mConversationSettingsWidgetClickListener);
|
pref.setExtraWidgetOnClickListener(mConversationSettingsWidgetClickListener);
|
||||||
pref.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_SETTING);
|
|
||||||
} else {
|
|
||||||
pref.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_GONE);
|
|
||||||
}
|
}
|
||||||
pref.setKey(key);
|
pref.setKey(key);
|
||||||
pref.setTitle(titleId);
|
pref.setTitle(titleId);
|
||||||
|
@@ -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_CALLS;
|
||||||
import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES;
|
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.app.NotificationManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@@ -35,7 +32,6 @@ import androidx.preference.PreferenceCategory;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.widget.RadioButtonPreferenceWithExtraWidget;
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
import com.android.settingslib.widget.RadioButtonPreference;
|
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 final boolean mIsMessages; // if this is false, then this preference is for calls
|
||||||
|
|
||||||
private PreferenceCategory mPreferenceCategory;
|
private PreferenceCategory mPreferenceCategory;
|
||||||
private List<RadioButtonPreferenceWithExtraWidget> mRadioButtonPreferences = new ArrayList<>();
|
private List<RadioButtonPreference> mRadioButtonPreferences = new ArrayList<>();
|
||||||
|
|
||||||
public ZenModePrioritySendersPreferenceController(Context context, String key,
|
public ZenModePrioritySendersPreferenceController(Context context, String key,
|
||||||
Lifecycle lifecycle, boolean isMessages) {
|
Lifecycle lifecycle, boolean isMessages) {
|
||||||
@@ -114,7 +110,7 @@ public class ZenModePrioritySendersPreferenceController
|
|||||||
public void updateState(Preference preference) {
|
public void updateState(Preference preference) {
|
||||||
final int currSetting = getPrioritySenders();
|
final int currSetting = getPrioritySenders();
|
||||||
|
|
||||||
for (RadioButtonPreferenceWithExtraWidget pref : mRadioButtonPreferences) {
|
for (RadioButtonPreference pref : mRadioButtonPreferences) {
|
||||||
pref.setChecked(keyToSetting(pref.getKey()) == currSetting);
|
pref.setChecked(keyToSetting(pref.getKey()) == currSetting);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -126,7 +122,7 @@ public class ZenModePrioritySendersPreferenceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateSummaries() {
|
private void updateSummaries() {
|
||||||
for (RadioButtonPreferenceWithExtraWidget pref : mRadioButtonPreferences) {
|
for (RadioButtonPreference pref : mRadioButtonPreferences) {
|
||||||
pref.setSummary(getSummary(pref.getKey()));
|
pref.setSummary(getSummary(pref.getKey()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -169,9 +165,9 @@ public class ZenModePrioritySendersPreferenceController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private RadioButtonPreferenceWithExtraWidget makeRadioPreference(String key, int titleId) {
|
private RadioButtonPreference makeRadioPreference(String key, int titleId) {
|
||||||
RadioButtonPreferenceWithExtraWidget pref =
|
final RadioButtonPreference pref =
|
||||||
new RadioButtonPreferenceWithExtraWidget(mPreferenceCategory.getContext());
|
new RadioButtonPreference(mPreferenceCategory.getContext());
|
||||||
pref.setKey(key);
|
pref.setKey(key);
|
||||||
pref.setTitle(titleId);
|
pref.setTitle(titleId);
|
||||||
pref.setOnClickListener(mRadioButtonClickListener);
|
pref.setOnClickListener(mRadioButtonClickListener);
|
||||||
@@ -179,9 +175,6 @@ public class ZenModePrioritySendersPreferenceController
|
|||||||
View.OnClickListener widgetClickListener = getWidgetClickListener(key);
|
View.OnClickListener widgetClickListener = getWidgetClickListener(key);
|
||||||
if (widgetClickListener != null) {
|
if (widgetClickListener != null) {
|
||||||
pref.setExtraWidgetOnClickListener(widgetClickListener);
|
pref.setExtraWidgetOnClickListener(widgetClickListener);
|
||||||
pref.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_SETTING);
|
|
||||||
} else {
|
|
||||||
pref.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_GONE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mPreferenceCategory.addPreference(pref);
|
mPreferenceCategory.addPreference(pref);
|
||||||
|
@@ -24,12 +24,13 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
public class ZenModeVisEffectsAllPreferenceController
|
public class ZenModeVisEffectsAllPreferenceController
|
||||||
extends AbstractZenModePreferenceController
|
extends AbstractZenModePreferenceController
|
||||||
implements ZenCustomRadioButtonPreference.OnRadioButtonClickListener {
|
implements RadioButtonPreference.OnClickListener {
|
||||||
|
|
||||||
private ZenCustomRadioButtonPreference mPreference;
|
private RadioButtonPreference mPreference;
|
||||||
|
|
||||||
protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF
|
protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF
|
||||||
| Policy.SUPPRESSED_EFFECT_SCREEN_ON
|
| Policy.SUPPRESSED_EFFECT_SCREEN_ON
|
||||||
@@ -50,7 +51,7 @@ public class ZenModeVisEffectsAllPreferenceController
|
|||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mPreference = screen.findPreference(getPreferenceKey());
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
mPreference.setOnRadioButtonClickListener(this);
|
mPreference.setOnClickListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -68,7 +69,7 @@ public class ZenModeVisEffectsAllPreferenceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRadioButtonClick(ZenCustomRadioButtonPreference p) {
|
public void onRadioButtonClicked(RadioButtonPreference p) {
|
||||||
mMetricsFeatureProvider.action(mContext,
|
mMetricsFeatureProvider.action(mContext,
|
||||||
SettingsEnums.ACTION_ZEN_SOUND_AND_VIS_EFFECTS, true);
|
SettingsEnums.ACTION_ZEN_SOUND_AND_VIS_EFFECTS, true);
|
||||||
mBackend.saveVisualEffectsPolicy(EFFECTS, true);
|
mBackend.saveVisualEffectsPolicy(EFFECTS, true);
|
||||||
|
@@ -26,11 +26,12 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
public class ZenModeVisEffectsCustomPreferenceController
|
public class ZenModeVisEffectsCustomPreferenceController
|
||||||
extends AbstractZenModePreferenceController {
|
extends AbstractZenModePreferenceController {
|
||||||
|
|
||||||
private ZenCustomRadioButtonPreference mPreference;
|
private RadioButtonPreference mPreference;
|
||||||
|
|
||||||
protected static final int INTERRUPTIVE_EFFECTS =
|
protected static final int INTERRUPTIVE_EFFECTS =
|
||||||
NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT
|
NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT
|
||||||
@@ -53,12 +54,11 @@ public class ZenModeVisEffectsCustomPreferenceController
|
|||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mPreference = screen.findPreference(getPreferenceKey());
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
|
|
||||||
mPreference.setOnGearClickListener(p -> {
|
mPreference.setExtraWidgetOnClickListener(p -> {
|
||||||
launchCustomSettings();
|
launchCustomSettings();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
mPreference.setOnRadioButtonClickListener(p -> {
|
mPreference.setOnClickListener(p -> {
|
||||||
launchCustomSettings();
|
launchCustomSettings();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -24,12 +24,13 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
public class ZenModeVisEffectsNonePreferenceController
|
public class ZenModeVisEffectsNonePreferenceController
|
||||||
extends AbstractZenModePreferenceController
|
extends AbstractZenModePreferenceController
|
||||||
implements ZenCustomRadioButtonPreference.OnRadioButtonClickListener {
|
implements RadioButtonPreference.OnClickListener {
|
||||||
|
|
||||||
private ZenCustomRadioButtonPreference mPreference;
|
private RadioButtonPreference mPreference;
|
||||||
|
|
||||||
protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF
|
protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF
|
||||||
| Policy.SUPPRESSED_EFFECT_SCREEN_ON
|
| Policy.SUPPRESSED_EFFECT_SCREEN_ON
|
||||||
@@ -50,7 +51,7 @@ public class ZenModeVisEffectsNonePreferenceController
|
|||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mPreference = screen.findPreference(getPreferenceKey());
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
mPreference.setOnRadioButtonClickListener(this);
|
mPreference.setOnClickListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -67,7 +68,7 @@ public class ZenModeVisEffectsNonePreferenceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRadioButtonClick(ZenCustomRadioButtonPreference preference) {
|
public void onRadioButtonClicked(RadioButtonPreference preference) {
|
||||||
mMetricsFeatureProvider.action(mContext,
|
mMetricsFeatureProvider.action(mContext,
|
||||||
SettingsEnums.ACTION_ZEN_SOUND_ONLY, true);
|
SettingsEnums.ACTION_ZEN_SOUND_ONLY, true);
|
||||||
mBackend.saveVisualEffectsPolicy(EFFECTS, false);
|
mBackend.saveVisualEffectsPolicy(EFFECTS, false);
|
||||||
|
@@ -25,11 +25,12 @@ import androidx.preference.PreferenceScreen;
|
|||||||
|
|
||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
public class ZenRuleCustomPolicyPreferenceController extends
|
public class ZenRuleCustomPolicyPreferenceController extends
|
||||||
AbstractZenCustomRulePreferenceController {
|
AbstractZenCustomRulePreferenceController {
|
||||||
|
|
||||||
private ZenCustomRadioButtonPreference mPreference;
|
private RadioButtonPreference mPreference;
|
||||||
|
|
||||||
public ZenRuleCustomPolicyPreferenceController(Context context, Lifecycle lifecycle,
|
public ZenRuleCustomPolicyPreferenceController(Context context, Lifecycle lifecycle,
|
||||||
String key) {
|
String key) {
|
||||||
@@ -41,13 +42,12 @@ public class ZenRuleCustomPolicyPreferenceController extends
|
|||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mPreference = screen.findPreference(getPreferenceKey());
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
|
|
||||||
mPreference.setOnGearClickListener(p -> {
|
mPreference.setExtraWidgetOnClickListener(p -> {
|
||||||
setCustomPolicy();
|
setCustomPolicy();
|
||||||
launchCustomSettings();
|
launchCustomSettings();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
mPreference.setOnRadioButtonClickListener(p -> {
|
mPreference.setOnClickListener(p -> {
|
||||||
setCustomPolicy();
|
setCustomPolicy();
|
||||||
launchCustomSettings();
|
launchCustomSettings();
|
||||||
});
|
});
|
||||||
|
@@ -26,11 +26,12 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
public class ZenRuleDefaultPolicyPreferenceController extends
|
public class ZenRuleDefaultPolicyPreferenceController extends
|
||||||
AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
|
AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
|
||||||
|
|
||||||
private ZenCustomRadioButtonPreference mPreference;
|
private RadioButtonPreference mPreference;
|
||||||
|
|
||||||
public ZenRuleDefaultPolicyPreferenceController(Context context, Lifecycle lifecycle,
|
public ZenRuleDefaultPolicyPreferenceController(Context context, Lifecycle lifecycle,
|
||||||
String key) {
|
String key) {
|
||||||
@@ -42,7 +43,7 @@ public class ZenRuleDefaultPolicyPreferenceController extends
|
|||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mPreference = screen.findPreference(getPreferenceKey());
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
|
|
||||||
mPreference.setOnRadioButtonClickListener(p -> {
|
mPreference.setOnClickListener(p -> {
|
||||||
mRule.setZenPolicy(null);
|
mRule.setZenPolicy(null);
|
||||||
mBackend.updateZenRule(mId, mRule);
|
mBackend.updateZenRule(mId, mRule);
|
||||||
});
|
});
|
||||||
|
@@ -27,11 +27,12 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
public class ZenRuleVisEffectsAllPreferenceController extends
|
public class ZenRuleVisEffectsAllPreferenceController extends
|
||||||
AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
|
AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
|
||||||
|
|
||||||
private ZenCustomRadioButtonPreference mPreference;
|
private RadioButtonPreference mPreference;
|
||||||
|
|
||||||
public ZenRuleVisEffectsAllPreferenceController(Context context, Lifecycle lifecycle,
|
public ZenRuleVisEffectsAllPreferenceController(Context context, Lifecycle lifecycle,
|
||||||
String key) {
|
String key) {
|
||||||
@@ -43,7 +44,7 @@ public class ZenRuleVisEffectsAllPreferenceController extends
|
|||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mPreference = screen.findPreference(getPreferenceKey());
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
|
|
||||||
mPreference.setOnRadioButtonClickListener(p -> {
|
mPreference.setOnClickListener(p -> {
|
||||||
mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_ONLY,
|
mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_ONLY,
|
||||||
Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
|
Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
|
||||||
mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
|
mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
|
||||||
|
@@ -27,11 +27,12 @@ import com.android.internal.logging.nano.MetricsProto;
|
|||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
public class ZenRuleVisEffectsCustomPreferenceController extends
|
public class ZenRuleVisEffectsCustomPreferenceController extends
|
||||||
AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
|
AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
|
||||||
|
|
||||||
private ZenCustomRadioButtonPreference mPreference;
|
private RadioButtonPreference mPreference;
|
||||||
|
|
||||||
public ZenRuleVisEffectsCustomPreferenceController(Context context, Lifecycle lifecycle,
|
public ZenRuleVisEffectsCustomPreferenceController(Context context, Lifecycle lifecycle,
|
||||||
String key) {
|
String key) {
|
||||||
@@ -43,12 +44,12 @@ public class ZenRuleVisEffectsCustomPreferenceController extends
|
|||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mPreference = screen.findPreference(getPreferenceKey());
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
|
|
||||||
mPreference.setOnGearClickListener(p -> {
|
mPreference.setOnClickListener(p -> {
|
||||||
launchCustomSettings();
|
launchCustomSettings();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
mPreference.setOnRadioButtonClickListener(p -> {
|
mPreference.setExtraWidgetOnClickListener(p -> {
|
||||||
launchCustomSettings();
|
launchCustomSettings();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -27,11 +27,12 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
public class ZenRuleVisEffectsNonePreferenceController extends
|
public class ZenRuleVisEffectsNonePreferenceController extends
|
||||||
AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
|
AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
|
||||||
|
|
||||||
private ZenCustomRadioButtonPreference mPreference;
|
private RadioButtonPreference mPreference;
|
||||||
|
|
||||||
public ZenRuleVisEffectsNonePreferenceController(Context context, Lifecycle lifecycle,
|
public ZenRuleVisEffectsNonePreferenceController(Context context, Lifecycle lifecycle,
|
||||||
String key) {
|
String key) {
|
||||||
@@ -43,7 +44,7 @@ public class ZenRuleVisEffectsNonePreferenceController extends
|
|||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mPreference = screen.findPreference(getPreferenceKey());
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
|
|
||||||
mPreference.setOnRadioButtonClickListener(p -> {
|
mPreference.setOnClickListener(p -> {
|
||||||
mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_AND_VIS_EFFECTS,
|
mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_AND_VIS_EFFECTS,
|
||||||
Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
|
Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
|
||||||
mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
|
mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
|
||||||
|
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -40,11 +40,9 @@ import android.content.Context;
|
|||||||
|
|
||||||
import androidx.preference.PreferenceScreen;
|
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.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -63,7 +61,7 @@ public class ZenModeVisEffectsAllPreferenceControllerTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private ZenModeBackend mBackend;
|
private ZenModeBackend mBackend;
|
||||||
@Mock
|
@Mock
|
||||||
private ZenCustomRadioButtonPreference mockPref;
|
private RadioButtonPreference mPref;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private FakeFeatureFactory mFeatureFactory;
|
private FakeFeatureFactory mFeatureFactory;
|
||||||
@Mock
|
@Mock
|
||||||
@@ -86,7 +84,7 @@ public class ZenModeVisEffectsAllPreferenceControllerTest {
|
|||||||
mContext, mock(Lifecycle.class), PREF_KEY);
|
mContext, mock(Lifecycle.class), PREF_KEY);
|
||||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||||
|
|
||||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
|
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPref);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,9 +96,9 @@ public class ZenModeVisEffectsAllPreferenceControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void updateState_notChecked() {
|
public void updateState_notChecked() {
|
||||||
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
|
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mPref);
|
||||||
|
|
||||||
verify(mockPref).setChecked(false);
|
verify(mPref).setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -115,9 +113,9 @@ public class ZenModeVisEffectsAllPreferenceControllerTest {
|
|||||||
| SUPPRESSED_EFFECT_PEEK
|
| SUPPRESSED_EFFECT_PEEK
|
||||||
| SUPPRESSED_EFFECT_NOTIFICATION_LIST;
|
| SUPPRESSED_EFFECT_NOTIFICATION_LIST;
|
||||||
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
|
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mPref);
|
||||||
|
|
||||||
verify(mockPref).setChecked(true);
|
verify(mPref).setChecked(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -132,7 +130,7 @@ public class ZenModeVisEffectsAllPreferenceControllerTest {
|
|||||||
| SUPPRESSED_EFFECT_PEEK
|
| SUPPRESSED_EFFECT_PEEK
|
||||||
| SUPPRESSED_EFFECT_NOTIFICATION_LIST;
|
| SUPPRESSED_EFFECT_NOTIFICATION_LIST;
|
||||||
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
|
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
|
||||||
mController.onRadioButtonClick(mockPref);
|
mController.onRadioButtonClicked(mPref);
|
||||||
verify(mBackend).saveVisualEffectsPolicy(allSuppressed, true);
|
verify(mBackend).saveVisualEffectsPolicy(allSuppressed, true);
|
||||||
verify(mFeatureFactory.metricsFeatureProvider).action(eq(mContext),
|
verify(mFeatureFactory.metricsFeatureProvider).action(eq(mContext),
|
||||||
eq(ACTION_ZEN_SOUND_AND_VIS_EFFECTS),
|
eq(ACTION_ZEN_SOUND_AND_VIS_EFFECTS),
|
||||||
|
@@ -38,11 +38,9 @@ import android.content.Context;
|
|||||||
|
|
||||||
import androidx.preference.PreferenceScreen;
|
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.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -61,7 +59,7 @@ public class ZenModeVisEffectsCustomPreferenceControllerTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private ZenModeBackend mBackend;
|
private ZenModeBackend mBackend;
|
||||||
@Mock
|
@Mock
|
||||||
private ZenCustomRadioButtonPreference mockPref;
|
private RadioButtonPreference mPref;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
@@ -83,7 +81,7 @@ public class ZenModeVisEffectsCustomPreferenceControllerTest {
|
|||||||
mContext, mock(Lifecycle.class), PREF_KEY);
|
mContext, mock(Lifecycle.class), PREF_KEY);
|
||||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||||
|
|
||||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
|
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPref);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,9 +100,9 @@ public class ZenModeVisEffectsCustomPreferenceControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void updateState_notChecked_noVisEffects() {
|
public void updateState_notChecked_noVisEffects() {
|
||||||
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
|
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mPref);
|
||||||
|
|
||||||
verify(mockPref).setChecked(false);
|
verify(mPref).setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -119,25 +117,25 @@ public class ZenModeVisEffectsCustomPreferenceControllerTest {
|
|||||||
| SUPPRESSED_EFFECT_PEEK
|
| SUPPRESSED_EFFECT_PEEK
|
||||||
| SUPPRESSED_EFFECT_NOTIFICATION_LIST;
|
| SUPPRESSED_EFFECT_NOTIFICATION_LIST;
|
||||||
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
|
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mPref);
|
||||||
|
|
||||||
verify(mockPref).setChecked(false);
|
verify(mPref).setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_checked() {
|
public void updateState_checked() {
|
||||||
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
|
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mPref);
|
||||||
|
|
||||||
verify(mockPref).setChecked(true);
|
verify(mPref).setChecked(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_listeners() {
|
public void updateState_listeners() {
|
||||||
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
|
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mPref);
|
||||||
|
|
||||||
verify(mockPref).setOnGearClickListener(any());
|
verify(mPref).setExtraWidgetOnClickListener(any());
|
||||||
verify(mockPref).setOnRadioButtonClickListener(any());
|
verify(mPref).setOnClickListener(any());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -40,11 +40,9 @@ import android.content.Context;
|
|||||||
|
|
||||||
import androidx.preference.PreferenceScreen;
|
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.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -63,7 +61,7 @@ public class ZenModeVisEffectsNonePreferenceControllerTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private ZenModeBackend mBackend;
|
private ZenModeBackend mBackend;
|
||||||
@Mock
|
@Mock
|
||||||
private ZenCustomRadioButtonPreference mockPref;
|
private RadioButtonPreference mMockPref;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private FakeFeatureFactory mFeatureFactory;
|
private FakeFeatureFactory mFeatureFactory;
|
||||||
@Mock
|
@Mock
|
||||||
@@ -86,7 +84,7 @@ public class ZenModeVisEffectsNonePreferenceControllerTest {
|
|||||||
mContext, mock(Lifecycle.class), PREF_KEY);
|
mContext, mock(Lifecycle.class), PREF_KEY);
|
||||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||||
|
|
||||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
|
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,17 +96,17 @@ public class ZenModeVisEffectsNonePreferenceControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void updateState_notChecked() {
|
public void updateState_notChecked() {
|
||||||
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
|
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
|
|
||||||
verify(mockPref).setChecked(false);
|
verify(mMockPref).setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_checked() {
|
public void updateState_checked() {
|
||||||
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
|
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
|
|
||||||
verify(mockPref).setChecked(true);
|
verify(mMockPref).setChecked(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -123,7 +121,7 @@ public class ZenModeVisEffectsNonePreferenceControllerTest {
|
|||||||
| SUPPRESSED_EFFECT_PEEK
|
| SUPPRESSED_EFFECT_PEEK
|
||||||
| SUPPRESSED_EFFECT_NOTIFICATION_LIST;
|
| SUPPRESSED_EFFECT_NOTIFICATION_LIST;
|
||||||
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
|
mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
|
||||||
mController.onRadioButtonClick(mockPref);
|
mController.onRadioButtonClicked(mMockPref);
|
||||||
verify(mBackend).saveVisualEffectsPolicy(allSuppressed, false);
|
verify(mBackend).saveVisualEffectsPolicy(allSuppressed, false);
|
||||||
verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class),
|
verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class),
|
||||||
eq(ACTION_ZEN_SOUND_ONLY),
|
eq(ACTION_ZEN_SOUND_ONLY),
|
||||||
|
@@ -27,6 +27,7 @@ import android.service.notification.ZenPolicy;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -47,7 +48,7 @@ public class ZenRuleCustomPolicyPreferenceControllerTest extends
|
|||||||
@Mock
|
@Mock
|
||||||
private NotificationManager mNotificationManager;
|
private NotificationManager mNotificationManager;
|
||||||
@Mock
|
@Mock
|
||||||
private ZenCustomRadioButtonPreference mockPref;
|
private RadioButtonPreference mMockPref;
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
|
|
||||||
@@ -70,21 +71,21 @@ public class ZenRuleCustomPolicyPreferenceControllerTest extends
|
|||||||
PREF_KEY);
|
PREF_KEY);
|
||||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||||
when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
|
when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
|
||||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
|
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_nullZenPolicy() {
|
public void updateState_nullZenPolicy() {
|
||||||
updateControllerZenPolicy(null);
|
updateControllerZenPolicy(null);
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
verify(mockPref).setChecked(false);
|
verify(mMockPref).setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_hasZenPolicy() {
|
public void updateState_hasZenPolicy() {
|
||||||
updateControllerZenPolicy(new ZenPolicy.Builder().build());
|
updateControllerZenPolicy(new ZenPolicy.Builder().build());
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
verify(mockPref).setChecked(true);
|
verify(mMockPref).setChecked(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -27,6 +27,7 @@ import android.service.notification.ZenPolicy;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -47,7 +48,7 @@ public class ZenRuleDefaultPolicyPreferenceControllerTest extends
|
|||||||
@Mock
|
@Mock
|
||||||
private NotificationManager mNotificationManager;
|
private NotificationManager mNotificationManager;
|
||||||
@Mock
|
@Mock
|
||||||
private ZenCustomRadioButtonPreference mockPref;
|
private RadioButtonPreference mMockPref;
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
|
|
||||||
@@ -70,21 +71,21 @@ public class ZenRuleDefaultPolicyPreferenceControllerTest extends
|
|||||||
PREF_KEY);
|
PREF_KEY);
|
||||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||||
when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
|
when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
|
||||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
|
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_nullZenPolicy() {
|
public void updateState_nullZenPolicy() {
|
||||||
updateControllerZenPolicy(null);
|
updateControllerZenPolicy(null);
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
verify(mockPref).setChecked(true);
|
verify(mMockPref).setChecked(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_hasZenPolicy() {
|
public void updateState_hasZenPolicy() {
|
||||||
updateControllerZenPolicy(new ZenPolicy.Builder().build());
|
updateControllerZenPolicy(new ZenPolicy.Builder().build());
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
verify(mockPref).setChecked(false);
|
verify(mMockPref).setChecked(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -28,10 +28,8 @@ import android.content.Context;
|
|||||||
|
|
||||||
import androidx.preference.PreferenceScreen;
|
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.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -51,7 +49,7 @@ public class ZenRulePreferenceControllerTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private NotificationManager mNotificationManager;
|
private NotificationManager mNotificationManager;
|
||||||
@Mock
|
@Mock
|
||||||
private ZenCustomRadioButtonPreference mockPref;
|
private RadioButtonPreference mMockPref;
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
|
|
||||||
@@ -67,7 +65,7 @@ public class ZenRulePreferenceControllerTest {
|
|||||||
mContext = RuntimeEnvironment.application;
|
mContext = RuntimeEnvironment.application;
|
||||||
mController = new TestablePreferenceController(mContext,"test", mock(Lifecycle.class));
|
mController = new TestablePreferenceController(mContext,"test", mock(Lifecycle.class));
|
||||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
|
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -27,6 +27,7 @@ import android.service.notification.ZenPolicy;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -47,7 +48,7 @@ public class ZenRuleVisEffectsAllPreferenceControllerTest extends
|
|||||||
@Mock
|
@Mock
|
||||||
private NotificationManager mNotificationManager;
|
private NotificationManager mNotificationManager;
|
||||||
@Mock
|
@Mock
|
||||||
private ZenCustomRadioButtonPreference mockPref;
|
private RadioButtonPreference mMockPref;
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
|
|
||||||
@@ -69,7 +70,7 @@ public class ZenRuleVisEffectsAllPreferenceControllerTest extends
|
|||||||
PREF_KEY);
|
PREF_KEY);
|
||||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||||
when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
|
when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
|
||||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
|
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,8 +79,8 @@ public class ZenRuleVisEffectsAllPreferenceControllerTest extends
|
|||||||
updateControllerZenPolicy(new ZenPolicy.Builder()
|
updateControllerZenPolicy(new ZenPolicy.Builder()
|
||||||
.hideAllVisualEffects()
|
.hideAllVisualEffects()
|
||||||
.build());
|
.build());
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
verify(mockPref).setChecked(false);
|
verify(mMockPref).setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -87,8 +88,8 @@ public class ZenRuleVisEffectsAllPreferenceControllerTest extends
|
|||||||
updateControllerZenPolicy(new ZenPolicy.Builder()
|
updateControllerZenPolicy(new ZenPolicy.Builder()
|
||||||
.showAllVisualEffects()
|
.showAllVisualEffects()
|
||||||
.build());
|
.build());
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
verify(mockPref).setChecked(true);
|
verify(mMockPref).setChecked(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -97,8 +98,8 @@ public class ZenRuleVisEffectsAllPreferenceControllerTest extends
|
|||||||
.showPeeking(true)
|
.showPeeking(true)
|
||||||
.showBadges(false)
|
.showBadges(false)
|
||||||
.build());
|
.build());
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
|
|
||||||
verify(mockPref).setChecked(false);
|
verify(mMockPref).setChecked(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -27,6 +27,7 @@ import android.service.notification.ZenPolicy;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -47,7 +48,7 @@ public class ZenRuleVisEffectsCustomPreferenceControllerTest extends
|
|||||||
@Mock
|
@Mock
|
||||||
private NotificationManager mNotificationManager;
|
private NotificationManager mNotificationManager;
|
||||||
@Mock
|
@Mock
|
||||||
private ZenCustomRadioButtonPreference mockPref;
|
private RadioButtonPreference mMockPref;
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
|
|
||||||
@@ -69,7 +70,7 @@ public class ZenRuleVisEffectsCustomPreferenceControllerTest extends
|
|||||||
PREF_KEY);
|
PREF_KEY);
|
||||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||||
when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
|
when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
|
||||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
|
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,8 +79,8 @@ public class ZenRuleVisEffectsCustomPreferenceControllerTest extends
|
|||||||
updateControllerZenPolicy(new ZenPolicy.Builder()
|
updateControllerZenPolicy(new ZenPolicy.Builder()
|
||||||
.hideAllVisualEffects()
|
.hideAllVisualEffects()
|
||||||
.build());
|
.build());
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
verify(mockPref).setChecked(false);
|
verify(mMockPref).setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -87,8 +88,8 @@ public class ZenRuleVisEffectsCustomPreferenceControllerTest extends
|
|||||||
updateControllerZenPolicy(new ZenPolicy.Builder()
|
updateControllerZenPolicy(new ZenPolicy.Builder()
|
||||||
.showAllVisualEffects()
|
.showAllVisualEffects()
|
||||||
.build());
|
.build());
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
verify(mockPref).setChecked(false);
|
verify(mMockPref).setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -97,8 +98,8 @@ public class ZenRuleVisEffectsCustomPreferenceControllerTest extends
|
|||||||
.showPeeking(true)
|
.showPeeking(true)
|
||||||
.showBadges(false)
|
.showBadges(false)
|
||||||
.build());
|
.build());
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
|
|
||||||
verify(mockPref).setChecked(true);
|
verify(mMockPref).setChecked(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -27,6 +27,7 @@ import android.service.notification.ZenPolicy;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -47,7 +48,7 @@ public class ZenRuleVisEffectsNonePreferenceControllerTest extends
|
|||||||
@Mock
|
@Mock
|
||||||
private NotificationManager mNotificationManager;
|
private NotificationManager mNotificationManager;
|
||||||
@Mock
|
@Mock
|
||||||
private ZenCustomRadioButtonPreference mockPref;
|
private RadioButtonPreference mMockPref;
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
|
|
||||||
@@ -69,7 +70,7 @@ public class ZenRuleVisEffectsNonePreferenceControllerTest extends
|
|||||||
PREF_KEY);
|
PREF_KEY);
|
||||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||||
when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
|
when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
|
||||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
|
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,8 +79,8 @@ public class ZenRuleVisEffectsNonePreferenceControllerTest extends
|
|||||||
updateControllerZenPolicy(new ZenPolicy.Builder()
|
updateControllerZenPolicy(new ZenPolicy.Builder()
|
||||||
.hideAllVisualEffects()
|
.hideAllVisualEffects()
|
||||||
.build());
|
.build());
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
verify(mockPref).setChecked(true);
|
verify(mMockPref).setChecked(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -87,8 +88,8 @@ public class ZenRuleVisEffectsNonePreferenceControllerTest extends
|
|||||||
updateControllerZenPolicy(new ZenPolicy.Builder()
|
updateControllerZenPolicy(new ZenPolicy.Builder()
|
||||||
.showAllVisualEffects()
|
.showAllVisualEffects()
|
||||||
.build());
|
.build());
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
verify(mockPref).setChecked(false);
|
verify(mMockPref).setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -97,8 +98,8 @@ public class ZenRuleVisEffectsNonePreferenceControllerTest extends
|
|||||||
.showPeeking(true)
|
.showPeeking(true)
|
||||||
.showBadges(false)
|
.showBadges(false)
|
||||||
.build());
|
.build());
|
||||||
mController.updateState(mockPref);
|
mController.updateState(mMockPref);
|
||||||
|
|
||||||
verify(mockPref).setChecked(false);
|
verify(mMockPref).setChecked(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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();
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user