Merge changes from topic 'two_target_preference'
* changes: Update string character limit Convert BT preference to use TwoTargetPreference Refactor the layout for MasterSwitch to a 2 target pref
This commit is contained in:
committed by
Android (Google) Code Review
commit
b0967c8287
@@ -17,8 +17,10 @@ package com.android.settings.bluetooth;
|
||||
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.content.Context;
|
||||
import android.os.UserManager;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
@@ -32,7 +34,10 @@ import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.util.ReflectionHelpers;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -66,7 +71,7 @@ public class BluetoothDevicePreferenceTest {
|
||||
mPreference.onClicked();
|
||||
|
||||
verify(mMetricsFeatureProvider).action(
|
||||
mContext, MetricsEvent.ACTION_SETTINGS_BLUETOOTH_DISCONNECT);
|
||||
mContext, MetricsEvent.ACTION_SETTINGS_BLUETOOTH_DISCONNECT);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -77,7 +82,7 @@ public class BluetoothDevicePreferenceTest {
|
||||
mPreference.onClicked();
|
||||
|
||||
verify(mMetricsFeatureProvider).action(
|
||||
mContext, MetricsEvent.ACTION_SETTINGS_BLUETOOTH_CONNECT);
|
||||
mContext, MetricsEvent.ACTION_SETTINGS_BLUETOOTH_CONNECT);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -89,6 +94,46 @@ public class BluetoothDevicePreferenceTest {
|
||||
mPreference.onClicked();
|
||||
|
||||
verify(mMetricsFeatureProvider).action(
|
||||
mContext, MetricsEvent.ACTION_SETTINGS_BLUETOOTH_PAIR);
|
||||
mContext, MetricsEvent.ACTION_SETTINGS_BLUETOOTH_PAIR);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSecondTargetResource_shouldBeGearIconLayout() {
|
||||
assertThat(mPreference.getSecondTargetResId()).isEqualTo(R.layout.preference_widget_gear);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldHideSecondTarget_noDevice_shouldReturnTrue() {
|
||||
ReflectionHelpers.setField(mPreference, "mCachedDevice", null);
|
||||
|
||||
assertThat(mPreference.shouldHideSecondTarget()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldHideSecondTarget_notBond_shouldReturnTrue() {
|
||||
when(mCachedBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_NONE);
|
||||
|
||||
assertThat(mPreference.shouldHideSecondTarget()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldHideSecondTarget_hasUserRestriction_shouldReturnTrue() {
|
||||
final UserManager um = mock(UserManager.class);
|
||||
ReflectionHelpers.setField(mPreference, "mUserManager", um);
|
||||
when(um.hasUserRestriction(UserManager.DISALLOW_CONFIG_BLUETOOTH))
|
||||
.thenReturn(true);
|
||||
|
||||
assertThat(mPreference.shouldHideSecondTarget()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldHideSecondTarget_hasBoundDeviceAndNoRestriction_shouldReturnFalse() {
|
||||
when(mCachedBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
|
||||
final UserManager um = mock(UserManager.class);
|
||||
ReflectionHelpers.setField(mPreference, "mUserManager", um);
|
||||
when(um.hasUserRestriction(UserManager.DISALLOW_CONFIG_BLUETOOTH))
|
||||
.thenReturn(false);
|
||||
|
||||
assertThat(mPreference.shouldHideSecondTarget()).isFalse();
|
||||
}
|
||||
}
|
||||
|
@@ -17,13 +17,10 @@
|
||||
package com.android.settings.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceViewHolder;
|
||||
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
|
||||
import android.support.v7.preference.PreferenceViewHolder;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.Switch;
|
||||
|
||||
@@ -35,14 +32,11 @@ import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowApplication;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@@ -53,23 +47,23 @@ public class MasterSwitchPreferenceTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mContext = ShadowApplication.getInstance().getApplicationContext();
|
||||
mContext = RuntimeEnvironment.application;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createNewPreference_shouldSetLayout() {
|
||||
final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
|
||||
|
||||
assertThat(preference.getWidgetLayoutResource()).isEqualTo(
|
||||
R.layout.preference_widget_master_switch);
|
||||
assertThat(preference.getWidgetLayoutResource())
|
||||
.isEqualTo(R.layout.preference_widget_master_switch);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setChecked_shouldUpdateButtonCheckedState() {
|
||||
final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
|
||||
final PreferenceViewHolder holder = new PreferenceViewHolder(LayoutInflater.from(mContext)
|
||||
.inflate(R.layout.preference_widget_master_switch, null));
|
||||
final Switch toggle = (Switch) holder.itemView.findViewById(R.id.switchWidget);
|
||||
.inflate(R.layout.preference_widget_master_switch, null));
|
||||
final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
|
||||
preference.onBindViewHolder(holder);
|
||||
|
||||
preference.setChecked(true);
|
||||
@@ -82,9 +76,9 @@ public class MasterSwitchPreferenceTest {
|
||||
@Test
|
||||
public void setSwitchEnabled_shouldUpdateButtonEnabledState() {
|
||||
final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
|
||||
final PreferenceViewHolder holder = new PreferenceViewHolder(
|
||||
LayoutInflater.from(mContext).inflate(R.layout.preference_widget_master_switch, null));
|
||||
final Switch toggle = (Switch) holder.itemView.findViewById(R.id.switchWidget);
|
||||
final PreferenceViewHolder holder = new PreferenceViewHolder(LayoutInflater.from(mContext)
|
||||
.inflate(R.layout.preference_widget_master_switch, null));
|
||||
final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
|
||||
preference.onBindViewHolder(holder);
|
||||
|
||||
preference.setSwitchEnabled(true);
|
||||
@@ -99,10 +93,10 @@ public class MasterSwitchPreferenceTest {
|
||||
final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
|
||||
final LayoutInflater inflater = LayoutInflater.from(mContext);
|
||||
final PreferenceViewHolder holder = new PreferenceViewHolder(
|
||||
inflater.inflate(R.layout.preference_master_switch, null));
|
||||
inflater.inflate(R.layout.preference_two_target, null));
|
||||
final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
|
||||
inflater.inflate(R.layout.preference_widget_master_switch, widgetView, true);
|
||||
final Switch toggle = (Switch) holder.itemView.findViewById(R.id.switchWidget);
|
||||
final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
|
||||
preference.onBindViewHolder(holder);
|
||||
|
||||
widgetView.performClick();
|
||||
@@ -116,8 +110,8 @@ public class MasterSwitchPreferenceTest {
|
||||
public void clickWidgetView_shouldNotifyPreferenceChanged() {
|
||||
final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
|
||||
final PreferenceViewHolder holder = new PreferenceViewHolder(
|
||||
LayoutInflater.from(mContext).inflate(R.layout.preference_master_switch, null));
|
||||
final View widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
|
||||
LayoutInflater.from(mContext).inflate(R.layout.preference_two_target, null));
|
||||
final View widgetView = holder.findViewById(android.R.id.widget_frame);
|
||||
final OnPreferenceChangeListener listener = mock(OnPreferenceChangeListener.class);
|
||||
preference.setOnPreferenceChangeListener(listener);
|
||||
preference.onBindViewHolder(holder);
|
||||
@@ -134,9 +128,9 @@ public class MasterSwitchPreferenceTest {
|
||||
@Test
|
||||
public void setDisabledByAdmin_hasEnforcedAdmin_shouldDisableButton() {
|
||||
final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
|
||||
final PreferenceViewHolder holder = new PreferenceViewHolder(
|
||||
LayoutInflater.from(mContext).inflate(R.layout.preference_widget_master_switch, null));
|
||||
final Switch toggle = (Switch) holder.itemView.findViewById(R.id.switchWidget);
|
||||
final PreferenceViewHolder holder = new PreferenceViewHolder(LayoutInflater.from(mContext)
|
||||
.inflate(R.layout.preference_widget_master_switch, null));
|
||||
final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
|
||||
toggle.setEnabled(true);
|
||||
preference.onBindViewHolder(holder);
|
||||
|
||||
@@ -147,9 +141,9 @@ public class MasterSwitchPreferenceTest {
|
||||
@Test
|
||||
public void setDisabledByAdmin_noEnforcedAdmin_shouldEnableButton() {
|
||||
final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
|
||||
final PreferenceViewHolder holder = new PreferenceViewHolder(
|
||||
LayoutInflater.from(mContext).inflate(R.layout.preference_widget_master_switch, null));
|
||||
final Switch toggle = (Switch) holder.itemView.findViewById(R.id.switchWidget);
|
||||
final PreferenceViewHolder holder = new PreferenceViewHolder(LayoutInflater.from(mContext)
|
||||
.inflate(R.layout.preference_widget_master_switch, null));
|
||||
final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
|
||||
toggle.setEnabled(false);
|
||||
preference.onBindViewHolder(holder);
|
||||
|
||||
|
Reference in New Issue
Block a user