diff --git a/src/com/android/camera/SettingsActivity.java b/src/com/android/camera/SettingsActivity.java index f38e27daee74b68ff220e40e32788224b2318528..5deaa2c42c769042383b15af5144a33c4ad82d11 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 ef7d02c70f30ca733709a8816047ef11c50ea674..e0372153a58d7814d67b584586b091d2b33f4786 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; }