From 03e1f97889d183f547deef8bbcd362d40a7c23f2 Mon Sep 17 00:00:00 2001 From: "Jing (Mia) Wang" Date: Sat, 20 Dec 2014 15:17:59 +0800 Subject: SnapdragonCamera: Fix app crash when camera not support scenemode The front camera is not support set scenemode, the layout for show scenemode isn't initialize and NPE happened, which lead to app crash. The scene mode button shouldn't display when scene mode is not support. CRs-Fixed: 773391 Change-Id: I9c65fb5b65ecb276660b3281a5a591f7a3f2a134 --- src/com/android/camera/PhotoMenu.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/com/android/camera/PhotoMenu.java') diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java index c8522ee94..1568c32c0 100644 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -671,7 +671,11 @@ public class PhotoMenu extends MenuController public void initSceneModeButton(View button) { button.setVisibility(View.INVISIBLE); - updateSceneModeIcon(); + final IconListPreference pref = (IconListPreference) mPreferenceGroup + .findPreference(CameraSettings.KEY_SCENE_MODE); + if (pref == null) + return; + updateSceneModeIcon(pref); button.setVisibility(View.VISIBLE); button.setOnClickListener(new OnClickListener() { @Override @@ -774,7 +778,7 @@ public class PhotoMenu extends MenuController if (System.currentTimeMillis() - startTime < CLICK_THRESHOLD) { pref.setValueIndex(j); onSettingChanged(pref); - updateSceneModeIcon(); + updateSceneModeIcon(pref); for (View v1 : views) { v1.setBackgroundResource(R.drawable.scene_mode_view_border); } @@ -799,11 +803,7 @@ public class PhotoMenu extends MenuController mPreviewMenu = basic; } - public void updateSceneModeIcon() { - final IconListPreference pref = (IconListPreference) mPreferenceGroup - .findPreference(CameraSettings.KEY_SCENE_MODE); - if (pref == null) - return; + public void updateSceneModeIcon(IconListPreference pref) { ImageView iv = (ImageView) ((FrameLayout) mSceneModeSwitcher).getChildAt(0); int[] thumbnails = pref.getThumbnailIds(); int ind = pref.getCurrentIndex(); -- cgit v1.2.3