Revert "Call ActivityCallbacks after corresponding activity methods"
This reverts commit 660cf30e2100d8ed40198c95f93b61e5d1cdb10c.
bug: 34415265
bug: 34914977
Test: chrome launches
Change-Id: I170365fd47313bafb0d722e6d55ee119336137c4
(cherry picked from commit ff5659fbc3026e621bdd926e96096e2957cfd42e)
diff --git a/api/current.txt b/api/current.txt
index 0f146d7..4f63ff6 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -4171,7 +4171,6 @@
method public abstract void onActivityCreated(android.app.Activity, android.os.Bundle);
method public abstract void onActivityDestroyed(android.app.Activity);
method public abstract void onActivityPaused(android.app.Activity);
- method public default void onActivityPreCreated(android.app.Activity, android.os.Bundle);
method public abstract void onActivityResumed(android.app.Activity);
method public abstract void onActivitySaveInstanceState(android.app.Activity, android.os.Bundle);
method public abstract void onActivityStarted(android.app.Activity);
diff --git a/api/system-current.txt b/api/system-current.txt
index 5ccfbce..03710e6 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -4313,7 +4313,6 @@
method public abstract void onActivityCreated(android.app.Activity, android.os.Bundle);
method public abstract void onActivityDestroyed(android.app.Activity);
method public abstract void onActivityPaused(android.app.Activity);
- method public default void onActivityPreCreated(android.app.Activity, android.os.Bundle);
method public abstract void onActivityResumed(android.app.Activity);
method public abstract void onActivitySaveInstanceState(android.app.Activity, android.os.Bundle);
method public abstract void onActivityStarted(android.app.Activity);
diff --git a/api/test-current.txt b/api/test-current.txt
index 896c142..29d152a 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -4181,7 +4181,6 @@
method public abstract void onActivityCreated(android.app.Activity, android.os.Bundle);
method public abstract void onActivityDestroyed(android.app.Activity);
method public abstract void onActivityPaused(android.app.Activity);
- method public default void onActivityPreCreated(android.app.Activity, android.os.Bundle);
method public abstract void onActivityResumed(android.app.Activity);
method public abstract void onActivitySaveInstanceState(android.app.Activity, android.os.Bundle);
method public abstract void onActivityStarted(android.app.Activity);
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index 0ac30de..6f95309 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -969,9 +969,7 @@
? mLastNonConfigurationInstances.fragments : null);
}
mFragments.dispatchCreate();
- if (!isAtLeastO()) {
- getApplication().dispatchActivityCreated(this, savedInstanceState);
- }
+ getApplication().dispatchActivityCreated(this, savedInstanceState);
if (mVoiceInteractor != null) {
mVoiceInteractor.attachActivity(this);
}
@@ -1199,9 +1197,8 @@
mCalled = true;
mFragments.doLoaderStart();
- if (!isAtLeastO()) {
- getApplication().dispatchActivityStarted(this);
- }
+
+ getApplication().dispatchActivityStarted(this);
}
/**
@@ -1262,9 +1259,7 @@
@CallSuper
protected void onResume() {
if (DEBUG_LIFECYCLE) Slog.v(TAG, "onResume " + this);
- if (!isAtLeastO()) {
- getApplication().dispatchActivityResumed(this);
- }
+ getApplication().dispatchActivityResumed(this);
mActivityTransitionState.onResume(this, isTopOfTask());
mCalled = true;
}
@@ -1431,9 +1426,6 @@
saveManagedDialogs(outState);
mActivityTransitionState.saveState(outState);
storeHasCurrentPermissionRequest(outState);
- if (isAtLeastO()) {
- getApplication().dispatchActivitySaveInstanceState(this, outState);
- }
if (DEBUG_LIFECYCLE) Slog.v(TAG, "onSaveInstanceState " + this + ": " + outState);
}
@@ -1450,9 +1442,6 @@
onSaveInstanceState(outState, outPersistentState);
saveManagedDialogs(outState);
storeHasCurrentPermissionRequest(outState);
- if (isAtLeastO()) {
- getApplication().dispatchActivitySaveInstanceState(this, outState);
- }
if (DEBUG_LIFECYCLE) Slog.v(TAG, "onSaveInstanceState " + this + ": " + outState +
", " + outPersistentState);
}
@@ -1508,9 +1497,7 @@
if (p != null) {
outState.putParcelable(FRAGMENTS_TAG, p);
}
- if (!isAtLeastO()) {
- getApplication().dispatchActivitySaveInstanceState(this, outState);
- }
+ getApplication().dispatchActivitySaveInstanceState(this, outState);
}
/**
@@ -1608,9 +1595,7 @@
@CallSuper
protected void onPause() {
if (DEBUG_LIFECYCLE) Slog.v(TAG, "onPause " + this);
- if (!isAtLeastO()) {
- getApplication().dispatchActivityPaused(this);
- }
+ getApplication().dispatchActivityPaused(this);
mCalled = true;
}
@@ -1810,9 +1795,7 @@
if (DEBUG_LIFECYCLE) Slog.v(TAG, "onStop " + this);
if (mActionBar != null) mActionBar.setShowHideAnimationEnabled(false);
mActivityTransitionState.onStop();
- if (!isAtLeastO()) {
- getApplication().dispatchActivityStopped(this);
- }
+ getApplication().dispatchActivityStopped(this);
mTranslucentCallback = null;
mCalled = true;
}
@@ -1882,9 +1865,8 @@
if (mActionBar != null) {
mActionBar.onDestroy();
}
- if (!isAtLeastO()) {
- getApplication().dispatchActivityDestroyed(this);
- }
+
+ getApplication().dispatchActivityDestroyed(this);
}
/**
@@ -6768,33 +6750,25 @@
return mParent != null ? mParent.getActivityToken() : mToken;
}
- final void performCreateCommon(Bundle icicle) {
- mActivityTransitionState.readState(icicle);
+ final void performCreateCommon() {
mVisibleFromClient = !mWindow.getWindowStyle().getBoolean(
com.android.internal.R.styleable.Window_windowNoDisplay, false);
mFragments.dispatchActivityCreated();
mActivityTransitionState.setEnterActivityOptions(this, getActivityOptions());
- if (isAtLeastO()) {
- getApplication().dispatchActivityCreated(this, icicle);
- }
}
final void performCreate(Bundle icicle) {
restoreHasCurrentPermissionRequest(icicle);
- if (isAtLeastO()) {
- getApplication().dispatchActivityPreCreated(this, icicle);
- }
onCreate(icicle);
- performCreateCommon(icicle);
+ mActivityTransitionState.readState(icicle);
+ performCreateCommon();
}
final void performCreate(Bundle icicle, PersistableBundle persistentState) {
restoreHasCurrentPermissionRequest(icicle);
- if (isAtLeastO()) {
- getApplication().dispatchActivityPreCreated(this, icicle);
- }
onCreate(icicle, persistentState);
- performCreateCommon(icicle);
+ mActivityTransitionState.readState(icicle);
+ performCreateCommon();
}
final void performStart() {
@@ -6837,9 +6811,6 @@
}
mActivityTransitionState.enterReady(this);
- if (isAtLeastO()) {
- getApplication().dispatchActivityStarted(this);
- }
}
final void performRestart() {
@@ -6915,9 +6886,7 @@
mFragments.dispatchResume();
mFragments.execPendingActions();
- if (isAtLeastO()) {
- getApplication().dispatchActivityResumed(this);
- }
+
onPostResume();
if (!mCalled) {
throw new SuperNotCalledException(
@@ -6932,15 +6901,13 @@
mCalled = false;
onPause();
mResumed = false;
- if (isAtLeastO()) {
- getApplication().dispatchActivityPaused(this);
- }
if (!mCalled && getApplicationInfo().targetSdkVersion
>= android.os.Build.VERSION_CODES.GINGERBREAD) {
throw new SuperNotCalledException(
"Activity " + mComponent.toShortString() +
" did not call through to super.onPause()");
}
+ mResumed = false;
}
final void performUserLeaving() {
@@ -6951,7 +6918,7 @@
final void performStop(boolean preserveWindow) {
mDoReportFullyDrawn = false;
mFragments.doLoaderStop(mChangingConfigurations /*retain*/);
- boolean dispatchActivityStopped = !mStopped;
+
if (!mStopped) {
if (mWindow != null) {
mWindow.closeAllPanels();
@@ -6988,9 +6955,6 @@
mStopped = true;
}
mResumed = false;
- if (dispatchActivityStopped && isAtLeastO()) {
- getApplication().dispatchActivityStopped(this);
- }
}
final void performDestroy() {
@@ -7002,13 +6966,6 @@
if (mVoiceInteractor != null) {
mVoiceInteractor.detachActivity();
}
- if (isAtLeastO()) {
- getApplication().dispatchActivityDestroyed(this);
- }
- }
-
- private boolean isAtLeastO() {
- return getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.O;
}
final void dispatchMultiWindowModeChanged(boolean isInMultiWindowMode) {
diff --git a/core/java/android/app/Application.java b/core/java/android/app/Application.java
index 03efe68..156df36 100644
--- a/core/java/android/app/Application.java
+++ b/core/java/android/app/Application.java
@@ -55,7 +55,6 @@
public LoadedApk mLoadedApk;
public interface ActivityLifecycleCallbacks {
- default void onActivityPreCreated(Activity activity, Bundle savedInstanceState) {}
void onActivityCreated(Activity activity, Bundle savedInstanceState);
void onActivityStarted(Activity activity);
void onActivityResumed(Activity activity);
@@ -191,16 +190,6 @@
mLoadedApk = ContextImpl.getImpl(context).mPackageInfo;
}
- /* package */ void dispatchActivityPreCreated(Activity activity, Bundle savedInstanceState) {
- Object[] callbacks = collectActivityLifecycleCallbacks();
- if (callbacks != null) {
- for (int i = 0; i < callbacks.length; i++) {
- ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPreCreated(activity,
- savedInstanceState);
- }
- }
- }
-
/* package */ void dispatchActivityCreated(Activity activity, Bundle savedInstanceState) {
Object[] callbacks = collectActivityLifecycleCallbacks();
if (callbacks != null) {
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index 13907ba..a45a2ff 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -2747,15 +2747,15 @@
String cls = clsSeq.toString();
char c = cls.charAt(0);
if (c == '.') {
- return (pkg + cls).intern();
+ return pkg + cls;
}
if (cls.indexOf('.') < 0) {
StringBuilder b = new StringBuilder(pkg);
b.append('.');
b.append(cls);
- return b.toString().intern();
+ return b.toString();
}
- return cls.intern();
+ return cls;
}
private static String buildCompoundName(String pkg,
@@ -2775,7 +2775,7 @@
+ pkg + ": " + nameError;
return null;
}
- return (pkg + proc).intern();
+ return pkg + proc;
}
String nameError = validateName(proc, true, false);
if (nameError != null && !"system".equals(proc)) {
@@ -2783,7 +2783,7 @@
+ pkg + ": " + nameError;
return null;
}
- return proc.intern();
+ return proc;
}
private static String buildProcessName(String pkg, String defProc,
@@ -5103,7 +5103,7 @@
if (v != null) {
if (v.type == TypedValue.TYPE_STRING) {
CharSequence cs = v.coerceToString();
- data.putString(name, cs != null ? cs.toString().intern() : null);
+ data.putString(name, cs != null ? cs.toString() : null);
} else if (v.type == TypedValue.TYPE_INT_BOOLEAN) {
data.putBoolean(name, v.data != 0);
} else if (v.type >= TypedValue.TYPE_FIRST_INT