From 43eac0e31617ee09f5846974a701595fb9db5046 Mon Sep 17 00:00:00 2001 From: Danilo Ercoli Date: Tue, 15 Sep 2015 18:11:41 +0200 Subject: [PATCH] Add two new functions to Utils that remove the traling slash in a string, and remove the scheme from URL string. --- .../org/wordpress/android/util/BlogUtils.java | 6 ++---- .../wordpress/android/util/StringUtils.java | 8 ++++++++ .../org/wordpress/android/util/UrlUtils.java | 19 +++++++++++++++++++ 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/WordPressUtils/src/main/java/org/wordpress/android/util/BlogUtils.java b/WordPressUtils/src/main/java/org/wordpress/android/util/BlogUtils.java index db40f18800e1..685aabf9ec53 100644 --- a/WordPressUtils/src/main/java/org/wordpress/android/util/BlogUtils.java +++ b/WordPressUtils/src/main/java/org/wordpress/android/util/BlogUtils.java @@ -36,10 +36,8 @@ public static String getBlogNameFromAccountMap(Map account) { * Return the blog home URL setting or the host name if home URL is an empty string. */ public static String getHomeURLOrHostNameFromAccountMap(Map account) { - String homeURL = MapUtils.getMapStr(account, "homeURL").replace("http://", "").replace("https://", "").trim(); - if (homeURL.endsWith("/")) { - homeURL = homeURL.substring(0, homeURL.length() -1); - } + String homeURL = UrlUtils.removeScheme(MapUtils.getMapStr(account, "homeURL")); + homeURL = StringUtils.removeTrailingSlash(homeURL); if (homeURL.length() == 0) { return StringUtils.getHost(MapUtils.getMapStr(account, "url")); diff --git a/WordPressUtils/src/main/java/org/wordpress/android/util/StringUtils.java b/WordPressUtils/src/main/java/org/wordpress/android/util/StringUtils.java index 68e3113c3d5d..136cc4e541a4 100644 --- a/WordPressUtils/src/main/java/org/wordpress/android/util/StringUtils.java +++ b/WordPressUtils/src/main/java/org/wordpress/android/util/StringUtils.java @@ -180,6 +180,14 @@ public static String capitalize(final String str) { return new StringBuilder(strLen).append(Character.toTitleCase(firstChar)).append(str.substring(1)).toString(); } + public static String removeTrailingSlash(final String str) { + if (TextUtils.isEmpty(str) || !str.endsWith("/")) { + return str; + } + + return str.substring(0, str.length() -1); + } + /* * Wrap an image URL in a photon URL * Check out http://developer.wordpress.com/docs/photon/ diff --git a/WordPressUtils/src/main/java/org/wordpress/android/util/UrlUtils.java b/WordPressUtils/src/main/java/org/wordpress/android/util/UrlUtils.java index 834fd8b48c6a..f4b5756d25ee 100644 --- a/WordPressUtils/src/main/java/org/wordpress/android/util/UrlUtils.java +++ b/WordPressUtils/src/main/java/org/wordpress/android/util/UrlUtils.java @@ -138,6 +138,25 @@ public static String normalizeUrl(final String urlString) { } } + + /** + * returns the passed url without the scheme + */ + public static String removeScheme(final String urlString) { + if (urlString == null) { + return null; + } + + int doubleslash = urlString.indexOf("//"); + if (doubleslash == -1) { + doubleslash = 0; + } else { + doubleslash += 2; + } + + return urlString.substring(doubleslash, urlString.length()); + } + /** * returns the passed url without the query parameters */