125668cd6ed661c59295cb65348a126fb245757d4Michael Kolb/*
225668cd6ed661c59295cb65348a126fb245757d4Michael Kolb * Copyright (C) 2009 The Android Open Source Project
325668cd6ed661c59295cb65348a126fb245757d4Michael Kolb *
425668cd6ed661c59295cb65348a126fb245757d4Michael Kolb * Licensed under the Apache License, Version 2.0 (the "License");
525668cd6ed661c59295cb65348a126fb245757d4Michael Kolb * you may not use this file except in compliance with the License.
625668cd6ed661c59295cb65348a126fb245757d4Michael Kolb * You may obtain a copy of the License at
725668cd6ed661c59295cb65348a126fb245757d4Michael Kolb *
825668cd6ed661c59295cb65348a126fb245757d4Michael Kolb *      http://www.apache.org/licenses/LICENSE-2.0
925668cd6ed661c59295cb65348a126fb245757d4Michael Kolb *
1025668cd6ed661c59295cb65348a126fb245757d4Michael Kolb * Unless required by applicable law or agreed to in writing, software
1125668cd6ed661c59295cb65348a126fb245757d4Michael Kolb * distributed under the License is distributed on an "AS IS" BASIS,
1225668cd6ed661c59295cb65348a126fb245757d4Michael Kolb * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1325668cd6ed661c59295cb65348a126fb245757d4Michael Kolb * See the License for the specific language governing permissions and
1425668cd6ed661c59295cb65348a126fb245757d4Michael Kolb * limitations under the License.
1525668cd6ed661c59295cb65348a126fb245757d4Michael Kolb */
1625668cd6ed661c59295cb65348a126fb245757d4Michael Kolb
1725668cd6ed661c59295cb65348a126fb245757d4Michael Kolbpackage com.android.camera;
1825668cd6ed661c59295cb65348a126fb245757d4Michael Kolb
1925668cd6ed661c59295cb65348a126fb245757d4Michael Kolbimport android.content.ContentResolver;
2025668cd6ed661c59295cb65348a126fb245757d4Michael Kolbimport android.content.Context;
2125668cd6ed661c59295cb65348a126fb245757d4Michael Kolbimport android.content.SharedPreferences;
2225668cd6ed661c59295cb65348a126fb245757d4Michael Kolbimport android.util.AttributeSet;
2325668cd6ed661c59295cb65348a126fb245757d4Michael Kolb
2425668cd6ed661c59295cb65348a126fb245757d4Michael Kolb/**
2525668cd6ed661c59295cb65348a126fb245757d4Michael Kolb * {@code RecordLocationPreference} is used to keep the "store locaiton"
2625668cd6ed661c59295cb65348a126fb245757d4Michael Kolb * option in {@code SharedPreference}.
2725668cd6ed661c59295cb65348a126fb245757d4Michael Kolb */
2825668cd6ed661c59295cb65348a126fb245757d4Michael Kolbpublic class RecordLocationPreference extends IconListPreference {
2925668cd6ed661c59295cb65348a126fb245757d4Michael Kolb
3025668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    public static final String VALUE_NONE = "none";
3125668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    public static final String VALUE_ON = "on";
3225668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    public static final String VALUE_OFF = "off";
3325668cd6ed661c59295cb65348a126fb245757d4Michael Kolb
3425668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    private final ContentResolver mResolver;
3525668cd6ed661c59295cb65348a126fb245757d4Michael Kolb
3625668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    public RecordLocationPreference(Context context, AttributeSet attrs) {
3725668cd6ed661c59295cb65348a126fb245757d4Michael Kolb        super(context, attrs);
3825668cd6ed661c59295cb65348a126fb245757d4Michael Kolb        mResolver = context.getContentResolver();
3925668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    }
4025668cd6ed661c59295cb65348a126fb245757d4Michael Kolb
4125668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    @Override
4225668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    public String getValue() {
4325668cd6ed661c59295cb65348a126fb245757d4Michael Kolb        return get(getSharedPreferences(), mResolver) ? VALUE_ON : VALUE_OFF;
4425668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    }
4525668cd6ed661c59295cb65348a126fb245757d4Michael Kolb
4625668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    public static boolean get(
4725668cd6ed661c59295cb65348a126fb245757d4Michael Kolb            SharedPreferences pref, ContentResolver resolver) {
4825668cd6ed661c59295cb65348a126fb245757d4Michael Kolb        String value = pref.getString(
4925668cd6ed661c59295cb65348a126fb245757d4Michael Kolb                CameraSettings.KEY_RECORD_LOCATION, VALUE_NONE);
5025668cd6ed661c59295cb65348a126fb245757d4Michael Kolb        return VALUE_ON.equals(value);
5125668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    }
5225668cd6ed661c59295cb65348a126fb245757d4Michael Kolb
5325668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    public static boolean isSet(SharedPreferences pref) {
5425668cd6ed661c59295cb65348a126fb245757d4Michael Kolb        String value = pref.getString(
5525668cd6ed661c59295cb65348a126fb245757d4Michael Kolb                CameraSettings.KEY_RECORD_LOCATION, VALUE_NONE);
5625668cd6ed661c59295cb65348a126fb245757d4Michael Kolb        return !VALUE_NONE.equals(value);
5725668cd6ed661c59295cb65348a126fb245757d4Michael Kolb    }
5825668cd6ed661c59295cb65348a126fb245757d4Michael Kolb}
59