From 466affac0914f48a5ecca4a04d463a6c4e382ff0 Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Thu, 21 Aug 2014 15:02:57 +0200 Subject: [PATCH 1/2] fix #1762: show blog url in the share blog spinner if the blog title is an empty string --- .../android/ui/ShareIntentReceiverActivity.java | 12 ++++-------- .../java/org/wordpress/android/util/BlogUtils.java | 11 +++++++++++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java index 49161092e6cc..c22f047f6ac3 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java @@ -20,7 +20,7 @@ import org.wordpress.android.ui.accounts.WelcomeActivity; import org.wordpress.android.ui.media.MediaBrowserActivity; import org.wordpress.android.ui.posts.EditPostActivity; -import org.wordpress.android.util.StringUtils; +import org.wordpress.android.util.BlogUtils; import org.wordpress.android.util.ToastUtils; import java.util.ArrayList; @@ -162,13 +162,9 @@ private String[] getBlogNames() { mAccountIDs = new int[accounts.size()]; Blog blog; for (int i = 0; i < accounts.size(); i++) { - Map curHash = accounts.get(i); - try { - blogNames[i] = StringUtils.unescapeHTML(curHash.get("blogName").toString()); - } catch (Exception e) { - blogNames[i] = curHash.get("url").toString(); - } - mAccountIDs[i] = (Integer) curHash.get("id"); + Map account = accounts.get(i); + blogNames[i] = BlogUtils.getBlogNameFromAccountMap(account); + mAccountIDs[i] = (Integer) account.get("id"); blog = WordPress.wpDB.instantiateBlogByLocalId(mAccountIDs[i]); if (blog == null) { ToastUtils.showToast(this, R.string.blog_not_found, ToastUtils.Duration.SHORT); diff --git a/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/BlogUtils.java b/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/BlogUtils.java index 166085a4f066..1da5d104384d 100644 --- a/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/BlogUtils.java +++ b/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/BlogUtils.java @@ -22,4 +22,15 @@ public int compare(Object blog1, Object blog2) { return blogName1.compareToIgnoreCase(blogName2); } }; + + /** + * Return a blog name or blog url (host part only) if trimmed name is an empty string + */ + public static String getBlogNameFromAccountMap(Map account) { + String blogName = StringUtils.unescapeHTML(MapUtils.getMapStr(account, "blogName")); + if (blogName.trim().length() == 0) { + blogName = StringUtils.getHost(MapUtils.getMapStr(account, "url")); + } + return blogName; + } } \ No newline at end of file From 753a40aa11945f0df6b5c7e64961947585ae865c Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Thu, 21 Aug 2014 15:05:46 +0200 Subject: [PATCH 2/2] use getBlogNameFromAccountMap --- .../android/ui/WPActionBarActivity.java | 19 ++++--------------- .../ui/accounts/ManageBlogsActivity.java | 9 ++------- .../reader/adapters/ReaderReblogAdapter.java | 9 ++------- 3 files changed, 8 insertions(+), 29 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/WPActionBarActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/WPActionBarActivity.java index 88570fc11e65..7a0817da45aa 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/WPActionBarActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/WPActionBarActivity.java @@ -10,13 +10,11 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; -import android.content.SharedPreferences; import android.content.res.Configuration; import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.os.Handler; -import android.preference.PreferenceManager; import android.support.v4.content.LocalBroadcastManager; import android.view.LayoutInflater; import android.view.MenuItem; @@ -41,12 +39,14 @@ import org.wordpress.android.Constants; import org.wordpress.android.R; import org.wordpress.android.WordPress; +import org.wordpress.android.analytics.AnalyticsTracker; import org.wordpress.android.models.Blog; import org.wordpress.android.networking.SelfSignedSSLCertsManager; import org.wordpress.android.ui.accounts.WelcomeActivity; import org.wordpress.android.ui.comments.CommentsActivity; import org.wordpress.android.ui.media.MediaBrowserActivity; import org.wordpress.android.ui.notifications.NotificationsActivity; +import org.wordpress.android.ui.notifications.SimperiumUtils; import org.wordpress.android.ui.posts.EditPostActivity; import org.wordpress.android.ui.posts.PagesActivity; import org.wordpress.android.ui.posts.PostsActivity; @@ -57,13 +57,11 @@ import org.wordpress.android.util.AppLog; import org.wordpress.android.util.AppLog.T; import org.wordpress.android.util.AuthenticationDialogUtils; +import org.wordpress.android.util.BlogUtils; import org.wordpress.android.util.DeviceUtils; import org.wordpress.android.util.DisplayUtils; -import org.wordpress.android.ui.notifications.SimperiumUtils; -import org.wordpress.android.util.StringUtils; import org.wordpress.android.util.ToastUtils; import org.wordpress.android.util.ToastUtils.Duration; -import org.wordpress.android.analytics.AnalyticsTracker; import org.wordpress.android.util.ptr.PullToRefreshHelper; import org.xmlrpc.android.ApiHelper; import org.xmlrpc.android.ApiHelper.ErrorType; @@ -531,16 +529,7 @@ protected static String[] getBlogNames() { for (int i = 0; i < blogCount; i++) { Map account = accounts.get(i); - String name; - if (account.get("blogName") != null) { - name = StringUtils.unescapeHTML(account.get("blogName").toString()); - if (name.trim().length() == 0) { - name = StringUtils.getHost(account.get("url").toString()); - } - } else { - name = StringUtils.getHost(account.get("url").toString()); - } - blogNames[i] = name; + blogNames[i] = BlogUtils.getBlogNameFromAccountMap(account); blogIDs[i] = Integer.valueOf(account.get("id").toString()); } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/ManageBlogsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/accounts/ManageBlogsActivity.java index 9c6e59660172..d595e71d20e3 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/ManageBlogsActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/ManageBlogsActivity.java @@ -17,9 +17,9 @@ import org.wordpress.android.R; import org.wordpress.android.WordPress; import org.wordpress.android.networking.NetworkUtils; +import org.wordpress.android.util.BlogUtils; import org.wordpress.android.util.ListScrollPositionManager; import org.wordpress.android.util.MapUtils; -import org.wordpress.android.util.StringUtils; import org.wordpress.android.util.ToastUtils; import org.wordpress.android.util.ptr.PullToRefreshHelper; import org.wordpress.android.util.ptr.PullToRefreshHelper.RefreshListener; @@ -148,12 +148,7 @@ public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); View rowView = inflater.inflate(mResource, parent, false); CheckedTextView nameView = (CheckedTextView) rowView.findViewById(R.id.blog_name); - String name = StringUtils.unescapeHTML(MapUtils.getMapStr(getItem(position), "blogName")); - if (name.trim().length() == 0) { - name = MapUtils.getMapStr(getItem(position), "url"); - name = StringUtils.getHost(name); - } - nameView.setText(name); + nameView.setText(BlogUtils.getBlogNameFromAccountMap(getItem(position))); nameView.setChecked(!MapUtils.getMapBool(getItem(position), "isHidden")); return rowView; } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderReblogAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderReblogAdapter.java index 1746c2343833..a360b4b8724b 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderReblogAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderReblogAdapter.java @@ -2,7 +2,6 @@ import android.content.Context; import android.os.AsyncTask; -import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -13,8 +12,8 @@ import org.wordpress.android.R; import org.wordpress.android.WordPress; import org.wordpress.android.ui.reader.actions.ReaderActions.DataLoadedListener; +import org.wordpress.android.util.BlogUtils; import org.wordpress.android.util.DisplayUtils; -import org.wordpress.android.util.StringUtils; import java.util.ArrayList; import java.util.List; @@ -159,11 +158,7 @@ protected Boolean doInBackground(Void... voids) { // don't add if this is the blog we're excluding (prevents reblogging to // the same blog the post is from) if (blogId != mExcludeBlogId) { - String blogName = StringUtils.unescapeHTML(curHash.get("blogName").toString()); - if (TextUtils.isEmpty(blogName)) { - blogName = curHash.get("url").toString(); - } - + String blogName = BlogUtils.getBlogNameFromAccountMap(curHash); SimpleAccountItem item = new SimpleAccountItem(blogId, blogName); // if this is the current blog, insert it at the top so it's automatically selected