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;
|
private static final int NO_USER_SPECIFIED = -1;
|
||||||
|
|
||||||
// sort order
|
// sort order
|
||||||
private int mSortOrder = R.id.sort_order_alpha;
|
@VisibleForTesting
|
||||||
|
int mSortOrder = R.id.sort_order_alpha;
|
||||||
|
|
||||||
// whether showing system apps.
|
// whether showing system apps.
|
||||||
private boolean mShowSystem;
|
private boolean mShowSystem;
|
||||||
@@ -649,9 +650,8 @@ public class ManageApplications extends InstrumentedFragment
|
|||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case R.id.sort_order_alpha:
|
case R.id.sort_order_alpha:
|
||||||
case R.id.sort_order_size:
|
case R.id.sort_order_size:
|
||||||
mSortOrder = menuId;
|
|
||||||
if (mApplications != null) {
|
if (mApplications != null) {
|
||||||
mApplications.rebuild(mSortOrder);
|
mApplications.rebuild(menuId);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case R.id.show_system:
|
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) {
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||||
mFilter = mFilterAdapter.getFilter(position);
|
mFilter = mFilterAdapter.getFilter(position);
|
||||||
mApplications.setFilter(mFilter);
|
mApplications.setFilter(mFilter);
|
||||||
|
|
||||||
if (DEBUG) Log.d(TAG, "Selecting filter " + mFilter);
|
if (DEBUG) Log.d(TAG, "Selecting filter " + mFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -986,6 +987,7 @@ public class ManageApplications extends InstrumentedFragment
|
|||||||
if (sort == mLastSortMode) {
|
if (sort == mLastSortMode) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
mManageApplications.mSortOrder = sort;
|
||||||
mLastSortMode = sort;
|
mLastSortMode = sort;
|
||||||
rebuild();
|
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.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_NOTIFICATION;
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import static junit.framework.Assert.assertEquals;
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||||
import static org.mockito.Matchers.any;
|
import static org.mockito.Matchers.any;
|
||||||
import static org.mockito.Matchers.anyInt;
|
import static org.mockito.Matchers.anyInt;
|
||||||
@@ -303,6 +305,23 @@ public class ManageApplicationsTest {
|
|||||||
verify(holder, never()).updateSwitch(any(), anyBoolean(), anyBoolean());
|
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() {
|
private void setUpOptionMenus() {
|
||||||
when(mMenu.findItem(anyInt())).thenAnswer(invocation -> {
|
when(mMenu.findItem(anyInt())).thenAnswer(invocation -> {
|
||||||
final Object[] args = invocation.getArguments();
|
final Object[] args = invocation.getArguments();
|
||||||
|
Reference in New Issue
Block a user