Merge "Fix seekbar seek control missing on RTL mode" into nyc-dev
diff --git a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
index 1c27440..6c25275 100644
--- a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
+++ b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
@@ -27,11 +27,9 @@
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.telecom.PhoneAccountHandle;
-import android.telephony.PhoneNumberUtils;
import android.text.BidiFormatter;
import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
-import android.util.Log;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
@@ -66,8 +64,6 @@
import com.google.common.collect.Lists;
import java.util.List;
-import java.util.Map;
-import java.util.Set;
/**
* This is an object containing references to views contained by the call log list item. This
@@ -625,13 +621,6 @@
public void updatePhoto() {
quickContactView.assignContactUri(info.lookupUri);
- if (isBlocked && !TextUtils.isEmpty(number) /* maybe a private number ? */) {
- quickContactView.setImageDrawable(mContext.getDrawable(R.drawable.blocked_contact));
- phoneCallDetailsViews.callLocationAndDate.setText(
- mContext.getString(R.string.blocked_number_call_log_label));
- return;
- }
-
final boolean isVoicemail = mCallLogCache.isVoicemailNumber(accountHandle, number);
int contactType = ContactPhotoManager.TYPE_DEFAULT;
if (isVoicemail) {
@@ -653,6 +642,14 @@
ContactPhotoManager.getInstance(mContext).loadThumbnail(quickContactView, info.photoId,
false /* darkTheme */, true /* isCircular */, request);
}
+
+ if (mExtendedBlockingButtonRenderer != null) {
+ mExtendedBlockingButtonRenderer.updatePhotoAndLabelIfNecessary(
+ number,
+ countryIso,
+ quickContactView,
+ phoneCallDetailsViews.callLocationAndDate);
+ }
}
@Override
diff --git a/src/com/android/dialer/calllog/CallLogQueryHandler.java b/src/com/android/dialer/calllog/CallLogQueryHandler.java
index 9ff74cf..3b493cf 100644
--- a/src/com/android/dialer/calllog/CallLogQueryHandler.java
+++ b/src/com/android/dialer/calllog/CallLogQueryHandler.java
@@ -291,7 +291,7 @@
*/
private String getUnreadMissedCallsQuery() {
StringBuilder where = new StringBuilder();
- where.append(Calls.IS_READ).append(" = 0");
+ where.append(Calls.IS_READ).append(" = 0 OR ").append(Calls.IS_READ).append(" IS NULL");
where.append(" AND ");
where.append(Calls.TYPE).append(" = ").append(Calls.MISSED_TYPE);
return where.toString();
diff --git a/src/com/android/dialer/service/ExtendedBlockingButtonRenderer.java b/src/com/android/dialer/service/ExtendedBlockingButtonRenderer.java
index 5ff3732..f8d5ea0 100644
--- a/src/com/android/dialer/service/ExtendedBlockingButtonRenderer.java
+++ b/src/com/android/dialer/service/ExtendedBlockingButtonRenderer.java
@@ -19,6 +19,8 @@
import android.support.annotation.Nullable;
import android.view.View;
import android.view.ViewStub;
+import android.widget.QuickContactBadge;
+import android.widget.TextView;
import java.util.List;
@@ -70,4 +72,15 @@
void render(ViewStub viewStub);
void setViewHolderInfo(ViewHolderInfo info);
+
+ /**
+ * Updates the photo and label for the given phone number and country iso.
+ *
+ * @param number Phone number for which the rendering occurs.
+ * @param countryIso Two-letter country code.
+ * @param badge {@link QuickContactBadge} in which the photo should be rendered.
+ * @param view Textview that will hold the new label.
+ */
+ void updatePhotoAndLabelIfNecessary(
+ String number, String countryIso, QuickContactBadge badge, TextView view);
}
diff --git a/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java b/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
index 7d72028..19b592d 100644
--- a/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
+++ b/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
@@ -151,6 +151,11 @@
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
setClipPosition(progress, seekBar.getMax());
+ // Update the seek position if user manually changed it. This makes sure position gets
+ // updated when user use volume button to seek playback in talkback mode.
+ if (fromUser) {
+ mPresenter.seek(progress);
+ }
}
};
diff --git a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
index e58cb34..fcb35e5 100644
--- a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
+++ b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
@@ -747,6 +747,15 @@
}
}
+ /**
+ * Seek to position. This is called when user manually seek the playback. It could be either
+ * by touch or volume button while in talkback mode.
+ * @param position
+ */
+ public void seek(int position) {
+ mPosition = position;
+ }
+
private void enableProximitySensor() {
if (mProximityWakeLock == null || mIsSpeakerphoneOn || !mIsPrepared
|| mMediaPlayer == null || !mMediaPlayer.isPlaying()) {