Fragmentize the dialpad UI
Moved most of DialpadActivity into the new class DialpadFragment.
The old DialpadActivity is now just a simple container for the fragment.
TESTED (on crespo):
- Dialing an outgoing call
- Options menu (only visible once you've typed at least one digit)
- "Dialpad chooser" scenario (the special UI when you bring up the
dialpad while a call is already active). Note that text colors in
the dialpad chooser items are wrong; that'll be fixed by some
upcoming theme cleanup.
Change-Id: I8827727bb2bc86936c4ef23e1a307ac04141c1ea
diff --git a/res/layout/dialpad_activity.xml b/res/layout/dialpad_activity.xml
index 2cae9ae..93e9523 100644
--- a/res/layout/dialpad_activity.xml
+++ b/res/layout/dialpad_activity.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2006 The Android Open Source Project
+<!-- Copyright (C) 2011 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.
@@ -14,52 +14,12 @@
limitations under the License.
-->
-<!-- TODO (stopship) We don't want to specify a background color here. For now we just
-keep it because otherwise the dialer needs some imagination to use (white on white) -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/top"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical"
- android:background="@android:color/black"
>
-
- <!-- Text field above the keypad where the digits are displayed.
- It's type is set to NULL (to disable the IME keyboard) in the
- java code.
- -->
- <!-- TODO: Use a textAppearance to control the display of the number -->
- <EditText android:id="@+id/digits"
- android:layout_width="match_parent"
- android:layout_height="67dip"
- android:gravity="center"
- android:maxLines="1"
- android:scrollHorizontally="true"
- android:textSize="33sp"
- android:freezesText="true"
- android:background="@drawable/btn_dial_textfield"
- android:textColor="@color/dialer_button_text"
- android:focusableInTouchMode="true"
- android:editable="true"
- android:cursorVisible="false"
- android:layout_weight="0"
- android:contentDescription="@string/description_digits_edittext"
- />
-
- <!-- Keypad section -->
- <include layout="@layout/dialpad" />
-
- <!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
- <include layout="@layout/voicemail_dial_delete" />
-
- <!-- "Dialpad chooser" UI, shown only when the user brings up the
- Dialer while a call is already in progress.
- When this UI is visible, the other Dialer elements
- (the textfield/button and the dialpad) are hidden. -->
- <ListView android:id="@+id/dialpadChooser"
- android:layout_width="match_parent"
- android:layout_height="1dip"
- android:layout_weight="1"
- />
-
-</LinearLayout>
+ <fragment class="com.android.contacts.dialpad.DialpadFragment"
+ android:id="@+id/dialpad_fragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+</FrameLayout>
diff --git a/res/layout/dialpad_fragment.xml b/res/layout/dialpad_fragment.xml
new file mode 100644
index 0000000..c516bd8
--- /dev/null
+++ b/res/layout/dialpad_fragment.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<!-- TODO (stopship) We don't want to specify a background color here. For now we just
+keep it because otherwise the dialer needs some imagination to use (white on white) -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/top"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:background="@android:color/black"
+>
+
+ <!-- Text field above the keypad where the digits are displayed.
+ It's type is set to NULL (to disable the IME keyboard) in the
+ java code.
+ -->
+ <!-- TODO: Use a textAppearance to control the display of the number -->
+ <EditText android:id="@+id/digits"
+ android:layout_width="match_parent"
+ android:layout_height="67dip"
+ android:gravity="center"
+ android:maxLines="1"
+ android:scrollHorizontally="true"
+ android:textSize="33sp"
+ android:freezesText="true"
+ android:background="@drawable/btn_dial_textfield"
+ android:textColor="@color/dialer_button_text"
+ android:focusableInTouchMode="true"
+ android:editable="true"
+ android:cursorVisible="false"
+ android:layout_weight="0"
+ android:contentDescription="@string/description_digits_edittext"
+ />
+
+ <!-- Keypad section -->
+ <include layout="@layout/dialpad" />
+
+ <!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
+ <include layout="@layout/voicemail_dial_delete" />
+
+ <!-- "Dialpad chooser" UI, shown only when the user brings up the
+ Dialer while a call is already in progress.
+ When this UI is visible, the other Dialer elements
+ (the textfield/button and the dialpad) are hidden. -->
+ <ListView android:id="@+id/dialpadChooser"
+ android:layout_width="match_parent"
+ android:layout_height="1dip"
+ android:layout_weight="1"
+ />
+
+</LinearLayout>