From ab8573b754a0b5a102a68f5783743ee86ef24614 Mon Sep 17 00:00:00 2001 From: calderwoodra Date: Tue, 17 Apr 2018 12:09:01 -0700 Subject: 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 --- .../android/dialer/speeddial/database/SpeedDialEntry.java | 14 +++++++------- .../speeddial/database/SpeedDialEntryDatabaseHelper.java | 11 ++++++++--- 2 files changed, 15 insertions(+), 10 deletions(-) (limited to 'java/com/android/dialer/speeddial/database') 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()); } -- cgit v1.2.3