Loading core/java/android/app/Activity.java +13 −0 Original line number Diff line number Diff line Loading @@ -1539,6 +1539,17 @@ public class Activity extends ContextThemeWrapper getApplication().dispatchActivityPostDestroyed(this); } private void dispatchActivityConfigurationChanged() { getApplication().dispatchActivityConfigurationChanged(this); Object[] callbacks = collectActivityLifecycleCallbacks(); if (callbacks != null) { for (int i = 0; i < callbacks.length; i++) { ((Application.ActivityLifecycleCallbacks) callbacks[i]) .onActivityConfigurationChanged(this); } } } private Object[] collectActivityLifecycleCallbacks() { Object[] callbacks = null; synchronized (mActivityLifecycleCallbacks) { Loading Loading @@ -3028,6 +3039,8 @@ public class Activity extends ContextThemeWrapper // view changes from above. mActionBar.onConfigurationChanged(newConfig); } dispatchActivityConfigurationChanged(); } /** Loading core/java/android/app/Application.java +17 −0 Original line number Diff line number Diff line Loading @@ -205,6 +205,13 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { */ default void onActivityPostDestroyed(@NonNull Activity activity) { } /** * Called when the Activity configuration was changed. * @hide */ default void onActivityConfigurationChanged(@NonNull Activity activity) { } } /** Loading Loading @@ -554,6 +561,16 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { } } /* package */ void dispatchActivityConfigurationChanged(@NonNull Activity activity) { Object[] callbacks = collectActivityLifecycleCallbacks(); if (callbacks != null) { for (int i = 0; i < callbacks.length; i++) { ((ActivityLifecycleCallbacks) callbacks[i]).onActivityConfigurationChanged( activity); } } } @UnsupportedAppUsage private Object[] collectActivityLifecycleCallbacks() { Object[] callbacks = null; Loading libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitController.java +23 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,20 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen updateCallbackIfNecessary(); } private void onActivityConfigurationChanged(@NonNull Activity activity) { final TaskFragmentContainer currentContainer = getContainerWithActivity( activity.getActivityToken()); if (currentContainer != null) { // Changes to activities in controllers are handled in // onTaskFragmentParentInfoChanged return; } // Check if activity requires a placeholder launchPlaceholderIfNecessary(activity); } /** * Returns a container that this activity is registered with. An activity can only belong to one * container, or no container at all. Loading Loading @@ -545,6 +559,10 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { } @Override public void onActivityPostCreated(Activity activity, Bundle savedInstanceState) { // Calling after Activity#onCreate is complete to allow the app launch something // first. In case of a configured placeholder activity we want to make sure // that we don't launch it if an activity itself already requested something to be Loading Loading @@ -575,5 +593,10 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @Override public void onActivityDestroyed(Activity activity) { } @Override public void onActivityConfigurationChanged(Activity activity) { SplitController.this.onActivityConfigurationChanged(activity); } } } Loading
core/java/android/app/Activity.java +13 −0 Original line number Diff line number Diff line Loading @@ -1539,6 +1539,17 @@ public class Activity extends ContextThemeWrapper getApplication().dispatchActivityPostDestroyed(this); } private void dispatchActivityConfigurationChanged() { getApplication().dispatchActivityConfigurationChanged(this); Object[] callbacks = collectActivityLifecycleCallbacks(); if (callbacks != null) { for (int i = 0; i < callbacks.length; i++) { ((Application.ActivityLifecycleCallbacks) callbacks[i]) .onActivityConfigurationChanged(this); } } } private Object[] collectActivityLifecycleCallbacks() { Object[] callbacks = null; synchronized (mActivityLifecycleCallbacks) { Loading Loading @@ -3028,6 +3039,8 @@ public class Activity extends ContextThemeWrapper // view changes from above. mActionBar.onConfigurationChanged(newConfig); } dispatchActivityConfigurationChanged(); } /** Loading
core/java/android/app/Application.java +17 −0 Original line number Diff line number Diff line Loading @@ -205,6 +205,13 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { */ default void onActivityPostDestroyed(@NonNull Activity activity) { } /** * Called when the Activity configuration was changed. * @hide */ default void onActivityConfigurationChanged(@NonNull Activity activity) { } } /** Loading Loading @@ -554,6 +561,16 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { } } /* package */ void dispatchActivityConfigurationChanged(@NonNull Activity activity) { Object[] callbacks = collectActivityLifecycleCallbacks(); if (callbacks != null) { for (int i = 0; i < callbacks.length; i++) { ((ActivityLifecycleCallbacks) callbacks[i]).onActivityConfigurationChanged( activity); } } } @UnsupportedAppUsage private Object[] collectActivityLifecycleCallbacks() { Object[] callbacks = null; Loading
libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitController.java +23 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,20 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen updateCallbackIfNecessary(); } private void onActivityConfigurationChanged(@NonNull Activity activity) { final TaskFragmentContainer currentContainer = getContainerWithActivity( activity.getActivityToken()); if (currentContainer != null) { // Changes to activities in controllers are handled in // onTaskFragmentParentInfoChanged return; } // Check if activity requires a placeholder launchPlaceholderIfNecessary(activity); } /** * Returns a container that this activity is registered with. An activity can only belong to one * container, or no container at all. Loading Loading @@ -545,6 +559,10 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { } @Override public void onActivityPostCreated(Activity activity, Bundle savedInstanceState) { // Calling after Activity#onCreate is complete to allow the app launch something // first. In case of a configured placeholder activity we want to make sure // that we don't launch it if an activity itself already requested something to be Loading Loading @@ -575,5 +593,10 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @Override public void onActivityDestroyed(Activity activity) { } @Override public void onActivityConfigurationChanged(Activity activity) { SplitController.this.onActivityConfigurationChanged(activity); } } }