diff options
author | Chih-yu Huang <akahuang@google.com> | 2011-11-11 19:41:34 +0800 |
---|---|---|
committer | Chih-yu Huang <akahuang@google.com> | 2011-11-11 22:15:28 +0800 |
commit | 204224ce0423e4a6a29fa015128131c71b9bb9d8 (patch) | |
tree | d49fbd81e6483d5b588fb5fdd52598c241f09766 | |
parent | bba9566c7d74e80a53548853114a7512fb3d416f (diff) | |
download | LegacyCamera-204224ce0423e4a6a29fa015128131c71b9bb9d8.tar.gz LegacyCamera-204224ce0423e4a6a29fa015128131c71b9bb9d8.tar.bz2 LegacyCamera-204224ce0423e4a6a29fa015128131c71b9bb9d8.zip |
Add indicators of settings on the viewfinder.
Add exposure, flash, scene, white balance, and focus indicators.
bug:5039279
Change-Id: I7ef87ee35855030dbc8fdc2d4c52fa5d8b6549ba
65 files changed, 114 insertions, 48 deletions
diff --git a/res/drawable-hdpi/ic_indicators_cloudy.png b/res/drawable-hdpi/ic_indicators_cloudy.png Binary files differnew file mode 100644 index 00000000..ced46ceb --- /dev/null +++ b/res/drawable-hdpi/ic_indicators_cloudy.png diff --git a/res/drawable-hdpi/ic_indicators_fluorescent.png b/res/drawable-hdpi/ic_indicators_fluorescent.png Binary files differnew file mode 100644 index 00000000..c3420c66 --- /dev/null +++ b/res/drawable-hdpi/ic_indicators_fluorescent.png diff --git a/res/drawable-hdpi/ic_indicators_incandescent.png b/res/drawable-hdpi/ic_indicators_incandescent.png Binary files differnew file mode 100644 index 00000000..be9c3075 --- /dev/null +++ b/res/drawable-hdpi/ic_indicators_incandescent.png diff --git a/res/drawable-hdpi/ic_indicators_landscape.png b/res/drawable-hdpi/ic_indicators_landscape.png Binary files differnew file mode 100644 index 00000000..8636fc09 --- /dev/null +++ b/res/drawable-hdpi/ic_indicators_landscape.png diff --git a/res/drawable-hdpi/ic_indicators_landscape_flash_auto.png b/res/drawable-hdpi/ic_indicators_landscape_flash_auto.png Binary files differnew file mode 100644 index 00000000..da3a0c9d --- /dev/null +++ b/res/drawable-hdpi/ic_indicators_landscape_flash_auto.png diff --git a/res/drawable-hdpi/ic_indicators_landscape_flash_off.png b/res/drawable-hdpi/ic_indicators_landscape_flash_off.png Binary files differnew file mode 100644 index 00000000..11239f09 --- /dev/null +++ b/res/drawable-hdpi/ic_indicators_landscape_flash_off.png diff --git a/res/drawable-hdpi/ic_indicators_landscape_flash_on.png b/res/drawable-hdpi/ic_indicators_landscape_flash_on.png Binary files differnew file mode 100644 index 00000000..c7af702a --- /dev/null +++ b/res/drawable-hdpi/ic_indicators_landscape_flash_on.png diff --git a/res/drawable-hdpi/ic_indicators_macro.png b/res/drawable-hdpi/ic_indicators_macro.png Binary files differnew file mode 100644 index 00000000..0ec71d5f --- /dev/null +++ b/res/drawable-hdpi/ic_indicators_macro.png diff --git a/res/drawable-hdpi/ic_indicators_scn.png b/res/drawable-hdpi/ic_indicators_scn.png Binary files differnew file mode 100644 index 00000000..675b1c5c --- /dev/null +++ b/res/drawable-hdpi/ic_indicators_scn.png diff --git a/res/drawable-hdpi/ic_indicators_sunlight.png b/res/drawable-hdpi/ic_indicators_sunlight.png Binary files differnew file mode 100644 index 00000000..f7fcba60 --- /dev/null +++ b/res/drawable-hdpi/ic_indicators_sunlight.png diff --git a/res/drawable-mdpi/ic_indicators_cloudy.png b/res/drawable-mdpi/ic_indicators_cloudy.png Binary files differnew file mode 100644 index 00000000..b0892708 --- /dev/null +++ b/res/drawable-mdpi/ic_indicators_cloudy.png diff --git a/res/drawable-mdpi/ic_indicators_fluorescent.png b/res/drawable-mdpi/ic_indicators_fluorescent.png Binary files differnew file mode 100644 index 00000000..0f6b74f4 --- /dev/null +++ b/res/drawable-mdpi/ic_indicators_fluorescent.png diff --git a/res/drawable-mdpi/ic_indicators_incandescent.png b/res/drawable-mdpi/ic_indicators_incandescent.png Binary files differnew file mode 100644 index 00000000..6042142b --- /dev/null +++ b/res/drawable-mdpi/ic_indicators_incandescent.png diff --git a/res/drawable-mdpi/ic_indicators_landscape.png b/res/drawable-mdpi/ic_indicators_landscape.png Binary files differnew file mode 100644 index 00000000..643ea7c0 --- /dev/null +++ b/res/drawable-mdpi/ic_indicators_landscape.png diff --git a/res/drawable-mdpi/ic_indicators_landscape_flash_auto.png b/res/drawable-mdpi/ic_indicators_landscape_flash_auto.png Binary files differnew file mode 100644 index 00000000..38ac3b1d --- /dev/null +++ b/res/drawable-mdpi/ic_indicators_landscape_flash_auto.png diff --git a/res/drawable-mdpi/ic_indicators_landscape_flash_off.png b/res/drawable-mdpi/ic_indicators_landscape_flash_off.png Binary files differnew file mode 100644 index 00000000..93cc2492 --- /dev/null +++ b/res/drawable-mdpi/ic_indicators_landscape_flash_off.png diff --git a/res/drawable-mdpi/ic_indicators_landscape_flash_on.png b/res/drawable-mdpi/ic_indicators_landscape_flash_on.png Binary files differnew file mode 100644 index 00000000..c65dc719 --- /dev/null +++ b/res/drawable-mdpi/ic_indicators_landscape_flash_on.png diff --git a/res/drawable-mdpi/ic_indicators_macro.png b/res/drawable-mdpi/ic_indicators_macro.png Binary files differnew file mode 100644 index 00000000..f0ff4feb --- /dev/null +++ b/res/drawable-mdpi/ic_indicators_macro.png diff --git a/res/drawable-mdpi/ic_indicators_scn.png b/res/drawable-mdpi/ic_indicators_scn.png Binary files differnew file mode 100644 index 00000000..5c152a85 --- /dev/null +++ b/res/drawable-mdpi/ic_indicators_scn.png diff --git a/res/drawable-mdpi/ic_indicators_sunlight.png b/res/drawable-mdpi/ic_indicators_sunlight.png Binary files differnew file mode 100644 index 00000000..59bce0f8 --- /dev/null +++ b/res/drawable-mdpi/ic_indicators_sunlight.png diff --git a/res/drawable-sw600dp-hdpi/ic_indicators_cloudy.png b/res/drawable-sw600dp-hdpi/ic_indicators_cloudy.png Binary files differnew file mode 100644 index 00000000..cafcff4e --- /dev/null +++ b/res/drawable-sw600dp-hdpi/ic_indicators_cloudy.png diff --git a/res/drawable-sw600dp-hdpi/ic_indicators_fluorescent.png b/res/drawable-sw600dp-hdpi/ic_indicators_fluorescent.png Binary files differnew file mode 100644 index 00000000..79ac9bb3 --- /dev/null +++ b/res/drawable-sw600dp-hdpi/ic_indicators_fluorescent.png diff --git a/res/drawable-sw600dp-hdpi/ic_indicators_incandescent.png b/res/drawable-sw600dp-hdpi/ic_indicators_incandescent.png Binary files differnew file mode 100644 index 00000000..a1dae2ae --- /dev/null +++ b/res/drawable-sw600dp-hdpi/ic_indicators_incandescent.png diff --git a/res/drawable-sw600dp-hdpi/ic_indicators_landscape.png b/res/drawable-sw600dp-hdpi/ic_indicators_landscape.png Binary files differnew file mode 100644 index 00000000..4019661f --- /dev/null +++ b/res/drawable-sw600dp-hdpi/ic_indicators_landscape.png diff --git a/res/drawable-sw600dp-hdpi/ic_indicators_landscape_flash_auto.png b/res/drawable-sw600dp-hdpi/ic_indicators_landscape_flash_auto.png Binary files differnew file mode 100644 index 00000000..d571c0ac --- /dev/null +++ b/res/drawable-sw600dp-hdpi/ic_indicators_landscape_flash_auto.png diff --git a/res/drawable-sw600dp-hdpi/ic_indicators_landscape_flash_off.png b/res/drawable-sw600dp-hdpi/ic_indicators_landscape_flash_off.png Binary files differnew file mode 100644 index 00000000..b5b7e7c4 --- /dev/null +++ b/res/drawable-sw600dp-hdpi/ic_indicators_landscape_flash_off.png diff --git a/res/drawable-sw600dp-hdpi/ic_indicators_landscape_flash_on.png b/res/drawable-sw600dp-hdpi/ic_indicators_landscape_flash_on.png Binary files differnew file mode 100644 index 00000000..28ce420d --- /dev/null +++ b/res/drawable-sw600dp-hdpi/ic_indicators_landscape_flash_on.png diff --git a/res/drawable-sw600dp-hdpi/ic_indicators_macro.png b/res/drawable-sw600dp-hdpi/ic_indicators_macro.png Binary files differnew file mode 100644 index 00000000..5770a45d --- /dev/null +++ b/res/drawable-sw600dp-hdpi/ic_indicators_macro.png diff --git a/res/drawable-sw600dp-hdpi/ic_indicators_scn.png b/res/drawable-sw600dp-hdpi/ic_indicators_scn.png Binary files differnew file mode 100644 index 00000000..e8b0129e --- /dev/null +++ b/res/drawable-sw600dp-hdpi/ic_indicators_scn.png diff --git a/res/drawable-sw600dp-hdpi/ic_indicators_sunlight.png b/res/drawable-sw600dp-hdpi/ic_indicators_sunlight.png Binary files differnew file mode 100644 index 00000000..91abd264 --- /dev/null +++ b/res/drawable-sw600dp-hdpi/ic_indicators_sunlight.png diff --git a/res/drawable-sw600dp-mdpi/ic_indicators_cloudy.png b/res/drawable-sw600dp-mdpi/ic_indicators_cloudy.png Binary files differnew file mode 100644 index 00000000..6b16cab4 --- /dev/null +++ b/res/drawable-sw600dp-mdpi/ic_indicators_cloudy.png diff --git a/res/drawable-sw600dp-mdpi/ic_indicators_fluorescent.png b/res/drawable-sw600dp-mdpi/ic_indicators_fluorescent.png Binary files differnew file mode 100644 index 00000000..d7c23bc0 --- /dev/null +++ b/res/drawable-sw600dp-mdpi/ic_indicators_fluorescent.png diff --git a/res/drawable-sw600dp-mdpi/ic_indicators_incandescent.png b/res/drawable-sw600dp-mdpi/ic_indicators_incandescent.png Binary files differnew file mode 100644 index 00000000..5e63b431 --- /dev/null +++ b/res/drawable-sw600dp-mdpi/ic_indicators_incandescent.png diff --git a/res/drawable-sw600dp-mdpi/ic_indicators_landscape.png b/res/drawable-sw600dp-mdpi/ic_indicators_landscape.png Binary files differnew file mode 100644 index 00000000..36a66f54 --- /dev/null +++ b/res/drawable-sw600dp-mdpi/ic_indicators_landscape.png diff --git a/res/drawable-sw600dp-mdpi/ic_indicators_landscape_flash_auto.png b/res/drawable-sw600dp-mdpi/ic_indicators_landscape_flash_auto.png Binary files differnew file mode 100644 index 00000000..95e410c9 --- /dev/null +++ b/res/drawable-sw600dp-mdpi/ic_indicators_landscape_flash_auto.png diff --git a/res/drawable-sw600dp-mdpi/ic_indicators_landscape_flash_off.png b/res/drawable-sw600dp-mdpi/ic_indicators_landscape_flash_off.png Binary files differnew file mode 100644 index 00000000..11ebc4f4 --- /dev/null +++ b/res/drawable-sw600dp-mdpi/ic_indicators_landscape_flash_off.png diff --git a/res/drawable-sw600dp-mdpi/ic_indicators_landscape_flash_on.png b/res/drawable-sw600dp-mdpi/ic_indicators_landscape_flash_on.png Binary files differnew file mode 100644 index 00000000..2cb4f15e --- /dev/null +++ b/res/drawable-sw600dp-mdpi/ic_indicators_landscape_flash_on.png diff --git a/res/drawable-sw600dp-mdpi/ic_indicators_macro.png b/res/drawable-sw600dp-mdpi/ic_indicators_macro.png Binary files differnew file mode 100644 index 00000000..61ec7a44 --- /dev/null +++ b/res/drawable-sw600dp-mdpi/ic_indicators_macro.png diff --git a/res/drawable-sw600dp-mdpi/ic_indicators_scn.png b/res/drawable-sw600dp-mdpi/ic_indicators_scn.png Binary files differnew file mode 100644 index 00000000..da55fdb6 --- /dev/null +++ b/res/drawable-sw600dp-mdpi/ic_indicators_scn.png diff --git a/res/drawable-sw600dp-mdpi/ic_indicators_sunlight.png b/res/drawable-sw600dp-mdpi/ic_indicators_sunlight.png Binary files differnew file mode 100644 index 00000000..4c8d29e7 --- /dev/null +++ b/res/drawable-sw600dp-mdpi/ic_indicators_sunlight.png diff --git a/res/drawable-sw600dp-xhdpi/ic_indicators_cloudy.png b/res/drawable-sw600dp-xhdpi/ic_indicators_cloudy.png Binary files differnew file mode 100644 index 00000000..2fcd2075 --- /dev/null +++ b/res/drawable-sw600dp-xhdpi/ic_indicators_cloudy.png diff --git a/res/drawable-sw600dp-xhdpi/ic_indicators_fluorescent.png b/res/drawable-sw600dp-xhdpi/ic_indicators_fluorescent.png Binary files differnew file mode 100644 index 00000000..62143255 --- /dev/null +++ b/res/drawable-sw600dp-xhdpi/ic_indicators_fluorescent.png diff --git a/res/drawable-sw600dp-xhdpi/ic_indicators_incandescent.png b/res/drawable-sw600dp-xhdpi/ic_indicators_incandescent.png Binary files differnew file mode 100644 index 00000000..dadc4913 --- /dev/null +++ b/res/drawable-sw600dp-xhdpi/ic_indicators_incandescent.png diff --git a/res/drawable-sw600dp-xhdpi/ic_indicators_landscape.png b/res/drawable-sw600dp-xhdpi/ic_indicators_landscape.png Binary files differnew file mode 100644 index 00000000..224a0c88 --- /dev/null +++ b/res/drawable-sw600dp-xhdpi/ic_indicators_landscape.png diff --git a/res/drawable-sw600dp-xhdpi/ic_indicators_landscape_flash_auto.png b/res/drawable-sw600dp-xhdpi/ic_indicators_landscape_flash_auto.png Binary files differnew file mode 100644 index 00000000..4ac81d85 --- /dev/null +++ b/res/drawable-sw600dp-xhdpi/ic_indicators_landscape_flash_auto.png diff --git a/res/drawable-sw600dp-xhdpi/ic_indicators_landscape_flash_off.png b/res/drawable-sw600dp-xhdpi/ic_indicators_landscape_flash_off.png Binary files differnew file mode 100644 index 00000000..86bf496c --- /dev/null +++ b/res/drawable-sw600dp-xhdpi/ic_indicators_landscape_flash_off.png diff --git a/res/drawable-sw600dp-xhdpi/ic_indicators_landscape_flash_on.png b/res/drawable-sw600dp-xhdpi/ic_indicators_landscape_flash_on.png Binary files differnew file mode 100644 index 00000000..9bb5afa6 --- /dev/null +++ b/res/drawable-sw600dp-xhdpi/ic_indicators_landscape_flash_on.png diff --git a/res/drawable-sw600dp-xhdpi/ic_indicators_macro.png b/res/drawable-sw600dp-xhdpi/ic_indicators_macro.png Binary files differnew file mode 100644 index 00000000..5c83fec5 --- /dev/null +++ b/res/drawable-sw600dp-xhdpi/ic_indicators_macro.png diff --git a/res/drawable-sw600dp-xhdpi/ic_indicators_scn.png b/res/drawable-sw600dp-xhdpi/ic_indicators_scn.png Binary files differnew file mode 100644 index 00000000..0d145fb8 --- /dev/null +++ b/res/drawable-sw600dp-xhdpi/ic_indicators_scn.png diff --git a/res/drawable-sw600dp-xhdpi/ic_indicators_sunlight.png b/res/drawable-sw600dp-xhdpi/ic_indicators_sunlight.png Binary files differnew file mode 100644 index 00000000..79a8e46d --- /dev/null +++ b/res/drawable-sw600dp-xhdpi/ic_indicators_sunlight.png diff --git a/res/drawable-xhdpi/ic_indicators_cloudy.png b/res/drawable-xhdpi/ic_indicators_cloudy.png Binary files differnew file mode 100644 index 00000000..a6d924b8 --- /dev/null +++ b/res/drawable-xhdpi/ic_indicators_cloudy.png diff --git a/res/drawable-xhdpi/ic_indicators_fluorescent.png b/res/drawable-xhdpi/ic_indicators_fluorescent.png Binary files differnew file mode 100644 index 00000000..012c67f6 --- /dev/null +++ b/res/drawable-xhdpi/ic_indicators_fluorescent.png diff --git a/res/drawable-xhdpi/ic_indicators_incandescent.png b/res/drawable-xhdpi/ic_indicators_incandescent.png Binary files differnew file mode 100644 index 00000000..84bbd6a0 --- /dev/null +++ b/res/drawable-xhdpi/ic_indicators_incandescent.png diff --git a/res/drawable-xhdpi/ic_indicators_landscape.png b/res/drawable-xhdpi/ic_indicators_landscape.png Binary files differnew file mode 100644 index 00000000..ebbcd676 --- /dev/null +++ b/res/drawable-xhdpi/ic_indicators_landscape.png diff --git a/res/drawable-xhdpi/ic_indicators_landscape_flash_auto.png b/res/drawable-xhdpi/ic_indicators_landscape_flash_auto.png Binary files differnew file mode 100644 index 00000000..654746b2 --- /dev/null +++ b/res/drawable-xhdpi/ic_indicators_landscape_flash_auto.png diff --git a/res/drawable-xhdpi/ic_indicators_landscape_flash_off.png b/res/drawable-xhdpi/ic_indicators_landscape_flash_off.png Binary files differnew file mode 100644 index 00000000..8edc0754 --- /dev/null +++ b/res/drawable-xhdpi/ic_indicators_landscape_flash_off.png diff --git a/res/drawable-xhdpi/ic_indicators_landscape_flash_on.png b/res/drawable-xhdpi/ic_indicators_landscape_flash_on.png Binary files differnew file mode 100644 index 00000000..7f33bd5e --- /dev/null +++ b/res/drawable-xhdpi/ic_indicators_landscape_flash_on.png diff --git a/res/drawable-xhdpi/ic_indicators_macro.png b/res/drawable-xhdpi/ic_indicators_macro.png Binary files differnew file mode 100644 index 00000000..7d34b856 --- /dev/null +++ b/res/drawable-xhdpi/ic_indicators_macro.png diff --git a/res/drawable-xhdpi/ic_indicators_scn.png b/res/drawable-xhdpi/ic_indicators_scn.png Binary files differnew file mode 100644 index 00000000..fafc0bc0 --- /dev/null +++ b/res/drawable-xhdpi/ic_indicators_scn.png diff --git a/res/drawable-xhdpi/ic_indicators_sunlight.png b/res/drawable-xhdpi/ic_indicators_sunlight.png Binary files differnew file mode 100644 index 00000000..71a0f687 --- /dev/null +++ b/res/drawable-xhdpi/ic_indicators_sunlight.png diff --git a/res/layout-w1024dp/priority_indicators.xml b/res/layout-sw600dp/priority_indicators.xml index 49264842..77067b01 100644 --- a/res/layout-w1024dp/priority_indicators.xml +++ b/res/layout-sw600dp/priority_indicators.xml @@ -20,15 +20,21 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="8dp"> - <ImageView style="@style/OnScreenIndicator" - android:id="@+id/onscreen_gps_indicator_no_signal" - android:src="@drawable/ic_viewfinder_gps_no_signal"/> - <ImageView style="@style/OnScreenIndicator" - android:id="@+id/onscreen_gps_indicator_on" - android:src="@drawable/ic_viewfinder_gps_on"/> - <TextView style="@style/OnScreenIndicator" - android:id="@+id/onscreen_exposure_indicator" + <ImageView android:id="@+id/onscreen_flash_indicator" + style="@style/OnScreenIndicator" + android:visibility="visible"/> + <ImageView android:id="@+id/onscreen_white_balance_indicator" + style="@style/OnScreenIndicator"/> + <TextView android:id="@+id/onscreen_exposure_indicator" + style="@style/OnScreenIndicator" android:gravity="center_vertical" android:textSize="15dp" android:textColor="@android:color/white"/> + <ImageView android:id="@+id/onscreen_scene_indicator" + style="@style/OnScreenIndicator" + android:src="@drawable/ic_indicators_scn"/> + <ImageView android:id="@+id/onscreen_gps_indicator" + style="@style/OnScreenIndicator"/> + <ImageView android:id="@+id/onscreen_focus_indicator" + style="@style/OnScreenIndicator"/> </LinearLayout> diff --git a/res/layout/priority_indicators.xml b/res/layout/priority_indicators.xml index 794dfb85..a8318e0e 100644 --- a/res/layout/priority_indicators.xml +++ b/res/layout/priority_indicators.xml @@ -20,19 +20,23 @@ android:layout_height="wrap_content" android:layout_width="wrap_content" android:padding="8dp"> - <ImageView style="@style/OnScreenIndicator" - android:padding="1dp" - android:id="@+id/onscreen_gps_indicator_no_signal" - android:src="@drawable/ic_viewfinder_gps_no_signal"/> - <ImageView style="@style/OnScreenIndicator" - android:padding="1dp" - android:id="@+id/onscreen_gps_indicator_on" - android:src="@drawable/ic_viewfinder_gps_on"/> - <TextView style="@style/OnScreenIndicator" - android:id="@+id/onscreen_exposure_indicator" + <ImageView android:id="@+id/onscreen_flash_indicator" + style="@style/OnScreenIndicator" + android:visibility="visible"/> + <ImageView android:id="@+id/onscreen_white_balance_indicator" + style="@style/OnScreenIndicator"/> + <TextView android:id="@+id/onscreen_exposure_indicator" + style="@style/OnScreenIndicator" android:layout_marginTop="6dp" - android:rotation="90.0" + android:layout_marginBottom="6dp" android:gravity="center_vertical" android:textSize="15dp" android:textColor="@android:color/white"/> + <ImageView android:id="@+id/onscreen_scene_indicator" + style="@style/OnScreenIndicator" + android:src="@drawable/ic_indicators_scn"/> + <ImageView android:id="@+id/onscreen_gps_indicator" + style="@style/OnScreenIndicator"/> + <ImageView android:id="@+id/onscreen_focus_indicator" + style="@style/OnScreenIndicator"/> </LinearLayout> diff --git a/res/values-sw600dp/styles.xml b/res/values-sw600dp/styles.xml index 65d36834..6b7427f6 100644 --- a/res/values-sw600dp/styles.xml +++ b/res/values-sw600dp/styles.xml @@ -43,6 +43,14 @@ <item name="android:textSize">12sp</item> <item name="android:textStyle">bold</item> </style> + <style name="OnScreenIndicator"> + <item name="android:layout_height">28dp</item> + <item name="android:layout_width">wrap_content</item> + <item name="android:layout_gravity">center_vertical</item> + <item name="android:focusable">false</item> + <item name="android:visibility">gone</item> + <item name="android:layout_marginRight">8dp</item> + </style> <style name="ReviewThumbnail"> <item name="android:layout_width">86dp</item> <item name="android:layout_height">86dp</item> diff --git a/res/values/styles.xml b/res/values/styles.xml index 79cc759c..53e7a1ce 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -141,10 +141,11 @@ <style name="OnScreenIndicator"> <item name="android:layout_height">28dp</item> <item name="android:layout_width">wrap_content</item> - <item name="android:layout_gravity">center_vertical</item> + <item name="android:layout_gravity">center_horizontal</item> <item name="android:focusable">false</item> <item name="android:visibility">gone</item> - <item name="android:layout_marginRight">8dp</item> + <item name="android:rotation">90</item> + <item name="android:padding">1dp</item> </style> <style name="ViewfinderLableLayout"> <item name="android:layout_width">match_parent</item> diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java index 1fad8a83..ab27e315 100644 --- a/src/com/android/camera/Camera.java +++ b/src/com/android/camera/Camera.java @@ -66,6 +66,7 @@ import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.view.animation.AnimationUtils; +import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; @@ -159,7 +160,7 @@ public class Camera extends ActivityBase implements FocusManager.Listener, private RotateImageView mThumbnailView; private ModePicker mModePicker; private FaceView mFaceView; - private RotateLayout mFocusIndicator; + private RotateLayout mFocusAreaIndicator; private Rotatable mReviewCancelButton; private Rotatable mReviewDoneButton; @@ -167,10 +168,13 @@ public class Camera extends ActivityBase implements FocusManager.Listener, private String mCropValue; private Uri mSaveUri; - // On-screen indicator - private View mGpsNoSignalIndicator; - private View mGpsHasSignalIndicator; + // Small indicators which show the camera settings in the viewfinder. private TextView mExposureIndicator; + private ImageView mGpsIndicator; + private ImageView mFlashIndicator; + private ImageView mSceneIndicator; + private ImageView mWhiteBalanceIndicator; + private ImageView mFocusIndicator; // We use a thread in ImageSaver to do the work of saving images and // generating thumbnails. This reduces the shot-to-shot time. @@ -379,16 +383,17 @@ public class Camera extends ActivityBase implements FocusManager.Listener, // Initialize focus UI. mPreviewFrame = findViewById(R.id.camera_preview); mPreviewFrame.setOnTouchListener(this); - mFocusIndicator = (RotateLayout) findViewById(R.id.focus_indicator_rotate_layout); + mFocusAreaIndicator = (RotateLayout) findViewById(R.id.focus_indicator_rotate_layout); CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId]; boolean mirror = (info.facing == CameraInfo.CAMERA_FACING_FRONT); - mFocusManager.initialize(mFocusIndicator, mPreviewFrame, mFaceView, this, + mFocusManager.initialize(mFocusAreaIndicator, mPreviewFrame, mFaceView, this, mirror, mDisplayOrientation); mFocusManager.initializeSoundPlayer(getResources().openRawResourceFd(R.raw.camera_focus)); mImageSaver = new ImageSaver(); Util.initializeScreenBrightness(getWindow(), getContentResolver()); installIntentFilter(); initializeZoom(); + updateOnScreenIndicators(); startFaceDetection(); // Show the tap to focus toast if this is the first start. if (mFocusAreaSupported && @@ -598,39 +603,31 @@ public class Camera extends ActivityBase implements FocusManager.Listener, }; private void initOnScreenIndicator() { - mGpsNoSignalIndicator = findViewById(R.id.onscreen_gps_indicator_no_signal); - mGpsHasSignalIndicator = findViewById(R.id.onscreen_gps_indicator_on); + mGpsIndicator = (ImageView) findViewById(R.id.onscreen_gps_indicator); mExposureIndicator = (TextView) findViewById(R.id.onscreen_exposure_indicator); + mFlashIndicator = (ImageView) findViewById(R.id.onscreen_flash_indicator); + mSceneIndicator = (ImageView) findViewById(R.id.onscreen_scene_indicator); + mWhiteBalanceIndicator = + (ImageView) findViewById(R.id.onscreen_white_balance_indicator); + mFocusIndicator = (ImageView) findViewById(R.id.onscreen_focus_indicator); } @Override public void showGpsOnScreenIndicator(boolean hasSignal) { if (hasSignal) { - if (mGpsNoSignalIndicator != null) { - mGpsNoSignalIndicator.setVisibility(View.GONE); - } - if (mGpsHasSignalIndicator != null) { - mGpsHasSignalIndicator.setVisibility(View.VISIBLE); - } + mGpsIndicator.setImageResource(R.drawable.ic_viewfinder_gps_on); } else { - if (mGpsNoSignalIndicator != null) { - mGpsNoSignalIndicator.setVisibility(View.VISIBLE); - } - if (mGpsHasSignalIndicator != null) { - mGpsHasSignalIndicator.setVisibility(View.GONE); - } + mGpsIndicator.setImageResource(R.drawable.ic_viewfinder_gps_no_signal); } + mGpsIndicator.setVisibility(View.VISIBLE); } @Override public void hideGpsOnScreenIndicator() { - if (mGpsNoSignalIndicator != null) mGpsNoSignalIndicator.setVisibility(View.GONE); - if (mGpsHasSignalIndicator != null) mGpsHasSignalIndicator.setVisibility(View.GONE); + mGpsIndicator.setVisibility(View.GONE); } private void updateExposureOnScreenIndicator(int value) { - if (mExposureIndicator == null) return; - if (value == 0) { mExposureIndicator.setText(""); mExposureIndicator.setVisibility(View.GONE); @@ -645,6 +642,57 @@ public class Camera extends ActivityBase implements FocusManager.Listener, } } + private void updateFlashOnScreenIndicator(String value) { + if (Parameters.FLASH_MODE_AUTO.equals(value)) { + mFlashIndicator.setImageResource(R.drawable.ic_indicators_landscape_flash_auto); + } else if (Parameters.FLASH_MODE_ON.equals(value)) { + mFlashIndicator.setImageResource(R.drawable.ic_indicators_landscape_flash_on); + } else if (Parameters.FLASH_MODE_OFF.equals(value)) { + mFlashIndicator.setImageResource(R.drawable.ic_indicators_landscape_flash_off); + } + } + + private void updateSceneOnScreenIndicator(boolean isVisible) { + mSceneIndicator.setVisibility(isVisible ? View.VISIBLE : View.GONE); + } + + private void updateWhiteBalanceOnScreenIndicator(String value) { + if (Parameters.WHITE_BALANCE_AUTO.equals(value)) { + mWhiteBalanceIndicator.setVisibility(View.GONE); + } else { + if (Parameters.WHITE_BALANCE_FLUORESCENT.equals(value)) { + mWhiteBalanceIndicator.setImageResource(R.drawable.ic_indicators_fluorescent); + } else if (Parameters.WHITE_BALANCE_INCANDESCENT.equals(value)) { + mWhiteBalanceIndicator.setImageResource(R.drawable.ic_indicators_incandescent); + } else if (Parameters.WHITE_BALANCE_DAYLIGHT.equals(value)) { + mWhiteBalanceIndicator.setImageResource(R.drawable.ic_indicators_sunlight); + } else if (Parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT.equals(value)) { + mWhiteBalanceIndicator.setImageResource(R.drawable.ic_indicators_cloudy); + } + mWhiteBalanceIndicator.setVisibility(View.VISIBLE); + } + } + + private void updateFocusOnScreenIndicator(String value) { + if (Parameters.FOCUS_MODE_INFINITY.equals(value)) { + mFocusIndicator.setImageResource(R.drawable.ic_indicators_landscape); + mFocusIndicator.setVisibility(View.VISIBLE); + } else if (Parameters.FOCUS_MODE_MACRO.equals(value)) { + mFocusIndicator.setImageResource(R.drawable.ic_indicators_macro); + mFocusIndicator.setVisibility(View.VISIBLE); + } else { + mFocusIndicator.setVisibility(View.GONE); + } + } + + private void updateOnScreenIndicators() { + boolean isAutoScene = !(Parameters.SCENE_MODE_AUTO.equals(mParameters.getSceneMode())); + updateSceneOnScreenIndicator(isAutoScene); + updateExposureOnScreenIndicator(CameraSettings.readExposure(mPreferences)); + updateFlashOnScreenIndicator(mParameters.getFlashMode()); + updateWhiteBalanceOnScreenIndicator(mParameters.getWhiteBalance()); + updateFocusOnScreenIndicator(mParameters.getFocusMode()); + } private final class ShutterCallback implements android.hardware.Camera.ShutterCallback { public void onShutter() { @@ -1241,7 +1289,7 @@ public class Camera extends ActivityBase implements FocusManager.Listener, private void setOrientationIndicator(int orientation) { Rotatable[] indicators = {mThumbnailView, mModePicker, mSharePopup, - mIndicatorControlContainer, mZoomControl, mFocusIndicator, mFaceView, + mIndicatorControlContainer, mZoomControl, mFocusAreaIndicator, mFaceView, mReviewCancelButton, mReviewDoneButton, mRotateDialog}; for (Rotatable indicator : indicators) { if (indicator != null) indicator.setOrientation(orientation); @@ -2147,8 +2195,7 @@ public class Camera extends ActivityBase implements FocusManager.Listener, setCameraParametersWhenIdle(UPDATE_PARAM_PREFERENCE); } - int exposureValue = CameraSettings.readExposure(mPreferences); - updateExposureOnScreenIndicator(exposureValue); + updateOnScreenIndicators(); } @Override |