Merge "Import translations. DO NOT MERGE" into klp-dev
diff --git a/res/drawable-xxhdpi/ic_fav_undo_dk.png b/res/drawable-xxhdpi/ic_fav_undo_dk.png
index a37d2bd..4b7dfc4 100644
--- a/res/drawable-xxhdpi/ic_fav_undo_dk.png
+++ b/res/drawable-xxhdpi/ic_fav_undo_dk.png
Binary files differ
diff --git a/res/layout/call_log_list_item_extra.xml b/res/layout/call_log_list_item_extra.xml
index 672abf1..d3f86cf 100644
--- a/res/layout/call_log_list_item_extra.xml
+++ b/res/layout/call_log_list_item_extra.xml
@@ -33,8 +33,8 @@
android:layout_height="wrap_content"
android:paddingStart="@dimen/call_log_outer_margin"
android:paddingEnd="@dimen/call_log_outer_margin"
- android:paddingTop="4dip"
- android:paddingBottom="4dip"
+ android:paddingTop="0dip"
+ android:paddingBottom="0dip"
android:background="?android:attr/selectableItemBackground"
android:clickable="true">
<ImageView android:layout_width="wrap_content"
@@ -45,6 +45,14 @@
android:layout_height="wrap_content"
android:id="@+id/badge_text"
android:textColor="@color/dialpad_primary_text_color"
- android:layout_gravity="center_vertical"/>
+ android:layout_gravity="center_vertical"
+ android:layout_weight="1"/>
+ <ImageView android:id="@+id/dismiss_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingTop="8dip"
+ android:src="@drawable/ic_close_dk"
+ android:background="?android:attr/selectableItemBackground"
+ android:visibility="gone"/>
</LinearLayout>
</FrameLayout>
\ No newline at end of file
diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java
index 4bc1787..b2e5206 100644
--- a/src/com/android/dialer/calllog/CallLogAdapter.java
+++ b/src/com/android/dialer/calllog/CallLogAdapter.java
@@ -640,7 +640,13 @@
if (!mIsCallLog) {
final int numMissed = getNumMissedCalls(callType);
final ViewStub stub = (ViewStub) view.findViewById(R.id.link_stub);
+
if (shouldShowBadge(numMissed, info, details)) {
+ // Do not process if the data has not changed (optimization since bind view is
+ // called multiple times due to contact lookup).
+ if (numMissed == mNumMissedCallsShown) {
+ return;
+ }
// stub will be null if it was already inflated.
if (stub != null) {
@@ -718,11 +724,6 @@
*/
protected boolean shouldShowBadge(int numMissedCalls, ContactInfo info,
PhoneCallDetails details) {
- // Do not process if the data has not changed (optimization since bind view is called
- // multiple times due to contact lookup).
- if (numMissedCalls == mNumMissedCallsShown) {
- return false;
- }
return numMissedCalls > 0;
}
diff --git a/src/com/android/dialer/calllog/ContactInfo.java b/src/com/android/dialer/calllog/ContactInfo.java
index 2006744..601f552 100644
--- a/src/com/android/dialer/calllog/ContactInfo.java
+++ b/src/com/android/dialer/calllog/ContactInfo.java
@@ -42,6 +42,8 @@
public static String GEOCODE_AS_LABEL = "";
+ public int sourceType = 0;
+
@Override
public int hashCode() {
// Uses only name and contactUri to determine hashcode.
diff --git a/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java b/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
index cb3d994..14e1bed 100644
--- a/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
+++ b/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
@@ -118,12 +118,12 @@
// Check if we already know the name associated with this number.
String name = names.get(newCall.number);
if (name == null) {
- // Look it up in the database.
- name = mNameLookupQuery.query(newCall.number);
+ name = mPhoneNumberHelper.getDisplayName(newCall.number,
+ newCall.numberPresentation).toString();
// If we cannot lookup the contact, use the number instead.
- if (name == null) {
- name = mPhoneNumberHelper.getDisplayNumber(newCall.number,
- newCall.numberPresentation, "").toString();
+ if (TextUtils.isEmpty(name)) {
+ // Look it up in the database.
+ name = mNameLookupQuery.query(newCall.number);
if (TextUtils.isEmpty(name)) {
name = newCall.number;
}
diff --git a/src/com/android/dialer/calllog/PhoneNumberHelper.java b/src/com/android/dialer/calllog/PhoneNumberHelper.java
index 9e1d816..336facb 100644
--- a/src/com/android/dialer/calllog/PhoneNumberHelper.java
+++ b/src/com/android/dialer/calllog/PhoneNumberHelper.java
@@ -33,14 +33,7 @@
mResources = resources;
}
- /**
- * Returns the string to display for the given phone number.
- *
- * @param number the number to display
- * @param formattedNumber the formatted number if available, may be null
- */
- public CharSequence getDisplayNumber(CharSequence number,
- int presentation, CharSequence formattedNumber) {
+ /* package */ CharSequence getDisplayName(CharSequence number, int presentation) {
if (presentation == Calls.PRESENTATION_UNKNOWN) {
return mResources.getString(R.string.unknown);
}
@@ -50,12 +43,34 @@
if (presentation == Calls.PRESENTATION_PAYPHONE) {
return mResources.getString(R.string.payphone);
}
- if (TextUtils.isEmpty(number)) {
- return "";
- }
if (new PhoneNumberUtilsWrapper().isVoicemailNumber(number)) {
return mResources.getString(R.string.voicemail);
}
+ if (PhoneNumberUtilsWrapper.isLegacyUnknownNumbers(number)) {
+ return mResources.getString(R.string.unknown);
+ }
+ return "";
+ }
+
+ /**
+ * Returns the string to display for the given phone number.
+ *
+ * @param number the number to display
+ * @param formattedNumber the formatted number if available, may be null
+ */
+ public CharSequence getDisplayNumber(CharSequence number,
+ int presentation, CharSequence formattedNumber) {
+
+ final CharSequence displayName = getDisplayName(number, presentation);
+
+ if (!TextUtils.isEmpty(displayName)) {
+ return displayName;
+ }
+
+ if (TextUtils.isEmpty(number)) {
+ return "";
+ }
+
if (TextUtils.isEmpty(formattedNumber)) {
return number;
} else {
diff --git a/src/com/android/dialer/calllog/PhoneNumberUtilsWrapper.java b/src/com/android/dialer/calllog/PhoneNumberUtilsWrapper.java
index c397f0a..9913c20 100644
--- a/src/com/android/dialer/calllog/PhoneNumberUtilsWrapper.java
+++ b/src/com/android/dialer/calllog/PhoneNumberUtilsWrapper.java
@@ -20,15 +20,21 @@
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
+import com.google.android.collect.Sets;
+
+import java.util.Set;
+
/**
*
*/
public class PhoneNumberUtilsWrapper {
+ private static final Set<String> LEGACY_UNKNOWN_NUMBERS = Sets.newHashSet("-1", "-2", "-3");
+
/** Returns true if it is possible to place a call to the given number. */
public static boolean canPlaceCallsTo(CharSequence number, int presentation) {
return presentation == CallLog.Calls.PRESENTATION_ALLOWED
- && !TextUtils.isEmpty(number);
+ && !TextUtils.isEmpty(number) && !isLegacyUnknownNumbers(number);
}
/**
@@ -71,6 +77,13 @@
if (new PhoneNumberUtilsWrapper().isVoicemailNumber(number)) {
return false;
}
+ if (isLegacyUnknownNumbers(number.toString())) {
+ return false;
+ }
return true;
}
+
+ public static boolean isLegacyUnknownNumbers(CharSequence number) {
+ return LEGACY_UNKNOWN_NUMBERS.contains(number.toString());
+ }
}
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java
index e46a8d3..46364b2 100644
--- a/src/com/android/dialer/dialpad/DialpadFragment.java
+++ b/src/com/android/dialer/dialpad/DialpadFragment.java
@@ -807,6 +807,9 @@
}
private void keyPressed(int keyCode) {
+ if (getView().getTranslationY() != 0) {
+ return;
+ }
switch (keyCode) {
case KeyEvent.KEYCODE_1:
playTone(ToneGenerator.TONE_DTMF_1, TONE_LENGTH_INFINITE);
diff --git a/src/com/android/dialer/list/RegularSearchFragment.java b/src/com/android/dialer/list/RegularSearchFragment.java
index 21c8c31..9f4e6be 100644
--- a/src/com/android/dialer/list/RegularSearchFragment.java
+++ b/src/com/android/dialer/list/RegularSearchFragment.java
@@ -15,7 +15,11 @@
*/
package com.android.dialer.list;
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+
import com.android.contacts.common.list.ContactEntryListAdapter;
+import com.android.contacts.common.list.PinnedHeaderListView;
import com.android.dialerbind.ObjectFactory;
import com.android.dialer.service.CachedNumberLookupService;
@@ -36,6 +40,11 @@
}
@Override
+ protected void onCreateView(LayoutInflater inflater, ViewGroup container) {
+ super.onCreateView(inflater, container);
+ ((PinnedHeaderListView) getListView()).setScrollToSectionOnHeaderTouch(true);
+ }
+
protected ContactEntryListAdapter createListAdapter() {
RegularSearchListAdapter adapter = new RegularSearchListAdapter(getActivity());
adapter.setDisplayPhotos(true);