Use different FAB for dialpad, and use new animations.
+ Use scaleIn/scaleOut for FABs in the Dialer application.
+ Add assets for green fab.
+ Update dialpad fragment, both the Java and layouts, to have their
own FAB containers and FABs.
+ Change DialpadSlidingLinearLayout into
DialpadSlidingRelativeLayout.
- Removed or relocated dial some FAB handling, visibility, and
translation functions. Now that the FABs in the dialpad fragment
and DialtactsActivity are distinct, the logic can be scoped more
precisely to a particular fragment/view.
Bug: 16399233
Change-Id: I86f9f0053dc3c50fe0d5046389632af7ddff9f67
diff --git a/res/drawable-hdpi/fab_green.png b/res/drawable-hdpi/fab_green.png
new file mode 100644
index 0000000..ff9753c
--- /dev/null
+++ b/res/drawable-hdpi/fab_green.png
Binary files differ
diff --git a/res/drawable-mdpi/fab_green.png b/res/drawable-mdpi/fab_green.png
new file mode 100644
index 0000000..947aac1
--- /dev/null
+++ b/res/drawable-mdpi/fab_green.png
Binary files differ
diff --git a/res/drawable-xhdpi/fab_green.png b/res/drawable-xhdpi/fab_green.png
new file mode 100644
index 0000000..e8bab3f
--- /dev/null
+++ b/res/drawable-xhdpi/fab_green.png
Binary files differ
diff --git a/res/drawable-xxhdpi/fab_green.png b/res/drawable-xxhdpi/fab_green.png
new file mode 100644
index 0000000..7e4fd3e
--- /dev/null
+++ b/res/drawable-xxhdpi/fab_green.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/fab_green.png b/res/drawable-xxxhdpi/fab_green.png
new file mode 100644
index 0000000..aa8849e
--- /dev/null
+++ b/res/drawable-xxxhdpi/fab_green.png
Binary files differ
diff --git a/res/drawable/floating_action_button.xml b/res/drawable/floating_action_button.xml
index cbbfb85..e5ae14a 100644
--- a/res/drawable/floating_action_button.xml
+++ b/res/drawable/floating_action_button.xml
@@ -16,6 +16,4 @@
-->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
- android:color="@color/floating_action_button_touch_tint">
- <item android:drawable="@drawable/fab_blue" />
-</ripple>
+ android:color="@color/floating_action_button_touch_tint" />
\ No newline at end of file
diff --git a/res/layout-land/dialpad_fragment.xml b/res/layout-land/dialpad_fragment.xml
index aac0daf..680c2d7 100644
--- a/res/layout-land/dialpad_fragment.xml
+++ b/res/layout-land/dialpad_fragment.xml
@@ -13,35 +13,75 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<view class="com.android.dialer.dialpad.DialpadFragment$DialpadSlidingLinearLayout"
+<view class="com.android.dialer.dialpad.DialpadFragment$DialpadSlidingRelativeLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <!-- spacer view -->
- <View
- android:id="@+id/spacer"
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:layout_weight="1"
- android:background="#00000000" />
- <!-- Dialpad shadow -->
- <View
- android:layout_width="@dimen/shadow_length"
- android:layout_height="match_parent"
- android:background="@drawable/shadow_fade_left" />
- <include layout="@layout/dialpad_view"
- android:layout_height="match_parent"
- android:layout_width="0dp"
- android:layout_weight="1" />
- <!-- "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="wrap_content"
- android:background="@color/background_dialer_light"
- android:visibility="gone" />
+ android:layout_height="wrap_content">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <!-- spacer view -->
+ <View
+ android:id="@+id/spacer"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:background="#00000000" />
+
+ <!-- Dialpad shadow -->
+ <View
+ android:layout_width="@dimen/shadow_length"
+ android:layout_height="match_parent"
+ android:background="@drawable/shadow_fade_left" />
+
+ <RelativeLayout
+ android:layout_height="match_parent"
+ android:layout_width="0dp"
+ android:layout_weight="1">
+
+ <include layout="@layout/dialpad_view"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent" />
+
+ <!-- "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="wrap_content"
+ android:background="@color/background_dialer_light"
+ android:visibility="gone" />
+
+ <!-- Margin bottom and alignParentBottom don't work well together, so use a Space instead. -->
+ <Space android:id="@+id/dialpad_floating_action_button_margin_bottom"
+ android:layout_width="match_parent"
+ android:layout_height="8dp"
+ android:layout_alignParentBottom="true" />
+
+ <FrameLayout
+ android:id="@+id/dialpad_floating_action_button_container"
+ android:background="@drawable/fab_green"
+ android:layout_width="@dimen/floating_action_button_width"
+ android:layout_height="@dimen/floating_action_button_height"
+ android:layout_above="@id/dialpad_floating_action_button_margin_bottom"
+ android:layout_centerHorizontal="true">
+
+ <ImageButton
+ android:id="@+id/dialpad_floating_action_button"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/floating_action_button"
+ android:contentDescription="@string/description_dial_button"
+ android:src="@drawable/fab_ic_call"/>
+
+ </FrameLayout>
+
+ </RelativeLayout>
+
+ </LinearLayout>
</view>
diff --git a/res/layout/dialpad_fragment.xml b/res/layout/dialpad_fragment.xml
index 01bbecc..21cb586 100644
--- a/res/layout/dialpad_fragment.xml
+++ b/res/layout/dialpad_fragment.xml
@@ -13,31 +13,64 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<view class="com.android.dialer.dialpad.DialpadFragment$DialpadSlidingLinearLayout"
+<view class="com.android.dialer.dialpad.DialpadFragment$DialpadSlidingRelativeLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="vertical" >
- <!-- spacer view -->
- <View
- android:id="@+id/spacer"
+ android:orientation="horizontal">
+
+ <LinearLayout
android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1"
- android:background="#00000000" />
- <!-- Dialpad shadow -->
- <View
- android:layout_width="match_parent"
- android:layout_height="@dimen/shadow_length"
- android:background="@drawable/shadow_fade_up" />
- <include layout="@layout/dialpad_view" />
- <!-- "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_height="wrap_content"
+ android:orientation="vertical">
+
+ <!-- spacer view -->
+ <View
+ android:id="@+id/spacer"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@color/background_dialer_light"
- android:visibility="gone" />
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:background="#00000000" />
+ <!-- Dialpad shadow -->
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/shadow_length"
+ android:background="@drawable/shadow_fade_up" />
+ <include layout="@layout/dialpad_view" />
+ <!-- "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="wrap_content"
+ android:background="@color/background_dialer_light"
+ android:visibility="gone" />
+
+ </LinearLayout>
+
+ <!-- Margin bottom and alignParentBottom don't work well together, so use a Space instead. -->
+ <Space android:id="@+id/dialpad_floating_action_button_margin_bottom"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/floating_action_button_margin_bottom"
+ android:layout_alignParentBottom="true" />
+
+ <FrameLayout
+ android:id="@+id/dialpad_floating_action_button_container"
+ android:background="@drawable/fab_green"
+ android:layout_width="@dimen/floating_action_button_width"
+ android:layout_height="@dimen/floating_action_button_height"
+ android:layout_above="@id/dialpad_floating_action_button_margin_bottom"
+ android:layout_centerHorizontal="true">
+
+ <ImageButton
+ android:id="@+id/dialpad_floating_action_button"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/floating_action_button"
+ android:contentDescription="@string/description_dial_button"
+ android:src="@drawable/fab_ic_call"/>
+
+ </FrameLayout>
+
</view>
diff --git a/res/layout/dialtacts_activity.xml b/res/layout/dialtacts_activity.xml
index aa4ce94..0f1f2bb 100644
--- a/res/layout/dialtacts_activity.xml
+++ b/res/layout/dialtacts_activity.xml
@@ -22,9 +22,8 @@
android:focusable="true"
android:focusableInTouchMode="true"
android:clipChildren="false"
- android:animateLayoutChanges="true"
- android:background="@color/background_dialer_light"
- >
+ android:background="@color/background_dialer_light">
+
<FrameLayout
android:id="@+id/dialtacts_container"
android:layout_width="match_parent"
@@ -37,22 +36,25 @@
android:id="@+id/dialtacts_frame"
android:clipChildren="false" />
</FrameLayout>
+
<FrameLayout
android:id="@+id/floating_action_button_container"
+ android:background="@drawable/fab_blue"
android:layout_width="@dimen/floating_action_button_width"
android:layout_height="@dimen/floating_action_button_height"
android:layout_marginBottom="@dimen/floating_action_button_margin_bottom"
- android:layout_gravity="center_horizontal|bottom" >
+ android:layout_gravity="center_horizontal|bottom">
<ImageButton
android:id="@+id/floating_action_button"
+ android:background="@drawable/floating_action_button"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@drawable/floating_action_button"
android:contentDescription="@string/action_menu_dialpad_button"
android:src="@drawable/fab_ic_dial"/>
</FrameLayout>
+
<!-- Host container for the contact tile drag shadow -->
<FrameLayout
android:id="@+id/activity_overlay"
@@ -65,4 +67,5 @@
android:visibility="gone"
android:importantForAccessibility="no" />
</FrameLayout>
+
</FrameLayout>