aboutsummaryrefslogtreecommitdiff
path: root/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java
diff options
context:
space:
mode:
authorDanilo Ercoli <ercoli@gmail.com>2015-01-15 10:12:07 +0100
committerDanilo Ercoli <ercoli@gmail.com>2015-01-15 10:12:07 +0100
commite7a3cdaa5e4c77afba4dc36536f1e76bcb3e6f67 (patch)
tree75137ee8d0124bf00e59e2b2e9856b71dc7c80f7 /WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java
parent79b5dda87a172af6f9bb595324114e077a230d6b (diff)
downloadgradle-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.java31
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;