diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 05d4c17..6959eb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -27,6 +27,11 @@
+
+
+
+
+
diff --git a/app/src/main/java/com/trianguloy/urlchecker/activities/AboutActivity.java b/app/src/main/java/com/trianguloy/urlchecker/activities/AboutActivity.java
index bbc83fc..8ea038f 100644
--- a/app/src/main/java/com/trianguloy/urlchecker/activities/AboutActivity.java
+++ b/app/src/main/java/com/trianguloy/urlchecker/activities/AboutActivity.java
@@ -33,8 +33,7 @@ public class AboutActivity extends Activity {
share.setType("text/plain");
share.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
- // Add data to the intent, the receiving app will decide
- // what to do with it.
+ // Add data to the intent, the receiving app will decide what to do with it.
share.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.app_name));
share.putExtra(Intent.EXTRA_TEXT, "https://play.google.com/store/apps/details?id=" + getPackageName());
diff --git a/app/src/main/java/com/trianguloy/urlchecker/dialogs/MainDialog.java b/app/src/main/java/com/trianguloy/urlchecker/dialogs/MainDialog.java
index 8ce1078..efce4f9 100644
--- a/app/src/main/java/com/trianguloy/urlchecker/dialogs/MainDialog.java
+++ b/app/src/main/java/com/trianguloy/urlchecker/dialogs/MainDialog.java
@@ -1,6 +1,7 @@
package com.trianguloy.urlchecker.dialogs;
import android.app.Activity;
+import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
@@ -147,22 +148,39 @@ public class MainDialog extends Activity {
}
/**
- * @return the url that this activity was opened with (intent uri)
+ * @return the url that this activity was opened with (intent uri or sent text)
*/
private String getOpenUrl() {
+ // get the intent
+ Intent intent = getIntent();
+ if (intent == null) return invalid();
- // get data
- Uri uri = this.getIntent().getData();
-
- if (uri == null) {
- // check in case someone opens this without url
- Toast.makeText(this, "No url", Toast.LENGTH_SHORT).show();
- finish();
- return null;
+ // check the action
+ String action = getIntent().getAction();
+ if (Intent.ACTION_SEND.equals(action)) {
+ // sent text
+ String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);
+ if (sharedText == null) return invalid();
+ return sharedText.trim();
+ } else if (Intent.ACTION_VIEW.equals(action)) {
+ // view url
+ Uri uri = intent.getData();
+ if (uri == null) return invalid();
+ return uri.toString();
+ } else {
+ // other
+ return invalid();
}
+ }
- // return
- return uri.toString();
+ /**
+ * @return null, finishes the activity and shows a toast
+ */
+ private String invalid() {
+ // for an invalid parameter
+ Toast.makeText(this, R.string.toast_invalid, Toast.LENGTH_SHORT).show();
+ finish();
+ return null;
}
// ------------------- url -------------------
diff --git a/app/src/main/java/com/trianguloy/urlchecker/utilities/UrlUtilities.java b/app/src/main/java/com/trianguloy/urlchecker/utilities/UrlUtilities.java
index b003bab..5cf62f6 100644
--- a/app/src/main/java/com/trianguloy/urlchecker/utilities/UrlUtilities.java
+++ b/app/src/main/java/com/trianguloy/urlchecker/utilities/UrlUtilities.java
@@ -45,7 +45,7 @@ public class UrlUtilities {
// check if none
if (intents.isEmpty()) {
- Toast.makeText(cntx, R.string.toast_cantOpen, Toast.LENGTH_SHORT).show();
+ Toast.makeText(cntx, R.string.toast_noBrowser, Toast.LENGTH_SHORT).show();
return;
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a7f0b42..f3a258a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -19,8 +19,8 @@
Can\'t open activity
Can\'t open the browser
- No other apps can open this url
Choose app
+ Invalid
%s: