summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chilun Huang <chilunhuang@google.com> 2021-10-05 07:31:59 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-10-05 07:31:59 +0000
commit69c8b1aef68a2f0bade155130c11eedbf996db8f (patch)
tree3ea5dee7c0071797fb9328adb5192dd7a70312e9
parent26748891775fe3234dd33142973232fdbcc7a7d6 (diff)
parent3e0f315f8c10bd913fbea06a3817d7523db527b1 (diff)
Merge "Use post-execution state for ActivityResultItem" into sc-v2-dev
-rw-r--r--core/java/android/app/servertransaction/ActivityResultItem.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/core/java/android/app/servertransaction/ActivityResultItem.java b/core/java/android/app/servertransaction/ActivityResultItem.java
index e059f177e344..27d104b59284 100644
--- a/core/java/android/app/servertransaction/ActivityResultItem.java
+++ b/core/java/android/app/servertransaction/ActivityResultItem.java
@@ -16,6 +16,8 @@
package android.app.servertransaction;
+import static android.app.servertransaction.ActivityLifecycleItem.ON_RESUME;
+import static android.app.servertransaction.ActivityLifecycleItem.UNDEFINED;
import static android.os.Trace.TRACE_TAG_ACTIVITY_MANAGER;
import android.annotation.NonNull;
@@ -23,6 +25,9 @@ import android.annotation.Nullable;
import android.app.ActivityThread.ActivityClientRecord;
import android.app.ClientTransactionHandler;
import android.app.ResultInfo;
+import android.app.compat.CompatChanges;
+import android.compat.annotation.ChangeId;
+import android.compat.annotation.EnabledAfter;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Build;
import android.os.Parcel;
@@ -41,11 +46,19 @@ public class ActivityResultItem extends ActivityTransactionItem {
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
private List<ResultInfo> mResultInfoList;
- /* TODO(b/78294732)
+ /**
+ * Correct the lifecycle of activity result after {@link android.os.Build.VERSION_CODES#S} to
+ * guarantee that an activity gets activity result just before resume.
+ */
+ @ChangeId
+ @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.S)
+ public static final long CALL_ACTIVITY_RESULT_BEFORE_RESUME = 78294732L;
+
@Override
public int getPostExecutionState() {
- return ON_RESUME;
- }*/
+ return CompatChanges.isChangeEnabled(CALL_ACTIVITY_RESULT_BEFORE_RESUME)
+ ? ON_RESUME : UNDEFINED;
+ }
@Override
public void execute(ClientTransactionHandler client, ActivityClientRecord r,