OSDN Git Service

Fix multiple configuration changes in multiwindow
authorAndrii Kulian <akulian@google.com>
Thu, 7 Apr 2016 16:36:33 +0000 (09:36 -0700)
committerAndrii Kulian <akulian@google.com>
Fri, 8 Apr 2016 18:58:43 +0000 (11:58 -0700)
commit701214b2823e6d2ed87f9825ecec7cc164e1b7b5
tree4942966301c37c8e0594daae924aade54a70e137
parentb4e39f5b2fcb74259a0a33ac4ad3d07a0073204f
Fix multiple configuration changes in multiwindow

When in split-screen mode and activity handles configuration changes
it gets 2 onConfigurationChanged calls which originate from
ActivityManagerService#updateConfigurationLocked:
1. app.thread.scheduleConfigurationChanged calls to all process records
   send configuration of the whole screen for corresponding orientation,
   which leads to CONFIGURATION_CHANGED message in ActivityThread.
2. mStackSupervisor.resizeStackLocked call resizes both visible stacks and
   eventually ActivityThread receives ACTIVITY_CONFIGURATION_CHANGED
   message with correct configuration corresponding to space occupied in
   split-screen.

In this CL if component callback is an instance of Activity and it had
override config set - onConfigurationChanged will not be triggered unless
override config has changed.

Bug: 27948331
Change-Id: Ia73b045570b44eb5b351811bf6c4f63d78c3f909
core/java/android/app/ActivityThread.java