summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calllog/database
diff options
context:
space:
mode:
authortwyen <twyen@google.com>2018-03-19 15:20:59 -0700
committerCopybara-Service <copybara-piper@google.com>2018-03-19 15:23:28 -0700
commitcd3d49843431913c2ff042d2294a8b5201877882 (patch)
tree7bd55b5175802fe3ac8fe4c45bf27cdd583ee580 /java/com/android/dialer/calllog/database
parentf4a48247329967ecc3f952b8604f122d0cbc2e28 (diff)
Implement VoicemailDataSource
This data source determines if the call is to the voicemail inbox. isVoicemail() is removed from NumberAttributes and PhoneLookup. It is yet decided how in call UI should handle voicemail calls in the future. TAG_CHANGE_OK=proto not in prod yet. Please clear app data. TYPE_CHANGE_OK=above Bug: 70989587 Test: Unit tests PiperOrigin-RevId: 189650273 Change-Id: Iafebf1abb18c74301b62a72d1d04deecd6d78d29
Diffstat (limited to 'java/com/android/dialer/calllog/database')
-rw-r--r--java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java2
-rw-r--r--java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java21
-rw-r--r--java/com/android/dialer/calllog/database/contract/number_attributes.proto15
3 files changed, 29 insertions, 9 deletions
diff --git a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
index c8387377b..3b67ff2d7 100644
--- a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
+++ b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
@@ -56,6 +56,8 @@ class AnnotatedCallLogDatabaseHelper extends SQLiteOpenHelper {
+ (AnnotatedCallLog.VOICEMAIL_URI + " text, ")
+ (AnnotatedCallLog.CALL_TYPE + " integer not null, ")
+ (AnnotatedCallLog.NUMBER_ATTRIBUTES + " blob, ")
+ + (AnnotatedCallLog.IS_VOICEMAIL_CALL + " integer, ")
+ + (AnnotatedCallLog.VOICEMAIL_CALL_TAG + " text, ")
+ (AnnotatedCallLog.TRANSCRIPTION_STATE + " integer")
+ ");";
diff --git a/java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java b/java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java
index c181d7573..b1cf6e495 100644
--- a/java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java
+++ b/java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java
@@ -133,6 +133,25 @@ public class AnnotatedCallLogContract {
String NUMBER_ATTRIBUTES = "number_attributes";
/**
+ * Whether the call is to the voicemail inbox.
+ *
+ * <p>TYPE: INTEGER (boolean)
+ *
+ * @see android.telecom.TelecomManager#isVoiceMailNumber(android.telecom.PhoneAccountHandle,
+ * String)
+ */
+ String IS_VOICEMAIL_CALL = "is_voicemail_call";
+
+ /**
+ * The "name" of the voicemail inbox. This is provided by the SIM to show as the caller ID
+ *
+ * <p>TYPE: TEXT
+ *
+ * @see android.telephony.TelephonyManager#getVoiceMailAlphaTag()
+ */
+ String VOICEMAIL_CALL_TAG = "voicemail_call_tag";
+
+ /**
* Copied from {@link android.provider.CallLog.Calls#TYPE}.
*
* <p>Type: INTEGER (int)
@@ -155,6 +174,8 @@ public class AnnotatedCallLogContract {
PHONE_ACCOUNT_COLOR,
FEATURES,
NUMBER_ATTRIBUTES,
+ IS_VOICEMAIL_CALL,
+ VOICEMAIL_CALL_TAG,
CALL_TYPE
};
}
diff --git a/java/com/android/dialer/calllog/database/contract/number_attributes.proto b/java/com/android/dialer/calllog/database/contract/number_attributes.proto
index e24f393f7..2e93291ab 100644
--- a/java/com/android/dialer/calllog/database/contract/number_attributes.proto
+++ b/java/com/android/dialer/calllog/database/contract/number_attributes.proto
@@ -24,7 +24,7 @@ package com.android.dialer;
import "java/com/android/dialer/logging/contact_source.proto";
// Information related to the phone number of the call.
-// Next ID: 13
+// Next ID: 12
message NumberAttributes {
// The name (which may be a person's name or business name, but not a number)
// formatted exactly as it should appear to the user. If the user's locale or
@@ -52,22 +52,19 @@ message NumberAttributes {
// The number is a call to a business from nearby places lookup.
optional bool is_business = 6;
- // The number is a call to the voicemail inbox.
- optional bool is_voicemail = 7;
-
// Can the number be reported as invalid through People API
- optional bool can_report_as_invalid_number = 8;
+ optional bool can_report_as_invalid_number = 7;
// True if the CP2 information is incomplete and needs to be queried at
// display time.
- optional bool is_cp2_info_incomplete = 9;
+ optional bool is_cp2_info_incomplete = 8;
// Whether the number is blocked.
- optional bool is_blocked = 10;
+ optional bool is_blocked = 9;
// Whether the number is spam.
- optional bool is_spam = 11;
+ optional bool is_spam = 10;
// Source of the contact associated with the number.
- optional com.android.dialer.logging.ContactSource.Type contact_source = 12;
+ optional com.android.dialer.logging.ContactSource.Type contact_source = 11;
} \ No newline at end of file