In the past it's been a recommended approach to avoiding overdraw for
apps to set their window background to null at runtime if their
content view fully covers their window surface. The problem with this
is the IME.
The IME can force a resize of the window at unexpected times and
unless an app has been configured to fit system windows and manually
cover the padded area that the IME window covers, the asynchronous
nature of the IME-show process can leave surface buffer garbage
visible to the user. In previous platform versions this wasn't an
issue since pre-renderthread we would always animate a crossfade from
the closed to open state. This animation was always a bit of a hack
since it could break the contract of requestLayout/invalidate on the
view hierarchy - it could result in a draw happening into the saved
"before" state of the crossfade before a pending layout.
Now that this has been cleaned up the buffer garbage is sometimes
visible.
To prevent this, PhoneWindow now detects the state of a null window
background and draws solid rects into the area not covered by a
window's content. Which color is determined by the window context's
theme, though this is not a public API available to apps.
Bug 17006497
Change-Id: I714439a1608c4ae135f3d9d49bb165330d9fbe9f
ActionBarContainer was setting the bounds of its background assuming the
visibility of the ActionBarView. But that view becomes GONE when the
ActionBarContextView is visible, causing artifacts such as wrong shadows
when resized (as in custom configuration changes).
Issue #17280341 Quantum: drop shadow on CAB has wrong width after rotation on L, when configuration change is handled by the app
Change-Id: I07e57f00e27b41d5370cb9440b35734a8ec10f3a
- Add an explicit power manager call to set the low power mode state,
instead of trying manage everything around a single setting.
- When low-power mode is triggered by falling below the configured
threshold, it does not update the setting.
- The "is-enabled" api returns setting || below configured trigger.
- Move the snooze management into the new api call.
- Callers (sysui + settings) updated to use the api instead of the
setting.
- Handles the case where the level does an unpowered leap out of the
low battery level. (Possible if powered in-between while the device
is off)
Bug:17460535
Change-Id: Ic030504c9cad9868a7137abbe837b170da37852b
Sometimes the pipe has been closed when it's thread tries to access
E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: TransferPipe
E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.FileDescriptor android.os.ParcelFileDescriptor.getFileDescriptor()' on a null object reference
E AndroidRuntime: at com.android.internal.os.TransferPipe.run(TransferPipe.java:184)
E AndroidRuntime: at java.lang.Thread.run(Thread.java:818)
Change-Id: I0fcd4a3334b49972903f2cb0edb51323ba3f49e5
Previously the system tried to enable at least one auxiliary IME
even when the system is not ready. However, this doesn't make
much sense because the user should be able to set up their phone
without auxiliary IMEs. Also, IMEs enabled before the system
becomes ready are kept to be enabled after the system becomes
ready. Thus, we should minimize the number of enabled IMEs
until the system becomes ready.
BUG: 17347871
Change-Id: Ife93d909fb8a24471c425c903e2b7048826e17a3
Eliminates several field and method accesses by making the TypedArray
pool local to a single Resources object. Removes an unnecessary
synchronization.
ReadXmlAttrs averaged 0.069 ms/op before, 0.064 ms/op after.
BUG: 17484798
Change-Id: If790a5ba6596b47a04f117c8912974798a592052
- Changing package from android.telecomm to android.telecom
- Changing package from com.android.telecomm to
com.android.server.telecomm.
- Renaming TelecommManager to TelecomManager.
Bug: 17364651
Change-Id: I192cb5d189f55db012ea72ee82ccc5aedbc21638
On some devices, we want the screen off transition to complete before
we start dozing. Added a new config.xml attribute config_dozeAfterScreenOff
to configure this behavior.
Defer starting dreams until the display is ready.
Fixed some minor issues in the system UI doze service when setting the
display state.
Bug: 16187655
Change-Id: Ib1bc60de5457166f4b4880732db5df989dda67a4
This gets rid of the spam from the battery history, by not creating
an event unless the wall clock time has changed by more than
+/- 500ms.
We'll do the remaining work in MR1.
Change-Id: I8d1cc41b5504261033d3b0ccdcf9e7cf70df9d04
Delegate to libcore the responsibility of performing the necessary
actions upon a network configuration change, such as a DNS
configuration change. In the L-release, these responsibilities
now include flushing the HTTP connection pools to prevent connections
on lingering networks getting pulled from the pool inadvertently to
satisfy requests that should be going over the new network. All such
responsibilities can now be controlled and delegated by libcore's
new NetworkEventDispatcher, designed for this purpose.
bug:17314604
Change-Id: Ic796aea9d9a1f6ecb787fbdb38b3b7f5d991829b
The current hidden API is necessary to perform correct inset behavior
for support libraries like appcompat. Provide a public method
consistent with the new WindowInsets APIs.
Bug 17411097
Change-Id: I71a63eea0238b94cae6b5c6f1721d5567560ba81