Merge "Use setVisible instead of removePreference everywhere."

This commit is contained in:
TreeHugger Robot
2017-11-10 00:02:58 +00:00
committed by Android (Google) Code Review
20 changed files with 239 additions and 271 deletions

View File

@@ -15,6 +15,8 @@
*/ */
package com.android.settings.deviceinfo; package com.android.settings.deviceinfo;
import static android.content.Context.CARRIER_CONFIG_SERVICE;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Build; import android.os.Build;
@@ -31,8 +33,6 @@ import com.android.settings.Utils;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import static android.content.Context.CARRIER_CONFIG_SERVICE;
public class SystemUpdatePreferenceController extends AbstractPreferenceController implements public class SystemUpdatePreferenceController extends AbstractPreferenceController implements
PreferenceControllerMixin { PreferenceControllerMixin {
@@ -59,12 +59,11 @@ public class SystemUpdatePreferenceController extends AbstractPreferenceControll
@Override @Override
public void displayPreference(PreferenceScreen screen) { public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
if (isAvailable()) { if (isAvailable()) {
Utils.updatePreferenceToSpecificActivityOrRemove(mContext, screen, Utils.updatePreferenceToSpecificActivityOrRemove(mContext, screen,
KEY_SYSTEM_UPDATE_SETTINGS, KEY_SYSTEM_UPDATE_SETTINGS,
Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY); Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
} else {
removePreference(screen, KEY_SYSTEM_UPDATE_SETTINGS);
} }
} }

View File

@@ -13,6 +13,8 @@
*/ */
package com.android.settings.display; package com.android.settings.display;
import static android.content.Context.UI_MODE_SERVICE;
import android.app.UiModeManager; import android.app.UiModeManager;
import android.content.Context; import android.content.Context;
import android.support.v7.preference.ListPreference; import android.support.v7.preference.ListPreference;
@@ -23,8 +25,6 @@ import android.util.Log;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import static android.content.Context.UI_MODE_SERVICE;
public class NightModePreferenceController extends AbstractPreferenceController implements public class NightModePreferenceController extends AbstractPreferenceController implements
PreferenceControllerMixin, Preference.OnPreferenceChangeListener { PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
@@ -48,7 +48,7 @@ public class NightModePreferenceController extends AbstractPreferenceController
@Override @Override
public void displayPreference(PreferenceScreen screen) { public void displayPreference(PreferenceScreen screen) {
if (!isAvailable()) { if (!isAvailable()) {
removePreference(screen, KEY_NIGHT_MODE); setVisible(screen, KEY_NIGHT_MODE, false /* visible */);
return; return;
} }
ListPreference mNightModePreference = (ListPreference) screen.findPreference( ListPreference mNightModePreference = (ListPreference) screen.findPreference(

View File

@@ -81,7 +81,7 @@ public class AirplaneModePreferenceController extends AbstractPreferenceControll
mMetricsFeatureProvider); mMetricsFeatureProvider);
} }
} else { } else {
removePreference(screen, getPreferenceKey()); setVisible(screen, getPreferenceKey(), false /* visible */);
} }
} }
@@ -91,7 +91,7 @@ public class AirplaneModePreferenceController extends AbstractPreferenceControll
} }
public static boolean isAvailable(Context context) { public static boolean isAvailable(Context context) {
return !context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEVISION); return !context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK);
} }
@Override @Override

View File

@@ -26,9 +26,9 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.lifecycle.events.OnPause; import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume; import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -55,8 +55,8 @@ public class NfcPreferenceController extends AbstractPreferenceController
@Override @Override
public void displayPreference(PreferenceScreen screen) { public void displayPreference(PreferenceScreen screen) {
if (!isAvailable()) { if (!isAvailable()) {
removePreference(screen, KEY_TOGGLE_NFC); setVisible(screen, KEY_TOGGLE_NFC, false /* visible */);
removePreference(screen, KEY_ANDROID_BEAM_SETTINGS); setVisible(screen, KEY_ANDROID_BEAM_SETTINGS, false /* visible */);
mNfcEnabler = null; mNfcEnabler = null;
return; return;
} }

View File

@@ -98,8 +98,8 @@ public class LockScreenNotificationPreferenceController extends AbstractPreferen
mLockscreenProfile = (RestrictedDropDownPreference) screen.findPreference( mLockscreenProfile = (RestrictedDropDownPreference) screen.findPreference(
mWorkSettingKey); mWorkSettingKey);
} else { } else {
removePreference(screen, mWorkSettingKey); setVisible(screen, mWorkSettingKey, false /* visible */);
removePreference(screen, mWorkSettingCategoryKey); setVisible(screen, mWorkSettingCategoryKey, false /* visible */);
} }
mSettingObserver = new SettingObserver(); mSettingObserver = new SettingObserver();
initLockScreenNotificationPrefDisplay(); initLockScreenNotificationPrefDisplay();

