Merge "Add aborted start result." into oc-dev am: 8796c20dae

am: 943794bb70

Change-Id: I9bf7aa7a5b1e8fbf7ccdea5a883c0ce98fa8f3ff
This commit is contained in:
Bryce Lee
2017-06-27 04:27:08 +00:00
committed by android-build-merger
2 changed files with 12 additions and 2 deletions

View File

@@ -359,6 +359,13 @@ public class ActivityManager {
public static final int START_RETURN_LOCK_TASK_MODE_VIOLATION =
FIRST_START_NON_FATAL_ERROR_CODE + 1;
/**
* Result for IActivityManaqer.startActivity: a new activity start was aborted. Never returned
* externally.
* @hide
*/
public static final int START_ABORTED = FIRST_START_NON_FATAL_ERROR_CODE + 2;
/**
* Flag for IActivityManaqer.startActivity: do special start mode where
* a new activity is launched only if it is needed.

View File

@@ -17,6 +17,7 @@
package com.android.server.am;
import static android.app.Activity.RESULT_CANCELED;
import static android.app.ActivityManager.START_ABORTED;
import static android.app.ActivityManager.START_CANCELED;
import static android.app.ActivityManager.START_CLASS_NOT_FOUND;
import static android.app.ActivityManager.START_DELIVERED_TO_TOP;
@@ -279,7 +280,9 @@ class ActivityStarter {
// mLastStartActivityRecord[0] is set in the call to startActivity above.
outActivity[0] = mLastStartActivityRecord[0];
}
return mLastStartActivityResult;
// Aborted results are treated as successes externally, but we must track them internally.
return mLastStartActivityResult != START_ABORTED ? mLastStartActivityResult : START_SUCCESS;
}
/** DO NOT call this method directly. Use {@link #startActivityLocked} instead. */
@@ -465,7 +468,7 @@ class ActivityStarter {
// We pretend to the caller that it was really started, but
// they will just get a cancel result.
ActivityOptions.abort(options);
return START_SUCCESS;
return START_ABORTED;
}
// If permissions need a review before any of the app components can run, we