From 4538ee80f8a9eb338281db00fb349e111eeb5aaf Mon Sep 17 00:00:00 2001 From: Steve Kondik Date: Wed, 9 Nov 2016 00:08:42 -0800 Subject: snap: UX improvements v1 * Make the camera controls do sane things- get rid of the manual placement of every widget and use layouts * Animate everything correctly * Show ripples when clicking the shutter * Clean up a metric ton of dead code * Moved more code into BaseUI * Make setting up the camera controls less verbose and magical * Fixed up panorama layout Change-Id: Iaed44ca0201a2e2641e1c2460d3ff9ec3eae2d85 --- res/anim/switcher_enter.xml | 18 + res/anim/switcher_exit.xml | 18 + res/drawable/camera_controls_bg_opaque.xml | 6 + res/drawable/camera_controls_bg_translucent.xml | 6 + res/drawable/camera_controls_bg_transparent.xml | 6 + res/layout/camera_controls.xml | 182 ++-- res/layout/list_menu.xml | 1 + res/layout/pano_module_capture.xml | 2 +- res/values/colors.xml | 7 +- res/values/dimens.xml | 4 +- res/values/styles.xml | 2 + src/com/android/camera/BaseUI.java | 97 +- src/com/android/camera/CameraActivity.java | 13 +- src/com/android/camera/CaptureModule.java | 20 +- src/com/android/camera/CaptureUI.java | 104 +- src/com/android/camera/PhotoMenu.java | 101 +- src/com/android/camera/PhotoModule.java | 5 +- src/com/android/camera/PhotoUI.java | 140 +-- src/com/android/camera/ShutterButton.java | 38 +- src/com/android/camera/VideoMenu.java | 59 +- src/com/android/camera/VideoModule.java | 11 +- src/com/android/camera/VideoUI.java | 118 +-- .../android/camera/WideAnglePanoramaModule.java | 12 +- src/com/android/camera/WideAnglePanoramaUI.java | 116 +-- src/com/android/camera/ui/CameraControls.java | 1052 ++++++-------------- src/com/android/camera/ui/ModuleSwitcher.java | 260 +---- src/com/android/camera/util/CameraUtil.java | 2 +- 27 files changed, 797 insertions(+), 1603 deletions(-) create mode 100644 res/anim/switcher_enter.xml create mode 100644 res/anim/switcher_exit.xml create mode 100644 res/drawable/camera_controls_bg_opaque.xml create mode 100644 res/drawable/camera_controls_bg_translucent.xml create mode 100644 res/drawable/camera_controls_bg_transparent.xml mode change 100755 => 100644 src/com/android/camera/PhotoMenu.java mode change 100755 => 100644 src/com/android/camera/PhotoModule.java diff --git a/res/anim/switcher_enter.xml b/res/anim/switcher_enter.xml new file mode 100644 index 000000000..91653a25b --- /dev/null +++ b/res/anim/switcher_enter.xml @@ -0,0 +1,18 @@ + + + diff --git a/res/anim/switcher_exit.xml b/res/anim/switcher_exit.xml new file mode 100644 index 000000000..252581608 --- /dev/null +++ b/res/anim/switcher_exit.xml @@ -0,0 +1,18 @@ + + + diff --git a/res/drawable/camera_controls_bg_opaque.xml b/res/drawable/camera_controls_bg_opaque.xml new file mode 100644 index 000000000..b86cd047d --- /dev/null +++ b/res/drawable/camera_controls_bg_opaque.xml @@ -0,0 +1,6 @@ + + + + diff --git a/res/drawable/camera_controls_bg_translucent.xml b/res/drawable/camera_controls_bg_translucent.xml new file mode 100644 index 000000000..a03ebe0ae --- /dev/null +++ b/res/drawable/camera_controls_bg_translucent.xml @@ -0,0 +1,6 @@ + + + + diff --git a/res/drawable/camera_controls_bg_transparent.xml b/res/drawable/camera_controls_bg_transparent.xml new file mode 100644 index 000000000..490028523 --- /dev/null +++ b/res/drawable/camera_controls_bg_transparent.xml @@ -0,0 +1,6 @@ + + + + diff --git a/res/layout/camera_controls.xml b/res/layout/camera_controls.xml index 3f097425f..524198713 100644 --- a/res/layout/camera_controls.xml +++ b/res/layout/camera_controls.xml @@ -18,12 +18,53 @@ android:layout_width="match_parent" android:layout_height="match_parent" > - + android:layout_height="0dp" + android:gravity="center_vertical" + android:orientation="horizontal"> + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/res/layout/pano_module_capture.xml b/res/layout/pano_module_capture.xml index ad34cf808..9f53ff102 100644 --- a/res/layout/pano_module_capture.xml +++ b/res/layout/pano_module_capture.xml @@ -23,7 +23,7 @@ android:id="@+id/pano_preview_layout" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_gravity="center" > + android:layout_gravity="center_vertical|center_horizontal" > @color/red #ffffffff @color/grey + #1b1b1b + #401b1b1b + #101b1b1b + #ff4285f4 #40fafafa #60fafafa #e0212121 @color/setting_list_selected - @color/black - #40212121 - #a0ffffff #ff29b6f6 diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 96f156017..c8c1896a2 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -172,7 +172,7 @@ 100dp 10dp - 67dp + 70dp 96dp 96dp @@ -185,4 +185,6 @@ 95dp 19dp 2dp + + 30dp diff --git a/res/values/styles.xml b/res/values/styles.xml index 58fb26079..252854682 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -246,11 +246,13 @@ @dimen/switcher_size @dimen/switcher_size @drawable/bg_pressed_exit_fading + 1dp