diff options
author | Danilo Ercoli <ercoli@gmail.com> | 2015-01-15 10:12:07 +0100 |
---|---|---|
committer | Danilo Ercoli <ercoli@gmail.com> | 2015-01-15 10:12:07 +0100 |
commit | e7a3cdaa5e4c77afba4dc36536f1e76bcb3e6f67 (patch) | |
tree | 75137ee8d0124bf00e59e2b2e9856b71dc7c80f7 /WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java | |
parent | 79b5dda87a172af6f9bb595324114e077a230d6b (diff) | |
download | gradle-perf-android-medium-e7a3cdaa5e4c77afba4dc36536f1e76bcb3e6f67.tar.gz |
Switched to HashSet, and introduced a utility routine that cleans and normalizes the URL of the blogs.
Diffstat (limited to 'WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java')
-rw-r--r-- | WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java index eeba744ed..82b3d450c 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java @@ -24,8 +24,8 @@ import org.wordpress.android.widgets.WPNetworkImageView; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Date; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.concurrent.Executors; @@ -36,7 +36,7 @@ import java.util.concurrent.TimeUnit; public class StatsFollowersFragment extends StatsAbstractListFragment { public static final String TAG = StatsFollowersFragment.class.getSimpleName(); - private List<String> dotComUserBlogsURL = new ArrayList<>(); + private HashSet<String> dotComUserBlogsURL = new HashSet<>(); @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -82,12 +82,7 @@ public class StatsFollowersFragment extends StatsAbstractListFragment { List <Map<String, Object>> dotComUserBlogs = WordPress.wpDB.getAccountsBy("dotcomFlag=1", new String[]{"homeURL"}); for (Map<String, Object> blog : dotComUserBlogs) { if (blog != null && blog.get("homeURL") != null) { - String normURL = UrlUtils.normalizeUrl(blog.get("homeURL").toString()).toLowerCase(); - if (normURL.toLowerCase().startsWith("http://")) { - normURL = normURL.substring(7); - } else if (normURL.startsWith("https://")) { - normURL = normURL.substring(8); - } + String normURL = normalizeAndRemoveScheme(blog.get("homeURL").toString()); dotComUserBlogsURL.add(normURL); } } @@ -257,12 +252,7 @@ public class StatsFollowersFragment extends StatsAbstractListFragment { // If follow data is empty, we cannot follow the blog, or access it in the reader. // We need to check if the user is a member of this blog. // If so, we can launch open the reader, otherwise open the blog in the in-app browser. - String normURL = UrlUtils.normalizeUrl(currentRowData.getURL()).toLowerCase(); - if (normURL.startsWith("http://")) { - normURL = normURL.substring(7); - } else if (normURL.startsWith("https://")) { - normURL = normURL.substring(8); - } + String normURL = normalizeAndRemoveScheme(currentRowData.getURL()); openInReader = dotComUserBlogsURL.contains(normURL); } @@ -412,6 +402,19 @@ public class StatsFollowersFragment extends StatsAbstractListFragment { } } + private static String normalizeAndRemoveScheme(String url) { + if (TextUtils.isEmpty(url)) { + return ""; + } + String normURL = UrlUtils.normalizeUrl(url.toLowerCase()); + int pos = normURL.indexOf("://"); + if (pos > -1) { + return normURL.substring(pos + 3); + } else { + return normURL; + } + } + @Override protected int getEntryLabelResId() { return R.string.stats_entry_followers; |