Loading res/values/strings.xml +3 −1 Original line number Diff line number Diff line Loading @@ -5620,6 +5620,8 @@ <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] --> <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] --> <string name="application_restrictions">Allow apps and content</string> Loading Loading @@ -8032,7 +8034,7 @@ <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] --> <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] --> <string name="configure_section_header">Configure</string> src/com/android/settings/accounts/AccountPreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -295,7 +295,8 @@ public class AccountPreferenceController extends PreferenceController mHelper.createAccessiblePreferenceCategory(mParent.getPreferenceManager().getContext()); preferenceGroup.setOrder(mAccountProfileOrder++); if (isSingleProfile()) { preferenceGroup.setTitle(R.string.account_for_section_header); preferenceGroup.setTitle(context.getString(R.string.account_for_section_header, userInfo.name)); preferenceGroup.setContentDescription( mContext.getString(R.string.account_settings)); } else if (userInfo.isManagedProfile()) { Loading src/com/android/settings/accounts/EmergencyInfoPreferenceController.java +10 −0 Original line number Diff line number Diff line Loading @@ -18,10 +18,14 @@ 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.content.res.Resources; import android.os.UserHandle; 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.core.PreferenceController; import com.android.settings.search.SearchIndexableRaw; Loading @@ -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 public boolean handlePreferenceTreeClick(Preference preference) { if (KEY_EMERGENCY_INFO.equals(preference.getKey())) { Loading tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,25 @@ public class AccountPreferenceControllerTest { 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 @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class}) public void onResume_noPreferenceScreen_shouldNotCrash() { Loading tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -18,11 +18,17 @@ 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.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; Loading Loading @@ -51,6 +57,8 @@ public class EmergencyInfoPreferenceControllerTest { private Context mContext; @Mock(answer = RETURNS_DEEP_STUBS) private PreferenceScreen mScreen; @Mock(answer = RETURNS_DEEP_STUBS) private UserManager mUserManager; private EmergencyInfoPreferenceController mController; Loading Loading @@ -111,6 +119,21 @@ public class EmergencyInfoPreferenceControllerTest { 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 public void handlePreferenceTreeClick_shouldStartActivity() { final ShadowApplication application = ShadowApplication.getInstance(); Loading Loading
res/values/strings.xml +3 −1 Original line number Diff line number Diff line Loading @@ -5620,6 +5620,8 @@ <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] --> <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] --> <string name="application_restrictions">Allow apps and content</string> Loading Loading @@ -8032,7 +8034,7 @@ <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] --> <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] --> <string name="configure_section_header">Configure</string>
src/com/android/settings/accounts/AccountPreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -295,7 +295,8 @@ public class AccountPreferenceController extends PreferenceController mHelper.createAccessiblePreferenceCategory(mParent.getPreferenceManager().getContext()); preferenceGroup.setOrder(mAccountProfileOrder++); if (isSingleProfile()) { preferenceGroup.setTitle(R.string.account_for_section_header); preferenceGroup.setTitle(context.getString(R.string.account_for_section_header, userInfo.name)); preferenceGroup.setContentDescription( mContext.getString(R.string.account_settings)); } else if (userInfo.isManagedProfile()) { Loading
src/com/android/settings/accounts/EmergencyInfoPreferenceController.java +10 −0 Original line number Diff line number Diff line Loading @@ -18,10 +18,14 @@ 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.content.res.Resources; import android.os.UserHandle; 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.core.PreferenceController; import com.android.settings.search.SearchIndexableRaw; Loading @@ -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 public boolean handlePreferenceTreeClick(Preference preference) { if (KEY_EMERGENCY_INFO.equals(preference.getKey())) { Loading
tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,25 @@ public class AccountPreferenceControllerTest { 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 @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class}) public void onResume_noPreferenceScreen_shouldNotCrash() { Loading
tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -18,11 +18,17 @@ 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.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; Loading Loading @@ -51,6 +57,8 @@ public class EmergencyInfoPreferenceControllerTest { private Context mContext; @Mock(answer = RETURNS_DEEP_STUBS) private PreferenceScreen mScreen; @Mock(answer = RETURNS_DEEP_STUBS) private UserManager mUserManager; private EmergencyInfoPreferenceController mController; Loading Loading @@ -111,6 +119,21 @@ public class EmergencyInfoPreferenceControllerTest { 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 public void handlePreferenceTreeClick_shouldStartActivity() { final ShadowApplication application = ShadowApplication.getInstance(); Loading