summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornadlabak <pavel@doshaska.net>2012-02-12 01:42:17 +0100
committernadlabak <pavel@doshaska.net>2012-02-12 02:32:38 +0100
commit7cc1f8dbf6a8c557c8f5293c44bfb8225c4d7dcb (patch)
tree27571aa83c9665cb4fbacaa57622fa7a32b8441c
parent3836ca19dba4dead4584fd47dd8b8dacba2b90b0 (diff)
downloadframeworks_base-7cc1f8dbf6a8c557c8f5293c44bfb8225c4d7dcb.zip
frameworks_base-7cc1f8dbf6a8c557c8f5293c44bfb8225c4d7dcb.tar.gz
frameworks_base-7cc1f8dbf6a8c557c8f5293c44bfb8225c4d7dcb.tar.bz2
additional landscape layout for sim pin unlock
- without this patch, if the phone is in car dock (landscape, hw keyboard hidden), the sim pin unlock screen is cropped, making it impossible to unlock the sim without taking the phone out from the dock, which can be quite dangerous while driving. (You can be presented with the sim pin unlock screen e.g. when the phone reboots during navigation.) Change-Id: Icc4d170fdcc0dabc4ab4aa5c664e4cc389b17513
-rw-r--r--core/res/res/layout/keyguard_screen_sim_pin_land_nokey.xml125
-rw-r--r--policy/src/com/android/internal/policy/impl/SimUnlockScreen.java3
2 files changed, 128 insertions, 0 deletions
diff --git a/core/res/res/layout/keyguard_screen_sim_pin_land_nokey.xml b/core/res/res/layout/keyguard_screen_sim_pin_land_nokey.xml
new file mode 100644
index 0000000..ad92b31
--- /dev/null
+++ b/core/res/res/layout/keyguard_screen_sim_pin_land_nokey.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License")
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal"
+ android:gravity="center"
+ android:background="@android:color/background_dark">
+
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:layout_weight="1"
+ android:background="@android:color/background_dark">
+
+ <!-- header text ('Enter Pin Code') -->
+ <TextView android:id="@+id/headerText"
+ android:layout_above="@+id/carrier"
+ android:layout_centerHorizontal="true"
+ android:layout_marginBottom="30dip"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ />
+
+ <!-- Carrier info -->
+ <TextView android:id="@+id/carrier"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_above="@+id/pinDisplayGroup"
+ android:layout_marginTop="9dip"
+ android:gravity="left|bottom"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ />
+
+ <!-- displays dots as user enters pin -->
+ <LinearLayout android:id="@+id/pinDisplayGroup"
+ android:orientation="horizontal"
+ android:layout_centerInParent="true"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:addStatesFromChildren="true"
+ android:gravity="center_vertical"
+ android:baselineAligned="false"
+ android:paddingRight="0dip"
+ android:layout_marginRight="30dip"
+ android:layout_marginLeft="30dip"
+ android:background="@android:drawable/edit_text">
+
+ <EditText android:id="@+id/pinDisplay"
+ android:layout_width="0dip"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:maxLines="1"
+ android:background="@null"
+ android:textSize="32sp"
+ android:inputType="textPassword"
+ />
+
+ <ImageButton android:id="@+id/backspace"
+ android:src="@android:drawable/ic_input_delete"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="2dip"
+ android:layout_marginRight="2dip"
+ android:layout_marginBottom="2dip"
+ android:gravity="center"
+ />
+
+ </LinearLayout>
+
+ <!-- emergency call button -->
+ <Button
+ android:id="@+id/emergencyCall"
+ android:layout_alignParentBottom="true"
+ android:layout_centerHorizontal="true"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="8dip"
+ android:layout_marginLeft="8dip"
+ android:layout_marginRight="8dip"
+ android:drawableLeft="@android:drawable/ic_emergency"
+ android:drawablePadding="8dip"
+ android:text="@android:string/lockscreen_emergency_call"
+ />
+
+ </RelativeLayout>
+
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:layout_weight="1"
+ android:background="@android:color/background_dark">
+
+ <include
+ android:id="@+id/keyPad"
+ layout="@android:layout/twelve_key_entry"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ />
+
+ </RelativeLayout>
+
+</LinearLayout>
diff --git a/policy/src/com/android/internal/policy/impl/SimUnlockScreen.java b/policy/src/com/android/internal/policy/impl/SimUnlockScreen.java
index c63370f..e5ae964 100644
--- a/policy/src/com/android/internal/policy/impl/SimUnlockScreen.java
+++ b/policy/src/com/android/internal/policy/impl/SimUnlockScreen.java
@@ -82,6 +82,9 @@ public class SimUnlockScreen extends LinearLayout implements KeyguardScreen, Vie
LayoutInflater inflater = LayoutInflater.from(context);
if (mKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
inflater.inflate(R.layout.keyguard_screen_sim_pin_landscape, this, true);
+ } else if (mCreationOrientation == Configuration.ORIENTATION_LANDSCAPE) {
+ inflater.inflate(R.layout.keyguard_screen_sim_pin_land_nokey, this, true);
+ new TouchInput();
} else {
inflater.inflate(R.layout.keyguard_screen_sim_pin_portrait, this, true);
new TouchInput();