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
* Add TelecommManager.getCallState (hidden API)
* Make TelephonyManager.getCallState call through to
TelecommManager, to be consistent with
TelephonyManager.ACTION_PHONE_STATE_CHANGED broadcasts for
overall call state. Telephony continues to manage call states for
individual subscriptions.
Bug: 17378767
Change-Id: Ia5e8b21df801ed3af4f6e14c110a72c92f077f88
To implement the new gel-cap shaped ripple I resurrected the
onDraw and setPressed methods from the KitKat implementation.
The KitKat animation timings were adjusted to match the material
ripple, but the structure of the animators is the same as KitKat.
Since the new ripple is drawn directly to the canvas, the references
to the KitKat background image were removed.
The LogInterpolator is copied from the framework Ripple
to match the material animation curves.
Bug: 17112935
Change-Id: If6a3eb92de794b526338166bf8cb096eb9764cf6
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
500 msec is apparently not enough time to push the pixels around on
a Volantis (or Manta, or occasionally Deb). Increasing the timeout
eliminates turning the screen on before the surface is completely
drawn.
Optimizing the drawing path so that we can return the timeout to
500ms has been filed as b/17496306.
Fixes bug 16849724.
Change-Id: Ic0fca68bc41caa67dba973b5c40915756dc4730f
If a display is removed right after it is added we will get null
when trying to retrieve it from the DisplayManager. Check for that
null before commiting to using that display.
Fixes bug 17478906.
Change-Id: I89ae8cc7387729d678b9b1ed5b1797a93cdde3f9
- 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
ActivityManager still thinks the device is going to sleep, so
any Activity started while the lockscreen is showing is immediately
stopped. When Keyguard calls ActivityManager.keyguardWaitingForActivityDraw(),
then we must make sure that the ActivityManager thinks we are not sleeping.
Bug:17459745
Change-Id: I5c45c88e3a72e1f08e1b32101d0d0b4675f7a5ff
A recent bug fix exposed another one where we were not updating
the internal state of the remote print document after it finishes
updating. This resulted in a crash on every print.
bug:16966145
Change-Id: I398ff7976533241e3d4cb6cd27f69cdc25e67be9
- Added the prefix 'persist.sys.' to pass selinux and to make the
properties persistent after reboot.
- Shortened the name to fit the length to 31.
- Got together the properties in the near place.
Bug: 17491732
Change-Id: I051f1bacc51ee372806077159020600ffeb30f48
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