diff options
| -rw-r--r-- | res/layout-land/dialpad_key.xml | 6 | ||||
| -rw-r--r-- | res/layout-land/dialpad_key_one.xml | 5 | ||||
| -rw-r--r-- | res/layout/dialpad_key.xml | 5 | ||||
| -rw-r--r-- | res/layout/dialpad_key_one.xml | 3 | ||||
| -rw-r--r-- | res/layout/dialpad_view_unthemed.xml | 17 | ||||
| -rw-r--r-- | res/values/qtistrings.xml | 58 | ||||
| -rw-r--r-- | res/values/strings.xml | 96 | ||||
| -rw-r--r-- | src/com/android/phone/common/dialpad/DialpadView.java | 17 |
8 files changed, 207 insertions, 0 deletions
diff --git a/res/layout-land/dialpad_key.xml b/res/layout-land/dialpad_key.xml index 8342ba0..2b292e8 100644 --- a/res/layout-land/dialpad_key.xml +++ b/res/layout-land/dialpad_key.xml @@ -35,6 +35,12 @@ android:layout_marginRight="@dimen/dialpad_key_margin_right" /> <TextView + android:id="@+id/dialpad_key_labels" + style="@style/DialpadKeyLettersStyle" + android:layout_width="@dimen/dialpad_key_text_width" + android:layout_gravity="right|bottom" /> + + <TextView android:id="@+id/dialpad_key_letters" style="@style/DialpadKeyLettersStyle" android:layout_width="@dimen/dialpad_key_text_width" diff --git a/res/layout-land/dialpad_key_one.xml b/res/layout-land/dialpad_key_one.xml index fd4291b..1006e3f 100644 --- a/res/layout-land/dialpad_key_one.xml +++ b/res/layout-land/dialpad_key_one.xml @@ -28,6 +28,11 @@ android:layout_gravity="right" android:layout_marginBottom="0dp" android:layout_marginRight="@dimen/dialpad_key_one_margin_right" /> + <TextView + android:id="@+id/dialpad_key_labels" + style="@style/DialpadKeyLettersStyle" + android:layout_width="@dimen/dialpad_key_text_width" + android:layout_gravity="right|bottom" /> <FrameLayout android:layout_width="@dimen/dialpad_key_text_width" android:layout_height="wrap_content" diff --git a/res/layout/dialpad_key.xml b/res/layout/dialpad_key.xml index d5f47a4..fa5aed4 100644 --- a/res/layout/dialpad_key.xml +++ b/res/layout/dialpad_key.xml @@ -29,7 +29,12 @@ style="@style/DialpadKeyNumberStyle" /> <TextView + android:id="@+id/dialpad_key_labels" + style="@style/DialpadKeyLettersStyle" /> + + <TextView android:id="@+id/dialpad_key_letters" style="@style/DialpadKeyLettersStyle" /> + </LinearLayout> </com.android.phone.common.dialpad.DialpadKeyButton> diff --git a/res/layout/dialpad_key_one.xml b/res/layout/dialpad_key_one.xml index 6c6f199..58a41ab 100644 --- a/res/layout/dialpad_key_one.xml +++ b/res/layout/dialpad_key_one.xml @@ -22,6 +22,9 @@ <com.android.phone.common.dialpad.DialpadTextView android:id="@+id/dialpad_key_number" style="@style/DialpadKeyNumberStyle" /> + <TextView + android:id="@+id/dialpad_key_labels" + style="@style/DialpadKeyLettersStyle" /> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > diff --git a/res/layout/dialpad_view_unthemed.xml b/res/layout/dialpad_view_unthemed.xml index 74e785a..49ace16 100644 --- a/res/layout/dialpad_view_unthemed.xml +++ b/res/layout/dialpad_view_unthemed.xml @@ -113,6 +113,23 @@ android:state_enabled="false" android:contentDescription="@string/description_delete_button" android:src="@drawable/ic_dialpad_delete" /> + + <EditText + android:id="@+id/recipients" + android:layout_width="0dip" + android:layout_height="match_parent" + android:layout_gravity="center" + android:layout_marginLeft="8dip" + android:layout_weight="1" + android:autoText="true" + android:background="@android:color/transparent" + android:hint="@string/to_hint" + android:maxLength="2000" + android:maxLines="3" + android:minHeight="48dip" + android:textColor="@color/dialpad_digits_text_color" + android:textSize="16sp" + android:visibility="gone"/> </LinearLayout> <View diff --git a/res/values/qtistrings.xml b/res/values/qtistrings.xml new file mode 100644 index 0000000..3898ab1 --- /dev/null +++ b/res/values/qtistrings.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (c) 2015, 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. + ~ + --> + +<!-- The xml contains Qti specific resource strings neede for any value added features. --> +<resources> + <!-- Do not translate. --> + <string name="dialpad_0_labels"></string> + <!-- Do not translate. --> + <string name="dialpad_1_labels"></string> + <!-- Do not translate. --> + <string name="dialpad_2_labels"></string> + <!-- Do not translate. --> + <string name="dialpad_3_labels"></string> + <!-- Do not translate. --> + <string name="dialpad_4_labels"></string> + <!-- Do not translate. --> + <string name="dialpad_5_labels"></string> + <!-- Do not translate. --> + <string name="dialpad_6_labels"></string> + <!-- Do not translate. --> + <string name="dialpad_7_labels"></string> + <!-- Do not translate. --> + <string name="dialpad_8_labels"></string> + <!-- Do not translate. --> + <string name="dialpad_9_labels"></string> + <!-- Do not translate. --> + <string name="dialpad_star_labels"></string> + <!-- Do not translate. --> + <string name="dialpad_pound_labels"></string> +</resources> diff --git a/res/values/strings.xml b/res/values/strings.xml index 657a1ba..08f4d17 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -112,12 +112,108 @@ <string name="callFailed_dsac_restricted_normal">Normal calls restricted by access control.</string> <!-- In-call screen: call failure reason (Dialed number doesn't exist) --> <string name="callFailed_unobtainable_number">Invalid number</string> + + <!-- Supplementary for Clear Code --> + <!-- Text for CallFailCause.NO_CIRCUIT_AVAIL = 34 --> + <string name="callFailed_no_circuit_avail"></string> + <!-- Text for CallFailCause.NETWORK_OUT_OF_ORDER = 38 --> + <string name="callFailed_network_out_of_order"></string> + <!-- Text for CallFailCause.NO_ROUTE_TO_DESTINAON = 3 --> + <string name="callFailed_no_route_to_destination"></string> + <!-- Text for CallFailCause.CHANNEL_UNACCEPTABLE = 6 --> + <string name="callFailed_channel_unacceptable"></string> + <!-- Text for CallFailCause.OPERATOR_DETERMINED_BARRING = 8 --> + <string name="callFailed_operator_determined_barring"></string> + <!-- Text for CallFailCause.NORMAL_CLEARING = 16 --> + <string name="callFailed_normal"></string> + <!-- Text for CallFailCause.CALL_FAIL_NO_USER_RESPONDING = 18 --> + <string name="callFailed_no_user_responding"></string> + <!-- Text for CallFailCause.CALL_FAIL_NO_ANSWER_FROM_USER = 19 --> + <string name="callFailed_no_answer_from_user"></string> + <!-- Text for CallFailCause.CALL_REJECTED = 21 --> + <string name="callFailed_call_rejected"></string> + <!-- Text for CallFailCause.NUMBER_CHANGED = 22 --> + <string name="callFailed_number_changed"></string> + <!-- Text for CallFailCause.PREEMPTION = 25 --> + <string name="callFailed_preemption"></string> + <!-- Text for CallFailCause.CALL_FAIL_DESTINATION_OUT_OF_ORDER = 27 --> + <string name="callFailed_destination_out_of_order"></string> + <!-- Text for CallFailCause.INVALID_NUMBER = 28 --> + <string name="callFailed_invalid_number_format"></string> + <!-- Text for CallFailCause.FACILITY_REJECTED = 29 --> + <string name="callFailed_facility_rejected"></string> + <!-- Text for CallFailCause.STATUS_ENQUIRY = 30 --> + <string name="callFailed_resp_to_status_enquiry"></string> + <!-- Text for CallFailCause.NORMAL_UNSPECIFIED = 31 --> + <string name="callFailed_normal_unspecified"></string> + <!-- Text for CallFailCause.TEMPORARY_FAILURE = 41 --> + <string name="callFailed_tempopary_failure"></string> + <!-- Text for CallFailCause.SWITCHING_CONGESTION = 42 --> + <string name="callFailed_switching_equipment_congestion"></string> + <!-- Text for CallFailCause.ACCESS_INFORMATION_DISCARDED = 43 --> + <string name="callFailed_access_information_discarded"></string> + <!-- Text for CallFailCause.CHANNEL_NOT_AVAIL = 44 --> + <string name="callFailed_requested_circuit_or_channel_not_available"></string> + <!-- Text for CallFailCause.RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47 --> + <string name="callFailed_resources_unavailable_or_unspecified"></string> + <!-- Text for CallFailCause.QOS_NOT_AVAIL = 49 --> + <string name="callFailed_QOS_unavailable"></string> + <!-- Text for CallFailCause.REQUESTED_FACILITY_NOT_SUBSCRIBED = 50 --> + <string name="callFailed_requested_facility_not_subscribed"></string> + <!-- Text for CallFailCause.INCOMING_CALLS_BARRED_WITHIN_CUG = 55 --> + <string name="callFailed_incoming_calls_barred_within_CUG"></string> + <!-- Text for CallFailCause.BEARER_CAPABILITY_NOT_AUTHORIZED = 57 --> + <string name="callFailed_bearer_capability_not_authorized"></string> + <!-- Text for CallFailCause.BEARER_NOT_AVAIL = 58 --> + <string name="callFailed_bearer_capability_unavailable"></string> + <!-- Text for CallFailCause.SERVICE_OPTION_NOT_AVAILABLE = 63 --> + <string name="callFailed_service_option_not_available"></string> + <!-- Text for CallFailCause.BEARER_SERVICE_NOT_IMPLEMENTED = 65 --> + <string name="callFailed_bearer_service_not_implemented"></string> + <!-- Text for CallFailCause.REQUESTED_FACILITY_NOT_IMPLEMENTED = 69 --> + <string name="callFailed_requested_facility_not_implemented"></string> + <!-- Text for CallFailCause.ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70 --> + <string name="callFailed_only_digital_information_bearer_available"></string> + <!-- Text for CallFailCause.SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79 --> + <string name="callFailed_service_or_option_not_implemented"></string> + <!-- Text for CallFailCause.INVALID_TRANSACTION_IDENTIFIER = 81 --> + <string name="callFailed_invalid_transaction_identifier"></string> + <!-- Text for CallFailCause.USER_NOT_MEMBER_OF_CUG = 87 --> + <string name="callFailed_user_not_member_of_CUG"></string> + <!-- Text for CallFailCause.INCOMPATIBLE_DESTINATION = 88 --> + <string name="callFailed_incompatible_destination"></string> + <!-- Text for CallFailCause.INVALID_TRANSIT_NW_SELECTION = 91 --> + <string name="callFailed_invalid_transit_NW_selection"></string> + <!-- Text for CallFailCause.SEMANTICALLY_INCORRECT_MESSAGE = 95 --> + <string name="callFailed_semantically_incorrect_message"></string> + <!-- Text for CallFailCause.INVALID_MANDATORY_INFORMATION = 96 --> + <string name="callFailed_invalid_mandatory_information"></string> + <!-- Text for CallFailCause.MESSAGE_TYPE_NON_IMPLEMENTED = 97 --> + <string name="callFailed_message_type_non_implemented"></string> + <!-- Text for CallFailCause.MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98 --> + <string name="callFailed_message_type_not_compatible_with_protocol_state"></string> + <!-- Text for CallFailCause.INFORMATION_ELEMENT_NON_EXISTENT = 99 --> + <string name="callFailed_information_element_non_existent"></string> + <!-- Text for CallFailCause.CONDITIONAL_IE_ERROR = 100 --> + <string name="callFailed_conditional_IE_error"></string> + <!-- Text for CallFailCause.MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101 --> + <string name="callFailed_message_not_compatible_with_protocol_state"></string> + <!-- Text for CallFailCause.RECOVERY_ON_TIMER_EXPIRED = 102 --> + <string name="callFailed_recovery_on_timer_expired"></string> + <!-- Text for CallFailCause.PROTOCOL_ERROR_UNSPECIFIED = 111 --> + <string name="callFailed_protocol_error_unspecified"></string> + <!-- Text for CallFailCause.INTERWORKING_UNSPECIFIED = 127 --> + <string name="callFailed_interworking_unspecified"></string> + <!-- In-call screen: message displayed in an error dialog --> <string name="incall_error_missing_voicemail_number">Voicemail number unknown.</string> + <!-- In-call screen: call failure reason (call ended due to low battery) --> + <string name="callFailed_low_battery">Low Battery</string> <!-- Choice in the ringtone picker. If chosen, there will be silence instead of a ringtone played. --> <string name="ringtone_silent">None</string> <!-- If there is ever a ringtone set for some setting, but that ringtone can no longer be resolved, this is shown instead. For example, if the ringtone was on a SD card and it had been removed, this would be shown for ringtones on that SD card. --> <string name="ringtone_unknown">Unknown ringtone</string> + <string name="to_hint">1111:to;sip:abby@example.com:bcc;sip:bill@example.com:cc;</string> </resources> diff --git a/src/com/android/phone/common/dialpad/DialpadView.java b/src/com/android/phone/common/dialpad/DialpadView.java index 43bbeca..938379d 100644 --- a/src/com/android/phone/common/dialpad/DialpadView.java +++ b/src/com/android/phone/common/dialpad/DialpadView.java @@ -131,11 +131,18 @@ public class DialpadView extends LinearLayout { R.string.dialpad_8_letters, R.string.dialpad_9_letters, R.string.dialpad_star_letters, R.string.dialpad_pound_letters}; + final int[] labelIds = new int[] {R.string.dialpad_0_labels, R.string.dialpad_1_labels, + R.string.dialpad_2_labels, R.string.dialpad_3_labels, R.string.dialpad_4_labels, + R.string.dialpad_5_labels, R.string.dialpad_6_labels, R.string.dialpad_7_labels, + R.string.dialpad_8_labels, R.string.dialpad_9_labels, + R.string.dialpad_star_labels, R.string.dialpad_pound_labels}; + final Resources resources = getContext().getResources(); DialpadKeyButton dialpadKey; TextView numberView; TextView lettersView; + TextView labelsView; final Locale currentLocale = resources.getConfiguration().locale; final NumberFormat nf; @@ -151,6 +158,7 @@ public class DialpadView extends LinearLayout { dialpadKey = (DialpadKeyButton) findViewById(mButtonIds[i]); numberView = (TextView) dialpadKey.findViewById(R.id.dialpad_key_number); lettersView = (TextView) dialpadKey.findViewById(R.id.dialpad_key_letters); + labelsView = (TextView) dialpadKey.findViewById(R.id.dialpad_key_labels); final String numberString; final String numberContentDescription; @@ -184,6 +192,15 @@ public class DialpadView extends LinearLayout { if (lettersView != null) { lettersView.setText(resources.getString(letterIds[i])); } + if (labelsView != null) { + String label = resources.getString(labelIds[i]); + if (!TextUtils.isEmpty(label)) { + labelsView.setVisibility(View.VISIBLE); + labelsView.setText(label); + } else { + labelsView.setVisibility(View.GONE); + } + } } final DialpadKeyButton one = (DialpadKeyButton) findViewById(R.id.one); |