View File

@@ -17,7 +17,6 @@ package com.android.settings.accounts;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS; import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
@@ -27,7 +26,6 @@ import android.content.Context;
import android.content.pm.UserInfo; import android.content.pm.UserInfo;
import android.os.UserManager; import android.os.UserManager;
import android.provider.Settings.Global; import android.provider.Settings.Global;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
@@ -70,13 +68,12 @@ public class AddUserWhenLockedPreferenceControllerTest {
when(mUserManager.getUserInfo(anyInt())).thenReturn(mUserInfo); when(mUserManager.getUserInfo(anyInt())).thenReturn(mUserInfo);
when(mUserInfo.isAdmin()).thenReturn(false); when(mUserInfo.isAdmin()).thenReturn(false);
final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class); final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(0)).thenReturn(preference);
when(preference.getKey()).thenReturn(mController.getPreferenceKey()); when(preference.getKey()).thenReturn(mController.getPreferenceKey());
when(mScreen.findPreference(preference.getKey())).thenReturn(preference);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); verify(preference).setVisible(false);
} }
@Test @Test

View File

@@ -15,19 +15,23 @@
*/ */
package com.android.settings.accounts; package com.android.settings.accounts;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.when;
import android.app.Fragment; import android.app.Fragment;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.pm.UserInfo; import android.content.pm.UserInfo;
import android.os.UserManager; import android.os.UserManager;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import android.support.v14.preference.SwitchPreference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import java.util.ArrayList; import com.android.settings.TestConfig;
import java.util.List; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -36,14 +40,8 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import static com.google.common.truth.Truth.assertThat; import java.util.ArrayList;
import static org.mockito.Answers.RETURNS_DEEP_STUBS; import java.util.List;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@@ -55,9 +53,8 @@ public class AutoSyncDataPreferenceControllerTest {
private UserManager mUserManager; private UserManager mUserManager;
@Mock(answer = RETURNS_DEEP_STUBS) @Mock(answer = RETURNS_DEEP_STUBS)
private Fragment mFragment; private Fragment mFragment;
@Mock
private Preference mPreference;
private Preference mPreference;
private Context mContext; private Context mContext;
private AutoSyncDataPreferenceController mController; private AutoSyncDataPreferenceController mController;
private AutoSyncDataPreferenceController.ConfirmAutoSyncChangeFragment mConfirmSyncFragment; private AutoSyncDataPreferenceController.ConfirmAutoSyncChangeFragment mConfirmSyncFragment;
@@ -71,9 +68,9 @@ public class AutoSyncDataPreferenceControllerTest {
mController = new AutoSyncDataPreferenceController(mContext, mFragment); mController = new AutoSyncDataPreferenceController(mContext, mFragment);
mConfirmSyncFragment = new AutoSyncDataPreferenceController.ConfirmAutoSyncChangeFragment(); mConfirmSyncFragment = new AutoSyncDataPreferenceController.ConfirmAutoSyncChangeFragment();
mConfirmSyncFragment.setTargetFragment(mFragment, 0); mConfirmSyncFragment.setTargetFragment(mFragment, 0);
when(mScreen.getPreferenceCount()).thenReturn(1); mPreference = new Preference(mContext);
when(mScreen.getPreference(0)).thenReturn(mPreference); mPreference.setKey(mController.getPreferenceKey());
when(mPreference.getKey()).thenReturn(mController.getPreferenceKey()); when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
} }
@Test @Test
@@ -82,7 +79,7 @@ public class AutoSyncDataPreferenceControllerTest {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test
@@ -92,7 +89,7 @@ public class AutoSyncDataPreferenceControllerTest {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen, never()).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isTrue();
} }
@Test @Test
@@ -105,7 +102,7 @@ public class AutoSyncDataPreferenceControllerTest {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen, never()).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isTrue();
} }
@Test @Test
@@ -119,7 +116,7 @@ public class AutoSyncDataPreferenceControllerTest {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test
@@ -135,5 +132,4 @@ public class AutoSyncDataPreferenceControllerTest {
mConfirmSyncFragment.onClick(null, DialogInterface.BUTTON_NEGATIVE); mConfirmSyncFragment.onClick(null, DialogInterface.BUTTON_NEGATIVE);
assertThat(preference.isChecked()).isFalse(); assertThat(preference.isChecked()).isFalse();
} }
} }

