summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Lee <anwlee@google.com>2015-06-05 13:01:09 -0700
committerAndrew Lee <anwlee@google.com>2015-06-05 13:16:15 -0700
commite177fe610d3f9725d6b7c66bfe25823efcd15fe6 (patch)
tree7ef8c8e76ce5e71dab5a35e9dfc80210eeadca46
parentfeddb49ced2eb10328f9f3db52c950668472ffef (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.pngbin1023 -> 0 bytes
-rw-r--r--res/drawable-mdpi/ic_card_phone.pngbin785 -> 0 bytes
-rw-r--r--res/drawable-xhdpi/ic_card_phone.pngbin1294 -> 0 bytes
-rw-r--r--res/drawable-xxhdpi/ic_card_phone.pngbin1899 -> 0 bytes
-rw-r--r--res/drawable-xxxhdpi/ic_card_phone.pngbin2134 -> 0 bytes
-rw-r--r--res/layout/call_detail.xml155
-rw-r--r--res/layout/call_log_list_item.xml8
-rw-r--r--res/values/colors.xml4
-rw-r--r--res/values/dimens.xml2
-rw-r--r--src/com/android/dialer/CallDetailActivity.java35
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
deleted file mode 100644
index 5b29a327c..000000000
--- a/res/drawable-hdpi/ic_card_phone.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_card_phone.png b/res/drawable-mdpi/ic_card_phone.png
deleted file mode 100644
index fb9ab441d..000000000
--- a/res/drawable-mdpi/ic_card_phone.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_card_phone.png b/res/drawable-xhdpi/ic_card_phone.png
deleted file mode 100644
index 77df721e2..000000000
--- a/res/drawable-xhdpi/ic_card_phone.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_card_phone.png b/res/drawable-xxhdpi/ic_card_phone.png
deleted file mode 100644
index d7e52edf4..000000000
--- a/res/drawable-xxhdpi/ic_card_phone.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_card_phone.png b/res/drawable-xxxhdpi/ic_card_phone.png
deleted file mode 100644
index a93865990..000000000
--- a/res/drawable-xxxhdpi/ic_card_phone.png
+++ /dev/null
Binary files differ
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);