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