Loading src/com/android/settings/applications/RecentAppsPreferenceController.java +5 −4 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.util.IconDrawableFactory; import android.util.Log; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.PreferenceController; import com.android.settingslib.applications.ApplicationsState; Loading Loading @@ -227,10 +228,10 @@ public class RecentAppsPreferenceController extends PreferenceController pref.setKey(pkgName); pref.setTitle(appEntry.label); pref.setIcon(mIconDrawableFactory.getBadgedIcon(appEntry.info)); pref.setSummary(DateUtils.getRelativeTimeSpanString(stat.getLastTimeUsed(), System.currentTimeMillis(), DateUtils.MINUTE_IN_MILLIS, DateUtils.FORMAT_ABBREV_RELATIVE)); pref.setSummary(TextUtils.expandTemplate( mContext.getResources().getText(R.string.recent_app_summary), Utils.formatElapsedTime(mContext, System.currentTimeMillis() - stat.getLastTimeUsed(), false))); pref.setOrder(i); pref.setOnPreferenceClickListener(preference -> { AppInfoBase.startAppInfoFragment(InstalledAppDetails.class, Loading tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java +38 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.UserManager; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceCategory; import android.support.v7.preference.PreferenceScreen; import android.text.TextUtils; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; Loading @@ -37,6 +38,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; import org.mockito.ArgumentMatcher; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; Loading @@ -50,6 +52,8 @@ import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyLong; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.argThat; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; Loading Loading @@ -169,6 +173,8 @@ public class RecentAppsPreferenceControllerTest { .thenReturn(new ResolveInfo()); when(mUsageStatsManager.queryUsageStats(anyInt(), anyLong(), anyLong())) .thenReturn(stats); when(mMockContext.getString(eq(R.string.battery_history_minutes_no_seconds), anyInt())) .thenReturn(mContext.getString(R.string.battery_history_minutes_no_seconds, 45)); mController = new RecentAppsPreferenceController(mMockContext, mAppState, null); mController.displayPreference(mScreen); Loading Loading @@ -215,4 +221,36 @@ public class RecentAppsPreferenceControllerTest { verify(mSeeAllPref).setTitle(R.string.applications_settings); verify(mSeeAllPref).setIcon(null); } @Test public void display_showRecents_formatSummary() { when(mMockContext.getResources().getBoolean(R.bool.config_display_recent_apps)) .thenReturn(true); final List<UsageStats> stats = new ArrayList<>(); final UsageStats stat1 = new UsageStats(); stat1.mLastTimeUsed = System.currentTimeMillis(); stat1.mPackageName = "pkg.class"; stats.add(stat1); when(mAppState.getEntry(stat1.mPackageName, UserHandle.myUserId())) .thenReturn(mock(ApplicationsState.AppEntry.class)); when(mMockContext.getPackageManager().resolveActivity(any(Intent.class), anyInt())) .thenReturn(new ResolveInfo()); when(mUsageStatsManager.queryUsageStats(anyInt(), anyLong(), anyLong())) .thenReturn(stats); when(mMockContext.getString(eq(R.string.battery_history_minutes_no_seconds), anyInt())) .thenReturn(mContext.getString(R.string.battery_history_minutes_no_seconds, 35)); when(mMockContext.getResources().getText(eq(R.string.recent_app_summary))) .thenReturn(mContext.getResources().getText(R.string.recent_app_summary)); mController = new RecentAppsPreferenceController(mMockContext, mAppState, null); mController.displayPreference(mScreen); verify(mCategory).addPreference(argThat(summaryMatches("35m ago"))); } private static ArgumentMatcher<Preference> summaryMatches(String expected) { return preference -> TextUtils.equals(expected, preference.getSummary()); } } Loading
src/com/android/settings/applications/RecentAppsPreferenceController.java +5 −4 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.util.IconDrawableFactory; import android.util.Log; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.PreferenceController; import com.android.settingslib.applications.ApplicationsState; Loading Loading @@ -227,10 +228,10 @@ public class RecentAppsPreferenceController extends PreferenceController pref.setKey(pkgName); pref.setTitle(appEntry.label); pref.setIcon(mIconDrawableFactory.getBadgedIcon(appEntry.info)); pref.setSummary(DateUtils.getRelativeTimeSpanString(stat.getLastTimeUsed(), System.currentTimeMillis(), DateUtils.MINUTE_IN_MILLIS, DateUtils.FORMAT_ABBREV_RELATIVE)); pref.setSummary(TextUtils.expandTemplate( mContext.getResources().getText(R.string.recent_app_summary), Utils.formatElapsedTime(mContext, System.currentTimeMillis() - stat.getLastTimeUsed(), false))); pref.setOrder(i); pref.setOnPreferenceClickListener(preference -> { AppInfoBase.startAppInfoFragment(InstalledAppDetails.class, Loading
tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java +38 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.UserManager; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceCategory; import android.support.v7.preference.PreferenceScreen; import android.text.TextUtils; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; Loading @@ -37,6 +38,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; import org.mockito.ArgumentMatcher; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; Loading @@ -50,6 +52,8 @@ import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyLong; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.argThat; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; Loading Loading @@ -169,6 +173,8 @@ public class RecentAppsPreferenceControllerTest { .thenReturn(new ResolveInfo()); when(mUsageStatsManager.queryUsageStats(anyInt(), anyLong(), anyLong())) .thenReturn(stats); when(mMockContext.getString(eq(R.string.battery_history_minutes_no_seconds), anyInt())) .thenReturn(mContext.getString(R.string.battery_history_minutes_no_seconds, 45)); mController = new RecentAppsPreferenceController(mMockContext, mAppState, null); mController.displayPreference(mScreen); Loading Loading @@ -215,4 +221,36 @@ public class RecentAppsPreferenceControllerTest { verify(mSeeAllPref).setTitle(R.string.applications_settings); verify(mSeeAllPref).setIcon(null); } @Test public void display_showRecents_formatSummary() { when(mMockContext.getResources().getBoolean(R.bool.config_display_recent_apps)) .thenReturn(true); final List<UsageStats> stats = new ArrayList<>(); final UsageStats stat1 = new UsageStats(); stat1.mLastTimeUsed = System.currentTimeMillis(); stat1.mPackageName = "pkg.class"; stats.add(stat1); when(mAppState.getEntry(stat1.mPackageName, UserHandle.myUserId())) .thenReturn(mock(ApplicationsState.AppEntry.class)); when(mMockContext.getPackageManager().resolveActivity(any(Intent.class), anyInt())) .thenReturn(new ResolveInfo()); when(mUsageStatsManager.queryUsageStats(anyInt(), anyLong(), anyLong())) .thenReturn(stats); when(mMockContext.getString(eq(R.string.battery_history_minutes_no_seconds), anyInt())) .thenReturn(mContext.getString(R.string.battery_history_minutes_no_seconds, 35)); when(mMockContext.getResources().getText(eq(R.string.recent_app_summary))) .thenReturn(mContext.getResources().getText(R.string.recent_app_summary)); mController = new RecentAppsPreferenceController(mMockContext, mAppState, null); mController.displayPreference(mScreen); verify(mCategory).addPreference(argThat(summaryMatches("35m ago"))); } private static ArgumentMatcher<Preference> summaryMatches(String expected) { return preference -> TextUtils.equals(expected, preference.getSummary()); } }