View File

@@ -15,17 +15,21 @@
*/ */
package com.android.settings.accounts; package com.android.settings.accounts;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.when;
import android.app.Fragment; import android.app.Fragment;
import android.content.Context; import android.content.Context;
import android.content.pm.UserInfo; import android.content.pm.UserInfo;
import android.os.UserManager; import android.os.UserManager;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import java.util.ArrayList; import com.android.settings.TestConfig;
import java.util.List; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -34,12 +38,8 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import static org.mockito.Answers.RETURNS_DEEP_STUBS; import java.util.ArrayList;
import static org.mockito.Matchers.any; import java.util.List;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@@ -51,10 +51,9 @@ public class AutoSyncPersonalDataPreferenceControllerTest {
private UserManager mUserManager; private UserManager mUserManager;
@Mock(answer = RETURNS_DEEP_STUBS) @Mock(answer = RETURNS_DEEP_STUBS)
private Fragment mFragment; private Fragment mFragment;
@Mock
private Preference mPreference;
private Context mContext; private Context mContext;
private Preference mPreference;
private AutoSyncPersonalDataPreferenceController mController; private AutoSyncPersonalDataPreferenceController mController;
@Before @Before
@@ -64,9 +63,9 @@ public class AutoSyncPersonalDataPreferenceControllerTest {
shadowContext.setSystemService(Context.USER_SERVICE, mUserManager); shadowContext.setSystemService(Context.USER_SERVICE, mUserManager);
mContext = shadowContext.getApplicationContext(); mContext = shadowContext.getApplicationContext();
mController = new AutoSyncPersonalDataPreferenceController(mContext, mFragment); mController = new AutoSyncPersonalDataPreferenceController(mContext, mFragment);
when(mScreen.getPreferenceCount()).thenReturn(1); mPreference = new Preference(mContext);
when(mScreen.getPreference(0)).thenReturn(mPreference); mPreference.setKey(mController.getPreferenceKey());
when(mPreference.getKey()).thenReturn(mController.getPreferenceKey()); when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
} }
@Test @Test
@@ -75,7 +74,7 @@ public class AutoSyncPersonalDataPreferenceControllerTest {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test
@@ -85,7 +84,7 @@ public class AutoSyncPersonalDataPreferenceControllerTest {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test
@@ -98,11 +97,11 @@ public class AutoSyncPersonalDataPreferenceControllerTest {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test
public void displayPref_prefAvaiable_shouldDisplay() { public void displayPref_prefAvailable_shouldDisplay() {
List<UserInfo> infos = new ArrayList<>(); List<UserInfo> infos = new ArrayList<>();
infos.add(new UserInfo(1, "user 1", 0)); infos.add(new UserInfo(1, "user 1", 0));
infos.add(new UserInfo(2, "user 2", 0)); infos.add(new UserInfo(2, "user 2", 0));
@@ -112,7 +111,7 @@ public class AutoSyncPersonalDataPreferenceControllerTest {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen, never()).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isTrue();
} }
} }

View File

@@ -15,31 +15,6 @@
*/ */
package com.android.settings.accounts; package com.android.settings.accounts;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.content.pm.UserInfo;
import android.os.UserManager;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.testutils.shadow.ShadowAccountManager;
import com.android.settings.testutils.shadow.ShadowContentResolver;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS; import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.any; import static org.mockito.Matchers.any;
@@ -49,8 +24,35 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.content.pm.UserInfo;
import android.os.UserManager;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowAccountManager;
import com.android.settings.testutils.shadow.ShadowContentResolver;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import java.util.ArrayList;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class EmergencyInfoPreferenceControllerTest { public class EmergencyInfoPreferenceControllerTest {
@Mock(answer = RETURNS_DEEP_STUBS) @Mock(answer = RETURNS_DEEP_STUBS)
@@ -61,15 +63,19 @@ public class EmergencyInfoPreferenceControllerTest {
private UserManager mUserManager; private UserManager mUserManager;
private EmergencyInfoPreferenceController mController; private EmergencyInfoPreferenceController mController;
private Preference mPreference;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mController = new EmergencyInfoPreferenceController(mContext); mController = new EmergencyInfoPreferenceController(mContext);
mPreference = new Preference(RuntimeEnvironment.application);
mPreference.setKey(mController.getPreferenceKey());
when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
} }
@Test @Test
public void updateRawDataToIndex_prefUnavaiable_shouldNotUpdate() { public void updateRawDataToIndex_prefUnavailable_shouldNotUpdate() {
final List<SearchIndexableRaw> data = new ArrayList<>(); final List<SearchIndexableRaw> data = new ArrayList<>();
when(mContext.getPackageManager().queryIntentActivities( when(mContext.getPackageManager().queryIntentActivities(
any(Intent.class), anyInt())) any(Intent.class), anyInt()))
@@ -81,7 +87,7 @@ public class EmergencyInfoPreferenceControllerTest {
} }
@Test @Test
public void updateRawDataToIndex_prefAvaiable_shouldUpdate() { public void updateRawDataToIndex_prefAvailable_shouldUpdate() {
final List<SearchIndexableRaw> data = new ArrayList<>(); final List<SearchIndexableRaw> data = new ArrayList<>();
final List<ResolveInfo> infos = new ArrayList<>(); final List<ResolveInfo> infos = new ArrayList<>();
infos.add(new ResolveInfo()); infos.add(new ResolveInfo());
@@ -95,23 +101,18 @@ public class EmergencyInfoPreferenceControllerTest {
} }
@Test @Test
public void displayPref_prefUnAvaiable_shouldNotDisplay() { public void displayPref_prefUnAvailable_shouldNotDisplay() {
when(mContext.getPackageManager().queryIntentActivities( when(mContext.getPackageManager().queryIntentActivities(
any(Intent.class), anyInt())) any(Intent.class), anyInt()))
.thenReturn(null); .thenReturn(null);
final Preference preference = mock(Preference.class);
when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(0)).thenReturn(preference);
when(preference.getKey()).thenReturn(mController.getPreferenceKey());
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test
public void displayPref_prefAvaiable_shouldDisplay() { public void displayPref_prefAvailable_shouldDisplay() {
final List<SearchIndexableRaw> data = new ArrayList<>();
final List<ResolveInfo> infos = new ArrayList<>(); final List<ResolveInfo> infos = new ArrayList<>();
infos.add(new ResolveInfo()); infos.add(new ResolveInfo());
when(mContext.getPackageManager().queryIntentActivities( when(mContext.getPackageManager().queryIntentActivities(

View File

@@ -16,17 +16,25 @@
package com.android.settings.development; package com.android.settings.development;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.provider.Settings;
import android.os.UserManager; import android.os.UserManager;
import android.provider.Settings;
import android.support.v14.preference.SwitchPreference; import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -36,23 +44,12 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
/** /**
* deprecated in favor of {@link BugReportInPowerPreferenceControllerV2} * deprecated in favor of {@link BugReportInPowerPreferenceControllerV2}
*/ */
@Deprecated @Deprecated
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class BugReportInPowerPreferenceControllerTest { public class BugReportInPowerPreferenceControllerTest {
@Mock(answer = RETURNS_DEEP_STUBS) @Mock(answer = RETURNS_DEEP_STUBS)
@@ -82,12 +79,10 @@ public class BugReportInPowerPreferenceControllerTest {
@Test @Test
public void displayPreference_hasDebugRestriction_shouldRemovePreference() { public void displayPreference_hasDebugRestriction_shouldRemovePreference() {
when(mUserManager.hasUserRestriction(anyString())).thenReturn(true); when(mUserManager.hasUserRestriction(anyString())).thenReturn(true);
when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(0)).thenReturn(mPreference);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test
@@ -96,7 +91,7 @@ public class BugReportInPowerPreferenceControllerTest {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen, never()).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isTrue();
} }
@Test @Test

View File

@@ -16,66 +16,62 @@
package com.android.settings.development; package com.android.settings.development;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.os.UserManager; import android.os.UserManager;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyBoolean;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
/** /**
* deprecated in favor of {@link BugReportPreferenceControllerV2} * deprecated in favor of {@link BugReportPreferenceControllerV2}
*/ */
@Deprecated @Deprecated
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class BugReportPreferenceControllerTest { public class BugReportPreferenceControllerTest {
@Mock @Mock
private Context mContext; private Context mContext;
@Mock
private Preference mPreference;
@Mock(answer = RETURNS_DEEP_STUBS) @Mock(answer = RETURNS_DEEP_STUBS)
private PreferenceScreen mScreen; private PreferenceScreen mScreen;
@Mock @Mock
private UserManager mUserManager; private UserManager mUserManager;
private BugReportPreferenceController mController; private BugReportPreferenceController mController;
private Preference mPreference;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager); when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
when(mScreen.findPreference(anyString())).thenReturn(mPreference);
mController = new BugReportPreferenceController(mContext); mController = new BugReportPreferenceController(mContext);
mPreference = new Preference(RuntimeEnvironment.application);
mPreference.setKey(mController.getPreferenceKey());
when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
} }
@Test @Test
public void displayPreference_hasDebugRestriction_shouldRemovePreference() { public void displayPreference_hasDebugRestriction_shouldRemovePreference() {
when(mUserManager.hasUserRestriction(anyString())).thenReturn(true); when(mUserManager.hasUserRestriction(anyString())).thenReturn(true);
when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(0)).thenReturn(mPreference);
when(mPreference.getKey()).thenReturn(mController.getPreferenceKey());
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test
@@ -84,7 +80,7 @@ public class BugReportPreferenceControllerTest {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen, never()).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isTrue();
} }
@Test @Test
@@ -92,9 +88,10 @@ public class BugReportPreferenceControllerTest {
when(mUserManager.hasUserRestriction(anyString())).thenReturn(true); when(mUserManager.hasUserRestriction(anyString())).thenReturn(true);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
mPreference.setEnabled(false);
mController.enablePreference(true); mController.enablePreference(true);
verify(mPreference, never()).setEnabled(anyBoolean()); assertThat(mPreference.isEnabled()).isFalse();
} }
@Test @Test
@@ -102,9 +99,10 @@ public class BugReportPreferenceControllerTest {
when(mUserManager.hasUserRestriction(anyString())).thenReturn(false); when(mUserManager.hasUserRestriction(anyString())).thenReturn(false);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
mPreference.setEnabled(false);
mController.enablePreference(true); mController.enablePreference(true);
verify(mPreference).setEnabled(anyBoolean()); assertThat(mPreference.isEnabled()).isTrue();
} }
} }

View File

@@ -30,8 +30,8 @@ import android.content.pm.ResolveInfo;
import android.provider.Settings.Global; import android.provider.Settings.Global;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.RestrictedSwitchPreference;
@@ -76,6 +76,7 @@ public class VerifyAppsOverUsbPreferenceControllerTest {
return this; return this;
} }
} }
private final GlobalSetter mGlobals = new GlobalSetter(); private final GlobalSetter mGlobals = new GlobalSetter();
@Before @Before
@@ -175,7 +176,9 @@ public class VerifyAppsOverUsbPreferenceControllerTest {
when(mPreference.getKey()).thenReturn(mController.getPreferenceKey()); when(mPreference.getKey()).thenReturn(mController.getPreferenceKey());
when(mScreen.getPreferenceCount()).thenReturn(1); when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(anyInt())).thenReturn(mPreference); when(mScreen.getPreference(anyInt())).thenReturn(mPreference);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(mPreference);
verify(mPreference).setVisible(false);
} }
} }

