Move activity-related methods to ActivityRecord
Moving methods that use and/or alter the internal state of
ActivityRecord from ActivityStack.
Bug: 137329632
Test: ActivityRecordTests ActivityStackTests
Change-Id: I92cea71a9e97d2f7c64547e844496beaf4a3a6d6
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 2da2ebc..3c5947a 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -46,7 +46,6 @@
import static android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static android.content.res.Configuration.UI_MODE_TYPE_TELEVISION;
-import static android.os.Build.VERSION_CODES.N;
import static android.os.FactoryTest.FACTORY_TEST_HIGH_LEVEL;
import static android.os.FactoryTest.FACTORY_TEST_LOW_LEVEL;
import static android.os.FactoryTest.FACTORY_TEST_OFF;
@@ -1754,9 +1753,14 @@
public final void activityDestroyed(IBinder token) {
if (DEBUG_SWITCH) Slog.v(TAG_SWITCH, "ACTIVITY DESTROYED: " + token);
synchronized (mGlobalLock) {
- ActivityStack stack = ActivityRecord.getStackLocked(token);
- if (stack != null) {
- stack.activityDestroyedLocked(token, "activityDestroyed");
+ final long origId = Binder.clearCallingIdentity();
+ try {
+ final ActivityRecord activity = ActivityRecord.forTokenLocked(token);
+ if (activity != null) {
+ activity.destroyed("activityDestroyed");
+ }
+ } finally {
+ Binder.restoreCallingIdentity(origId);
}
}
}
@@ -3237,7 +3241,7 @@
if (r == null) {
return false;
}
- return r.getActivityStack().safelyDestroyActivityLocked(r, "app-req");
+ return r.safelyDestroy("app-req");
} finally {
Binder.restoreCallingIdentity(origId);
}
@@ -6485,8 +6489,7 @@
synchronized (mGlobalLock) {
final ActivityRecord r = ActivityRecord.isInStackLocked(activityToken);
if (r != null && r.getActivityStack() != null) {
- r.getActivityStack().sendActivityResultLocked(callingUid, r, resultWho,
- requestCode, resultCode, data);
+ r.sendResult(callingUid, resultWho, requestCode, resultCode, data);
}
}
}