diff options
author | Andrew Lee <anwlee@google.com> | 2015-06-05 13:01:09 -0700 |
---|---|---|
committer | Andrew Lee <anwlee@google.com> | 2015-06-05 13:16:15 -0700 |
commit | e177fe610d3f9725d6b7c66bfe25823efcd15fe6 (patch) | |
tree | 7ef8c8e76ce5e71dab5a35e9dfc80210eeadca46 | |
parent | feddb49ced2eb10328f9f3db52c950668472ffef (diff) |
Add call button to details, increase hit area.
+ Add call back button in call details.
+ Increase touch target size of call back button.
+ Simplify tint styling and layouts.
- Delete asset which was duplicate of one in ContactsCommon.
Bug: 18331084
Bug: 21659613
Change-Id: Icbd5f66a294f1215dc2056e7f7aece2129af5630
-rw-r--r-- | res/drawable-hdpi/ic_card_phone.png | bin | 1023 -> 0 bytes | |||
-rw-r--r-- | res/drawable-mdpi/ic_card_phone.png | bin | 785 -> 0 bytes | |||
-rw-r--r-- | res/drawable-xhdpi/ic_card_phone.png | bin | 1294 -> 0 bytes | |||
-rw-r--r-- | res/drawable-xxhdpi/ic_card_phone.png | bin | 1899 -> 0 bytes | |||
-rw-r--r-- | res/drawable-xxxhdpi/ic_card_phone.png | bin | 2134 -> 0 bytes | |||
-rw-r--r-- | res/layout/call_detail.xml | 155 | ||||
-rw-r--r-- | res/layout/call_log_list_item.xml | 8 | ||||
-rw-r--r-- | res/values/colors.xml | 4 | ||||
-rw-r--r-- | res/values/dimens.xml | 2 | ||||
-rw-r--r-- | src/com/android/dialer/CallDetailActivity.java | 35 |
10 files changed, 113 insertions, 91 deletions
diff --git a/res/drawable-hdpi/ic_card_phone.png b/res/drawable-hdpi/ic_card_phone.png Binary files differdeleted file mode 100644 index 5b29a327c..000000000 --- a/res/drawable-hdpi/ic_card_phone.png +++ /dev/null diff --git a/res/drawable-mdpi/ic_card_phone.png b/res/drawable-mdpi/ic_card_phone.png Binary files differdeleted file mode 100644 index fb9ab441d..000000000 --- a/res/drawable-mdpi/ic_card_phone.png +++ /dev/null diff --git a/res/drawable-xhdpi/ic_card_phone.png b/res/drawable-xhdpi/ic_card_phone.png Binary files differdeleted file mode 100644 index 77df721e2..000000000 --- a/res/drawable-xhdpi/ic_card_phone.png +++ /dev/null diff --git a/res/drawable-xxhdpi/ic_card_phone.png b/res/drawable-xxhdpi/ic_card_phone.png Binary files differdeleted file mode 100644 index d7e52edf4..000000000 --- a/res/drawable-xxhdpi/ic_card_phone.png +++ /dev/null diff --git a/res/drawable-xxxhdpi/ic_card_phone.png b/res/drawable-xxxhdpi/ic_card_phone.png Binary files differdeleted file mode 100644 index a93865990..000000000 --- a/res/drawable-xxxhdpi/ic_card_phone.png +++ /dev/null diff --git a/res/layout/call_detail.xml b/res/layout/call_detail.xml index c07785159..abc0fbb70 100644 --- a/res/layout/call_detail.xml +++ b/res/layout/call_detail.xml @@ -13,91 +13,98 @@ See the License for the specific language governing permissions and limitations under the License. --> -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/call_detail" android:layout_width="match_parent" - android:layout_height="match_parent" > + android:layout_height="match_parent" + android:orientation="vertical" + android:layout_alignParentStart="true" + android:layout_alignParentTop="true" + android:background="@color/background_dialer_call_log" > + <!-- Caller information "card" --> <LinearLayout - android:id="@+id/call_detail" + android:id="@+id/caller_information" android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical" - android:layout_alignParentStart="true" - android:layout_alignParentTop="true" - android:background="@color/background_dialer_call_log" > - <!-- Caller information "card" --> + android:layout_height="wrap_content" + android:paddingStart="@dimen/call_detail_horizontal_margin" + android:paddingTop="@dimen/call_detail_top_margin" + android:paddingBottom="@dimen/call_detail_bottom_margin" + android:baselineAligned="false" + android:orientation="horizontal" + android:translationZ="@dimen/call_detail_translation_z" + android:focusable="true" + android:background="@color/background_dialer_white" > + + <QuickContactBadge + android:id="@+id/quick_contact_photo" + android:layout_width="@dimen/contact_photo_size" + android:layout_height="@dimen/contact_photo_size" + android:layout_alignParentStart="true" + android:layout_gravity="top" + android:layout_marginTop="3dp" + android:focusable="true" /> + <LinearLayout - android:id="@+id/caller_information" - android:layout_width="match_parent" + android:layout_width="0dp" android:layout_height="wrap_content" - android:paddingStart="@dimen/call_detail_horizontal_margin" - android:paddingTop="@dimen/call_detail_top_margin" - android:paddingBottom="@dimen/call_detail_bottom_margin" - android:baselineAligned="false" - android:orientation="horizontal" - android:translationZ="@dimen/call_detail_translation_z" - android:focusable="true" - android:background="@color/background_dialer_white" > + android:layout_weight="1" + android:orientation="vertical" + android:gravity="center_vertical" + android:layout_marginStart="@dimen/call_detail_horizontal_margin"> - <QuickContactBadge - android:id="@+id/quick_contact_photo" - android:layout_width="@dimen/contact_photo_size" - android:layout_height="@dimen/contact_photo_size" - android:layout_alignParentStart="true" - android:layout_gravity="top" - android:layout_marginTop="3dp" - android:focusable="true" - /> + <TextView + android:id="@+id/caller_name" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textColor="?attr/call_log_primary_text_color" + android:textSize="@dimen/call_log_primary_text_size" + android:includeFontPadding="false" + android:layout_marginBottom="5dp" + android:singleLine="true" /> - <LinearLayout + <TextView + android:id="@+id/caller_number" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:orientation="vertical" - android:gravity="center_vertical" - android:layout_marginStart="@dimen/call_detail_horizontal_margin" - > - <TextView - android:id="@+id/caller_name" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textColor="?attr/call_log_primary_text_color" - android:textSize="@dimen/call_log_primary_text_size" - android:includeFontPadding="false" - android:layout_marginBottom="5dp" - android:singleLine="true" - /> - <TextView - android:id="@+id/caller_number" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textColor="?attr/call_log_secondary_text_color" - android:textSize="@dimen/call_log_secondary_text_size" - android:layout_marginBottom="1dp" - android:singleLine="true" - /> - <TextView - android:id="@+id/phone_account_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textColor="?attr/call_log_secondary_text_color" - android:textSize="@dimen/call_log_secondary_text_size" - android:singleLine="true" - android:visibility="gone" - /> - </LinearLayout> - </LinearLayout> + android:textColor="?attr/call_log_secondary_text_color" + android:textSize="@dimen/call_log_secondary_text_size" + android:layout_marginBottom="1dp" + android:singleLine="true" /> + + <TextView + android:id="@+id/phone_account_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textColor="?attr/call_log_secondary_text_color" + android:textSize="@dimen/call_log_secondary_text_size" + android:singleLine="true" + android:visibility="gone" /> - <!-- - The list view is under everything. - It contains a first header element which is hidden under the controls UI. - When scrolling, the controls move up until the name bar hits the top. - --> - <ListView - android:id="@+id/history" - android:layout_width="match_parent" - android:layout_height="fill_parent" - /> + </LinearLayout> + <ImageView + android:id="@+id/call_back_button" + android:layout_width="@dimen/call_button_dimen" + android:layout_height="@dimen/call_button_dimen" + android:layout_marginEnd="16dp" + android:background="?android:attr/selectableItemBackgroundBorderless" + android:src="@drawable/ic_call_24dp" + android:scaleType="center" + android:tint="@color/recent_call_log_item_phone_icon_tint" + android:contentDescription="@string/description_call_log_call_action" + android:visibility="gone" /> </LinearLayout> -</RelativeLayout> + + <!-- + The list view is under everything. + It contains a first header element which is hidden under the controls UI. + When scrolling, the controls move up until the name bar hits the top. + --> + <ListView + android:id="@+id/history" + android:layout_width="match_parent" + android:layout_height="fill_parent" /> + +</LinearLayout> diff --git a/res/layout/call_log_list_item.xml b/res/layout/call_log_list_item.xml index af8cb8b03..7fce595a8 100644 --- a/res/layout/call_log_list_item.xml +++ b/res/layout/call_log_list_item.xml @@ -138,14 +138,14 @@ <ImageView android:id="@+id/call_icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:layout_width="@dimen/call_button_dimen" + android:layout_height="@dimen/call_button_dimen" android:layout_gravity="center_vertical" android:layout_marginEnd="@dimen/call_log_icon_margin" android:background="?android:attr/selectableItemBackgroundBorderless" - android:src="@drawable/ic_card_phone" + android:src="@drawable/ic_call_24dp" + android:scaleType="center" android:tint="@color/recent_call_log_item_phone_icon_tint" - android:alpha="0.3" android:contentDescription="@string/description_call_log_call_action" android:visibility="gone" /> diff --git a/res/values/colors.xml b/res/values/colors.xml index 86ac9be5a..38a3325e3 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -36,8 +36,8 @@ <!-- Color of the text describing an unconsumed voicemail. --> <color name="call_log_voicemail_highlight_color">#33b5e5</color> - <!-- Tint of the recent card phone icon --> - <color name="recent_call_log_item_phone_icon_tint">#000000</color> + <!-- Tint of the recent card phone icon; 30% black --> + <color name="recent_call_log_item_phone_icon_tint">#4d000000</color> <!-- Colour of voicemail progress bar to the right of position indicator. diff --git a/res/values/dimens.xml b/res/values/dimens.xml index b36b9d67a..9d987e851 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -132,4 +132,6 @@ <dimen name="preference_padding_bottom">16dp</dimen> <dimen name="preference_side_margin">16dp</dimen> <dimen name="preference_summary_line_spacing_extra">4dp</dimen> + + <dimen name="call_button_dimen">36dp</dimen> </resources> diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java index 6da7c798c..87ec774a8 100644 --- a/src/com/android/dialer/CallDetailActivity.java +++ b/src/com/android/dialer/CallDetailActivity.java @@ -97,11 +97,9 @@ public class CallDetailActivity extends Activity { @Override public void onGetCallDetails(PhoneCallDetails[] details) { - Context context = CallDetailActivity.this; - if (details == null) { // Somewhere went wrong: we're going to bail out and show error to users. - Toast.makeText(context, R.string.toast_call_detail_error, + Toast.makeText(mContext, R.string.toast_call_detail_error, Toast.LENGTH_SHORT).show(); finish(); return; @@ -119,9 +117,9 @@ public class CallDetailActivity extends Activity { // Cache the details about the phone number. final boolean canPlaceCallsTo = - PhoneNumberUtilsWrapper.canPlaceCallsTo(mNumber, numberPresentation); - final PhoneNumberUtilsWrapper phoneUtils = new PhoneNumberUtilsWrapper(context); - final boolean isVoicemailNumber = + PhoneNumberUtilsWrapper.canPlaceCallsTo(mNumber, numberPresentation); + final PhoneNumberUtilsWrapper phoneUtils = new PhoneNumberUtilsWrapper(mContext); + mIsVoicemailNumber = phoneUtils.isVoicemailNumber(accountHandle, mNumber); final boolean isSipNumber = PhoneNumberUtilsWrapper.isSipNumber(mNumber); @@ -144,7 +142,9 @@ public class CallDetailActivity extends Activity { } } - String accountLabel = PhoneAccountUtils.getAccountLabel(context, accountHandle); + mCallButton.setVisibility(canPlaceCallsTo ? View.VISIBLE : View.GONE); + + String accountLabel = PhoneAccountUtils.getAccountLabel(mContext, accountHandle); if (!TextUtils.isEmpty(accountLabel)) { mAccountLabel.setText(accountLabel); mAccountLabel.setVisibility(View.VISIBLE); @@ -153,14 +153,14 @@ public class CallDetailActivity extends Activity { } mHasEditNumberBeforeCallOption = - canPlaceCallsTo && !isSipNumber && !isVoicemailNumber; + canPlaceCallsTo && !isSipNumber && !mIsVoicemailNumber; mHasTrashOption = hasVoicemail(); mHasRemoveFromCallLogOption = !hasVoicemail(); invalidateOptionsMenu(); ListView historyList = (ListView) findViewById(R.id.history); historyList.setAdapter( - new CallDetailHistoryAdapter(context, mInflater, mCallTypeHelper, details)); + new CallDetailHistoryAdapter(mContext, mInflater, mCallTypeHelper, details)); String lookupKey = contactUri == null ? null : ContactInfoHelper.getLookupKeyFromUri(contactUri); @@ -168,7 +168,7 @@ public class CallDetailActivity extends Activity { final boolean isBusiness = mContactInfoHelper.isBusiness(firstDetails.sourceType); final int contactType = - isVoicemailNumber ? ContactPhotoManager.TYPE_VOICEMAIL : + mIsVoicemailNumber ? ContactPhotoManager.TYPE_VOICEMAIL : isBusiness ? ContactPhotoManager.TYPE_BUSINESS : ContactPhotoManager.TYPE_DEFAULT; @@ -201,14 +201,17 @@ public class CallDetailActivity extends Activity { } }; + private Context mContext; private CallTypeHelper mCallTypeHelper; private QuickContactBadge mQuickContactBadge; private TextView mCallerName; private TextView mCallerNumber; private TextView mAccountLabel; + private View mCallButton; private ContactInfoHelper mContactInfoHelper; - private String mNumber = null; + private String mNumber; + private boolean mIsVoicemailNumber; private String mDefaultCountryIso; /* package */ LayoutInflater mInflater; @@ -230,6 +233,8 @@ public class CallDetailActivity extends Activity { protected void onCreate(Bundle icicle) { super.onCreate(icicle); + mContext = this; + setContentView(R.layout.call_detail); mInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); @@ -248,6 +253,14 @@ public class CallDetailActivity extends Activity { mDefaultCountryIso = GeoUtil.getCurrentCountryIso(this); mContactPhotoManager = ContactPhotoManager.getInstance(this); + mCallButton = (View) findViewById(R.id.call_back_button); + mCallButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mContext.startActivity(IntentUtil.getCallIntent(mNumber)); + } + }); + mContactInfoHelper = new ContactInfoHelper(this, GeoUtil.getCurrentCountryIso(this)); getActionBar().setDisplayHomeAsUpEnabled(true); |