diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java index c4d6dc4df0ab25b1196be337c0a6ec5dbae1d856..c27238838a13cfc72747032d9290d4f111b5aa22 100644 --- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java @@ -177,9 +177,11 @@ public abstract class XmppActivity extends ActionBarActivity { } protected void hideToast() { - if (mToast != null) { - mToast.cancel(); + final var toast = this.mToast; + if (toast == null) { + return; } + toast.cancel(); } protected void replaceToast(String msg) { @@ -261,23 +263,28 @@ public abstract class XmppActivity extends ActionBarActivity { XmppConnectionService.class)); finish(); }); - builder.setPositiveButton(getString(R.string.install), + builder.setPositiveButton( + getString(R.string.install), (dialog, which) -> { - Uri uri = Uri - .parse("market://details?id=org.sufficientlysecure.keychain"); - Intent marketIntent = new Intent(Intent.ACTION_VIEW, - uri); - PackageManager manager = getApplicationContext() - .getPackageManager(); - List infos = manager - .queryIntentActivities(marketIntent, 0); - if (infos.size() > 0) { - startActivity(marketIntent); + final Uri uri = + Uri.parse("market://details?id=org.sufficientlysecure.keychain"); + Intent marketIntent = new Intent(Intent.ACTION_VIEW, uri); + PackageManager manager = getApplicationContext().getPackageManager(); + final var infos = manager.queryIntentActivities(marketIntent, 0); + if (infos.isEmpty()) { + final var website = Uri.parse("http://www.openkeychain.org/"); + final Intent browserIntent = new Intent(Intent.ACTION_VIEW, website); + try { + startActivity(browserIntent); + } catch (final ActivityNotFoundException e) { + Toast.makeText( + this, + R.string.application_found_to_open_website, + Toast.LENGTH_LONG) + .show(); + } } else { - uri = Uri.parse("http://www.openkeychain.org/"); - Intent browserIntent = new Intent( - Intent.ACTION_VIEW, uri); - startActivity(browserIntent); + startActivity(marketIntent); } finish(); });