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);
}
/**