Create default implementation for getSyncTarget

AttachedSurfaceControl is a public API so hidden APIs need to be
implemented. Create a default implementation for a new hidden API to
ensure backwards compatibility.

Test: testRuntimeCompatibilityWithCurrentApi_android_net_ipsec_ike
Fixes: 240300753
Change-Id: I4aec403e4bc13e2db902a291f1e42d8fe3d8fdf3
diff --git a/core/java/android/view/AttachedSurfaceControl.java b/core/java/android/view/AttachedSurfaceControl.java
index 5dae313..c692981 100644
--- a/core/java/android/view/AttachedSurfaceControl.java
+++ b/core/java/android/view/AttachedSurfaceControl.java
@@ -145,5 +145,8 @@
      *
      * @hide
      */
-    SurfaceSyncGroup.SyncTarget getSyncTarget();
+    @Nullable
+    default SurfaceSyncGroup.SyncTarget getSyncTarget() {
+        return null;
+    }
 }
diff --git a/core/java/android/window/SurfaceSyncGroup.java b/core/java/android/window/SurfaceSyncGroup.java
index 5672697..4248096 100644
--- a/core/java/android/window/SurfaceSyncGroup.java
+++ b/core/java/android/window/SurfaceSyncGroup.java
@@ -186,7 +186,11 @@
         if (viewRoot == null) {
             return false;
         }
-        return addToSync(viewRoot.getSyncTarget());
+        SyncTarget syncTarget = viewRoot.getSyncTarget();
+        if (syncTarget == null) {
+            return false;
+        }
+        return addToSync(syncTarget);
     }
 
     /**