View File

@@ -15,6 +15,10 @@
*/ */
package com.android.settings.deviceinfo; package com.android.settings.deviceinfo;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.os.Build; import android.os.Build;
import android.os.UserManager; import android.os.UserManager;
@@ -22,8 +26,8 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -36,30 +40,27 @@ import org.robolectric.annotation.Config;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class SystemUpdatePreferenceControllerTest { public class SystemUpdatePreferenceControllerTest {
@Mock(answer = RETURNS_DEEP_STUBS) @Mock(answer = RETURNS_DEEP_STUBS)
private Context mContext; private Context mContext;
@Mock @Mock
private UserManager mUserManager; private UserManager mUserManager;
@Mock(answer = RETURNS_DEEP_STUBS) @Mock
private PreferenceScreen mScreen; private PreferenceScreen mScreen;
private SystemUpdatePreferenceController mController; private SystemUpdatePreferenceController mController;
private Preference mPreference;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mController = new SystemUpdatePreferenceController(mContext, mUserManager); mController = new SystemUpdatePreferenceController(mContext, mUserManager);
mPreference = new Preference(RuntimeEnvironment.application);
mPreference.setKey(mController.getPreferenceKey());
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
} }
@Test @Test
@@ -86,41 +87,30 @@ public class SystemUpdatePreferenceControllerTest {
@Test @Test
public void displayPrefs_nothingAvailable_shouldNotDisplay() { public void displayPrefs_nothingAvailable_shouldNotDisplay() {
final Preference preference = mock(Preference.class);
when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(0)).thenReturn(preference);
when(preference.getKey()).thenReturn(mController.getPreferenceKey());
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test
public void updateState_shouldSetToAndroidVersion() { public void updateState_shouldSetToAndroidVersion() {
final Preference preference = new Preference(RuntimeEnvironment.application);
mController = new SystemUpdatePreferenceController( mController = new SystemUpdatePreferenceController(
RuntimeEnvironment.application, mUserManager); RuntimeEnvironment.application, mUserManager);
mController.updateState(preference); mController.updateState(mPreference);
assertThat(preference.getSummary()) assertThat(mPreference.getSummary())
.isEqualTo(RuntimeEnvironment.application.getString(R.string.about_summary, .isEqualTo(RuntimeEnvironment.application.getString(R.string.about_summary,
Build.VERSION.RELEASE)); Build.VERSION.RELEASE));
} }
@Test @Test
public void displayPrefs_oneAvailable_shouldDisplayOne() { public void displayPrefs_oneAvailable_shouldDisplayOne() {
final Preference preference = mock(Preference.class);
when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(0)).thenReturn(preference);
when(preference.getKey()).thenReturn(mController.getPreferenceKey());
when(mContext.getResources().getBoolean( when(mContext.getResources().getBoolean(
R.bool.config_additional_system_update_setting_enable)) R.bool.config_additional_system_update_setting_enable))
.thenReturn(true); .thenReturn(true);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
} }

View File

@@ -16,14 +16,21 @@
package com.android.settings.gestures; package com.android.settings.gestures;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.TwoStatePreference; import android.support.v7.preference.TwoStatePreference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.widget.VideoPreference; import com.android.settings.widget.VideoPreference;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -33,19 +40,11 @@ import org.junit.runner.RunWith;
import org.mockito.Answers; import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class GesturePreferenceControllerTest { public class GesturePreferenceControllerTest {
@@ -55,12 +54,17 @@ public class GesturePreferenceControllerTest {
private PreferenceScreen mScreen; private PreferenceScreen mScreen;
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Lifecycle mLifecycle; private Lifecycle mLifecycle;
private TestPrefController mController; private TestPrefController mController;
private Preference mPreference;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mController = new TestPrefController(mContext, mLifecycle); mController = new TestPrefController(mContext, mLifecycle);
mPreference = new Preference(RuntimeEnvironment.application);
mPreference.setKey(mController.getPreferenceKey());
when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
} }
@Test @Test
@@ -70,20 +74,16 @@ public class GesturePreferenceControllerTest {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen, never()).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isTrue();
} }
@Test @Test
public void display_configIsFalse_shouldNotDisplay() { public void display_configIsFalse_shouldNotDisplay() {
mController.mIsPrefAvailable = false; mController.mIsPrefAvailable = false;
final Preference preference = mock(Preference.class);
when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(0)).thenReturn(preference);
when(preference.getKey()).thenReturn(mController.getPreferenceKey());
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test

View File

@@ -16,14 +16,18 @@
package com.android.settings.language; package com.android.settings.language;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.speech.tts.TextToSpeech; import android.speech.tts.TextToSpeech;
import android.speech.tts.TtsEngines; import android.speech.tts.TtsEngines;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -31,19 +35,14 @@ import org.junit.runner.RunWith;
import org.mockito.Answers; import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class TtsPreferenceControllerTest { public class TtsPreferenceControllerTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -54,21 +53,28 @@ public class TtsPreferenceControllerTest {
private PreferenceScreen mScreen; private PreferenceScreen mScreen;
private TtsPreferenceController mController; private TtsPreferenceController mController;
private Preference mPreference;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mController = new TtsPreferenceController(mContext, mTtsEngines); mController = new TtsPreferenceController(mContext, mTtsEngines);
mPreference = new Preference(RuntimeEnvironment.application);
mPreference.setKey(mController.getPreferenceKey());
when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
} }
@Test @Test
public void testIsAvailable_ttsEngineEmpty_shouldReturnFalse() { public void testIsAvailable_ttsEngineEmpty_shouldReturnFalse() {
// Not available when there is no engine. // Not available when there is no engine.
when(mTtsEngines.getEngines()).thenReturn(new ArrayList<>()); when(mTtsEngines.getEngines()).thenReturn(new ArrayList<>());
assertThat(mController.isAvailable()).isFalse(); assertThat(mController.isAvailable()).isFalse();
mController.displayPreference(mScreen);
assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test
@@ -78,21 +84,9 @@ public class TtsPreferenceControllerTest {
when(mTtsEngines.getEngines()).thenReturn(infolist); when(mTtsEngines.getEngines()).thenReturn(infolist);
assertThat(mController.isAvailable()).isTrue(); assertThat(mController.isAvailable()).isTrue();
}
@Test
public void displayPreference_notAvailable_shouldRemoveCategory() {
final Preference preference = mock(Preference.class);
final Preference category = mock(Preference.class);
when(mScreen.getPreferenceCount()).thenReturn(2);
when(mScreen.getPreference(0)).thenReturn(preference);
when(mScreen.getPreference(1)).thenReturn(category);
when(preference.getKey()).thenReturn(mController.getPreferenceKey());
when(category.getKey()).thenReturn("voice_category");
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
// Remove preference. assertThat(mPreference.isVisible()).isTrue();
verify(mScreen).removePreference(any(Preference.class));
} }
} }

View File

@@ -1,46 +1,46 @@
package com.android.settings.location; package com.android.settings.location;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.provider.Settings; import android.provider.Settings;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class AppLocationPermissionPreferenceControllerTest { public class AppLocationPermissionPreferenceControllerTest {
@Mock
private Preference mPreference;
@Mock(answer = RETURNS_DEEP_STUBS) @Mock(answer = RETURNS_DEEP_STUBS)
private PreferenceScreen mScreen; private PreferenceScreen mScreen;
private AppLocationPermissionPreferenceController mController; private AppLocationPermissionPreferenceController mController;
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock
private Context mContext; private Context mContext;
private Preference mPreference;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
when(mScreen.findPreference(anyString())).thenReturn(mPreference); mContext = RuntimeEnvironment.application;
mController = new AppLocationPermissionPreferenceController(mContext); mController = new AppLocationPermissionPreferenceController(mContext);
mPreference = new Preference(mContext);
mPreference.setKey(mController.getPreferenceKey());
when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
} }
@Test @Test
@@ -48,13 +48,10 @@ public class AppLocationPermissionPreferenceControllerTest {
Settings.System.putInt(mContext.getContentResolver(), Settings.System.putInt(mContext.getContentResolver(),
android.provider.Settings.Global.LOCATION_SETTINGS_LINK_TO_PERMISSIONS_ENABLED, android.provider.Settings.Global.LOCATION_SETTINGS_LINK_TO_PERMISSIONS_ENABLED,
0); 0);
when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(0)).thenReturn(mPreference);
when(mPreference.getKey()).thenReturn(mController.getPreferenceKey());
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test
@@ -64,7 +61,6 @@ public class AppLocationPermissionPreferenceControllerTest {
1); 1);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen, never()).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isTrue();
} }
} }

