Bug 1293790 - WIP: show just primary domain for AS TopSitesCard draft
authorAndrzej Hunt <ahunt@mozilla.com>
Tue, 23 Aug 2016 14:35:27 -0700
changeset 405105 de4a93f4ec1731875d08febd666215a0f1b5c555
parent 405104 6030830158c601ad80cee3b666b0b6d36f468ee8
child 405106 46d198ad9bc0936cf92e8662a56095db9f54ae0c
push id27385
push userahunt@mozilla.com
push dateWed, 24 Aug 2016 18:42:24 +0000
bugs1293790
milestone51.0a1
Bug 1293790 - WIP: show just primary domain for AS TopSitesCard MozReview-Commit-ID: GFiyjlE8enN
mobile/android/base/java/org/mozilla/gecko/home/activitystream/topsites/TopSitesCard.java
--- 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);
     }
 }