diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2015-09-05 19:30:22 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2015-09-05 19:31:55 +0900 |
commit | 172248a68595e762b0d95fed29c719d714e96529 (patch) | |
tree | 74e54cdd332077cb9952700e8651167fe946c5ba /app/src | |
parent | d87e8c2b04042b2d72fa11d016ae3e0bd4652681 (diff) | |
download | SmileEssence-172248a68595e762b0d95fed29c719d714e96529.tar.gz |
IntentRouter: Twitter の Web Intent なインテントを受信した際、url が空の場合に無駄なスペースを追加しない
Diffstat (limited to 'app/src')
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/IntentRouter.java | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/IntentRouter.java b/app/src/main/java/net/lacolaco/smileessence/IntentRouter.java index 6a5d6d50..fd48a83e 100644 --- a/app/src/main/java/net/lacolaco/smileessence/IntentRouter.java +++ b/app/src/main/java/net/lacolaco/smileessence/IntentRouter.java @@ -81,6 +81,20 @@ public class IntentRouter { } } + private static void onUriIntent(MainActivity activity, Uri uri) { + Logger.debug(uri.toString()); + if (isPostIntent(uri)) { + String str = getText(uri); + openPostPage(activity, str); + } else if (isStatusIntent(uri)) { + long id = getStatusID(uri); + showStatusDialog(activity, id); + } else if (isUserIntent(uri)) { + String screenName = getScreenName(uri); + showUserDialog(activity, screenName); + } + } + private static String getText(Bundle extra) { StringBuilder builder = new StringBuilder(); if (!TextUtils.isEmpty(extra.getCharSequence(Intent.EXTRA_SUBJECT))) { @@ -91,32 +105,17 @@ public class IntentRouter { } private static String getText(Uri uri) { - String text = ""; - String url = ""; - if (uri.getQueryParameter("text") != null) { - text = uri.getQueryParameter("text").replaceAll("\\+", " "); - } else if (uri.getQueryParameter("status") != null) { - text = uri.getQueryParameter("status").replaceAll("\\+", " "); + String result = ""; + if (!TextUtils.isEmpty(uri.getQueryParameter("text"))) { + result += uri.getQueryParameter("text").replaceAll("\\+", " "); + } else if (!TextUtils.isEmpty(uri.getQueryParameter("status"))) { + result += uri.getQueryParameter("status").replaceAll("\\+", " "); } - - if (uri.getQueryParameter("url") != null) { - url = uri.getQueryParameter("url"); + if (!TextUtils.isEmpty(uri.getQueryParameter("url"))) { + result += " " + uri.getQueryParameter("url"); } - return text + " " + url; - } - private static void onUriIntent(MainActivity activity, Uri uri) { - Logger.debug(uri.toString()); - if (isPostIntent(uri)) { - String str = getText(uri); - openPostPage(activity, str); - } else if (isStatusIntent(uri)) { - long id = getStatusID(uri); - showStatusDialog(activity, id); - } else if (isUserIntent(uri)) { - String screenName = getScreenName(uri); - showUserDialog(activity, screenName); - } + return result; } private static String getScreenName(Uri uri) { |