View File

@@ -18,9 +18,7 @@ package com.android.settings.notification;
import static android.provider.Settings.Secure.NOTIFICATION_BADGING; import static android.provider.Settings.Secure.NOTIFICATION_BADGING;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -43,11 +41,12 @@ import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class BadgingNotificationPreferenceControllerTest { public class BadgingNotificationPreferenceControllerTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -56,11 +55,15 @@ public class BadgingNotificationPreferenceControllerTest {
private PreferenceScreen mScreen; private PreferenceScreen mScreen;
private BadgingNotificationPreferenceController mController; private BadgingNotificationPreferenceController mController;
private Preference mPreference;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mController = new BadgingNotificationPreferenceController(mContext); mController = new BadgingNotificationPreferenceController(mContext);
mPreference = new Preference(RuntimeEnvironment.application);
mPreference.setKey(mController.getPreferenceKey());
when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
} }
@Test @Test
@@ -70,7 +73,7 @@ public class BadgingNotificationPreferenceControllerTest {
.thenReturn(true); .thenReturn(true);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen, never()).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isTrue();
} }
@Test @Test
@@ -78,14 +81,10 @@ public class BadgingNotificationPreferenceControllerTest {
when(mContext.getResources(). when(mContext.getResources().
getBoolean(com.android.internal.R.bool.config_notificationBadging)) getBoolean(com.android.internal.R.bool.config_notificationBadging))
.thenReturn(false); .thenReturn(false);
final Preference preference = mock(Preference.class);
when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(0)).thenReturn(preference);
when(preference.getKey()).thenReturn(mController.getPreferenceKey());
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test

