Loading api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -3673,7 +3673,7 @@ package android.app { method public void onLowMemory(); method public boolean onMenuItemSelected(int, android.view.MenuItem); method public boolean onMenuOpened(int, android.view.Menu); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method public void onMultiWindowModeChanged(boolean); method public boolean onNavigateUp(); method public boolean onNavigateUpFromChild(android.app.Activity); Loading Loading @@ -45490,7 +45490,7 @@ package android.view { method public boolean onKeyUp(int, android.view.KeyEvent); method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -3799,7 +3799,7 @@ package android.app { method public void onLowMemory(); method public boolean onMenuItemSelected(int, android.view.MenuItem); method public boolean onMenuOpened(int, android.view.Menu); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method public void onMultiWindowModeChanged(boolean); method public boolean onNavigateUp(); method public boolean onNavigateUpFromChild(android.app.Activity); Loading Loading @@ -48947,7 +48947,7 @@ package android.view { method public boolean onKeyUp(int, android.view.KeyEvent); method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); api/test-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -3675,7 +3675,7 @@ package android.app { method public void onLowMemory(); method public boolean onMenuItemSelected(int, android.view.MenuItem); method public boolean onMenuOpened(int, android.view.Menu); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method public void onMultiWindowModeChanged(boolean); method public boolean onNavigateUp(); method public boolean onNavigateUpFromChild(android.app.Activity); Loading Loading @@ -45865,7 +45865,7 @@ package android.view { method public boolean onKeyUp(int, android.view.KeyEvent); method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); core/java/android/app/Activity.java +11 −6 Original line number Diff line number Diff line Loading @@ -1990,27 +1990,32 @@ public class Activity extends ContextThemeWrapper } } void dispatchMovedToDisplay(int displayId) { void dispatchMovedToDisplay(int displayId, Configuration config) { updateDisplay(displayId); onMovedToDisplay(displayId); onMovedToDisplay(displayId, config); } /** * Called by the system when the activity is moved from one display to another without * recreation. This means that this activity is declared to handle all changes to configuration * that happened when it was switched to another display, so it wasn't destroyed and created * again. This call will be followed by {@link #onConfigurationChanged(Configuration)} if the * applied configuration actually changed. * again. * * <p>This call will be followed by {@link #onConfigurationChanged(Configuration)} if the * applied configuration actually changed. It is up to app developer to choose whether to handle * the change in this method or in the following {@link #onConfigurationChanged(Configuration)} * call. * * <p>Use this callback to track changes to the displays if some activity functionality relies * on an association with some display properties. * * @param displayId The id of the display to which activity was moved. * @param config Configuration of the activity resources on new display after move. * * @see #onConfigurationChanged(Configuration) * @see View#onMovedToDisplay(int) * @see View#onMovedToDisplay(int, Configuration) */ public void onMovedToDisplay(int displayId) { public void onMovedToDisplay(int displayId, Configuration config) { } /** Loading core/java/android/app/ActivityThread.java +24 −18 Original line number Diff line number Diff line Loading @@ -4801,16 +4801,18 @@ public final class ActivityThread { * {@link ActivityClientRecord#overrideConfig}. * @param displayId The id of the display where the Activity currently resides. * @param movedToDifferentDisplay Indicates if the activity was moved to different display. * @return {@link Configuration} instance sent to client, null if not sent. */ private void performConfigurationChangedForActivity(ActivityClientRecord r, private Configuration performConfigurationChangedForActivity(ActivityClientRecord r, Configuration newBaseConfig, int displayId, boolean movedToDifferentDisplay) { r.tmpConfig.setTo(newBaseConfig); if (r.overrideConfig != null) { r.tmpConfig.updateFrom(r.overrideConfig); } performActivityConfigurationChanged(r.activity, r.tmpConfig, r.overrideConfig, displayId, movedToDifferentDisplay); final Configuration reportedConfig = performActivityConfigurationChanged(r.activity, r.tmpConfig, r.overrideConfig, displayId, movedToDifferentDisplay); freeTextLayoutCachesIfNeeded(r.activity.mCurrentConfig.diff(r.tmpConfig)); return reportedConfig; } /** Loading Loading @@ -4864,9 +4866,11 @@ public final class ActivityThread { * ActivityManager. * @param displayId Id of the display where activity currently resides. * @param movedToDifferentDisplay Indicates if the activity was moved to different display. * @return Configuration sent to client, null if no changes and not moved to different display. */ private void performActivityConfigurationChanged(Activity activity, Configuration newConfig, Configuration amOverrideConfig, int displayId, boolean movedToDifferentDisplay) { private Configuration performActivityConfigurationChanged(Activity activity, Configuration newConfig, Configuration amOverrideConfig, int displayId, boolean movedToDifferentDisplay) { if (activity == null) { throw new IllegalArgumentException("No activity provided."); } Loading Loading @@ -4897,7 +4901,7 @@ public final class ActivityThread { } if (!shouldChangeConfig && !movedToDifferentDisplay) { // Nothing significant, don't proceed with updating and reporting. return; return null; } // Propagate the configuration change to ResourcesManager and Activity. Loading @@ -4920,22 +4924,22 @@ public final class ActivityThread { activity.mConfigChangeFlags = 0; activity.mCurrentConfig = new Configuration(newConfig); // Apply the ContextThemeWrapper override if necessary. // NOTE: Make sure the configurations are not modified, as they are treated as immutable // in many places. final Configuration configToReport = createNewConfigAndUpdateIfNotNull(newConfig, contextThemeWrapperOverrideConfig); if (!REPORT_TO_ACTIVITY) { // Not configured to report to activity. return; return configToReport; } if (movedToDifferentDisplay) { activity.dispatchMovedToDisplay(displayId); activity.dispatchMovedToDisplay(displayId, configToReport); } if (shouldChangeConfig) { // Apply the ContextThemeWrapper override if necessary. // NOTE: Make sure the configurations are not modified, as they are treated as immutable // in many places. final Configuration configToReport = createNewConfigAndUpdateIfNotNull( newConfig, contextThemeWrapperOverrideConfig); activity.mCalled = false; activity.onConfigurationChanged(configToReport); if (!activity.mCalled) { Loading @@ -4943,6 +4947,8 @@ public final class ActivityThread { " did not call through to super.onConfigurationChanged()"); } } return configToReport; } public final void applyConfigurationToResources(Configuration config) { Loading Loading @@ -5115,10 +5121,10 @@ public final class ActivityThread { + r.activityInfo.name + ", displayId=" + displayId + ", config=" + data.overrideConfig); performConfigurationChangedForActivity(r, mCompatConfiguration, displayId, true /* movedToDifferentDisplay */); final Configuration reportedConfig = performConfigurationChangedForActivity(r, mCompatConfiguration, displayId, true /* movedToDifferentDisplay */); if (viewRoot != null) { viewRoot.onMovedToDisplay(displayId); viewRoot.onMovedToDisplay(displayId, reportedConfig); } } else { if (DEBUG_CONFIGURATION) Slog.v(TAG, "Handle activity config changed: " Loading @@ -5128,7 +5134,7 @@ public final class ActivityThread { // Notify the ViewRootImpl instance about configuration changes. It may have initiated this // update to make sure that resources are updated before updating itself. if (viewRoot != null) { viewRoot.updateConfiguration(); viewRoot.updateConfiguration(displayId); } mSomeActivitiesChanged = true; } Loading Loading
api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -3673,7 +3673,7 @@ package android.app { method public void onLowMemory(); method public boolean onMenuItemSelected(int, android.view.MenuItem); method public boolean onMenuOpened(int, android.view.Menu); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method public void onMultiWindowModeChanged(boolean); method public boolean onNavigateUp(); method public boolean onNavigateUpFromChild(android.app.Activity); Loading Loading @@ -45490,7 +45490,7 @@ package android.view { method public boolean onKeyUp(int, android.view.KeyEvent); method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -3799,7 +3799,7 @@ package android.app { method public void onLowMemory(); method public boolean onMenuItemSelected(int, android.view.MenuItem); method public boolean onMenuOpened(int, android.view.Menu); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method public void onMultiWindowModeChanged(boolean); method public boolean onNavigateUp(); method public boolean onNavigateUpFromChild(android.app.Activity); Loading Loading @@ -48947,7 +48947,7 @@ package android.view { method public boolean onKeyUp(int, android.view.KeyEvent); method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
api/test-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -3675,7 +3675,7 @@ package android.app { method public void onLowMemory(); method public boolean onMenuItemSelected(int, android.view.MenuItem); method public boolean onMenuOpened(int, android.view.Menu); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method public void onMultiWindowModeChanged(boolean); method public boolean onNavigateUp(); method public boolean onNavigateUpFromChild(android.app.Activity); Loading Loading @@ -45865,7 +45865,7 @@ package android.view { method public boolean onKeyUp(int, android.view.KeyEvent); method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method public void onMovedToDisplay(int); method public void onMovedToDisplay(int, android.content.res.Configuration); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
core/java/android/app/Activity.java +11 −6 Original line number Diff line number Diff line Loading @@ -1990,27 +1990,32 @@ public class Activity extends ContextThemeWrapper } } void dispatchMovedToDisplay(int displayId) { void dispatchMovedToDisplay(int displayId, Configuration config) { updateDisplay(displayId); onMovedToDisplay(displayId); onMovedToDisplay(displayId, config); } /** * Called by the system when the activity is moved from one display to another without * recreation. This means that this activity is declared to handle all changes to configuration * that happened when it was switched to another display, so it wasn't destroyed and created * again. This call will be followed by {@link #onConfigurationChanged(Configuration)} if the * applied configuration actually changed. * again. * * <p>This call will be followed by {@link #onConfigurationChanged(Configuration)} if the * applied configuration actually changed. It is up to app developer to choose whether to handle * the change in this method or in the following {@link #onConfigurationChanged(Configuration)} * call. * * <p>Use this callback to track changes to the displays if some activity functionality relies * on an association with some display properties. * * @param displayId The id of the display to which activity was moved. * @param config Configuration of the activity resources on new display after move. * * @see #onConfigurationChanged(Configuration) * @see View#onMovedToDisplay(int) * @see View#onMovedToDisplay(int, Configuration) */ public void onMovedToDisplay(int displayId) { public void onMovedToDisplay(int displayId, Configuration config) { } /** Loading
core/java/android/app/ActivityThread.java +24 −18 Original line number Diff line number Diff line Loading @@ -4801,16 +4801,18 @@ public final class ActivityThread { * {@link ActivityClientRecord#overrideConfig}. * @param displayId The id of the display where the Activity currently resides. * @param movedToDifferentDisplay Indicates if the activity was moved to different display. * @return {@link Configuration} instance sent to client, null if not sent. */ private void performConfigurationChangedForActivity(ActivityClientRecord r, private Configuration performConfigurationChangedForActivity(ActivityClientRecord r, Configuration newBaseConfig, int displayId, boolean movedToDifferentDisplay) { r.tmpConfig.setTo(newBaseConfig); if (r.overrideConfig != null) { r.tmpConfig.updateFrom(r.overrideConfig); } performActivityConfigurationChanged(r.activity, r.tmpConfig, r.overrideConfig, displayId, movedToDifferentDisplay); final Configuration reportedConfig = performActivityConfigurationChanged(r.activity, r.tmpConfig, r.overrideConfig, displayId, movedToDifferentDisplay); freeTextLayoutCachesIfNeeded(r.activity.mCurrentConfig.diff(r.tmpConfig)); return reportedConfig; } /** Loading Loading @@ -4864,9 +4866,11 @@ public final class ActivityThread { * ActivityManager. * @param displayId Id of the display where activity currently resides. * @param movedToDifferentDisplay Indicates if the activity was moved to different display. * @return Configuration sent to client, null if no changes and not moved to different display. */ private void performActivityConfigurationChanged(Activity activity, Configuration newConfig, Configuration amOverrideConfig, int displayId, boolean movedToDifferentDisplay) { private Configuration performActivityConfigurationChanged(Activity activity, Configuration newConfig, Configuration amOverrideConfig, int displayId, boolean movedToDifferentDisplay) { if (activity == null) { throw new IllegalArgumentException("No activity provided."); } Loading Loading @@ -4897,7 +4901,7 @@ public final class ActivityThread { } if (!shouldChangeConfig && !movedToDifferentDisplay) { // Nothing significant, don't proceed with updating and reporting. return; return null; } // Propagate the configuration change to ResourcesManager and Activity. Loading @@ -4920,22 +4924,22 @@ public final class ActivityThread { activity.mConfigChangeFlags = 0; activity.mCurrentConfig = new Configuration(newConfig); // Apply the ContextThemeWrapper override if necessary. // NOTE: Make sure the configurations are not modified, as they are treated as immutable // in many places. final Configuration configToReport = createNewConfigAndUpdateIfNotNull(newConfig, contextThemeWrapperOverrideConfig); if (!REPORT_TO_ACTIVITY) { // Not configured to report to activity. return; return configToReport; } if (movedToDifferentDisplay) { activity.dispatchMovedToDisplay(displayId); activity.dispatchMovedToDisplay(displayId, configToReport); } if (shouldChangeConfig) { // Apply the ContextThemeWrapper override if necessary. // NOTE: Make sure the configurations are not modified, as they are treated as immutable // in many places. final Configuration configToReport = createNewConfigAndUpdateIfNotNull( newConfig, contextThemeWrapperOverrideConfig); activity.mCalled = false; activity.onConfigurationChanged(configToReport); if (!activity.mCalled) { Loading @@ -4943,6 +4947,8 @@ public final class ActivityThread { " did not call through to super.onConfigurationChanged()"); } } return configToReport; } public final void applyConfigurationToResources(Configuration config) { Loading Loading @@ -5115,10 +5121,10 @@ public final class ActivityThread { + r.activityInfo.name + ", displayId=" + displayId + ", config=" + data.overrideConfig); performConfigurationChangedForActivity(r, mCompatConfiguration, displayId, true /* movedToDifferentDisplay */); final Configuration reportedConfig = performConfigurationChangedForActivity(r, mCompatConfiguration, displayId, true /* movedToDifferentDisplay */); if (viewRoot != null) { viewRoot.onMovedToDisplay(displayId); viewRoot.onMovedToDisplay(displayId, reportedConfig); } } else { if (DEBUG_CONFIGURATION) Slog.v(TAG, "Handle activity config changed: " Loading @@ -5128,7 +5134,7 @@ public final class ActivityThread { // Notify the ViewRootImpl instance about configuration changes. It may have initiated this // update to make sure that resources are updated before updating itself. if (viewRoot != null) { viewRoot.updateConfiguration(); viewRoot.updateConfiguration(displayId); } mSomeActivitiesChanged = true; } Loading