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