summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorweijiew <weijiew@codeaurora.org>2016-12-15 14:45:48 +0800
committerweijiew <weijiew@codeaurora.org>2016-12-15 15:05:28 +0800
commit12ac236df386266adc05ac2e77cfe39a7d7e1214 (patch)
treee3e6180019b165d6f28f3af7e15727234b39243e
parent568dfe8fb8d7150e242ec778b039458d4e6e0b29 (diff)
downloadandroid_packages_apps_Snap-12ac236df386266adc05ac2e77cfe39a7d7e1214.tar.gz
android_packages_apps_Snap-12ac236df386266adc05ac2e77cfe39a7d7e1214.tar.bz2
android_packages_apps_Snap-12ac236df386266adc05ac2e77cfe39a7d7e1214.zip
SnapdragonCamera: Dialog display incompletely in landscape mode
Create a new layout for landscape mode CRs-Fixed: 1099373 Change-Id: Ie505c6ef8795e0b8a8b3424afde7cb46fc368136
-rw-r--r--res/layout/scene_mode_instructional.xml5
-rw-r--r--res/layout/scene_mode_instructional_landscape.xml97
-rw-r--r--res/layout/scene_mode_label.xml1
-rw-r--r--src/com/android/camera/CaptureUI.java15
-rw-r--r--src/com/android/camera/PanoCaptureUI.java15
5 files changed, 114 insertions, 19 deletions
diff --git a/res/layout/scene_mode_instructional.xml b/res/layout/scene_mode_instructional.xml
index 588dc3549..2181e3147 100644
--- a/res/layout/scene_mode_instructional.xml
+++ b/res/layout/scene_mode_instructional.xml
@@ -45,15 +45,13 @@
<ImageView
android:id="@+id/scene_mode_icon"
android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/chroma_flash"/>
+ android:layout_height="wrap_content" />
<TextView
android:id="@+id/scene_mode_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_toRightOf="@id/scene_mode_icon"
- android:text="@string/pref_camera_scenemode_entry_chromaflash"
android:textColor="@android:color/black"
android:textAppearance="?android:attr/textAppearanceMedium" />
@@ -66,7 +64,6 @@
android:layout_marginTop="15dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
- android:text="@string/pref_camera2_scene_mode_chroma_flash_instructional_content"
android:textColor="@android:color/black"
android:layout_below="@id/title" />
<CheckBox
diff --git a/res/layout/scene_mode_instructional_landscape.xml b/res/layout/scene_mode_instructional_landscape.xml
new file mode 100644
index 000000000..c5f89f5ce
--- /dev/null
+++ b/res/layout/scene_mode_instructional_landscape.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Copyright (c) 2016, The Linux Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ -->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/mode_layout_rect"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@android:color/transparent"
+ android:gravity="center">
+ <LinearLayout
+ android:id="@+id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="25dp"
+ android:orientation="horizontal"
+ android:gravity="center">
+ <ImageView
+ android:id="@+id/scene_mode_icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ <TextView
+ android:id="@+id/scene_mode_name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:layout_toRightOf="@id/scene_mode_icon"
+ android:textColor="@android:color/black"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ </LinearLayout>
+
+ <TextView
+ android:id="@+id/scene_mode_instructional"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="25dp"
+ android:layout_marginTop="30dp"
+ android:layout_marginRight="15dp"
+ android:textColor="@android:color/black"
+ android:layout_below="@id/title" />
+ <CheckBox
+ android:id="@+id/remember_selected"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:layout_marginLeft="25dp"
+ android:layout_below="@id/scene_mode_instructional"
+ android:text="@string/pref_camera2_not_show_again"
+ android:textColor="@android:color/black"/>
+
+ <View
+ android:id="@+id/separator"
+ android:layout_width="wrap_content"
+ android:layout_height="1dp"
+ android:layout_marginTop="15dp"
+ android:layout_marginBottom="15dp"
+ android:layout_below="@id/remember_selected"
+ android:background="#c0c0c0" />
+
+ <Button
+ android:id="@+id/scene_mode_instructional_ok"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/separator"
+ android:background="@android:color/transparent"
+ android:layout_marginRight="30dp"
+ android:layout_alignParentRight="true"
+ android:text="@string/pref_camera2_scene_mode_instructional_ok"
+ android:textColor="@android:color/black"/>
+</RelativeLayout>
+
diff --git a/res/layout/scene_mode_label.xml b/res/layout/scene_mode_label.xml
index aa5ef211c..aa79e7f92 100644
--- a/res/layout/scene_mode_label.xml
+++ b/res/layout/scene_mode_label.xml
@@ -37,7 +37,6 @@
<TextView
android:id="@+id/scene_mode_label"
android:singleLine="true"
- android:text="@string/pref_camera_scenemode_entry_chromaflash"
android:textColor="@android:color/white"
android:textSize="16dp"
style="@style/OnViewfinderSceneLabel" />
diff --git a/src/com/android/camera/CaptureUI.java b/src/com/android/camera/CaptureUI.java
index aed62aaa9..9e71d782f 100644
--- a/src/com/android/camera/CaptureUI.java
+++ b/src/com/android/camera/CaptureUI.java
@@ -651,9 +651,13 @@ public class CaptureUI implements FocusOverlayManager.FocusUI,
}
private void showSceneInstructionalDialog(int orientation) {
+ int layoutId = R.layout.scene_mode_instructional;
+ if ( orientation == 90 || orientation == 270 ) {
+ layoutId = R.layout.scene_mode_instructional_landscape;
+ }
LayoutInflater inflater =
(LayoutInflater)mActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- View view = inflater.inflate(R.layout.scene_mode_instructional, null);
+ View view = inflater.inflate(layoutId, null);
int index = mSettingsManager.getValueIndex(SettingsManager.KEY_SCENE_MODE);
TextView name = (TextView)view.findViewById(R.id.scene_mode_name);
@@ -724,12 +728,9 @@ public class CaptureUI implements FocusOverlayManager.FocusUI,
dialogWindow.setGravity(Gravity.CENTER);
lp.width = lp.height = dialogSize;
dialogWindow.setAttributes(lp);
- if ( orientation == 180 ) {
- dialogSize -= 40;
- RelativeLayout layout = (RelativeLayout)view.findViewById(R.id.mode_layout_rect);
- FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(dialogSize, dialogSize);
- layout.setLayoutParams(params);
- }
+ RelativeLayout layout = (RelativeLayout)view.findViewById(R.id.mode_layout_rect);
+ FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(dialogSize, dialogSize);
+ layout.setLayoutParams(params);
}
private void showSceneModeLabel() {
diff --git a/src/com/android/camera/PanoCaptureUI.java b/src/com/android/camera/PanoCaptureUI.java
index 5e9692908..a25ff9f94 100644
--- a/src/com/android/camera/PanoCaptureUI.java
+++ b/src/com/android/camera/PanoCaptureUI.java
@@ -455,9 +455,13 @@ public class PanoCaptureUI implements
}
private void showSceneInstructionalDialog(int orientation) {
+ int layoutId = R.layout.scene_mode_instructional;
+ if ( orientation == 90 || orientation == 270 ) {
+ layoutId = R.layout.scene_mode_instructional_landscape;
+ }
LayoutInflater inflater =
(LayoutInflater)mActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- View view = inflater.inflate(R.layout.scene_mode_instructional, null);
+ View view = inflater.inflate(layoutId, null);
TextView name = (TextView)view.findViewById(R.id.scene_mode_name);
name.setText(R.string.pref_camera_scenemode_entry_panorama);
@@ -516,11 +520,8 @@ public class PanoCaptureUI implements
dialogWindow.setGravity(Gravity.CENTER);
lp.width = lp.height = dialogSize;
dialogWindow.setAttributes(lp);
- if ( orientation == 180 ) {
- dialogSize -= 40;
- RelativeLayout layout = (RelativeLayout)view.findViewById(R.id.mode_layout_rect);
- FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(dialogSize, dialogSize);
- layout.setLayoutParams(params);
- }
+ RelativeLayout layout = (RelativeLayout)view.findViewById(R.id.mode_layout_rect);
+ FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(dialogSize, dialogSize);
+ layout.setLayoutParams(params);
}
}