Merge "Dialpad modifications to match the rest of the redlines"
diff --git a/res/drawable-hdpi/ic_voice_search.png b/res/drawable-hdpi/ic_voice_search.png
new file mode 100644
index 0000000..6caf4a4
--- /dev/null
+++ b/res/drawable-hdpi/ic_voice_search.png
Binary files differ
diff --git a/res/drawable-hdpi/shadow_contact_photo.png b/res/drawable-hdpi/shadow_contact_photo.png
new file mode 100644
index 0000000..49cbb97
--- /dev/null
+++ b/res/drawable-hdpi/shadow_contact_photo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_voice_search.png b/res/drawable-mdpi/ic_voice_search.png
new file mode 100644
index 0000000..e290f92
--- /dev/null
+++ b/res/drawable-mdpi/ic_voice_search.png
Binary files differ
diff --git a/res/drawable-mdpi/shadow_contact_photo.png b/res/drawable-mdpi/shadow_contact_photo.png
new file mode 100644
index 0000000..4734bbd
--- /dev/null
+++ b/res/drawable-mdpi/shadow_contact_photo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_voice_search.png b/res/drawable-xhdpi/ic_voice_search.png
new file mode 100644
index 0000000..6147581
--- /dev/null
+++ b/res/drawable-xhdpi/ic_voice_search.png
Binary files differ
diff --git a/res/drawable-xhdpi/shadow_contact_photo.png b/res/drawable-xhdpi/shadow_contact_photo.png
new file mode 100644
index 0000000..1077ec1
--- /dev/null
+++ b/res/drawable-xhdpi/shadow_contact_photo.png
Binary files differ
diff --git a/res/layout/new_dialtacts_activity.xml b/res/layout/new_dialtacts_activity.xml
index 7845d0f..b9d417b 100644
--- a/res/layout/new_dialtacts_activity.xml
+++ b/res/layout/new_dialtacts_activity.xml
@@ -49,8 +49,18 @@
android:layout_width="40dp"
android:padding="6dp"
android:src="@drawable/ic_close_dk"
+ android:clickable="true"
android:background="?android:attr/selectableItemBackground"
android:visibility="gone" />
+ <ImageView
+ android:id="@+id/voice_search_button"
+ android:layout_height="40dp"
+ android:layout_width="40dp"
+ android:padding="6dp"
+ android:src="@drawable/ic_voice_search"
+ android:clickable="true"
+ android:contentDescription="@string/description_start_voice_search"
+ android:background="?android:attr/selectableItemBackground" />
</LinearLayout>
<FrameLayout
android:layout_height="0dp"
diff --git a/res/layout/phone_favorite_tile_view.xml b/res/layout/phone_favorite_tile_view.xml
index bf90205..e82a4e2 100644
--- a/res/layout/phone_favorite_tile_view.xml
+++ b/res/layout/phone_favorite_tile_view.xml
@@ -16,14 +16,14 @@
<view
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@null"
- android:paddingBottom="1dip"
- android:paddingRight="1dip"
- android:paddingEnd="1dip"
+ android:paddingBottom="1dp"
+ android:paddingRight="1dp"
+ android:paddingEnd="1dp"
class="com.android.dialer.list.PhoneFavoriteTileView" >
<RelativeLayout
android:layout_width="match_parent"
- android:layout_height="match_parent" >
+ android:layout_height="match_parent">
<com.android.contacts.common.widget.LayoutSuppressingImageView
android:id="@+id/contact_tile_image"
@@ -31,23 +31,29 @@
android:layout_height="match_parent"
android:scaleType="centerCrop" />
+ <View
+ android:id="@+id/shadow_overlay"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/shadow_contact_photo"/>
+
<TextView
android:id="@+id/contact_tile_name"
android:layout_width="match_parent"
- android:layout_height="@dimen/contact_tile_shadowbox_height"
- android:background="@color/contact_tile_shadow_box_color"
+ android:layout_height="@dimen/contact_tile_info_button_height_and_width"
android:gravity="center_vertical"
- android:textColor="@android:color/white"
+ android:textColor="@color/contact_tile_name_color"
+ android:fontFamily="sans-serif-light"
android:singleLine="true"
android:textSize="16sp"
android:fadingEdge="horizontal"
android:fadingEdgeLength="3dip"
android:ellipsize="marquee"
android:layout_alignParentBottom="true"
- android:paddingLeft="8dip"
- android:paddingRight="47dip"
- android:paddingStart="8dip"
- android:paddingEnd="47dip"
+ android:paddingLeft="8dp"
+ android:paddingRight="@dimen/contact_tile_info_button_height_and_width"
+ android:paddingStart="8dp"
+ android:paddingEnd="@dimen/contact_tile_info_button_height_and_width"
android:textAlignment="viewStart" />
<View
@@ -62,14 +68,14 @@
android:id="@id/contact_tile_secondary_button"
android:src="@drawable/ic_contact_info"
android:background="?android:attr/selectableItemBackground"
- android:layout_height="@dimen/contact_tile_shadowbox_height"
- android:layout_width="48dip"
- android:paddingLeft="12dip"
- android:paddingRight="12dip"
- android:paddingStart="12dip"
- android:paddingEnd="12dip"
- android:paddingTop="12dip"
- android:paddingBottom="12dip"
+ android:layout_height="@dimen/contact_tile_info_button_height_and_width"
+ android:layout_width="@dimen/contact_tile_info_button_height_and_width"
+ android:paddingLeft="8dp"
+ android:paddingRight="8dp"
+ android:paddingStart="8dp"
+ android:paddingEnd="8dp"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
diff --git a/res/menu/dialtacts_options_new.xml b/res/menu/dialtacts_options_new.xml
index 92708fe..b306979 100644
--- a/res/menu/dialtacts_options_new.xml
+++ b/res/menu/dialtacts_options_new.xml
@@ -24,9 +24,6 @@
android:id="@+id/add_contact"
android:title="@string/menu_newContact"/>
<item
- android:id="@+id/menu_show_hide_all_contacts"
- android:title="@string/show_all_contacts" />
- <item
android:id="@+id/menu_call_settings"
android:title="@string/call_settings"
android:orderInCategory="2" />
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 1f337a2..9cf7251 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -68,4 +68,6 @@
<!-- Text color of the search box -->
<color name="searchbox_text_color">#d3d3d3</color>
+ <!-- Color of the contact name in favorite tiles -->
+ <color name="contact_tile_name_color">#f0f0f0</color>
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index a89f8ab..7b4c65e 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -64,7 +64,8 @@
<dimen name="smartdial_confidence_hint_text_size">27dp</dimen>
<!-- Favorites tile and recent call log padding -->
- <dimen name="phone_contact_tile_divider_padding">3dp</dimen>
+ <dimen name="contact_tile_divider_padding">3dp</dimen>
+ <dimen name="contact_tile_info_button_height_and_width">36dp</dimen>
<dimen name="favorites_row_top_padding">8dp</dimen>
<dimen name="favorites_row_bottom_padding">8dp</dimen>
<dimen name="favorites_row_start_padding">8dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7d4a4d9..3845e2d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -452,6 +452,9 @@
-->
<string name="description_call_log_unheard_voicemail">Unheard voicemail</string>
+ <!-- String describing the icon used to start a voice search -->
+ <string name="description_start_voice_search">Start voice search</string>
+
<!-- The string used to represent an unknown location for a phone number in the call log [CHAR LIMIT=3] -->
<string name="call_log_empty_gecode">-</string>
diff --git a/src/com/android/dialer/NewDialtactsActivity.java b/src/com/android/dialer/NewDialtactsActivity.java
index c2d58b2..95d9ea7 100644
--- a/src/com/android/dialer/NewDialtactsActivity.java
+++ b/src/com/android/dialer/NewDialtactsActivity.java
@@ -38,6 +38,7 @@
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Intents.UI;
import android.provider.Settings;
+import android.speech.RecognizerIntent;
import android.telephony.TelephonyManager;
import android.text.Editable;
import android.text.TextUtils;
@@ -74,6 +75,8 @@
import com.android.dialer.list.SmartDialSearchFragment;
import com.android.internal.telephony.ITelephony;
+import java.util.ArrayList;
+
/**
* The dialer tab's title is 'phone', a more common name (see strings.xml).
*
@@ -110,6 +113,8 @@
private static final int SUBACTIVITY_ACCOUNT_FILTER = 1;
+ private static final int ACTIVITY_REQUEST_CODE_VOICE_SEARCH = 1;
+
private String mFilterText;
/**
@@ -146,6 +151,7 @@
private boolean mInSearchUi;
private View mSearchViewContainer;
private View mSearchViewCloseButton;
+ private View mVoiceSearchButton;
private EditText mSearchView;
/**
@@ -348,6 +354,10 @@
mSearchView.setText("");
}
break;
+ case R.id.voice_search_button:
+ final Intent voiceIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
+ startActivityForResult(voiceIntent, ACTIVITY_REQUEST_CODE_VOICE_SEARCH);
+ break;
default: {
Log.wtf(TAG, "Unexpected onClick event from " + view);
break;
@@ -355,6 +365,25 @@
}
}
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (requestCode == ACTIVITY_REQUEST_CODE_VOICE_SEARCH) {
+ if (resultCode == RESULT_OK) {
+ final ArrayList<String> matches = data.getStringArrayListExtra(
+ RecognizerIntent.EXTRA_RESULTS);
+ if (matches.size() > 0) {
+ final String match = matches.get(0);
+ mSearchView.setText(match);
+ } else {
+ Log.e(TAG, "Voice search - nothing heard");
+ }
+ } else {
+ Log.e(TAG, "Voice search failed");
+ }
+ }
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+
private void showDialpadFragment(boolean animate) {
final FragmentTransaction ft = getFragmentManager().beginTransaction();
if (animate) {
@@ -376,8 +405,9 @@
private void prepareSearchView() {
mSearchViewContainer = findViewById(R.id.search_view_container);
mSearchViewCloseButton = findViewById(R.id.search_close_button);
- mSearchViewCloseButton.setClickable(true);
mSearchViewCloseButton.setOnClickListener(this);
+ mVoiceSearchButton = findViewById(R.id.voice_search_button);
+ mVoiceSearchButton.setOnClickListener(this);
mSearchView = (EditText) findViewById(R.id.search_view);
mSearchView.addTextChangedListener(mPhoneSearchQueryTextListener);
mSearchView.setHint(getString(R.string.dialer_hint_find_contact));
@@ -459,13 +489,7 @@
public void setupFakeActionBarItemsForFavoritesFragment() {
mMenuButton = findViewById(R.id.overflow_menu);
if (mMenuButton != null) {
- // mMenuButton.setMinimumWidth(fakeMenuItemWidth);
- if (ViewConfiguration.get(this).hasPermanentMenuKey()) {
- // This is required for dialpad button's layout, so must not use GONE here.
- mMenuButton.setVisibility(View.INVISIBLE);
- } else {
- mMenuButton.setOnClickListener(this);
- }
+ mMenuButton.setOnClickListener(this);
}
mCallHistoryButton = findViewById(R.id.call_history_button);
diff --git a/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java b/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
index 3657906..2f3facf 100644
--- a/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
+++ b/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
@@ -93,7 +93,7 @@
// Converting padding in dips to padding in pixels
mPaddingInPixels = mContext.getResources()
- .getDimensionPixelSize(R.dimen.phone_contact_tile_divider_padding);
+ .getDimensionPixelSize(R.dimen.contact_tile_divider_padding);
bindColumnIndices();
}