Bug 1243558 - Add click handler to screenshots items in bookmarks. r=sebastian
MozReview-Commit-ID: FsGom2EANSj
--- 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