Update mSortOrder when changed to frequent
Update mSortOrder so when the activity is resumed, the apps are sorted how the user wants Test: make ROBOTEST_FILTER=ManageApplicationsTest RunSettingsRoboTests Change-Id: I422846aada29ee254996b2e94da27af7ed935a0b Fixes: 77691626
This commit is contained in:
@@ -176,7 +176,8 @@ public class ManageApplications extends InstrumentedFragment
|
||||
private static final int NO_USER_SPECIFIED = -1;
|
||||
|
||||
// sort order
|
||||
private int mSortOrder = R.id.sort_order_alpha;
|
||||
@VisibleForTesting
|
||||
int mSortOrder = R.id.sort_order_alpha;
|
||||
|
||||
// whether showing system apps.
|
||||
private boolean mShowSystem;
|
||||
@@ -649,9 +650,8 @@ public class ManageApplications extends InstrumentedFragment
|
||||
switch (item.getItemId()) {
|
||||
case R.id.sort_order_alpha:
|
||||
case R.id.sort_order_size:
|
||||
mSortOrder = menuId;
|
||||
if (mApplications != null) {
|
||||
mApplications.rebuild(mSortOrder);
|
||||
mApplications.rebuild(menuId);
|
||||
}
|
||||
break;
|
||||
case R.id.show_system:
|
||||
@@ -712,6 +712,7 @@ public class ManageApplications extends InstrumentedFragment
|
||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||
mFilter = mFilterAdapter.getFilter(position);
|
||||
mApplications.setFilter(mFilter);
|
||||
|
||||
if (DEBUG) Log.d(TAG, "Selecting filter " + mFilter);
|
||||
}
|
||||
|
||||
@@ -986,6 +987,7 @@ public class ManageApplications extends InstrumentedFragment
|
||||
if (sort == mLastSortMode) {
|
||||
return;
|
||||
}
|
||||
mManageApplications.mSortOrder = sort;
|
||||
mLastSortMode = sort;
|
||||
rebuild();
|
||||
}
|
||||
|
@@ -23,6 +23,8 @@ import static com.android.settings.applications.manageapplications.ManageApplica
|
||||
import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_NOTIFICATION;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
@@ -303,6 +305,23 @@ public class ManageApplicationsTest {
|
||||
verify(holder, never()).updateSwitch(any(), anyBoolean(), anyBoolean());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void sortOrderSavedOnRebuild() {
|
||||
ManageApplications manageApplications = mock(ManageApplications.class);
|
||||
manageApplications.mListType = LIST_TYPE_NOTIFICATION;
|
||||
manageApplications.mSortOrder = -1;
|
||||
ManageApplications.ApplicationsAdapter adapter =
|
||||
new ManageApplications.ApplicationsAdapter(mState,
|
||||
manageApplications, mock(AppFilterItem.class),
|
||||
mock(Bundle.class));
|
||||
|
||||
adapter.rebuild(mSortRecent.getItemId());
|
||||
assertThat(manageApplications.mSortOrder).isEqualTo(mSortRecent.getItemId());
|
||||
|
||||
adapter.rebuild(mSortFrequent.getItemId());
|
||||
assertThat(manageApplications.mSortOrder).isEqualTo(mSortFrequent.getItemId());
|
||||
}
|
||||
|
||||
private void setUpOptionMenus() {
|
||||
when(mMenu.findItem(anyInt())).thenAnswer(invocation -> {
|
||||
final Object[] args = invocation.getArguments();
|
||||
|
Reference in New Issue
Block a user