From 172248a68595e762b0d95fed29c719d714e96529 Mon Sep 17 00:00:00 2001 From: Kazuki Yamaguchi Date: Sat, 5 Sep 2015 19:30:22 +0900 Subject: IntentRouter: Twitter の Web Intent なインテントを受信した際、url が空の場合に無駄なスペースを追加しない MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/lacolaco/smileessence/IntentRouter.java | 45 +++++++++++----------- 1 file changed, 22 insertions(+), 23 deletions(-) (limited to 'app/src/main/java') 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) { -- cgit v1.2.3