OSDN Git Service

Launching gallery shows browse ui on canvas
authorJohn Reck <jreck@google.com>
Tue, 29 Jan 2013 00:38:47 +0000 (16:38 -0800)
committerJohn Reck <jreck@google.com>
Tue, 29 Jan 2013 00:38:47 +0000 (16:38 -0800)
Change-Id: I3a5e63ce354ac8e3f3c60e4dc86cfa4432026622

src/com/android/gallery3d/app/Gallery.java
src/com/android/gallery3d/provider/CanvasProvider.java

index baef56b..f847f2f 100644 (file)
@@ -37,6 +37,7 @@ import com.android.gallery3d.data.MediaItem;
 import com.android.gallery3d.data.MediaSet;
 import com.android.gallery3d.data.Path;
 import com.android.gallery3d.picasasource.PicasaSource;
+import com.android.gallery3d.provider.CanvasProvider;
 import com.android.gallery3d.util.GalleryUtils;
 
 public final class Gallery extends AbstractGalleryActivity implements OnCancelListener {
@@ -100,6 +101,10 @@ public final class Gallery extends AbstractGalleryActivity implements OnCancelLi
     }
 
     public void startDefaultPage() {
+        if (CanvasProvider.startBrowseActivity(this)) {
+            finish();
+            return;
+        }
         PicasaSource.showSignInReminder(this);
         Bundle data = new Bundle();
         data.putString(AlbumSetPage.KEY_MEDIA_PATH,
index 86c72fb..95c02dc 100644 (file)
 
 package com.android.gallery3d.provider;
 
+import android.app.Activity;
+import android.content.ActivityNotFoundException;
 import android.content.ContentProvider;
 import android.content.ContentResolver;
 import android.content.ContentValues;
 import android.content.Intent;
 import android.content.UriMatcher;
+import android.content.res.Configuration;
 import android.database.Cursor;
 import android.database.MatrixCursor;
 import android.graphics.Bitmap;
@@ -657,4 +660,17 @@ public class CanvasProvider extends ContentProvider {
         throw new UnsupportedOperationException("Update not supported");
     }
 
+    // TODO: Remove once b/8079561 is resolved
+    public static boolean startBrowseActivity(Activity activity) {
+        Configuration config = activity.getResources().getConfiguration();
+        if (config.touchscreen == Configuration.TOUCHSCREEN_NOTOUCH) {
+            try {
+                Intent intent = CanvasContract.getBrowseIntent(BROWSER_ROOT_URI, 0);
+                activity.startActivity(intent);
+                return true;
+            } catch (ActivityNotFoundException ex) {}
+        }
+        return false;
+    }
+
 }