Bug 1243558 - Add click handler to screenshots items in bookmarks. r=sebastian draft
authorMichael Comella <michael.l.comella@gmail.com>
Mon, 29 Feb 2016 17:15:15 -0800
changeset 335641 e64e95e5f7701fdc7561ce23b60f465701de96e1
parent 335640 79aaede891025761122e154a9b8c51623eebcc53
child 335642 e88fabd64fe4f5354a5321d023ff1d2f61152c25
push id11840
push usermichael.l.comella@gmail.com
push dateTue, 01 Mar 2016 01:35:09 +0000
reviewerssebastian
bugs1243558
milestone47.0a1
Bug 1243558 - Add click handler to screenshots items in bookmarks. r=sebastian MozReview-Commit-ID: FsGom2EANSj
mobile/android/base/java/org/mozilla/gecko/home/BookmarksListAdapter.java
mobile/android/base/java/org/mozilla/gecko/home/BookmarksListView.java
--- a/mobile/android/base/java/org/mozilla/gecko/home/BookmarksListAdapter.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/BookmarksListAdapter.java
@@ -135,16 +135,20 @@ class BookmarksListAdapter extends Multi
             mParentStack = new LinkedList<FolderInfo>(parentStack);
         }
     }
 
     public List<FolderInfo> getParentStack() {
         return Collections.unmodifiableList(mParentStack);
     }
 
+    public FolderType getOpenFolderType() {
+        return openFolderType;
+    }
+
     /**
      * Moves to parent folder, if one exists.
      *
      * @return Whether the adapter successfully moved to a parent folder.
      */
     public boolean moveToParentFolder() {
         // If we're already at the root, we can't move to a parent folder.
         // An empty parent stack here means we're still waiting for the
--- a/mobile/android/base/java/org/mozilla/gecko/home/BookmarksListView.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/BookmarksListView.java
@@ -6,16 +6,17 @@
 package org.mozilla.gecko.home;
 
 import java.util.EnumSet;
 
 import android.util.Log;
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.Telemetry;
 import org.mozilla.gecko.TelemetryContract;
+import org.mozilla.gecko.db.BrowserContract;
 import org.mozilla.gecko.db.BrowserContract.Bookmarks;
 import org.mozilla.gecko.home.HomePager.OnUrlOpenListener;
 
 import android.content.Context;
 import android.database.Cursor;
 import android.util.AttributeSet;
 import android.view.KeyEvent;
 import android.view.View;
@@ -79,16 +80,22 @@ public class BookmarksListView extends H
 
         final Cursor cursor = adapter.getCursor();
         if (cursor == null) {
             return;
         }
 
         cursor.moveToPosition(position);
 
+        if (adapter.getOpenFolderType() == BookmarksListAdapter.FolderType.SCREENSHOTS) {
+            final String fileUrl = "file://" + cursor.getString(cursor.getColumnIndex(BrowserContract.UrlAnnotations.VALUE));
+            getOnUrlOpenListener().onUrlOpen(fileUrl, EnumSet.of(OnUrlOpenListener.Flags.ALLOW_SWITCH_TO_TAB));
+            return;
+        }
+
         int type = cursor.getInt(cursor.getColumnIndexOrThrow(Bookmarks.TYPE));
         if (type == Bookmarks.TYPE_FOLDER) {
             // If we're clicking on a folder, update adapter to move to that folder
             final int folderId = cursor.getInt(cursor.getColumnIndexOrThrow(Bookmarks._ID));
             final String folderTitle = adapter.getFolderTitle(parent.getContext(), cursor);
             adapter.moveToChildFolder(folderId, folderTitle);
         } else {
             // Otherwise, just open the URL