diff options
| -rw-r--r-- | core/java/android/view/SurfaceControl.java | 88 |
1 files changed, 14 insertions, 74 deletions
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index 23d0de32874f..cbbe7856178d 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -503,9 +503,6 @@ public final class SurfaceControl implements Parcelable { // be dumped as additional context private static volatile boolean sDebugUsageAfterRelease = false; - static GlobalTransactionWrapper sGlobalTransaction; - static long sTransactionNestCount = 0; - private static final NativeAllocationRegistry sRegistry = NativeAllocationRegistry.createMalloced(SurfaceControl.class.getClassLoader(), nativeGetNativeSurfaceControlFinalizer()); @@ -1590,54 +1587,30 @@ public final class SurfaceControl implements Parcelable { return mNativeObject != 0; } - /* - * set surface parameters. - * needs to be inside open/closeTransaction block - */ - /** start a transaction * @hide - */ - @UnsupportedAppUsage - public static void openTransaction() { - synchronized (SurfaceControl.class) { - if (sGlobalTransaction == null) { - sGlobalTransaction = new GlobalTransactionWrapper(); - } - synchronized(SurfaceControl.class) { - sTransactionNestCount++; - } - } - } - - /** - * Merge the supplied transaction in to the deprecated "global" transaction. - * This clears the supplied transaction in an identical fashion to {@link Transaction#merge}. - * <p> - * This is a utility for interop with legacy-code and will go away with the Global Transaction. - * @hide + * @deprecated Use regular Transaction instead. */ @Deprecated - public static void mergeToGlobalTransaction(Transaction t) { - synchronized(SurfaceControl.class) { - sGlobalTransaction.merge(t); - } + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.VANILLA_ICE_CREAM, + publicAlternatives = "Use {@code SurfaceControl.Transaction} instead", + trackingBug = 247078497) + public static void openTransaction() { + // TODO(b/247078497): It was used for global transaction (all usages are removed). + // Keep the method declaration to avoid breaking reference from legacy access. } /** end a transaction * @hide + * @deprecated Use regular Transaction instead. */ - @UnsupportedAppUsage + @Deprecated + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.VANILLA_ICE_CREAM, + publicAlternatives = "Use {@code SurfaceControl.Transaction} instead", + trackingBug = 247078497) public static void closeTransaction() { - synchronized(SurfaceControl.class) { - if (sTransactionNestCount == 0) { - Log.e(TAG, - "Call to SurfaceControl.closeTransaction without matching openTransaction"); - } else if (--sTransactionNestCount > 0) { - return; - } - sGlobalTransaction.applyGlobalTransaction(false); - } + // TODO(b/247078497): It was used for global transaction (all usages are removed). + // Keep the method declaration to avoid breaking reference from legacy access. } /** @@ -4513,39 +4486,6 @@ public final class SurfaceControl implements Parcelable { } /** - * As part of eliminating usage of the global Transaction we expose - * a SurfaceControl.getGlobalTransaction function. However calling - * apply on this global transaction (rather than using closeTransaction) - * would be very dangerous. So for the global transaction we use this - * subclass of Transaction where the normal apply throws an exception. - */ - private static class GlobalTransactionWrapper extends SurfaceControl.Transaction { - void applyGlobalTransaction(boolean sync) { - applyResizedSurfaces(); - notifyReparentedSurfaces(); - nativeApplyTransaction(mNativeObject, sync, /*oneWay*/ false); - } - - @Override - public void apply(boolean sync) { - throw new RuntimeException("Global transaction must be applied from closeTransaction"); - } - } - - /** - * This is a refactoring utility function to enable lower levels of code to be refactored - * from using the global transaction (and instead use a passed in Transaction) without - * having to refactor the higher levels at the same time. - * The returned global transaction can't be applied, it must be applied from closeTransaction - * Unless you are working on removing Global Transaction usage in the WindowManager, this - * probably isn't a good function to use. - * @hide - */ - public static Transaction getGlobalTransaction() { - return sGlobalTransaction; - } - - /** * @hide */ public void resize(int w, int h) { |