Fix return value for IActivityTaskManager#finishActivity()

IActivityTaskManager#finishActivity() used to return 'true' even if
activity was already finishing prior to the call. The refactor in
I30ebc306637dea5e8b28ca4b4dfaab8df31d2be3 that merged
ActivityStack#requestFinishActivityLocked() and
ActivityRecord#finishActivityLocked() accidentally changed the
return value for the case when activity was already finishing.

This made the client think that the activity was not finished, so
the client state was not updated correctly.

This CL checks the finishing state of the activity instead to report
back to client.

Bug: 138265285
Test: atest WmTests:ActivityTaskManagerServiceTests
Change-Id: I9503cf6b9ceaece4ab6a5933c143d238f7fa7c4d
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index b351faf..edd2e9c 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -84,7 +84,6 @@
 import static com.android.server.am.ActivityManagerServiceDumpProcessesProto.SCREEN_COMPAT_PACKAGES;
 import static com.android.server.am.ActivityManagerServiceDumpProcessesProto.ScreenCompatPackage.MODE;
 import static com.android.server.am.ActivityManagerServiceDumpProcessesProto.ScreenCompatPackage.PACKAGE;
-import static com.android.server.wm.ActivityRecord.FINISH_RESULT_CANCELLED;
 import static com.android.server.wm.ActivityStack.REMOVE_TASK_MODE_DESTROYING;
 import static com.android.server.wm.ActivityStackSupervisor.DEFER_RESUME;
 import static com.android.server.wm.ActivityStackSupervisor.ON_TOP;
@@ -1618,8 +1617,9 @@
                     // Explicitly dismissing the activity so reset its relaunch flag.
                     r.mRelaunchReason = RELAUNCH_REASON_NONE;
                 } else {
-                    res = r.finishActivityLocked(resultCode, resultData, "app-request",
-                            true /* oomAdj */) != FINISH_RESULT_CANCELLED;
+                    r.finishActivityLocked(resultCode, resultData, "app-request",
+                            true /* oomAdj */);
+                    res = r.finishing;
                     if (!res) {
                         Slog.i(TAG, "Failed to finish by app-request");
                     }