131cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin/*
231cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin * Copyright (C) 2010 The Android Open Source Project
331cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin *
431cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin * Licensed under the Apache License, Version 2.0 (the "License");
531cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin * you may not use this file except in compliance with the License.
631cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin * You may obtain a copy of the License at
731cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin *
831cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin *      http://www.apache.org/licenses/LICENSE-2.0
931cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin *
1031cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin * Unless required by applicable law or agreed to in writing, software
1131cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin * distributed under the License is distributed on an "AS IS" BASIS,
1231cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1331cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin * See the License for the specific language governing permissions and
1431cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin * limitations under the License.
1531cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin */
1631cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin
1731cac30e46a293f6d0901e22c6ab0d083cae7021Owen Linpackage com.android.gallery3d.data;
1831cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin
1931cac30e46a293f6d0901e22c6ab0d083cae7021Owen Linimport com.android.gallery3d.util.MediaSetUtils;
2031cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin
2131cac30e46a293f6d0901e22c6ab0d083cae7021Owen Linpublic final class DataSourceType {
2231cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin    public static final int TYPE_NOT_CATEGORIZED = 0;
2331cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin    public static final int TYPE_LOCAL = 1;
2431cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin    public static final int TYPE_PICASA = 2;
25d3aac52ffb88ced53413d5eef29c641dd6982267Bobby Georgescu    public static final int TYPE_CAMERA = 3;
2631cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin
2731cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin    private static final Path PICASA_ROOT = Path.fromString("/picasa");
2831cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin    private static final Path LOCAL_ROOT = Path.fromString("/local");
2931cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin
3031cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin    public static int identifySourceType(MediaSet set) {
3131cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin        if (set == null) {
3231cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin            return TYPE_NOT_CATEGORIZED;
3331cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin        }
3431cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin
3531cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin        Path path = set.getPath();
3631cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin        if (MediaSetUtils.isCameraSource(path)) return TYPE_CAMERA;
3731cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin
3831cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin        Path prefix = path.getPrefixPath();
3931cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin
4031cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin        if (prefix == PICASA_ROOT) return TYPE_PICASA;
4131cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin        if (prefix == LOCAL_ROOT) return TYPE_LOCAL;
4231cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin
4331cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin        return TYPE_NOT_CATEGORIZED;
4431cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin    }
4531cac30e46a293f6d0901e22c6ab0d083cae7021Owen Lin}
46