Bug 1293790 - WIP: show just primary domain for AS TopSitesCard
MozReview-Commit-ID: GFiyjlE8enN
--- a/mobile/android/base/java/org/mozilla/gecko/home/activitystream/topsites/TopSitesCard.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/activitystream/topsites/TopSitesCard.java
@@ -11,17 +11,18 @@ import android.view.View;
import android.widget.TextView;
import org.mozilla.gecko.R;
import org.mozilla.gecko.db.BrowserContract;
import org.mozilla.gecko.favicons.Favicons;
import org.mozilla.gecko.home.UpdateViewFaviconLoadedListener;
import org.mozilla.gecko.widget.FaviconView;
-import java.util.EnumSet;
+import java.net.URI;
+import java.net.URISyntaxException;
class TopSitesCard extends RecyclerView.ViewHolder {
private final FaviconView faviconView;
private final TextView title;
private final View menuButton;
private final UpdateViewFaviconLoadedListener mFaviconListener;
@@ -46,15 +47,24 @@ class TopSitesCard extends RecyclerView.
throw new IllegalStateException("foobar");
}
});
}
void bind(Cursor cursor) {
this.url = cursor.getString(cursor.getColumnIndexOrThrow(BrowserContract.Combined.URL));
- title.setText(cursor.getString(cursor.getColumnIndexOrThrow(BrowserContract.Combined.TITLE)));
+ try {
+ final String[] components = (new URI(this.url)).getHost().split("\\.");
+
+ if (components.length >= 2) {
+ title.setText(components[components.length - 2]);
+ }
+
+ } catch (URISyntaxException e) {
+ title.setText(cursor.getString(cursor.getColumnIndexOrThrow(BrowserContract.Combined.TITLE)));
+ }
Favicons.cancelFaviconLoad(mLoadFaviconJobId);
mLoadFaviconJobId = Favicons.getSizedFaviconForPageFromLocal(faviconView.getContext(), url, mFaviconListener);
}
}