remove unneeded saved state handling in MainActivity

This commit is contained in:
Konrad Pozniak 2021-05-18 18:58:30 +02:00 committed by Hans-Christoph Steiner
parent 6155bdbe20
commit ee5c2b6632

View File

@ -94,12 +94,9 @@ public class MainActivity extends AppCompatActivity {
private static final String ACTION_ADD_REPO = "org.fdroid.fdroid.MainActivity.ACTION_ADD_REPO"; private static final String ACTION_ADD_REPO = "org.fdroid.fdroid.MainActivity.ACTION_ADD_REPO";
public static final String ACTION_REQUEST_SWAP = "requestSwap"; public static final String ACTION_REQUEST_SWAP = "requestSwap";
private static final String STATE_SELECTED_MENU_ID = "selectedMenuId";
private RecyclerView pager; private RecyclerView pager;
private MainViewAdapter adapter; private MainViewAdapter adapter;
private BottomNavigationView bottomNavigation; private BottomNavigationView bottomNavigation;
private int selectedMenuId;
private BadgeDrawable updatesBadge; private BadgeDrawable updatesBadge;
@Override @Override
@ -128,7 +125,6 @@ public class MainActivity extends AppCompatActivity {
bottomNavigation = (BottomNavigationView) findViewById(R.id.bottom_navigation); bottomNavigation = (BottomNavigationView) findViewById(R.id.bottom_navigation);
bottomNavigation.setOnNavigationItemSelectedListener(item -> { bottomNavigation.setOnNavigationItemSelectedListener(item -> {
pager.scrollToPosition(item.getOrder()); pager.scrollToPosition(item.getOrder());
selectedMenuId = (int) adapter.getItemId(item.getItemId());
if (item.getItemId() == 2) { if (item.getItemId() == 2) {
NearbyViewBinder.updateUsbOtg(MainActivity.this); NearbyViewBinder.updateUsbOtg(MainActivity.this);
@ -145,27 +141,16 @@ public class MainActivity extends AppCompatActivity {
updateableAppsFilter.addAction(AppUpdateStatusManager.BROADCAST_APPSTATUS_REMOVED); updateableAppsFilter.addAction(AppUpdateStatusManager.BROADCAST_APPSTATUS_REMOVED);
LocalBroadcastManager.getInstance(this).registerReceiver(onUpdateableAppsChanged, updateableAppsFilter); LocalBroadcastManager.getInstance(this).registerReceiver(onUpdateableAppsChanged, updateableAppsFilter);
if (savedInstanceState != null) {
selectedMenuId = savedInstanceState.getInt(STATE_SELECTED_MENU_ID, (int) adapter.getItemId(0));
} else {
selectedMenuId = (int) adapter.getItemId(0);
}
setSelectedMenuInNav();
initialRepoUpdateIfRequired(); initialRepoUpdateIfRequired();
Intent intent = getIntent(); Intent intent = getIntent();
handleSearchOrAppViewIntent(intent); handleSearchOrAppViewIntent(intent);
} }
@Override private void setSelectedMenuInNav(int menuId) {
protected void onSaveInstanceState(Bundle outState) { int position = adapter.adapterPositionFromItemId(menuId);
outState.putInt(STATE_SELECTED_MENU_ID, selectedMenuId); pager.scrollToPosition(position);
super.onSaveInstanceState(outState); bottomNavigation.setSelectedItemId(position);
}
private void setSelectedMenuInNav() {
bottomNavigation.setSelectedItemId(adapter.adapterPositionFromItemId(selectedMenuId));
} }
private void initialRepoUpdateIfRequired() { private void initialRepoUpdateIfRequired() {
@ -183,19 +168,13 @@ public class MainActivity extends AppCompatActivity {
if (getIntent().hasExtra(EXTRA_VIEW_UPDATES)) { if (getIntent().hasExtra(EXTRA_VIEW_UPDATES)) {
getIntent().removeExtra(EXTRA_VIEW_UPDATES); getIntent().removeExtra(EXTRA_VIEW_UPDATES);
pager.scrollToPosition(adapter.adapterPositionFromItemId(R.id.updates)); setSelectedMenuInNav(R.id.updates);
selectedMenuId = R.id.updates;
setSelectedMenuInNav();
} else if (getIntent().hasExtra(EXTRA_VIEW_NEARBY)) { } else if (getIntent().hasExtra(EXTRA_VIEW_NEARBY)) {
getIntent().removeExtra(EXTRA_VIEW_NEARBY); getIntent().removeExtra(EXTRA_VIEW_NEARBY);
pager.scrollToPosition(adapter.adapterPositionFromItemId(R.id.nearby)); setSelectedMenuInNav(R.id.nearby);
selectedMenuId = R.id.nearby;
setSelectedMenuInNav();
} else if (getIntent().hasExtra(EXTRA_VIEW_SETTINGS)) { } else if (getIntent().hasExtra(EXTRA_VIEW_SETTINGS)) {
getIntent().removeExtra(EXTRA_VIEW_SETTINGS); getIntent().removeExtra(EXTRA_VIEW_SETTINGS);
pager.scrollToPosition(adapter.adapterPositionFromItemId(R.id.settings)); setSelectedMenuInNav(R.id.settings);
selectedMenuId = R.id.settings;
setSelectedMenuInNav();
} }
// AppDetailsActivity and RepoDetailsActivity set different NFC actions, so reset here // AppDetailsActivity and RepoDetailsActivity set different NFC actions, so reset here