summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/speeddial/database
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2018-04-17 12:09:01 -0700
committerCopybara-Service <copybara-piper@google.com>2018-04-17 12:42:39 -0700
commitab8573b754a0b5a102a68f5783743ee86ef24614 (patch)
tree16eb20d561a363d85bd4b196d3a4a7c9184a9917 /java/com/android/dialer/speeddial/database
parent6665ab84a66757f22a1fa199af6b878510544312 (diff)
Migrate SpeedDialUiLoader to use contact lookup URIs.
The changes in this CL improve the loader in the follow ways: - Speed: by reducing the number of queries - Long term accuracy: by using lookup URIs This change also adds ViLTE presence and contact labels to the results returned by the Loader. Bug: 36841782,77724710,77725860 Test: SpeedDialUiLoaderTest PiperOrigin-RevId: 193235046 Change-Id: If5e6aa821c8bad88dc77af81827abbd8e0f1b28e
Diffstat (limited to 'java/com/android/dialer/speeddial/database')
-rw-r--r--java/com/android/dialer/speeddial/database/SpeedDialEntry.java14
-rw-r--r--java/com/android/dialer/speeddial/database/SpeedDialEntryDatabaseHelper.java11
2 files changed, 15 insertions, 10 deletions
diff --git a/java/com/android/dialer/speeddial/database/SpeedDialEntry.java b/java/com/android/dialer/speeddial/database/SpeedDialEntry.java
index 13ef4e306..89aed8f37 100644
--- a/java/com/android/dialer/speeddial/database/SpeedDialEntry.java
+++ b/java/com/android/dialer/speeddial/database/SpeedDialEntry.java
@@ -92,16 +92,14 @@ public abstract class SpeedDialEntry {
/**
* Raw phone number as the user entered it.
*
- * @see {@link Phone#NUMBER}
+ * @see Phone#NUMBER
*/
public abstract String number();
- /**
- * Label that the user associated with this number like {@link Phone#TYPE_WORK}, {@link
- * Phone#TYPE_HOME}, ect.
- *
- * @see {@link Phone#LABEL}
- */
+ /** @see Phone#TYPE */
+ public abstract int phoneType();
+
+ /** @see Phone#LABEL */
public abstract String label();
public abstract @Technology int technology();
@@ -118,6 +116,8 @@ public abstract class SpeedDialEntry {
public abstract Builder setNumber(String number);
+ public abstract Builder setPhoneType(int phoneType);
+
public abstract Builder setLabel(String label);
public abstract Builder setTechnology(@Technology int technology);
diff --git a/java/com/android/dialer/speeddial/database/SpeedDialEntryDatabaseHelper.java b/java/com/android/dialer/speeddial/database/SpeedDialEntryDatabaseHelper.java
index 7c823bd63..137933fbe 100644
--- a/java/com/android/dialer/speeddial/database/SpeedDialEntryDatabaseHelper.java
+++ b/java/com/android/dialer/speeddial/database/SpeedDialEntryDatabaseHelper.java
@@ -37,7 +37,7 @@ import java.util.List;
public final class SpeedDialEntryDatabaseHelper extends SQLiteOpenHelper
implements SpeedDialEntryDao {
- private static final int DATABASE_VERSION = 1;
+ private static final int DATABASE_VERSION = 2;
private static final String DATABASE_NAME = "CPSpeedDialEntry";
// Column names
@@ -46,6 +46,7 @@ public final class SpeedDialEntryDatabaseHelper extends SQLiteOpenHelper
private static final String CONTACT_ID = "contact_id";
private static final String LOOKUP_KEY = "lookup_key";
private static final String PHONE_NUMBER = "phone_number";
+ private static final String PHONE_TYPE = "phone_type";
private static final String PHONE_LABEL = "phone_label";
private static final String PHONE_TECHNOLOGY = "phone_technology";
@@ -54,8 +55,9 @@ public final class SpeedDialEntryDatabaseHelper extends SQLiteOpenHelper
private static final int POSITION_CONTACT_ID = 1;
private static final int POSITION_LOOKUP_KEY = 2;
private static final int POSITION_PHONE_NUMBER = 3;
- private static final int POSITION_PHONE_LABEL = 4;
- private static final int POSITION_PHONE_TECHNOLOGY = 5;
+ private static final int POSITION_PHONE_TYPE = 4;
+ private static final int POSITION_PHONE_LABEL = 5;
+ private static final int POSITION_PHONE_TECHNOLOGY = 6;
// Create Table Query
private static final String CREATE_TABLE_SQL =
@@ -66,6 +68,7 @@ public final class SpeedDialEntryDatabaseHelper extends SQLiteOpenHelper
+ (CONTACT_ID + " integer, ")
+ (LOOKUP_KEY + " text, ")
+ (PHONE_NUMBER + " text, ")
+ + (PHONE_TYPE + " integer, ")
+ (PHONE_LABEL + " text, ")
+ (PHONE_TECHNOLOGY + " integer ")
+ ");";
@@ -109,6 +112,7 @@ public final class SpeedDialEntryDatabaseHelper extends SQLiteOpenHelper
channel =
Channel.builder()
.setNumber(number)
+ .setPhoneType(cursor.getInt(POSITION_PHONE_TYPE))
.setLabel(cursor.getString(POSITION_PHONE_LABEL))
.setTechnology(cursor.getInt(POSITION_PHONE_TECHNOLOGY))
.build();
@@ -216,6 +220,7 @@ public final class SpeedDialEntryDatabaseHelper extends SQLiteOpenHelper
values.put(LOOKUP_KEY, entry.lookupKey());
if (entry.defaultChannel() != null) {
values.put(PHONE_NUMBER, entry.defaultChannel().number());
+ values.put(PHONE_TYPE, entry.defaultChannel().phoneType());
values.put(PHONE_LABEL, entry.defaultChannel().label());
values.put(PHONE_TECHNOLOGY, entry.defaultChannel().technology());
}