summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/database
diff options
context:
space:
mode:
authorEric Erfanian <erfanian@google.com>2017-03-15 14:41:07 -0700
committerEric Erfanian <erfanian@google.com>2017-03-15 16:24:23 -0700
commitd5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9 (patch)
treeb54abbb51fb7d66e7755a1fbb5db023ff601090b /java/com/android/dialer/database
parent30436e7e6d3f2c8755a91b2b6222b74d465a9e87 (diff)
Update Dialer source from latest green build.
* Refactor voicemail component * Add new enriched calling components Test: treehugger, manual aosp testing Change-Id: I521a0f86327d4b42e14d93927c7d613044ed5942
Diffstat (limited to 'java/com/android/dialer/database')
-rw-r--r--java/com/android/dialer/database/CallLogQueryHandler.java22
1 files changed, 20 insertions, 2 deletions
diff --git a/java/com/android/dialer/database/CallLogQueryHandler.java b/java/com/android/dialer/database/CallLogQueryHandler.java
index ffca69f40..1f6bd5fb3 100644
--- a/java/com/android/dialer/database/CallLogQueryHandler.java
+++ b/java/com/android/dialer/database/CallLogQueryHandler.java
@@ -33,6 +33,7 @@ import android.os.Message;
import android.provider.CallLog.Calls;
import android.provider.VoicemailContract.Status;
import android.provider.VoicemailContract.Voicemails;
+import android.support.v4.os.BuildCompat;
import com.android.contacts.common.database.NoNullCursorAsyncQueryHandler;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.AppCompatConstants;
@@ -40,6 +41,7 @@ import com.android.dialer.compat.SdkVersionOverride;
import com.android.dialer.phonenumbercache.CallLogQuery;
import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.util.PermissionsUtil;
+import com.android.voicemail.VoicemailComponent;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
@@ -126,13 +128,23 @@ public class CallLogQueryHandler extends NoNullCursorAsyncQueryHandler {
public void fetchVoicemailUnreadCount() {
if (TelecomUtil.hasReadWriteVoicemailPermissions(mContext)) {
// Only count voicemails that have not been read and have not been deleted.
+ StringBuilder where =
+ new StringBuilder(Voicemails.IS_READ + "=0" + " AND " + Voicemails.DELETED + "=0 ");
+ List<String> selectionArgs = new ArrayList<>();
+
+ if (BuildCompat.isAtLeastO()) {
+ VoicemailComponent.get(mContext)
+ .getVoicemailClient()
+ .appendOmtpVoicemailSelectionClause(mContext, where, selectionArgs);
+ }
+
startQuery(
QUERY_VOICEMAIL_UNREAD_COUNT_TOKEN,
null,
Voicemails.CONTENT_URI,
new String[] {Voicemails._ID},
- Voicemails.IS_READ + "=0" + " AND " + Voicemails.DELETED + "=0",
- null,
+ where.toString(),
+ selectionArgs.toArray(new String[selectionArgs.size()]),
null);
}
}
@@ -168,6 +180,12 @@ public class CallLogQueryHandler extends NoNullCursorAsyncQueryHandler {
selectionArgs.add(Long.toString(newerThan));
}
+ if (callType == Calls.VOICEMAIL_TYPE) {
+ VoicemailComponent.get(mContext)
+ .getVoicemailClient()
+ .appendOmtpVoicemailSelectionClause(mContext, where, selectionArgs);
+ }
+
final int limit = (mLogLimit == -1) ? NUM_LOGS_TO_DISPLAY : mLogLimit;
final String selection = where.length() > 0 ? where.toString() : null;
Uri uri =