From 42c3129b66fe555c37fa67b6421230199cc64968 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Fri, 8 Feb 2019 23:28:27 +0100 Subject: catch activity not found when trying to open contact app --- .../messenger/ui/ContactDetailsActivity.java | 36 ++++++++++++---------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'src/main/java/de/pixart/messenger/ui/ContactDetailsActivity.java') diff --git a/src/main/java/de/pixart/messenger/ui/ContactDetailsActivity.java b/src/main/java/de/pixart/messenger/ui/ContactDetailsActivity.java index 7fc150aa7..91f48c4c4 100644 --- a/src/main/java/de/pixart/messenger/ui/ContactDetailsActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ContactDetailsActivity.java @@ -155,8 +155,12 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp } else { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(systemAccount); - startActivity(intent); - overridePendingTransition(R.animator.fade_in, R.animator.fade_out); + try { + startActivity(intent); + overridePendingTransition(R.animator.fade_in, R.animator.fade_out); + } catch (ActivityNotFoundException e) { + Toast.makeText(ContactDetailsActivity.this, R.string.no_application_found_to_view_contact, Toast.LENGTH_SHORT).show(); + } } } }; @@ -192,16 +196,16 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp } } builder1.setItems(labels, (dialog1, which1) -> { - final long till; - if (durations[which1] == -1) { - till = Long.MAX_VALUE; - } else { - till = System.currentTimeMillis() + (durations[which1] * 1000); - } - mConversation.setMutedTill(till); - xmppConnectionService.updateConversation(mConversation); - populateView(); - }); + final long till; + if (durations[which1] == -1) { + till = Long.MAX_VALUE; + } else { + till = System.currentTimeMillis() + (durations[which1] * 1000); + } + mConversation.setMutedTill(till); + xmppConnectionService.updateConversation(mConversation); + populateView(); + }); builder1.create().show(); } else { mConversation.setMutedTill(0); @@ -423,9 +427,9 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp binding.addContactButton.setOnClickListener(view -> { final AlertDialog.Builder deleteFromRosterDialog = new AlertDialog.Builder(ContactDetailsActivity.this); deleteFromRosterDialog.setNegativeButton(getString(R.string.cancel), null) - .setTitle(getString(R.string.action_delete_contact)) - .setMessage(JidDialog.style(this, R.string.remove_contact_text, contact.getJid().toEscapedString())) - .setPositiveButton(getString(R.string.delete), removeFromRoster).create().show(); + .setTitle(getString(R.string.action_delete_contact)) + .setMessage(JidDialog.style(this, R.string.remove_contact_text, contact.getJid().toEscapedString())) + .setPositiveButton(getString(R.string.delete), removeFromRoster).create().show(); }); binding.detailsSendPresence.setOnCheckedChangeListener(null); binding.detailsReceivePresence.setOnCheckedChangeListener(null); @@ -570,7 +574,7 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp if (Config.supportOmemo() && axolotlService != null) { final Collection sessions = axolotlService.findSessionsForContact(contact); boolean anyActive = false; - for(XmppAxolotlSession session : sessions) { + for (XmppAxolotlSession session : sessions) { anyActive = session.getTrust().isActive(); if (anyActive) { break; -- cgit v1.2.3