diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1d9d859482..9a23616d92 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -685,6 +685,9 @@
Search
Search for conversations, contacts, and messages
+
+ Invalid shortcut
+
Signal
New message
diff --git a/src/org/thoughtcrime/securesms/ShortcutLauncherActivity.java b/src/org/thoughtcrime/securesms/ShortcutLauncherActivity.java
index 1c7e6de00d..71e5479ed5 100644
--- a/src/org/thoughtcrime/securesms/ShortcutLauncherActivity.java
+++ b/src/org/thoughtcrime/securesms/ShortcutLauncherActivity.java
@@ -8,6 +8,7 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.TaskStackBuilder;
import android.support.v7.app.AppCompatActivity;
+import android.widget.Toast;
import org.thoughtcrime.securesms.database.Address;
import org.thoughtcrime.securesms.recipients.Recipient;
@@ -30,11 +31,19 @@ public class ShortcutLauncherActivity extends AppCompatActivity {
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- String serializedAddress = getIntent().getStringExtra(KEY_SERIALIZED_ADDRESS);
- Address address = Address.fromSerialized(serializedAddress);
- Recipient recipient = Recipient.from(this, address, true);
- TaskStackBuilder backStack = TaskStackBuilder.create(this)
- .addNextIntent(new Intent(this, ConversationListActivity.class));
+ String serializedAddress = getIntent().getStringExtra(KEY_SERIALIZED_ADDRESS);
+
+ if (serializedAddress == null) {
+ Toast.makeText(this, R.string.ShortcutLauncherActivity_invalid_shortcut, Toast.LENGTH_SHORT).show();
+ startActivity(new Intent(this, ConversationListActivity.class));
+ finish();
+ return;
+ }
+
+ Address address = Address.fromSerialized(serializedAddress);
+ Recipient recipient = Recipient.from(this, address, true);
+ TaskStackBuilder backStack = TaskStackBuilder.create(this)
+ .addNextIntent(new Intent(this, ConversationListActivity.class));
CommunicationActions.startConversation(this, recipient, null, backStack);
finish();