add Intent Extra to force Nearby tab to show, like the other tabs have

This commit is contained in:
Hans-Christoph Steiner 2018-08-08 18:16:19 +02:00
parent 525f99b056
commit 23b296a012
2 changed files with 8 additions and 2 deletions

View File

@ -86,6 +86,7 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationB
private static final String TAG = "MainActivity";
public static final String EXTRA_VIEW_UPDATES = "org.fdroid.fdroid.views.main.MainActivity.VIEW_UPDATES";
public static final String EXTRA_VIEW_NEARBY = "org.fdroid.fdroid.views.main.MainActivity.VIEW_NEARBY";
public static final String EXTRA_VIEW_SETTINGS = "org.fdroid.fdroid.views.main.MainActivity.VIEW_SETTINGS";
static final int REQUEST_LOCATION_PERMISSIONS = 0xEF0F;
@ -219,6 +220,11 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationB
pager.scrollToPosition(adapter.adapterPositionFromItemId(R.id.updates));
selectedMenuId = R.id.updates;
setSelectedMenuInNav();
} else if (getIntent().hasExtra(EXTRA_VIEW_NEARBY)) {
getIntent().removeExtra(EXTRA_VIEW_NEARBY);
pager.scrollToPosition(adapter.adapterPositionFromItemId(R.id.nearby));
selectedMenuId = R.id.nearby;
setSelectedMenuInNav();
} else if (getIntent().hasExtra(EXTRA_VIEW_SETTINGS)) {
getIntent().removeExtra(EXTRA_VIEW_SETTINGS);
pager.scrollToPosition(adapter.adapterPositionFromItemId(R.id.settings));

View File

@ -82,7 +82,7 @@ class MainViewAdapter extends RecyclerView.Adapter<MainViewController> {
@NonNull
@Override
public MainViewController onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
MainViewController holder = createEmptyView();
MainViewController holder = createEmptyView(activity);
switch (viewType) {
case R.id.whats_new:
holder.bindWhatsNewView();
@ -106,7 +106,7 @@ class MainViewAdapter extends RecyclerView.Adapter<MainViewController> {
return holder;
}
private MainViewController createEmptyView() {
static MainViewController createEmptyView(AppCompatActivity activity) {
FrameLayout frame = new FrameLayout(activity);
frame.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));