diff options
author | Owen Lin <owenlin@google.com> | 2009-11-17 17:47:22 +0800 |
---|---|---|
committer | Cheng-Ru Lin <owenlin@google.com> | 2009-11-18 23:02:50 +0800 |
commit | 3e44f8076a16792bb295589ca4b467ba27ea2a6f (patch) | |
tree | 8cf5482e38acc9f9b9dba4f683bfcc15339a7c6b /src/com/android/camera/RecordLocationPreference.java | |
parent | df926b6e115e0f7fb4342abf0702258b8c285b7c (diff) | |
download | packages_apps_LegacyCamera-3e44f8076a16792bb295589ca4b467ba27ea2a6f.zip packages_apps_LegacyCamera-3e44f8076a16792bb295589ca4b467ba27ea2a6f.tar.gz packages_apps_LegacyCamera-3e44f8076a16792bb295589ca4b467ba27ea2a6f.tar.bz2 |
Use "Use My Location" settings to decide wheather we store the picture's location.
However, if user has specifically assign the "Record Location" we will
follow the settings.
Bug: http://b/2265010
Change-Id: I4863d299b8f461ee73c8aeb4651740855efe3dbd
Diffstat (limited to 'src/com/android/camera/RecordLocationPreference.java')
-rw-r--r-- | src/com/android/camera/RecordLocationPreference.java | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/com/android/camera/RecordLocationPreference.java b/src/com/android/camera/RecordLocationPreference.java new file mode 100644 index 0000000..6a668e7 --- /dev/null +++ b/src/com/android/camera/RecordLocationPreference.java @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.camera; + +import android.content.Context; +import android.content.ContentResolver; +import android.content.SharedPreferences; +import android.preference.ListPreference; +import android.provider.Settings; +import android.util.AttributeSet; +import android.util.Log; + +/** + * {@code RecordLocationPreference} is used to keep the "store locaiton" + * option in {@code SharedPreference}. + */ +public class RecordLocationPreference extends ListPreference { + + public static final String KEY = "pref_camera_recordlocation_key"; + + public static final String VALUE_NONE = "none"; + public static final String VALUE_ON = "on"; + public static final String VALUE_OFF = "off"; + + private ContentResolver mResolver; + + public RecordLocationPreference(Context context, AttributeSet attrs) { + super(context, attrs); + mResolver = context.getContentResolver(); + } + + @Override + public String getValue() { + return get(getSharedPreferences(), mResolver) ? VALUE_ON : VALUE_OFF; + } + + @Override + public CharSequence getEntry() { + return getEntries()[findIndexOfValue(getValue())]; + } + + public static boolean get( + SharedPreferences pref, ContentResolver resolver) { + String value = pref.getString(KEY, VALUE_NONE); + if (VALUE_NONE.equals(value)) { + return Settings.Secure.getInt(resolver, + Settings.Secure.USE_LOCATION_FOR_SERVICES, 0) != 0; + } + return VALUE_ON.equals(value); + } +} |