View File

@@ -16,6 +16,12 @@
package com.android.settings.notification; package com.android.settings.notification;
import static android.provider.Settings.System.NOTIFICATION_LIGHT_PULSE;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.provider.Settings; import android.provider.Settings;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
@@ -31,18 +37,12 @@ import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import static android.provider.Settings.System.NOTIFICATION_LIGHT_PULSE;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class PulseNotificationPreferenceControllerTest { public class PulseNotificationPreferenceControllerTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -51,11 +51,15 @@ public class PulseNotificationPreferenceControllerTest {
private PreferenceScreen mScreen; private PreferenceScreen mScreen;
private PulseNotificationPreferenceController mController; private PulseNotificationPreferenceController mController;
private Preference mPreference;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mController = new PulseNotificationPreferenceController(mContext); mController = new PulseNotificationPreferenceController(mContext);
mPreference = new Preference(RuntimeEnvironment.application);
mPreference.setKey(mController.getPreferenceKey());
when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
} }
@Test @Test
@@ -65,7 +69,7 @@ public class PulseNotificationPreferenceControllerTest {
.thenReturn(true); .thenReturn(true);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen, never()).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isTrue();
} }
@Test @Test
@@ -73,14 +77,10 @@ public class PulseNotificationPreferenceControllerTest {
when(mContext.getResources(). when(mContext.getResources().
getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed)) getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed))
.thenReturn(false); .thenReturn(false);
final Preference preference = mock(Preference.class);
when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(0)).thenReturn(preference);
when(preference.getKey()).thenReturn(mController.getPreferenceKey());
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test

