It is possible for an activity to be in the stopped state without setting it's visiblility to false in window manager. For example, the home acitivty behind the lock screen. Since the lock screen isn't an activity it doesn't affect the visiblity set of the home activity, so AM doesn't tell WM to hide the app token. However, AM uses another channel to detect that the device is locked and moves the activity into stopped state. WM on the other hand also detects that the device is locked and hides the window surfaces of all windows behind the lock screen. So, at this point AM has also told WM that the activity is stopped. Once you unlock the screen AM resumes the activity but doesn't report any visiblility changes to WM since it's internal state didn't change. So, if you go from the home activity to another app the home activity window will be destroyed before the activity is stopped because mAppStopped is set to true. We now set mAppStopped to false when the activity is resumed. Bug: 27286867 Change-Id: Ic75456d30abd582fa44f932f5aeeb449950157ee
Layoutlib is a custom version of the android View framework designed to run inside Eclipse. The goal of the library is to provide layout rendering in Eclipse that are very very close to their rendering on devices. None of the com.android.* or android.* classes in layoutlib run on devices.