Home | History | Annotate | Download | only in picasasource
      1 /*
      2  * Copyright (C) 2010 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package com.android.gallery3d.picasasource;
     18 
     19 import android.app.Activity;
     20 import android.app.Dialog;
     21 import android.content.Context;
     22 import android.os.ParcelFileDescriptor;
     23 
     24 import com.android.gallery3d.app.GalleryApp;
     25 import com.android.gallery3d.data.MediaItem;
     26 import com.android.gallery3d.data.MediaObject;
     27 import com.android.gallery3d.data.MediaSet;
     28 import com.android.gallery3d.data.MediaSource;
     29 import com.android.gallery3d.data.Path;
     30 import com.android.gallery3d.data.PathMatcher;
     31 
     32 import java.io.FileNotFoundException;
     33 
     34 public class PicasaSource extends MediaSource {
     35     private static final String TAG = "PicasaSource";
     36 
     37     private static final int NO_MATCH = -1;
     38     private static final int IMAGE_MEDIA_ID = 1;
     39 
     40     private static final int PICASA_ALBUMSET = 0;
     41     private static final int MAP_BATCH_COUNT = 100;
     42 
     43     private GalleryApp mApplication;
     44     private PathMatcher mMatcher;
     45 
     46     public static final Path ALBUM_PATH = Path.fromString("/picasa/all");
     47 
     48     public PicasaSource(GalleryApp application) {
     49         super("picasa");
     50         mApplication = application;
     51         mMatcher = new PathMatcher();
     52         mMatcher.add("/picasa/all", PICASA_ALBUMSET);
     53         mMatcher.add("/picasa/image", PICASA_ALBUMSET);
     54         mMatcher.add("/picasa/video", PICASA_ALBUMSET);
     55     }
     56 
     57     private static class EmptyAlbumSet extends MediaSet {
     58 
     59         public EmptyAlbumSet(Path path, long version) {
     60             super(path, version);
     61         }
     62 
     63         @Override
     64         public String getName() {
     65             return "picasa";
     66         }
     67 
     68         @Override
     69         public long reload() {
     70             return mDataVersion;
     71         }
     72     }
     73 
     74     @Override
     75     public MediaObject createMediaObject(Path path) {
     76         switch (mMatcher.match(path)) {
     77             case PICASA_ALBUMSET:
     78                 return new EmptyAlbumSet(path, MediaObject.nextVersionNumber());
     79             default:
     80                 throw new RuntimeException("bad path: " + path);
     81         }
     82     }
     83 
     84     public static MediaItem getFaceItem(Context context, MediaItem item, int faceIndex) {
     85         throw new UnsupportedOperationException();
     86     }
     87 
     88     public static boolean isPicasaImage(MediaObject object) {
     89         return false;
     90     }
     91 
     92     public static String getImageTitle(MediaObject image) {
     93         throw new UnsupportedOperationException();
     94     }
     95 
     96     public static int getImageSize(MediaObject image) {
     97         throw new UnsupportedOperationException();
     98     }
     99 
    100     public static String getContentType(MediaObject image) {
    101         throw new UnsupportedOperationException();
    102     }
    103 
    104     public static long getDateTaken(MediaObject image) {
    105         throw new UnsupportedOperationException();
    106     }
    107 
    108     public static double getLatitude(MediaObject image) {
    109         throw new UnsupportedOperationException();
    110     }
    111 
    112     public static double getLongitude(MediaObject image) {
    113         throw new UnsupportedOperationException();
    114     }
    115 
    116     public static int getRotation(MediaObject image) {
    117         throw new UnsupportedOperationException();
    118     }
    119 
    120     public static long getPicasaId(MediaObject image) {
    121         throw new UnsupportedOperationException();
    122     }
    123 
    124     public static String getUserAccount(Context context, MediaObject image) {
    125         throw new UnsupportedOperationException();
    126     }
    127 
    128     public static ParcelFileDescriptor openFile(Context context, MediaObject image, String mode)
    129             throws FileNotFoundException {
    130         throw new UnsupportedOperationException();
    131     }
    132 
    133     public static void initialize(Context context) {/*do nothing*/}
    134 
    135     public static void requestSync(Context context) {/*do nothing*/}
    136 
    137     public static void showSignInReminder(Activity context) {/*do nothing*/}
    138 
    139     public static void onPackageAdded(Context context, String packageName) {/*do nothing*/}
    140 
    141     public static void onPackageRemoved(Context context, String packageName) {/*do nothing*/}
    142 
    143     public static void onPackageChanged(Context context, String packageName) {/*do nothing*/}
    144 
    145     public static Dialog getVersionCheckDialog(Activity activity){
    146         return null;
    147     }
    148 }
    149