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: