IndicatorIconController.java revision bd1b8f910d6f2c94daac304f4bd1a098939474c3
1e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren/* 2e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * Copyright (C) 2014 The Android Open Source Project 3e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * 4e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * Licensed under the Apache License, Version 2.0 (the "License"); 5e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * you may not use this file except in compliance with the License. 6e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * You may obtain a copy of the License at 7e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * 8e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * http://www.apache.org/licenses/LICENSE-2.0 9e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * 10e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * Unless required by applicable law or agreed to in writing, software 11e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * distributed under the License is distributed on an "AS IS" BASIS, 12e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * See the License for the specific language governing permissions and 14e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * limitations under the License. 15e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren */ 16e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 17e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenpackage com.android.camera.widget; 18e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 19e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport android.content.Context; 20e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport android.content.res.TypedArray; 21e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport android.graphics.drawable.Drawable; 22e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport android.util.AttributeSet; 23e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport android.util.Log; 24e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport android.view.View; 25e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport android.view.ViewGroup; 26e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport android.widget.ImageView; 27e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 28e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport com.android.camera.ButtonManager; 29e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport com.android.camera.app.AppController; 30e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport com.android.camera.module.ModulesInfo; 31e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport com.android.camera.settings.SettingsManager; 32e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 33e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenimport com.android.camera2.R; 34e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 35e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren/** 36e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * IndicatorIconController sets the visibility and icon state of 37e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * on screen indicators. 38e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * 39e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * Indicators are only visible if they are in a non-default state. The 40e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * visibility of an indicator is set when an indicator's setting changes. 41e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren */ 42e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgrenpublic class IndicatorIconController 43e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren implements SettingsManager.OnSettingChangedListener, 44e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren ButtonManager.ButtonStatusListener { 45e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 46e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren private final static String TAG = "IndicatorIconController"; 47e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 48e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren private ImageView mFlashIndicator; 49e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren private ImageView mHdrIndicator; 50e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 51e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren private TypedArray mFlashIndicatorPhotoIcons; 52e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren private TypedArray mFlashIndicatorVideoIcons; 53e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren private TypedArray mHdrIndicatorIcons; 54e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 55e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren private AppController mController; 56e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 57e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren public IndicatorIconController(AppController controller, View root) { 58e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mController = controller; 59e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren Context context = controller.getAndroidContext(); 60e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 61e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mFlashIndicator = (ImageView) root.findViewById(R.id.flash_indicator); 62e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mHdrIndicator = (ImageView) root.findViewById(R.id.hdr_indicator); 63e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 64e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mFlashIndicatorPhotoIcons = context.getResources().obtainTypedArray( 65e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren R.array.camera_flashmode_indicator_icons); 66e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mFlashIndicatorVideoIcons = context.getResources().obtainTypedArray( 67e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren R.array.video_flashmode_indicator_icons); 68e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mHdrIndicatorIcons = context.getResources().obtainTypedArray( 69e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren R.array.pref_camera_hdr_plus_indicator_icons); 70e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 71e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 72e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren @Override 73e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren public void onButtonVisibilityChanged(ButtonManager buttonManager, int buttonId) { 74e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren syncIndicatorWithButton(buttonId); 75e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 76e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 77e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren @Override 78e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren public void onButtonEnabledChanged(ButtonManager buttonManager, int buttonId) { 79e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren syncIndicatorWithButton(buttonId); 80e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 81e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 82e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren /** 83e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * Syncs a specific indicator's icon and visibility 84e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * based on the enabled state and visibility of a button. 85e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren */ 86e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren private void syncIndicatorWithButton(int buttonId) { 87e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren switch (buttonId) { 88e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren case ButtonManager.BUTTON_FLASH: { 89e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren if (mController != null) { 90e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren syncFlashIndicator(mController); 91e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 92e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 93e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren case ButtonManager.BUTTON_TORCH: { 94e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren if (mController != null) { 95e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren syncFlashIndicator(mController); 96e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 97e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 98e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren case ButtonManager.BUTTON_HDRPLUS: { 99e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren if (mController != null) { 100e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren syncHdrIndicator(mController); 101e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 102e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 103e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren default: 104e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // Do nothing. The indicator doesn't care 105e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // about button that don't correspond to indicators. 106e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 107e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 108e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 109e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren /** 110e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * Sets all indicators to the correct resource and visibility 111e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * based on the current settings. 112e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren */ 113e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren public void syncIndicators(AppController controller) { 114e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren if (mController == null) { 115e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mController = controller; 116e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 117e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren syncFlashIndicator(mController); 118e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren syncHdrIndicator(mController); 119e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 120e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 121e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren /** 122e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * Sync the icon and visibility of the flash indicator. 123e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren */ 124e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren private void syncFlashIndicator(AppController controller) { 125e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren ButtonManager buttonManager = controller.getButtonManager(); 126e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // Sync the flash indicator. 127e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // If flash isn't an enabled and visible option, 128e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // do not show the indicator. 129e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren if (buttonManager.isEnabled(ButtonManager.BUTTON_FLASH) 130e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren && buttonManager.isVisible(ButtonManager.BUTTON_FLASH)) { 131e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 132e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren int modeIndex = controller.getCurrentModuleIndex(); 133bd1b8f910d6f2c94daac304f4bd1a098939474c3Doris Liu if (modeIndex == controller.getAndroidContext().getResources() 134bd1b8f910d6f2c94daac304f4bd1a098939474c3Doris Liu .getInteger(R.integer.camera_mode_video)) { 135e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren setIndicatorState(controller.getSettingsManager(), 136e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren SettingsManager.SETTING_VIDEOCAMERA_FLASH_MODE, 137e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mFlashIndicator, mFlashIndicatorVideoIcons); 138e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } else { 139e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren setIndicatorState(controller.getSettingsManager(), 140e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren SettingsManager.SETTING_FLASH_MODE, 141e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mFlashIndicator, mFlashIndicatorPhotoIcons); 142e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 143e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } else { 144e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mFlashIndicator.setVisibility(View.GONE); 145e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 146e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 147e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 148e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren /** 149e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * Sync the icon and the visibility of the hdr indicator. 150e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren */ 151e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren private void syncHdrIndicator(AppController controller) { 152e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren ButtonManager buttonManager = controller.getButtonManager(); 153e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // Sync the hdr indicator. 154e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // If hdr isn't an enabled and visible option, 155e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // do not show the indicator. 156e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren if (buttonManager.isEnabled(ButtonManager.BUTTON_HDRPLUS) 157e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren && buttonManager.isVisible(ButtonManager.BUTTON_HDRPLUS)) { 158e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren setIndicatorState(controller.getSettingsManager(), 159e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren SettingsManager.SETTING_CAMERA_HDR, 160e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mHdrIndicator, mHdrIndicatorIcons); 161e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } else { 162e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren mHdrIndicator.setVisibility(View.GONE); 163e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 164e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 165e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 166e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren /** 167e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * Sets the image resource and visibility of the indicator 168e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren * based on the indicator's corresponding setting state. 169e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren */ 170e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren private void setIndicatorState(SettingsManager settingsManager, int id, 171e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren ImageView imageView, TypedArray iconArray) { 172e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 173e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // Set the correct image src. 174e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren String value = settingsManager.get(id); 175e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren int valueIndex = settingsManager.getStringValueIndex(id); 176e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren if (valueIndex < 0) { 177e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // This can happen when the setting is camera dependent 178e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // and the camera is not yet open. CameraAppUI.onChangeCamera() 179e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // will call this again when the camera is open. 180e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren Log.w(TAG, "The setting for this indicator is not available."); 181e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren imageView.setVisibility(View.GONE); 182e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren return; 183e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 184e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren Drawable drawable = iconArray.getDrawable(valueIndex); 185e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren if (drawable == null) { 186e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren throw new IllegalStateException("Indicator drawable is null."); 187e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 188e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren imageView.setImageDrawable(drawable); 189e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 190e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // Set the indicator visible if not in default state. 191e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren if (settingsManager.isDefault(id)) { 192e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren imageView.setVisibility(View.GONE); 193e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } else { 194e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren imageView.setVisibility(View.VISIBLE); 195e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 196e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 197e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren 198e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren @Override 199e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren public void onSettingChanged(SettingsManager settingsManager, int id) { 200e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren switch (id) { 201e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren case SettingsManager.SETTING_FLASH_MODE: { 202e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren setIndicatorState(settingsManager, id, mFlashIndicator, mFlashIndicatorPhotoIcons); 203e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren break; 204e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 205e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren case SettingsManager.SETTING_VIDEOCAMERA_FLASH_MODE: { 206e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren setIndicatorState(settingsManager, id, mFlashIndicator, mFlashIndicatorVideoIcons); 207e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren break; 208e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 209e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren case SettingsManager.SETTING_CAMERA_HDR: { 210e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren setIndicatorState(settingsManager, id, mHdrIndicator, mHdrIndicatorIcons); 211e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren break; 212e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 213e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren default: { 214e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren // Do nothing. 215e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 216e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 217e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren } 218e2a1f54fbf6a8a7beff5b7695654ca21e63643afErin Dahlgren} 219