diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/com/android/camera/SettingsActivity.java | 24 | ||||
-rwxr-xr-x | src/com/android/camera/SettingsManager.java | 8 |
2 files changed, 19 insertions, 13 deletions
diff --git a/src/com/android/camera/SettingsActivity.java b/src/com/android/camera/SettingsActivity.java index f38e27dae..5deaa2c42 100755 --- a/src/com/android/camera/SettingsActivity.java +++ b/src/com/android/camera/SettingsActivity.java @@ -348,9 +348,11 @@ public class SettingsActivity extends PreferenceActivity { String[] categories = {"photo", "video", "general", "developer"}; Set<String> set = mSettingsManager.getFilteredKeys(); if (!mDeveloperMenuEnabled) { - set.add(SettingsManager.KEY_MONO_PREVIEW); - set.add(SettingsManager.KEY_MONO_ONLY); - set.add(SettingsManager.KEY_CLEARSIGHT); + if (set != null) { + set.add(SettingsManager.KEY_MONO_PREVIEW); + set.add(SettingsManager.KEY_MONO_ONLY); + set.add(SettingsManager.KEY_CLEARSIGHT); + } PreferenceGroup developer = (PreferenceGroup) findPreference("developer"); //Before restore settings,if current is not developer mode,the developer @@ -364,7 +366,7 @@ public class SettingsActivity extends PreferenceActivity { CharSequence[] entries = mSettingsManager.getEntries(SettingsManager.KEY_SCENE_MODE); List<CharSequence> list = Arrays.asList(entries); - if (mDeveloperMenuEnabled && !list.contains("HDR")){ + if (mDeveloperMenuEnabled && list != null && !list.contains("HDR")){ Preference p = findPreference("pref_camera2_hdr_key"); if (p != null){ PreferenceGroup developer = (PreferenceGroup)findPreference("developer"); @@ -372,13 +374,15 @@ public class SettingsActivity extends PreferenceActivity { } } - for (String key : set) { - Preference p = findPreference(key); - if (p == null) continue; + if (set != null) { + for (String key : set) { + Preference p = findPreference(key); + if (p == null) continue; - for (int i = 0; i < categories.length; i++) { - PreferenceGroup group = (PreferenceGroup) findPreference(categories[i]); - if (group.removePreference(p)) break; + for (int i = 0; i < categories.length; i++) { + PreferenceGroup group = (PreferenceGroup) findPreference(categories[i]); + if (group.removePreference(p)) break; + } } } } diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index ef7d02c70..e0372153a 100755 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -591,9 +591,11 @@ public class SettingsManager implements ListMenu.SettingsListener { } public CharSequence[] getEntries(String key) { - ListPreference pref = mPreferenceGroup.findPreference(key); - if (pref != null) { - return pref.getEntries(); + if ( mPreferenceGroup != null ) { + ListPreference pref = mPreferenceGroup.findPreference(key); + if (pref != null) { + return pref.getEntries(); + } } return null; } |