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.util; 18 19 import com.android.gallery3d.data.MediaSet; 20 import com.android.gallery3d.data.MtpContext; 21 import com.android.gallery3d.data.Path; 22 23 import android.os.Environment; 24 25 import java.util.Comparator; 26 27 public class MediaSetUtils { 28 public static final Comparator<MediaSet> NAME_COMPARATOR = new NameComparator(); 29 30 public static final int CAMERA_BUCKET_ID = GalleryUtils.getBucketId( 31 Environment.getExternalStorageDirectory().toString() + "/DCIM/Camera"); 32 public static final int DOWNLOAD_BUCKET_ID = GalleryUtils.getBucketId( 33 Environment.getExternalStorageDirectory().toString() + "/download"); 34 public static final int IMPORTED_BUCKET_ID = GalleryUtils.getBucketId( 35 Environment.getExternalStorageDirectory().toString() + "/" 36 + MtpContext.NAME_IMPORTED_FOLDER); 37 38 private static final Path[] CAMERA_PATHS = { 39 Path.fromString("/local/all/" + CAMERA_BUCKET_ID), 40 Path.fromString("/local/image/" + CAMERA_BUCKET_ID), 41 Path.fromString("/local/video/" + CAMERA_BUCKET_ID)}; 42 isCameraSource(Path path)43 public static boolean isCameraSource(Path path) { 44 return CAMERA_PATHS[0] == path || CAMERA_PATHS[1] == path 45 || CAMERA_PATHS[2] == path; 46 } 47 48 // Sort MediaSets by name 49 public static class NameComparator implements Comparator<MediaSet> { compare(MediaSet set1, MediaSet set2)50 public int compare(MediaSet set1, MediaSet set2) { 51 int result = set1.getName().compareToIgnoreCase(set2.getName()); 52 if (result != 0) return result; 53 return set1.getPath().toString().compareTo(set2.getPath().toString()); 54 } 55 } 56 } 57