diff options
author | calderwoodra <calderwoodra@google.com> | 2017-08-18 15:03:13 -0700 |
---|---|---|
committer | Eric Erfanian <erfanian@google.com> | 2017-08-30 15:46:35 +0000 |
commit | 929674acc5ff2798b767692bbad4143575d31c3b (patch) | |
tree | 129bb34c0c644e1949938e3200f9a06a865922cb /java/com/android/dialer/dialpadview/res | |
parent | e89e0f58b5e6159a76baebc1b4e0b5063007e467 (diff) | |
download | android_packages_apps_Dialer-929674acc5ff2798b767692bbad4143575d31c3b.tar.gz android_packages_apps_Dialer-929674acc5ff2798b767692bbad4143575d31c3b.tar.bz2 android_packages_apps_Dialer-929674acc5ff2798b767692bbad4143575d31c3b.zip |
Refactor dialpad fragment out of dialer/app to be reused in nui
This change updates a few things:
- Adds a listener for the dialpad to call into dialtacts activity
- updates FragmentUtils to accept non-support fragments
- migrates a few other related (tightly coupled) classes to their own package
- general QoL changes
Bug: 37748839,37208802
Test: existing
PiperOrigin-RevId: 165757904
Change-Id: I506e97ad9a01d07c760e766eccc4d146f8e0931a
Diffstat (limited to 'java/com/android/dialer/dialpadview/res')
21 files changed, 360 insertions, 1 deletions
diff --git a/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialer_fork_add_call.png b/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialer_fork_add_call.png Binary files differnew file mode 100755 index 000000000..4e0d5649e --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialer_fork_add_call.png diff --git a/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialer_fork_current_call.png b/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialer_fork_current_call.png Binary files differnew file mode 100755 index 000000000..2cf41d598 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialer_fork_current_call.png diff --git a/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png b/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png Binary files differnew file mode 100755 index 000000000..043685fd9 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png diff --git a/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialer_fork_add_call.png b/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialer_fork_add_call.png Binary files differnew file mode 100644 index 000000000..56ac2a33a --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialer_fork_add_call.png diff --git a/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialer_fork_current_call.png b/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialer_fork_current_call.png Binary files differnew file mode 100644 index 000000000..16a44a078 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialer_fork_current_call.png diff --git a/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialer_fork_tt_keypad.png b/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialer_fork_tt_keypad.png Binary files differnew file mode 100644 index 000000000..66df69eac --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialer_fork_tt_keypad.png diff --git a/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialer_fork_add_call.png b/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialer_fork_add_call.png Binary files differnew file mode 100644 index 000000000..aff140fcd --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialer_fork_add_call.png diff --git a/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialer_fork_current_call.png b/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialer_fork_current_call.png Binary files differnew file mode 100644 index 000000000..8975727e0 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialer_fork_current_call.png diff --git a/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialer_fork_tt_keypad.png b/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialer_fork_tt_keypad.png Binary files differnew file mode 100644 index 000000000..4d48ea9ea --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialer_fork_tt_keypad.png diff --git a/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialer_fork_add_call.png b/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialer_fork_add_call.png Binary files differnew file mode 100644 index 000000000..1657da4e2 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialer_fork_add_call.png diff --git a/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialer_fork_current_call.png b/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialer_fork_current_call.png Binary files differnew file mode 100644 index 000000000..f25cce695 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialer_fork_current_call.png diff --git a/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialer_fork_tt_keypad.png b/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialer_fork_tt_keypad.png Binary files differnew file mode 100644 index 000000000..7ac4d8b58 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialer_fork_tt_keypad.png diff --git a/java/com/android/dialer/dialpadview/res/drawable/ic_wifi_calling.xml b/java/com/android/dialer/dialpadview/res/drawable/ic_wifi_calling.xml new file mode 100644 index 000000000..968713376 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable/ic_wifi_calling.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2017 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. +--> + +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:tint="?attr/colorControlNormal" + android:viewportHeight="30" + android:viewportWidth="30" + android:width="24dp"> + <path + android:fillColor="@android:color/white" + android:pathData="M14.88,16.3h0L25,3.66a16.51,16.51 0,0 0,-20.3 0L14.88,16.3Z"/> + <path + android:fillColor="@android:color/white" + android:pathData="M26.42,18.88a1.25,1.25 0,0 0,-0.89 -0.36,1.28 1.28,0 0,0 -0.87,0.35 14.26,14.26 0,0 1,-3.32 2.31,1.24 1.24,0 0,0 -0.7,1.12v3.87a18.27,18.27 0,0 1,-5.75 0.91,18.63 18.63,0 0,1 -5.75,-0.9v-3.87a1.26,1.26 0,0 0,-0.7 -1.12,14.73 14.73,0 0,1 -3.34,-2.31 1.23,1.23 0,0 0,-0.87 -0.35,1.25 1.25,0 0,0 -0.89,0.36L0.24,22a1.24,1.24 0,0 0,-0.36 0.89,1.23 1.23,0 0,0 0.37,0.87 21.26,21.26 0,0 0,29.26 0,1.27 1.27,0 0,0 0,-1.77Z"/> +</vector>
\ No newline at end of file diff --git a/java/com/android/dialer/dialpadview/res/drawable/shadow_fade_left.xml b/java/com/android/dialer/dialpadview/res/drawable/shadow_fade_left.xml new file mode 100644 index 000000000..6271a8f86 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable/shadow_fade_left.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 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. +--> + +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + <gradient + android:angle="0" + android:endColor="#1a000000" + android:startColor="@null" + android:type="linear"/> +</shape> diff --git a/java/com/android/dialer/dialpadview/res/drawable/shadow_fade_up.xml b/java/com/android/dialer/dialpadview/res/drawable/shadow_fade_up.xml new file mode 100644 index 000000000..86d37a9bc --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/drawable/shadow_fade_up.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2012 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. +--> + +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + <gradient + android:angle="90" + android:endColor="@null" + android:startColor="#1a000000" + android:type="linear"/> +</shape>
\ No newline at end of file diff --git a/java/com/android/dialer/dialpadview/res/layout-land/dialpad_fragment.xml b/java/com/android/dialer/dialpadview/res/layout-land/dialpad_fragment.xml new file mode 100644 index 000000000..6389853d9 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/layout-land/dialpad_fragment.xml @@ -0,0 +1,82 @@ +<?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. +--> +<view xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + class="com.android.dialer.dialpadview.DialpadFragment$DialpadSlidingRelativeLayout" + android:layout_width="match_parent" + 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="4" + 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_width="0dp" + android:layout_height="match_parent" + android:layout_weight="6"> + + <include + layout="@layout/dialpad_view" + android:layout_width="match_parent" + android:layout_height="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="@dimen/floating_action_button_margin_bottom" + android:layout_alignParentBottom="true"/> + + <android.support.design.widget.FloatingActionButton + android:id="@+id/dialpad_floating_action_button" + 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" + android:src="@drawable/quantum_ic_call_white_24" + android:contentDescription="@string/description_dial_button" + app:elevation="@dimen/floating_action_button_translation_z" + app:backgroundTint="@color/dialpad_fab_green"/> + </RelativeLayout> + </LinearLayout> +</view> diff --git a/java/com/android/dialer/dialpadview/res/layout/dialpad_chooser_list_item.xml b/java/com/android/dialer/dialpadview/res/layout/dialpad_chooser_list_item.xml new file mode 100644 index 000000000..e00529614 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/layout/dialpad_chooser_list_item.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 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. +--> + +<!-- Layout of a single item in the Dialer's "Dialpad chooser" UI. --> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="horizontal"> + + <ImageView + android:id="@+id/icon" + android:layout_width="64dp" + android:layout_height="64dp" + android:scaleType="center"/> + + <TextView + android:id="@+id/text" + android:layout_width="0dip" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_gravity="center_vertical" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textColor="@color/dialpad_primary_text_color"/> + +</LinearLayout> diff --git a/java/com/android/dialer/dialpadview/res/layout/dialpad_fragment.xml b/java/com/android/dialer/dialpadview/res/layout/dialpad_fragment.xml new file mode 100644 index 000000000..2f62e1407 --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/layout/dialpad_fragment.xml @@ -0,0 +1,72 @@ +<?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. +--> +<view xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + class="com.android.dialer.dialpadview.DialpadFragment$DialpadSlidingRelativeLayout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> + + <!-- spacer view --> + <View + android:id="@+id/spacer" + 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_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"/> + + <android.support.design.widget.FloatingActionButton + android:id="@+id/dialpad_floating_action_button" + 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" + android:contentDescription="@string/description_dial_button" + android:src="@drawable/quantum_ic_call_vd_theme_24" + app:backgroundTint="@color/dialpad_fab_green" + app:colorControlNormal="#ffffff" + app:elevation="@dimen/floating_action_button_translation_z"/> +</view> diff --git a/java/com/android/dialer/dialpadview/res/menu/dialpad_options.xml b/java/com/android/dialer/dialpadview/res/menu/dialpad_options.xml new file mode 100644 index 000000000..2921ea3bb --- /dev/null +++ b/java/com/android/dialer/dialpadview/res/menu/dialpad_options.xml @@ -0,0 +1,30 @@ +<?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. +--> +<menu xmlns:android="http://schemas.android.com/apk/res/android"> + + <item + android:id="@+id/menu_2s_pause" + android:showAsAction="withText" + android:title="@string/add_2sec_pause"/> + <item + android:id="@+id/menu_add_wait" + android:showAsAction="withText" + android:title="@string/add_wait"/> + <item + android:id="@+id/menu_call_with_note" + android:showAsAction="withText" + android:title="@string/call_with_a_note"/> +</menu> diff --git a/java/com/android/dialer/dialpadview/res/values/dimens.xml b/java/com/android/dialer/dialpadview/res/values/dimens.xml index 187ec9afa..ac4c7b499 100644 --- a/java/com/android/dialer/dialpadview/res/values/dimens.xml +++ b/java/com/android/dialer/dialpadview/res/values/dimens.xml @@ -45,4 +45,7 @@ <!-- Top/Bottom padding around the ILD rate display box. --> <dimen name="ild_margin_height">10dp</dimen> + + <!-- Length of dialpad's shadows in dialer. --> + <dimen name="shadow_length">10dp</dimen> </resources> diff --git a/java/com/android/dialer/dialpadview/res/values/strings.xml b/java/com/android/dialer/dialpadview/res/values/strings.xml index 920e6e25c..b3e92f1d9 100644 --- a/java/com/android/dialer/dialpadview/res/values/strings.xml +++ b/java/com/android/dialer/dialpadview/res/values/strings.xml @@ -14,7 +14,7 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License --> -<resources> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="dialpad_star_number" translatable="false">*</string> <string name="dialpad_pound_number" translatable="false">#</string> @@ -50,4 +50,61 @@ --> <string name="description_voicemail_button">voicemail</string> + <!-- String describing the Dial ImageButton + + Used by AccessibilityService to announce the purpose of the button. + --> + <string name="description_dial_button">dial</string> + + <!-- Dialog message which is shown when the user tries to check voicemail + while the system is in airplane mode. The user cannot access to + voicemail service in Airplane mode. [CHAR LIMI=NONE] --> + <string name="dialog_voicemail_airplane_mode_message">To call voicemail, first turn off Airplane mode.</string> + + <!-- Dialog message which is shown when the user tries to check voicemail + while the system isn't ready for the access. [CHAR LIMIT=NONE] --> + <string name="dialog_voicemail_not_ready_message">To set up voicemail, go to Menu > Settings.</string> + + <!-- Menu items for dialpad options as part of Pause and Wait ftr [CHAR LIMIT=30] --> + <string name="add_2sec_pause">Add 2-sec pause</string> + <string name="add_wait">Add wait</string> + + <!-- Item label: jump to the in-call DTMF dialpad. + (Part of a list of options shown in the dialer when another call + is already in progress.) --> + <string name="dialer_useDtmfDialpad">Use touch tone keypad</string> + + <!-- Item label: jump to the in-call UI. + (Part of a list of options shown in the dialer when another call + is already in progress.) --> + <string name="dialer_returnToInCallScreen">Return to call in progress</string> + + <!-- Item label: use the Dialer's keypad to add another call. + (Part of a list of options shown in the dialer when another call + is already in progress.) --> + <string name="dialer_addAnotherCall">Add call</string> + + <!-- The title of a dialog that displays the IMEI of the phone --> + <string name="imei">IMEI</string> + + <!-- The title of a dialog that displays the MEID of the CDMA phone --> + <string name="meid">MEID</string> + + <!-- Dialog text displayed when loading a phone number from the SIM card for speed dial --> + <string name="simContacts_emptyLoading">Loading from SIM card\u2026</string> + + <!-- Dialog title displayed when loading a phone number from the SIM card for speed dial --> + <string name="simContacts_title">SIM card contacts</string> + + <!-- Menu item used to call a contact, containing the number of the contact to call --> + <string name="menu_callNumber">Call <xliff:g id="number">%s</xliff:g></string> + + + <!-- Regular expression for prohibiting certain phone numbers in dialpad. + Ignored if empty. --> + <string name="config_prohibited_phone_number_regexp" translatable="false"></string> + + <!-- Dialog message which is shown when the user tries to make a phone call + to prohibited phone numbers [CHAR LIMIT=NONE] --> + <string msgid="4313552620858880999" name="dialog_phone_call_prohibited_message">Can\'t call this number</string> </resources> |