1f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin/* 2f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Copyright (C) 2010 The Android Open Source Project 3f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * 4f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Licensed under the Apache License, Version 2.0 (the "License"); 5f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * you may not use this file except in compliance with the License. 6f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * You may obtain a copy of the License at 7f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * 8f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * http://www.apache.org/licenses/LICENSE-2.0 9f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * 10f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Unless required by applicable law or agreed to in writing, software 11f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * distributed under the License is distributed on an "AS IS" BASIS, 12f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * See the License for the specific language governing permissions and 14f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * limitations under the License. 15f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin */ 16f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 17f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linpackage com.android.gallery3d.util; 18f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 192b3ee0ea07246b859a5b75d8a6102a7cce7ec838Owen Linimport android.os.Environment; 202b3ee0ea07246b859a5b75d8a6102a7cce7ec838Owen Lin 217eea4d3ac59aa88d327fc0d58f5e4052f43c54c9Bobby Georgescuimport com.android.gallery3d.data.LocalAlbum; 227eea4d3ac59aa88d327fc0d58f5e4052f43c54c9Bobby Georgescuimport com.android.gallery3d.data.LocalMergeAlbum; 23f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linimport com.android.gallery3d.data.MediaSet; 24f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linimport com.android.gallery3d.data.Path; 25f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 26f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linimport java.util.Comparator; 27f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 28f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linpublic class MediaSetUtils { 29f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static final Comparator<MediaSet> NAME_COMPARATOR = new NameComparator(); 30f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 31f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static final int CAMERA_BUCKET_ID = GalleryUtils.getBucketId( 32fcf54601d45bfcef2fbeb911c46ff394e84d7011Doris Liu Environment.getExternalStorageDirectory().toString() + "/" 33fcf54601d45bfcef2fbeb911c46ff394e84d7011Doris Liu + BucketNames.CAMERA); 34f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static final int DOWNLOAD_BUCKET_ID = GalleryUtils.getBucketId( 3554d626f5b529508637c3117a28874bee35bb0fc8Yuli Huang Environment.getExternalStorageDirectory().toString() + "/" 3654d626f5b529508637c3117a28874bee35bb0fc8Yuli Huang + BucketNames.DOWNLOAD); 370addfc7f6342184a67cdd8b5cc3872c6a5c87e55Doris Liu public static final int EDITED_ONLINE_PHOTOS_BUCKET_ID = GalleryUtils.getBucketId( 380addfc7f6342184a67cdd8b5cc3872c6a5c87e55Doris Liu Environment.getExternalStorageDirectory().toString() + "/" 390addfc7f6342184a67cdd8b5cc3872c6a5c87e55Doris Liu + BucketNames.EDITED_ONLINE_PHOTOS); 40f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static final int IMPORTED_BUCKET_ID = GalleryUtils.getBucketId( 41f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin Environment.getExternalStorageDirectory().toString() + "/" 4254d626f5b529508637c3117a28874bee35bb0fc8Yuli Huang + BucketNames.IMPORTED); 436caf221c4888f8632e8eb5b60b145bfca3557b3aChih-Chung Chang public static final int SNAPSHOT_BUCKET_ID = GalleryUtils.getBucketId( 446caf221c4888f8632e8eb5b60b145bfca3557b3aChih-Chung Chang Environment.getExternalStorageDirectory().toString() + 45fcf54601d45bfcef2fbeb911c46ff394e84d7011Doris Liu "/" + BucketNames.SCREENSHOTS); 46f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 47f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin private static final Path[] CAMERA_PATHS = { 48f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin Path.fromString("/local/all/" + CAMERA_BUCKET_ID), 49f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin Path.fromString("/local/image/" + CAMERA_BUCKET_ID), 50f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin Path.fromString("/local/video/" + CAMERA_BUCKET_ID)}; 51f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 52f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static boolean isCameraSource(Path path) { 53f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin return CAMERA_PATHS[0] == path || CAMERA_PATHS[1] == path 54f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin || CAMERA_PATHS[2] == path; 55f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin } 56f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin 57f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin // Sort MediaSets by name 58f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public static class NameComparator implements Comparator<MediaSet> { 597817979db0c52ffeacb951625b1e821eba303285Ahbong Chang @Override 60f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin public int compare(MediaSet set1, MediaSet set2) { 61f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin int result = set1.getName().compareToIgnoreCase(set2.getName()); 62f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin if (result != 0) return result; 63f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin return set1.getPath().toString().compareTo(set2.getPath().toString()); 64f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin } 65f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin } 66f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin} 67