From d490c57905bc47a4d583d69049864e6348171c61 Mon Sep 17 00:00:00 2001 From: Riddle Hsu Date: Fri, 17 Apr 2020 01:39:27 +0800 Subject: Send fixed rotation adjustments to the associated client So the real information of display can be adjusted according to the adjustments for the application started with fixed rotation transform. The enabling adjustments may be sent in different ways: - Launch activity The information is bundled with LaunchActivityItem. - Resume activity or update non-activity window Send a standalone FixedRotationAdjustmentsItem. The disabling adjustments (null) are always sent by FixedRotationAdjustmentsItem. Bug: 147213487 Test: AppConfigurationTests#testRotatedInfoWithFixedRotationTransform TransactionParcelTests#testFixedRotationAdjustments Change-Id: I5238888a5c8352db83fc12749f4de2bfabf46026 --- core/java/android/app/ClientTransactionHandler.java | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'core/java/android/app/ClientTransactionHandler.java') diff --git a/core/java/android/app/ClientTransactionHandler.java b/core/java/android/app/ClientTransactionHandler.java index 83465b0f8d36..2df756e80fde 100644 --- a/core/java/android/app/ClientTransactionHandler.java +++ b/core/java/android/app/ClientTransactionHandler.java @@ -25,6 +25,7 @@ import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.os.IBinder; import android.util.MergedConfiguration; +import android.view.DisplayAdjustments.FixedRotationAdjustments; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.content.ReferrerIntent; @@ -167,6 +168,10 @@ public abstract class ClientTransactionHandler { /** Deliver app configuration change notification. */ public abstract void handleConfigurationChanged(Configuration config); + /** Apply addition adjustments to override display information. */ + public abstract void handleFixedRotationAdjustments(IBinder token, + FixedRotationAdjustments fixedRotationAdjustments); + /** * Get {@link android.app.ActivityThread.ActivityClientRecord} instance that corresponds to the * provided token. -- cgit v1.2.3