diff --git a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java index 5dea02a26..e2ee5eae7 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java +++ b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java @@ -3,6 +3,7 @@ package org.fdroid.fdroid.views; import android.annotation.SuppressLint; import android.content.ActivityNotFoundException; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.content.res.Resources; import android.graphics.Bitmap; @@ -48,6 +49,7 @@ import org.fdroid.fdroid.data.InstalledAppProvider; import org.fdroid.fdroid.data.RepoProvider; import org.fdroid.fdroid.privileged.views.AppDiff; import org.fdroid.fdroid.privileged.views.AppSecurityPermissions; +import org.fdroid.fdroid.views.main.MainActivity; import java.text.NumberFormat; import java.util.ArrayList; @@ -751,6 +753,15 @@ public class AppDetailsRecyclerViewAdapter new AlertDialog.Builder(context) .setTitle(title) .setMessage(message) + .setPositiveButton(R.string.menu_settings, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + Intent intent = new Intent(context, MainActivity.class); + intent.putExtra(MainActivity.EXTRA_VIEW_SETTINGS, true); + context.startActivity(intent); + } + }) + .setNegativeButton(R.string.cancel, null) .show(); } diff --git a/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java b/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java index 7edc455ee..643e5fefa 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java @@ -54,6 +54,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_SETTINGS = "org.fdroid.fdroid.views.main.MainActivity.VIEW_SETTINGS"; private static final String ADD_REPO_INTENT_HANDLED = "addRepoIntentHandled"; @@ -156,6 +157,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_SETTINGS)) { + getIntent().removeExtra(EXTRA_VIEW_SETTINGS); + pager.scrollToPosition(adapter.adapterPositionFromItemId(R.id.settings)); + selectedMenuId = R.id.settings; + setSelectedMenuInNav(); } // AppDetails2 and RepoDetailsActivity set different NFC actions, so reset here