Rename Cp2PhoneLookup as Cp2LocalPhoneLookup and PhoneLookupInfo.cp2_info as PhoneLookupInfo.cp2_local_info.

To support remote CP2 contacts, there will be a new PhoneLookup ("Cp2RemotePhoneLookup") and a new field in proto PhoneLookupInfo ("cp2_remote_info").

In proto PhoneLookupInfo, cp2_local_info and cp2_remote_info will be of the same type ("Cp2Info").

Bug: 71763594
Test: Existing tests
PiperOrigin-RevId: 181405798
Change-Id: I6c43b486229d4e9ae7b55c579d9c9997a2884c80
diff --git a/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java b/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java
index 935ea74..cdde638 100644
--- a/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java
+++ b/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java
@@ -584,7 +584,7 @@
         AnnotatedCallLog.CAN_REPORT_AS_INVALID_NUMBER,
         PhoneLookupSelector.canReportAsInvalidNumber(phoneLookupInfo));
     contentValues.put(
-        AnnotatedCallLog.CP2_INFO_INCOMPLETE, phoneLookupInfo.getCp2Info().getIsIncomplete());
+        AnnotatedCallLog.CP2_INFO_INCOMPLETE, phoneLookupInfo.getCp2LocalInfo().getIsIncomplete());
   }
 
   private static Uri numberUri(String number) {
diff --git a/java/com/android/dialer/calllog/ui/RealtimeRowProcessor.java b/java/com/android/dialer/calllog/ui/RealtimeRowProcessor.java
index 814efc7..74b7def 100644
--- a/java/com/android/dialer/calllog/ui/RealtimeRowProcessor.java
+++ b/java/com/android/dialer/calllog/ui/RealtimeRowProcessor.java
@@ -23,7 +23,7 @@
 import com.android.dialer.common.concurrent.Annotations.Ui;
 import com.android.dialer.phonelookup.PhoneLookupInfo;
 import com.android.dialer.phonelookup.PhoneLookupInfo.Cp2Info;
-import com.android.dialer.phonelookup.cp2.Cp2PhoneLookup;
+import com.android.dialer.phonelookup.cp2.Cp2LocalPhoneLookup;
 import com.android.dialer.phonelookup.selector.PhoneLookupSelector;
 import com.google.common.base.Optional;
 import com.google.common.util.concurrent.Futures;
@@ -46,7 +46,7 @@
 public final class RealtimeRowProcessor {
 
   private final ListeningExecutorService uiExecutor;
-  private final Cp2PhoneLookup cp2PhoneLookup;
+  private final Cp2LocalPhoneLookup cp2LocalPhoneLookup;
   private final PhoneLookupSelector phoneLookupSelector;
 
   private final Map<DialerPhoneNumber, Cp2Info> cache = new ArrayMap<>();
@@ -54,10 +54,10 @@
   @Inject
   RealtimeRowProcessor(
       @Ui ListeningExecutorService uiExecutor,
-      Cp2PhoneLookup cp2PhoneLookup,
+      Cp2LocalPhoneLookup cp2LocalPhoneLookup,
       PhoneLookupSelector phoneLookupSelector) {
     this.uiExecutor = uiExecutor;
-    this.cp2PhoneLookup = cp2PhoneLookup;
+    this.cp2LocalPhoneLookup = cp2LocalPhoneLookup;
     this.phoneLookupSelector = phoneLookupSelector;
   }
 
@@ -67,7 +67,7 @@
    */
   @MainThread
   ListenableFuture<Optional<CoalescedRow>> applyRealtimeProcessing(final CoalescedRow row) {
-    // Cp2PhoneLookup can not always efficiently process all rows.
+    // Cp2LocalPhoneLookup can not always efficiently process all rows.
     if (!row.cp2InfoIncomplete()) {
       return Futures.immediateFuture(Optional.absent());
     }
@@ -77,24 +77,24 @@
       if (cachedCp2Info.equals(Cp2Info.getDefaultInstance())) {
         return Futures.immediateFuture(Optional.absent());
       }
-      return Futures.immediateFuture(Optional.of(applyCp2InfoToRow(cachedCp2Info, row)));
+      return Futures.immediateFuture(Optional.of(applyCp2LocalInfoToRow(cachedCp2Info, row)));
     }
 
-    ListenableFuture<Cp2Info> cp2InfoFuture = cp2PhoneLookup.lookupByNumber(row.number());
+    ListenableFuture<Cp2Info> cp2InfoFuture = cp2LocalPhoneLookup.lookupByNumber(row.number());
     return Futures.transform(
         cp2InfoFuture,
         cp2Info -> {
           cache.put(row.number(), cp2Info);
           if (!cp2Info.equals(Cp2Info.getDefaultInstance())) {
-            return Optional.of(applyCp2InfoToRow(cp2Info, row));
+            return Optional.of(applyCp2LocalInfoToRow(cp2Info, row));
           }
           return Optional.absent();
         },
         uiExecutor /* ensures the cache is updated on a single thread */);
   }
 
-  private CoalescedRow applyCp2InfoToRow(Cp2Info cp2Info, CoalescedRow row) {
-    PhoneLookupInfo phoneLookupInfo = PhoneLookupInfo.newBuilder().setCp2Info(cp2Info).build();
+  private CoalescedRow applyCp2LocalInfoToRow(Cp2Info cp2Info, CoalescedRow row) {
+    PhoneLookupInfo phoneLookupInfo = PhoneLookupInfo.newBuilder().setCp2LocalInfo(cp2Info).build();
     // It is safe to overwrite any existing data because CP2 always has highest priority.
     return row.toBuilder()
         .setName(phoneLookupSelector.selectName(phoneLookupInfo))
diff --git a/java/com/android/dialer/phonelookup/PhoneLookupModule.java b/java/com/android/dialer/phonelookup/PhoneLookupModule.java
index b4f3787..5e215ba 100644
--- a/java/com/android/dialer/phonelookup/PhoneLookupModule.java
+++ b/java/com/android/dialer/phonelookup/PhoneLookupModule.java
@@ -18,7 +18,7 @@
 
 import com.android.dialer.phonelookup.blockednumber.DialerBlockedNumberPhoneLookup;
 import com.android.dialer.phonelookup.composite.CompositePhoneLookup;
-import com.android.dialer.phonelookup.cp2.Cp2PhoneLookup;
+import com.android.dialer.phonelookup.cp2.Cp2LocalPhoneLookup;
 import com.google.common.collect.ImmutableList;
 import dagger.Module;
 import dagger.Provides;
@@ -30,9 +30,9 @@
   @Provides
   @SuppressWarnings({"unchecked", "rawtype"})
   static ImmutableList<PhoneLookup> providePhoneLookupList(
-      Cp2PhoneLookup cp2PhoneLookup,
+      Cp2LocalPhoneLookup cp2LocalPhoneLookup,
       DialerBlockedNumberPhoneLookup dialerBlockedNumberPhoneLookup) {
-    return ImmutableList.of(cp2PhoneLookup, dialerBlockedNumberPhoneLookup);
+    return ImmutableList.of(cp2LocalPhoneLookup, dialerBlockedNumberPhoneLookup);
   }
 
   @Provides
diff --git a/java/com/android/dialer/phonelookup/cp2/Cp2PhoneLookup.java b/java/com/android/dialer/phonelookup/cp2/Cp2LocalPhoneLookup.java
similarity index 96%
rename from java/com/android/dialer/phonelookup/cp2/Cp2PhoneLookup.java
rename to java/com/android/dialer/phonelookup/cp2/Cp2LocalPhoneLookup.java
index dd44070..727977f 100644
--- a/java/com/android/dialer/phonelookup/cp2/Cp2PhoneLookup.java
+++ b/java/com/android/dialer/phonelookup/cp2/Cp2LocalPhoneLookup.java
@@ -63,7 +63,7 @@
 import javax.inject.Inject;
 
 /** PhoneLookup implementation for local contacts. */
-public final class Cp2PhoneLookup implements PhoneLookup<Cp2Info> {
+public final class Cp2LocalPhoneLookup implements PhoneLookup<Cp2Info> {
 
   private static final String PREF_LAST_TIMESTAMP_PROCESSED =
       "cp2PhoneLookupLastTimestampProcessed";
@@ -119,7 +119,7 @@
   @Nullable private Long currentLastTimestampProcessed;
 
   @Inject
-  Cp2PhoneLookup(
+  Cp2LocalPhoneLookup(
       @ApplicationContext Context appContext,
       @Unencrypted SharedPreferences sharedPreferences,
       @BackgroundExecutor ListeningExecutorService backgroundExecutorService,
@@ -149,7 +149,7 @@
             ? queryPhoneTableBasedOnE164(PHONE_PROJECTION, ImmutableSet.of(e164.get()))
             : queryPhoneLookup(PHONE_LOOKUP_PROJECTION, rawNumber)) {
       if (cursor == null) {
-        LogUtil.w("Cp2PhoneLookup.lookupInternal", "null cursor");
+        LogUtil.w("Cp2LocalPhoneLookup.lookupInternal", "null cursor");
         return Cp2Info.getDefaultInstance();
       }
       while (cursor.moveToNext()) {
@@ -176,7 +176,7 @@
           Set<Cp2ContactInfo> cp2ContactInfos = new ArraySet<>();
           try (Cursor cursor = queryPhoneLookup(PHONE_LOOKUP_PROJECTION, rawNumber)) {
             if (cursor == null) {
-              LogUtil.w("Cp2PhoneLookup.lookup", "null cursor");
+              LogUtil.w("Cp2LocalPhoneLookup.lookup", "null cursor");
               return Cp2Info.getDefaultInstance();
             }
             while (cursor.moveToNext()) {
@@ -211,7 +211,8 @@
               anyContactsDeletedFuture,
               anyContactsDeleted -> {
                 if (anyContactsDeleted) {
-                  LogUtil.v("Cp2PhoneLookup.isDirty", "returning true because contacts deleted");
+                  LogUtil.v(
+                      "Cp2LocalPhoneLookup.isDirty", "returning true because contacts deleted");
                   return Futures.immediateFuture(true);
                 }
                 // Hopefully the most common case is there are no contacts updated; we can detect
@@ -223,7 +224,7 @@
                     noContactsModifiedSince -> {
                       if (noContactsModifiedSince) {
                         LogUtil.v(
-                            "Cp2PhoneLookup.isDirty",
+                            "Cp2LocalPhoneLookup.isDirty",
                             "returning false because no contacts modified since last run");
                         return Futures.immediateFuture(false);
                       }
@@ -241,7 +242,7 @@
                           contactsUpdated -> {
                             if (contactsUpdated) {
                               LogUtil.v(
-                                  "Cp2PhoneLookup.isDirty",
+                                  "Cp2LocalPhoneLookup.isDirty",
                                   "returning true because a previously called contact was updated");
                               return Futures.immediateFuture(true);
                             }
@@ -315,7 +316,7 @@
                       null)) {
 
             if (cursor == null) {
-              LogUtil.w("Cp2PhoneLookup.queryPhoneLookupHistoryForContactIds", "null cursor");
+              LogUtil.w("Cp2LocalPhoneLookup.queryPhoneLookupHistoryForContactIds", "null cursor");
               return contactIds;
             }
 
@@ -330,7 +331,8 @@
                 } catch (InvalidProtocolBufferException e) {
                   throw new IllegalStateException(e);
                 }
-                for (Cp2ContactInfo info : phoneLookupInfo.getCp2Info().getCp2ContactInfoList()) {
+                for (Cp2ContactInfo info :
+                    phoneLookupInfo.getCp2LocalInfo().getCp2ContactInfoList()) {
                   contactIds.add(info.getContactId());
                 }
               } while (cursor.moveToNext());
@@ -351,7 +353,8 @@
           try (Cursor cursor =
               queryPhoneTableBasedOnE164(new String[] {Phone.CONTACT_ID}, validE164Numbers)) {
             if (cursor == null) {
-              LogUtil.w("Cp2PhoneLookup.queryPhoneTableForContactIdsBasedOnE164", "null cursor");
+              LogUtil.w(
+                  "Cp2LocalPhoneLookup.queryPhoneTableForContactIdsBasedOnE164", "null cursor");
               return contactIds;
             }
             while (cursor.moveToNext()) {
@@ -374,7 +377,7 @@
               queryPhoneLookup(new String[] {ContactsContract.PhoneLookup.CONTACT_ID}, rawNumber)) {
             if (cursor == null) {
               LogUtil.w(
-                  "Cp2PhoneLookup.queryPhoneLookupTableForContactIdsBasedOnRawNumber",
+                  "Cp2LocalPhoneLookup.queryPhoneLookupTableForContactIdsBasedOnRawNumber",
                   "null cursor");
               return contactIds;
             }
@@ -437,7 +440,7 @@
                       new String[] {Long.toString(lastModified)},
                       Contacts._ID + " limit 1")) {
             if (cursor == null) {
-              LogUtil.w("Cp2PhoneLookup.noContactsModifiedSince", "null cursor");
+              LogUtil.w("Cp2LocalPhoneLookup.noContactsModifiedSince", "null cursor");
               return false;
             }
             return cursor.getCount() == 0;
@@ -459,7 +462,7 @@
                       new String[] {Long.toString(lastModified)},
                       DeletedContacts.CONTACT_DELETED_TIMESTAMP + " limit 1")) {
             if (cursor == null) {
-              LogUtil.w("Cp2PhoneLookup.anyContactsDeletedSince", "null cursor");
+              LogUtil.w("Cp2LocalPhoneLookup.anyContactsDeletedSince", "null cursor");
               return false;
             }
             return cursor.getCount() > 0;
@@ -469,12 +472,12 @@
 
   @Override
   public void setSubMessage(PhoneLookupInfo.Builder destination, Cp2Info subMessage) {
-    destination.setCp2Info(subMessage);
+    destination.setCp2LocalInfo(subMessage);
   }
 
   @Override
   public Cp2Info getSubMessage(PhoneLookupInfo phoneLookupInfo) {
-    return phoneLookupInfo.getCp2Info();
+    return phoneLookupInfo.getCp2LocalInfo();
   }
 
   @Override
@@ -766,7 +769,7 @@
           }
           try (Cursor cursor = queryPhoneTableBasedOnE164(PHONE_PROJECTION, e164Numbers)) {
             if (cursor == null) {
-              LogUtil.w("Cp2PhoneLookup.batchQueryForValidNumbers", "null cursor");
+              LogUtil.w("Cp2LocalPhoneLookup.batchQueryForValidNumbers", "null cursor");
             } else {
               while (cursor.moveToNext()) {
                 String e164Number = cursor.getString(CP2_INFO_NORMALIZED_NUMBER_INDEX);
@@ -793,7 +796,7 @@
           }
           try (Cursor cursor = queryPhoneLookup(PHONE_LOOKUP_PROJECTION, invalidNumber)) {
             if (cursor == null) {
-              LogUtil.w("Cp2PhoneLookup.individualQueryForInvalidNumber", "null cursor");
+              LogUtil.w("Cp2LocalPhoneLookup.individualQueryForInvalidNumber", "null cursor");
             } else {
               while (cursor.moveToNext()) {
                 cp2ContactInfos.add(buildCp2ContactInfoFromPhoneCursor(appContext, cursor));
diff --git a/java/com/android/dialer/phonelookup/phone_lookup_info.proto b/java/com/android/dialer/phonelookup/phone_lookup_info.proto
index 6662646..f1497bd 100644
--- a/java/com/android/dialer/phonelookup/phone_lookup_info.proto
+++ b/java/com/android/dialer/phonelookup/phone_lookup_info.proto
@@ -9,12 +9,12 @@
 
 // Contains information about a phone number, possibly from many sources.
 //
-// This message is organized into sub-messages where each sub-message
-// corresponds to an implementation of PhoneLookup. For example, the Cp2Info
-// corresponds to Cp2PhoneLookup class, and the Cp2PhoneLookup class alone is
-// responsible for populating its fields.
+// This message is organized into sub-message fields where each one corresponds
+// to an implementation of PhoneLookup. For example, field "cp2_local_info"
+// corresponds to class Cp2LocalPhoneLookup, and class Cp2LocalPhoneLookup
+// alone is responsible for populating it.
 message PhoneLookupInfo {
-  // Information about a PhoneNumber retrieved from CP2. Cp2PhoneLookup is
+  // Information about a PhoneNumber retrieved from CP2. Cp2LocalPhoneLookup is
   // responsible for populating the data in this message.
   message Cp2Info {
     // Information about a single local contact.
@@ -50,7 +50,7 @@
     // log needs to query for the CP2 information at render time.
     optional bool is_incomplete = 2;
   }
-  optional Cp2Info cp2_info = 1;
+  optional Cp2Info cp2_local_info = 1;
 
   // Message for APDL, a lookup for the proprietary Google dialer.
   message ApdlInfo {
diff --git a/java/com/android/dialer/phonelookup/selector/PhoneLookupSelector.java b/java/com/android/dialer/phonelookup/selector/PhoneLookupSelector.java
index a960d4e..6b217e9 100644
--- a/java/com/android/dialer/phonelookup/selector/PhoneLookupSelector.java
+++ b/java/com/android/dialer/phonelookup/selector/PhoneLookupSelector.java
@@ -139,7 +139,7 @@
     // matches that of a Cp2 (local) contact, and PeopleApiInfo will not be used to display
     // information like name, photo, etc. We should not allow the user to report the number in this
     // case as the info displayed is not from the People API.
-    if (phoneLookupInfo.getCp2Info().getCp2ContactInfoCount() > 0) {
+    if (phoneLookupInfo.getCp2LocalInfo().getCp2ContactInfoCount() > 0) {
       return false;
     }
 
@@ -155,8 +155,8 @@
    */
   @Nullable
   private Cp2ContactInfo firstLocalContact(PhoneLookupInfo phoneLookupInfo) {
-    if (phoneLookupInfo.getCp2Info().getCp2ContactInfoCount() > 0) {
-      return phoneLookupInfo.getCp2Info().getCp2ContactInfo(0);
+    if (phoneLookupInfo.getCp2LocalInfo().getCp2ContactInfoCount() > 0) {
+      return phoneLookupInfo.getCp2LocalInfo().getCp2ContactInfo(0);
     }
     return null;
   }