13e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin/*
23e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin * Copyright (C) 2009 The Android Open Source Project
33e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin *
43e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin * Licensed under the Apache License, Version 2.0 (the "License");
53e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin * you may not use this file except in compliance with the License.
63e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin * You may obtain a copy of the License at
73e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin *
83e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin *      http://www.apache.org/licenses/LICENSE-2.0
93e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin *
103e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin * Unless required by applicable law or agreed to in writing, software
113e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin * distributed under the License is distributed on an "AS IS" BASIS,
123e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin * See the License for the specific language governing permissions and
143e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin * limitations under the License.
153e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin */
163e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin
173e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Linpackage com.android.camera;
183e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin
193e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Linimport android.content.ContentResolver;
204de149ceb47f2c251f646419907424bfb67d2b64Owen Linimport android.content.Context;
213e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Linimport android.content.SharedPreferences;
223e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Linimport android.util.AttributeSet;
233e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin
243e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin/**
253e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin * {@code RecordLocationPreference} is used to keep the "store locaiton"
263e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin * option in {@code SharedPreference}.
273e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin */
284de149ceb47f2c251f646419907424bfb67d2b64Owen Linpublic class RecordLocationPreference extends IconListPreference {
293e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin
303e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin    public static final String VALUE_NONE = "none";
313e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin    public static final String VALUE_ON = "on";
323e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin    public static final String VALUE_OFF = "off";
333e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin
344de149ceb47f2c251f646419907424bfb67d2b64Owen Lin    private final ContentResolver mResolver;
353e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin
363e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin    public RecordLocationPreference(Context context, AttributeSet attrs) {
373e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin        super(context, attrs);
383e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin        mResolver = context.getContentResolver();
393e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin    }
403e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin
413e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin    @Override
423e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin    public String getValue() {
433e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin        return get(getSharedPreferences(), mResolver) ? VALUE_ON : VALUE_OFF;
443e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin    }
453e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin
463e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin    public static boolean get(
473e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin            SharedPreferences pref, ContentResolver resolver) {
48a4d02612a128007d0d25cc42143018195e7df4dcAngus Kong        String value = pref.getString(
49a4d02612a128007d0d25cc42143018195e7df4dcAngus Kong                CameraSettings.KEY_RECORD_LOCATION, VALUE_NONE);
503e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin        return VALUE_ON.equals(value);
513e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin    }
52f1f3d8f514fc8e30632ca0935bf030d2b7b7262bJohn Reck
53f1f3d8f514fc8e30632ca0935bf030d2b7b7262bJohn Reck    public static boolean isSet(SharedPreferences pref) {
54a4d02612a128007d0d25cc42143018195e7df4dcAngus Kong        String value = pref.getString(
55a4d02612a128007d0d25cc42143018195e7df4dcAngus Kong                CameraSettings.KEY_RECORD_LOCATION, VALUE_NONE);
56f1f3d8f514fc8e30632ca0935bf030d2b7b7262bJohn Reck        return !VALUE_NONE.equals(value);
57f1f3d8f514fc8e30632ca0935bf030d2b7b7262bJohn Reck    }
583e44f8076a16792bb295589ca4b467ba27ea2a6fOwen Lin}
59