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