View File

@@ -16,6 +16,12 @@
package com.android.settings.notification; package com.android.settings.notification;
import static android.provider.Settings.System.VIBRATE_WHEN_RINGING;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.provider.Settings; import android.provider.Settings;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
@@ -23,26 +29,20 @@ import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.TwoStatePreference; import android.support.v7.preference.TwoStatePreference;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import static android.provider.Settings.System.VIBRATE_WHEN_RINGING;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class VibrateWhenRingPreferenceControllerTest { public class VibrateWhenRingPreferenceControllerTest {
@Mock @Mock
@@ -53,36 +53,34 @@ public class VibrateWhenRingPreferenceControllerTest {
private TelephonyManager mTelephonyManager; private TelephonyManager mTelephonyManager;
private VibrateWhenRingPreferenceController mController; private VibrateWhenRingPreferenceController mController;
private Preference mPreference;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager); when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
mController = new VibrateWhenRingPreferenceController(mContext); mController = new VibrateWhenRingPreferenceController(mContext);
mPreference = new Preference(RuntimeEnvironment.application);
mPreference.setKey(mController.getPreferenceKey());
when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
} }
@Test @Test
public void display_voiceCapable_shouldDisplay() { public void display_voiceCapable_shouldDisplay() {
when(mTelephonyManager.isVoiceCapable()).thenReturn(true); when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
when(mScreen.findPreference(mController.getPreferenceKey()))
.thenReturn(mock(Preference.class));
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen, never()).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isTrue();
} }
@Test @Test
public void display_notVoiceCapable_shouldNotDisplay() { public void display_notVoiceCapable_shouldNotDisplay() {
when(mTelephonyManager.isVoiceCapable()).thenReturn(false); when(mTelephonyManager.isVoiceCapable()).thenReturn(false);
final Preference preference = mock(Preference.class);
when(mScreen.getPreferenceCount()).thenReturn(1);
when(mScreen.getPreference(0)).thenReturn(preference);
when(preference.getKey()).thenReturn(mController.getPreferenceKey());
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen).removePreference(any(Preference.class)); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test

View File

@@ -16,12 +16,19 @@
package com.android.settings.wifi.p2p; package com.android.settings.wifi.p2p;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceCategory; import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -31,13 +38,8 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class P2pCategoryPreferenceControllerTest { public class P2pCategoryPreferenceControllerTest {
@Mock @Mock
@@ -81,7 +83,8 @@ public class P2pCategoryPreferenceControllerTest {
mController.addChild(pref); mController.addChild(pref);
verify(mCategory).addPreference(pref); verify(mCategory).addPreference(pref);
verify(mCategory).setVisible(true); verify(mCategory, atLeastOnce()).setVisible(true);
verify(mCategory, never()).setVisible(false);
} }
@Test @Test