Update text for User & accounts page.
- Add the user name to the Account preference group title. - Add the summary text to Emergency information. Bug: 34976320 Test: make RunSettingsRoboTests Change-Id: I771e355ce3b313ffa50feb5c5e7907b1f3857592
This commit is contained in:
@@ -5624,6 +5624,8 @@
|
|||||||
<string name="user_enable_calling_and_sms_confirm_message">Call and SMS history will be shared with this user.</string>
|
<string name="user_enable_calling_and_sms_confirm_message">Call and SMS history will be shared with this user.</string>
|
||||||
<!-- Title for the emergency info preference [CHAR LIMIT=40] -->
|
<!-- Title for the emergency info preference [CHAR LIMIT=40] -->
|
||||||
<string name="emergency_info_title">Emergency information</string>
|
<string name="emergency_info_title">Emergency information</string>
|
||||||
|
<!-- Summary for the emergency info preference [CHAR LIMIT=40] -->
|
||||||
|
<string name="emergency_info_summary">Information about <xliff:g id="user_name" example="Jason">%1$s</xliff:g></string>
|
||||||
|
|
||||||
<!-- Application Restrictions screen title [CHAR LIMIT=45] -->
|
<!-- Application Restrictions screen title [CHAR LIMIT=45] -->
|
||||||
<string name="application_restrictions">Allow apps and content</string>
|
<string name="application_restrictions">Allow apps and content</string>
|
||||||
@@ -8036,7 +8038,7 @@
|
|||||||
<string name="automatic_storage_manager_activation_warning">Your storage is now being managed by the storage manager</string>
|
<string name="automatic_storage_manager_activation_warning">Your storage is now being managed by the storage manager</string>
|
||||||
|
|
||||||
<!-- Accounts for section header [CHAR LIMIT=30] -->
|
<!-- Accounts for section header [CHAR LIMIT=30] -->
|
||||||
<string name="account_for_section_header">Accounts</string>
|
<string name="account_for_section_header">Accounts for <xliff:g id="user_name" example="Jason">%1$s</xliff:g></string>
|
||||||
|
|
||||||
<!-- Configure section header [CHAR LIMIT=30] -->
|
<!-- Configure section header [CHAR LIMIT=30] -->
|
||||||
<string name="configure_section_header">Configure</string>
|
<string name="configure_section_header">Configure</string>
|
||||||
|
@@ -295,7 +295,8 @@ public class AccountPreferenceController extends PreferenceController
|
|||||||
mHelper.createAccessiblePreferenceCategory(mParent.getPreferenceManager().getContext());
|
mHelper.createAccessiblePreferenceCategory(mParent.getPreferenceManager().getContext());
|
||||||
preferenceGroup.setOrder(mAccountProfileOrder++);
|
preferenceGroup.setOrder(mAccountProfileOrder++);
|
||||||
if (isSingleProfile()) {
|
if (isSingleProfile()) {
|
||||||
preferenceGroup.setTitle(R.string.account_for_section_header);
|
preferenceGroup.setTitle(context.getString(R.string.account_for_section_header,
|
||||||
|
userInfo.name));
|
||||||
preferenceGroup.setContentDescription(
|
preferenceGroup.setContentDescription(
|
||||||
mContext.getString(R.string.account_settings));
|
mContext.getString(R.string.account_settings));
|
||||||
} else if (userInfo.isManagedProfile()) {
|
} else if (userInfo.isManagedProfile()) {
|
||||||
|
@@ -18,10 +18,14 @@ package com.android.settings.accounts;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
|
import android.content.pm.UserInfo;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
import android.os.UserHandle;
|
||||||
|
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.R;
|
||||||
import com.android.settings.core.PreferenceController;
|
import com.android.settings.core.PreferenceController;
|
||||||
import com.android.settings.search.SearchIndexableRaw;
|
import com.android.settings.search.SearchIndexableRaw;
|
||||||
|
|
||||||
@@ -48,6 +52,12 @@ public class EmergencyInfoPreferenceController extends PreferenceController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateState(Preference preference) {
|
||||||
|
UserInfo info = mContext.getSystemService(UserManager.class).getUserInfo(
|
||||||
|
UserHandle.myUserId());
|
||||||
|
preference.setSummary(mContext.getString(R.string.emergency_info_summary, info.name));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean handlePreferenceTreeClick(Preference preference) {
|
public boolean handlePreferenceTreeClick(Preference preference) {
|
||||||
if (KEY_EMERGENCY_INFO.equals(preference.getKey())) {
|
if (KEY_EMERGENCY_INFO.equals(preference.getKey())) {
|
||||||
|
@@ -190,6 +190,25 @@ public class AccountPreferenceControllerTest {
|
|||||||
verify(mScreen, times(2)).removePreference(preferenceGroup);
|
verify(mScreen, times(2)).removePreference(preferenceGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
|
||||||
|
public void onResume_oneProfile_shouldSetAccountTitleWithUserName() {
|
||||||
|
final List<UserInfo> infos = new ArrayList<>();
|
||||||
|
infos.add(new UserInfo(1, "user 1", UserInfo.FLAG_MANAGED_PROFILE));
|
||||||
|
when(mUserManager.isManagedProfile()).thenReturn(false);
|
||||||
|
when(mUserManager.isLinkedUser()).thenReturn(false);
|
||||||
|
when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
|
||||||
|
AccessiblePreferenceCategory preferenceGroup = mock(AccessiblePreferenceCategory.class);
|
||||||
|
when(mAccountHelper.createAccessiblePreferenceCategory(any(Context.class))).thenReturn(
|
||||||
|
preferenceGroup);
|
||||||
|
|
||||||
|
mController.onResume();
|
||||||
|
|
||||||
|
verify(preferenceGroup).setTitle(
|
||||||
|
mContext.getString(R.string.account_for_section_header, "user 1"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
|
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
|
||||||
public void onResume_noPreferenceScreen_shouldNotCrash() {
|
public void onResume_noPreferenceScreen_shouldNotCrash() {
|
||||||
|
@@ -18,11 +18,17 @@ package com.android.settings.accounts;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ResolveInfo;
|
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.Preference;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
import com.android.settings.SettingsRobolectricTestRunner;
|
import com.android.settings.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.TestConfig;
|
import com.android.settings.TestConfig;
|
||||||
import com.android.settings.search.SearchIndexableRaw;
|
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.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -51,6 +57,8 @@ public class EmergencyInfoPreferenceControllerTest {
|
|||||||
private Context mContext;
|
private Context mContext;
|
||||||
@Mock(answer = RETURNS_DEEP_STUBS)
|
@Mock(answer = RETURNS_DEEP_STUBS)
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
|
@Mock(answer = RETURNS_DEEP_STUBS)
|
||||||
|
private UserManager mUserManager;
|
||||||
|
|
||||||
private EmergencyInfoPreferenceController mController;
|
private EmergencyInfoPreferenceController mController;
|
||||||
|
|
||||||
@@ -111,6 +119,21 @@ public class EmergencyInfoPreferenceControllerTest {
|
|||||||
verify(mScreen, never()).removePreference(any(Preference.class));
|
verify(mScreen, never()).removePreference(any(Preference.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
|
||||||
|
public void updateState_shouldSetSummary() {
|
||||||
|
final List<UserInfo> infos = new ArrayList<>();
|
||||||
|
infos.add(new UserInfo(1, "user 1", UserInfo.FLAG_MANAGED_PROFILE));
|
||||||
|
when((Object) mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
|
||||||
|
when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
|
||||||
|
final Preference preference = mock(Preference.class);
|
||||||
|
|
||||||
|
mController.updateState(preference);
|
||||||
|
|
||||||
|
verify(preference).setSummary(
|
||||||
|
mContext.getString(R.string.emergency_info_summary, "user 1"));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void handlePreferenceTreeClick_shouldStartActivity() {
|
public void handlePreferenceTreeClick_shouldStartActivity() {
|
||||||
final ShadowApplication application = ShadowApplication.getInstance();
|
final ShadowApplication application = ShadowApplication.getInstance();
|
||||||
|
Reference in New Issue
Block a user