Merge "Use the screen context when adding preferences."
This commit is contained in:
@@ -97,7 +97,7 @@ public class SecondaryUserController extends PreferenceController implements
|
|||||||
@Override
|
@Override
|
||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
if (mStoragePreference == null) {
|
if (mStoragePreference == null) {
|
||||||
mStoragePreference = new StorageItemPreferenceAlternate(mContext);
|
mStoragePreference = new StorageItemPreferenceAlternate(screen.getContext());
|
||||||
|
|
||||||
PreferenceGroup group =
|
PreferenceGroup group =
|
||||||
(PreferenceGroup) screen.findPreference(TARGET_PREFERENCE_GROUP_KEY);
|
(PreferenceGroup) screen.findPreference(TARGET_PREFERENCE_GROUP_KEY);
|
||||||
|
@@ -60,7 +60,7 @@ public class UserProfileController extends PreferenceController implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
mStoragePreference = new StorageItemPreferenceAlternate(mContext);
|
mStoragePreference = new StorageItemPreferenceAlternate(screen.getContext());
|
||||||
mStoragePreference.setOrder(mPreferenceOrder);
|
mStoragePreference.setOrder(mPreferenceOrder);
|
||||||
mStoragePreference.setKey(PREFERENCE_KEY_BASE + mUser.id);
|
mStoragePreference.setKey(PREFERENCE_KEY_BASE + mUser.id);
|
||||||
mStoragePreference.setTitle(mUser.name);
|
mStoragePreference.setTitle(mUser.name);
|
||||||
|
@@ -55,6 +55,10 @@ public class SecondaryUserControllerTest {
|
|||||||
private static final String TARGET_PREFERENCE_GROUP_KEY = "pref_secondary_users";
|
private static final String TARGET_PREFERENCE_GROUP_KEY = "pref_secondary_users";
|
||||||
@Mock
|
@Mock
|
||||||
private UserManagerWrapper mUserManager;
|
private UserManagerWrapper mUserManager;
|
||||||
|
@Mock
|
||||||
|
private PreferenceScreen mScreen;
|
||||||
|
@Mock
|
||||||
|
private PreferenceGroup mGroup;
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private SecondaryUserController mController;
|
private SecondaryUserController mController;
|
||||||
@@ -66,19 +70,19 @@ public class SecondaryUserControllerTest {
|
|||||||
mContext = RuntimeEnvironment.application;
|
mContext = RuntimeEnvironment.application;
|
||||||
mPrimaryUser = new UserInfo();
|
mPrimaryUser = new UserInfo();
|
||||||
mController = new SecondaryUserController(mContext, mPrimaryUser);
|
mController = new SecondaryUserController(mContext, mPrimaryUser);
|
||||||
|
|
||||||
|
when(mScreen.getContext()).thenReturn(mContext);
|
||||||
|
when(mScreen.findPreference(anyString())).thenReturn(mGroup);
|
||||||
|
when(mGroup.getKey()).thenReturn(TARGET_PREFERENCE_GROUP_KEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void controllerAddsSecondaryUser() throws Exception {
|
public void controllerAddsSecondaryUser() throws Exception {
|
||||||
mPrimaryUser.name = TEST_NAME;
|
mPrimaryUser.name = TEST_NAME;
|
||||||
PreferenceScreen screen = mock(PreferenceScreen.class);
|
mController.displayPreference(mScreen);
|
||||||
PreferenceGroup group = mock(PreferenceGroup.class);
|
|
||||||
when(screen.findPreference(anyString())).thenReturn(group);
|
|
||||||
when(group.getKey()).thenReturn(TARGET_PREFERENCE_GROUP_KEY);
|
|
||||||
mController.displayPreference(screen);
|
|
||||||
|
|
||||||
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
||||||
verify(group).addPreference(argumentCaptor.capture());
|
verify(mGroup).addPreference(argumentCaptor.capture());
|
||||||
Preference preference = argumentCaptor.getValue();
|
Preference preference = argumentCaptor.getValue();
|
||||||
assertThat(preference.getTitle()).isEqualTo(TEST_NAME);
|
assertThat(preference.getTitle()).isEqualTo(TEST_NAME);
|
||||||
}
|
}
|
||||||
@@ -86,15 +90,11 @@ public class SecondaryUserControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void controllerUpdatesSummaryOfNewPreference() throws Exception {
|
public void controllerUpdatesSummaryOfNewPreference() throws Exception {
|
||||||
mPrimaryUser.name = TEST_NAME;
|
mPrimaryUser.name = TEST_NAME;
|
||||||
PreferenceScreen screen = mock(PreferenceScreen.class);
|
mController.displayPreference(mScreen);
|
||||||
PreferenceGroup group = mock(PreferenceGroup.class);
|
|
||||||
when(screen.findPreference(anyString())).thenReturn(group);
|
|
||||||
when(group.getKey()).thenReturn(TARGET_PREFERENCE_GROUP_KEY);
|
|
||||||
mController.displayPreference(screen);
|
|
||||||
mController.setSize(10L);
|
mController.setSize(10L);
|
||||||
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
||||||
|
|
||||||
verify(group).addPreference(argumentCaptor.capture());
|
verify(mGroup).addPreference(argumentCaptor.capture());
|
||||||
|
|
||||||
Preference preference = argumentCaptor.getValue();
|
Preference preference = argumentCaptor.getValue();
|
||||||
assertThat(preference.getSummary()).isEqualTo("10.00B");
|
assertThat(preference.getSummary()).isEqualTo("10.00B");
|
||||||
@@ -153,11 +153,7 @@ public class SecondaryUserControllerTest {
|
|||||||
public void controllerUpdatesPreferenceOnAcceptingResult() throws Exception {
|
public void controllerUpdatesPreferenceOnAcceptingResult() throws Exception {
|
||||||
mPrimaryUser.name = TEST_NAME;
|
mPrimaryUser.name = TEST_NAME;
|
||||||
mPrimaryUser.id = 10;
|
mPrimaryUser.id = 10;
|
||||||
PreferenceScreen screen = mock(PreferenceScreen.class);
|
mController.displayPreference(mScreen);
|
||||||
PreferenceGroup group = mock(PreferenceGroup.class);
|
|
||||||
when(screen.findPreference(anyString())).thenReturn(group);
|
|
||||||
when(group.getKey()).thenReturn(TARGET_PREFERENCE_GROUP_KEY);
|
|
||||||
mController.displayPreference(screen);
|
|
||||||
StorageAsyncLoader.AppsStorageResult userResult =
|
StorageAsyncLoader.AppsStorageResult userResult =
|
||||||
new StorageAsyncLoader.AppsStorageResult();
|
new StorageAsyncLoader.AppsStorageResult();
|
||||||
SparseArray<StorageAsyncLoader.AppsStorageResult> result = new SparseArray<>();
|
SparseArray<StorageAsyncLoader.AppsStorageResult> result = new SparseArray<>();
|
||||||
@@ -166,7 +162,7 @@ public class SecondaryUserControllerTest {
|
|||||||
|
|
||||||
mController.handleResult(result);
|
mController.handleResult(result);
|
||||||
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
||||||
verify(group).addPreference(argumentCaptor.capture());
|
verify(mGroup).addPreference(argumentCaptor.capture());
|
||||||
Preference preference = argumentCaptor.getValue();
|
Preference preference = argumentCaptor.getValue();
|
||||||
|
|
||||||
assertThat(preference.getSummary()).isEqualTo("99.00B");
|
assertThat(preference.getSummary()).isEqualTo("99.00B");
|
||||||
|
@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
|
|||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@@ -53,6 +54,8 @@ public class UserProfileControllerTest {
|
|||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private UserManagerWrapper mUserManager;
|
private UserManagerWrapper mUserManager;
|
||||||
|
@Mock
|
||||||
|
private PreferenceScreen mScreen;
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private UserProfileController mController;
|
private UserProfileController mController;
|
||||||
@@ -64,17 +67,17 @@ public class UserProfileControllerTest {
|
|||||||
mContext = spy(RuntimeEnvironment.application);
|
mContext = spy(RuntimeEnvironment.application);
|
||||||
mPrimaryProfile = new UserInfo();
|
mPrimaryProfile = new UserInfo();
|
||||||
mController = new UserProfileController(mContext, mPrimaryProfile, 0);
|
mController = new UserProfileController(mContext, mPrimaryProfile, 0);
|
||||||
|
when(mScreen.getContext()).thenReturn(mContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void controllerAddsPrimaryProfilePreference() throws Exception {
|
public void controllerAddsPrimaryProfilePreference() throws Exception {
|
||||||
mPrimaryProfile.name = TEST_NAME;
|
mPrimaryProfile.name = TEST_NAME;
|
||||||
mPrimaryProfile.id = 10;
|
mPrimaryProfile.id = 10;
|
||||||
PreferenceScreen screen = mock(PreferenceScreen.class);
|
mController.displayPreference(mScreen);
|
||||||
mController.displayPreference(screen);
|
|
||||||
|
|
||||||
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
||||||
verify(screen).addPreference(argumentCaptor.capture());
|
verify(mScreen).addPreference(argumentCaptor.capture());
|
||||||
Preference preference = argumentCaptor.getValue();
|
Preference preference = argumentCaptor.getValue();
|
||||||
|
|
||||||
assertThat(preference.getTitle()).isEqualTo(TEST_NAME);
|
assertThat(preference.getTitle()).isEqualTo(TEST_NAME);
|
||||||
@@ -85,11 +88,10 @@ public class UserProfileControllerTest {
|
|||||||
public void tappingProfilePreferenceSendsToStorageProfileFragment() throws Exception {
|
public void tappingProfilePreferenceSendsToStorageProfileFragment() throws Exception {
|
||||||
mPrimaryProfile.name = TEST_NAME;
|
mPrimaryProfile.name = TEST_NAME;
|
||||||
mPrimaryProfile.id = 10;
|
mPrimaryProfile.id = 10;
|
||||||
PreferenceScreen screen = mock(PreferenceScreen.class);
|
mController.displayPreference(mScreen);
|
||||||
mController.displayPreference(screen);
|
|
||||||
|
|
||||||
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
||||||
verify(screen).addPreference(argumentCaptor.capture());
|
verify(mScreen).addPreference(argumentCaptor.capture());
|
||||||
Preference preference = argumentCaptor.getValue();
|
Preference preference = argumentCaptor.getValue();
|
||||||
assertThat(mController.handlePreferenceTreeClick(preference)).isTrue();
|
assertThat(mController.handlePreferenceTreeClick(preference)).isTrue();
|
||||||
final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
|
final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
|
||||||
@@ -105,8 +107,7 @@ public class UserProfileControllerTest {
|
|||||||
public void acceptingResultUpdatesPreferenceSize() throws Exception {
|
public void acceptingResultUpdatesPreferenceSize() throws Exception {
|
||||||
mPrimaryProfile.name = TEST_NAME;
|
mPrimaryProfile.name = TEST_NAME;
|
||||||
mPrimaryProfile.id = 10;
|
mPrimaryProfile.id = 10;
|
||||||
PreferenceScreen screen = mock(PreferenceScreen.class);
|
mController.displayPreference(mScreen);
|
||||||
mController.displayPreference(screen);
|
|
||||||
SparseArray<StorageAsyncLoader.AppsStorageResult> result = new SparseArray<>();
|
SparseArray<StorageAsyncLoader.AppsStorageResult> result = new SparseArray<>();
|
||||||
StorageAsyncLoader.AppsStorageResult userResult =
|
StorageAsyncLoader.AppsStorageResult userResult =
|
||||||
new StorageAsyncLoader.AppsStorageResult();
|
new StorageAsyncLoader.AppsStorageResult();
|
||||||
@@ -115,7 +116,7 @@ public class UserProfileControllerTest {
|
|||||||
|
|
||||||
mController.handleResult(result);
|
mController.handleResult(result);
|
||||||
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
final ArgumentCaptor<Preference> argumentCaptor = ArgumentCaptor.forClass(Preference.class);
|
||||||
verify(screen).addPreference(argumentCaptor.capture());
|
verify(mScreen).addPreference(argumentCaptor.capture());
|
||||||
Preference preference = argumentCaptor.getValue();
|
Preference preference = argumentCaptor.getValue();
|
||||||
|
|
||||||
assertThat(preference.getSummary()).isEqualTo("99.00B");
|
assertThat(preference.getSummary()).isEqualTo("99.00B");
|
||||||
|
Reference in New Issue
Block a user