Hook AndroidChannelBuilder.forAddress Directly

Now that we can hook chained calls, hook AndroidChannelBuilder.forAddress() directly.

In the current implementation, it's calls AndroidChannelBuilder.forTarget() which is already hooked, so everything works. However, If Proguard is used, the call might be inlined, and the implementation could change in the future.

Bug: NA
Test: Updated
Change-Id: Ib879e0e91842e27a2892d8976226b29ceeff1eb3
diff --git a/app-inspection/inspectors/network/src/com/android/tools/appinspection/network/NetworkInspector.kt b/app-inspection/inspectors/network/src/com/android/tools/appinspection/network/NetworkInspector.kt
index 291b7fb..73dca38 100644
--- a/app-inspection/inspectors/network/src/com/android/tools/appinspection/network/NetworkInspector.kt
+++ b/app-inspection/inspectors/network/src/com/android/tools/appinspection/network/NetworkInspector.kt
@@ -85,7 +85,10 @@
         "io.grpc.ManagedChannelBuilder",
         "forTarget(Ljava/lang/String;)Lio/grpc/ManagedChannelBuilder;",
       ),
-      // 'AndroidChannelBuilder.forAddress()' calls 'AndroidChannelBuilder.forTarget();
+      GrpcHook(
+        "io.grpc.android.AndroidChannelBuilder",
+        "forAddress(Ljava/lang/String;I)Lio/grpc/android/AndroidChannelBuilder;",
+      ),
       GrpcHook(
         "io.grpc.android.AndroidChannelBuilder",
         "forTarget(Ljava/lang/String;)Lio/grpc/android/AndroidChannelBuilder;",
diff --git a/app-inspection/inspectors/network/testSrc/com/android/tools/appinspection/network/NetworkInspectorTest.kt b/app-inspection/inspectors/network/testSrc/com/android/tools/appinspection/network/NetworkInspectorTest.kt
index 495353c..44b29f5 100644
--- a/app-inspection/inspectors/network/testSrc/com/android/tools/appinspection/network/NetworkInspectorTest.kt
+++ b/app-inspection/inspectors/network/testSrc/com/android/tools/appinspection/network/NetworkInspectorTest.kt
@@ -136,6 +136,7 @@
         "DEBUG: studio.inspectors: Instrumented io.grpc.ManagedChannelBuilder#forTarget",
         "DEBUG: studio.inspectors: Instrumented io.grpc.okhttp.OkHttpChannelBuilder#forAddress",
         "DEBUG: studio.inspectors: Instrumented io.grpc.okhttp.OkHttpChannelBuilder#forTarget",
+        "DEBUG: studio.inspectors: Could not load class io.grpc.android.AndroidChannelBuilder#forAddress",
         "DEBUG: studio.inspectors: Could not load class io.grpc.android.AndroidChannelBuilder#forTarget",
       )
     assertThat(javaNet).isTrue()