diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:32:20 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:32:20 -0800 |
commit | b64d345c9d51cabce43b5191532a0c185d2a70a5 (patch) | |
tree | cb393a35078ffef3dc6d6c0cfa0d9cd349e8cf08 /src/com/android/camera/CameraSettings.java | |
parent | becfb351a5bc43050128f44eb1bcfbcc0c6dcb7a (diff) | |
download | LegacyCamera-b64d345c9d51cabce43b5191532a0c185d2a70a5.zip LegacyCamera-b64d345c9d51cabce43b5191532a0c185d2a70a5.tar.gz LegacyCamera-b64d345c9d51cabce43b5191532a0c185d2a70a5.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'src/com/android/camera/CameraSettings.java')
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java new file mode 100644 index 0000000..0145d64 --- /dev/null +++ b/src/com/android/camera/CameraSettings.java @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2007 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.SharedPreferences; +import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.os.Bundle; +import android.preference.ListPreference; +import android.preference.PreferenceActivity; + +/** + * CameraSettings + */ +public class CameraSettings extends PreferenceActivity + implements OnSharedPreferenceChangeListener +{ + public static final String KEY_VIDEO_QUALITY = "pref_camera_videoquality_key"; + public static final boolean DEFAULT_VIDEO_QUALITY_VALUE = true; + + private ListPreference mVideoQuality; + + public CameraSettings() + { + } + + /** Called with the activity is first created. */ + @Override + public void onCreate(Bundle icicle) + { + super.onCreate(icicle); + addPreferencesFromResource(R.xml.camera_preferences); + + initUI(); + } + + @Override + protected void onResume() { + super.onResume(); + updateVideoQuality(); + } + + private void initUI() { + mVideoQuality = (ListPreference) findPreference(KEY_VIDEO_QUALITY); + getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this); + } + + private void updateVideoQuality() { + boolean vidQualityValue = getBooleanPreference(mVideoQuality, DEFAULT_VIDEO_QUALITY_VALUE); + int vidQualityIndex = vidQualityValue ? 1 : 0; + String[] vidQualities = + getResources().getStringArray(R.array.pref_camera_videoquality_entries); + String vidQuality = vidQualities[vidQualityIndex]; + mVideoQuality.setSummary(vidQuality); + } + + private static int getIntPreference(ListPreference preference, int defaultValue) { + String s = preference.getValue(); + int result = defaultValue; + try { + result = Integer.parseInt(s); + } catch (NumberFormatException e) { + // Ignore, result is already the default value. + } + return result; + } + + private boolean getBooleanPreference(ListPreference preference, boolean defaultValue) { + return getIntPreference(preference, defaultValue ? 1 : 0) != 0; + } + + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, + String key) { + if (key.equals(KEY_VIDEO_QUALITY)) { + updateVideoQuality(); + } + + } +} + |