- getting rid of blue glow (5529032)
- moving app icon position
- show message if there are no recent apps (5533332)
- fixing rare IllegalStateException on orientation change (5584344)
Change-Id: I2210e584957869c8f02339e6841daf39364a9dad
This fixes a problem where the alarm status was forced to scroll on phones
when the date string got too long. We now abbreviate the day on lock screen.
Change-Id: I99990f1568282c65fb6ed4e78d20bb31b3487a8e
Instead of trusting NTP time alone, use the most-conservative of
system clock and NTP.
Bug: 5584564
Change-Id: I5dd87fc009959b1cf0a7d660e385a0b1a8be238b
this flag should be enabled for all targets, but currently
some have issues with it, so we're turning it on only for
tested targets.
this will hopefully resolve some performance issues.
Bug: 5553562
Change-Id: I939992b4cd0debea980dec0127c72be2dff33af8
- don't advertise extensions that are not supported
by any implementation
- remove EGL_ANDROID_swap_rectangle which is not
implemented by anybody and confuses people
- add some comments about mandatory extensions
Bug: 5428001
Change-Id: Id8dc48116ac1d1eb79ec9ef55d03e29d4257c1f3
This change fixes race conditions that occur very regularly when
content providers are accessed from multiple threads at the same
time.
When a content provider is not already in the application's cache,
the application needs to ask the ActivityManager to obtain it.
Meanwhile, another thread can come along and do the same thing.
This can cause problems because the application attempts to
install two copies of the provider and the reference counts
and other bookkeeping can get muddled.
Similarly, there are races between releasing the last reference
to a content provider and acquiring the content provider. It's
possible for one thread to snatch the content provider from the
jaws of death. We need to handle this explicitly to ensure that
the content provider does not accidentally get released right
after it was acquired by the other thread.
This change ensures that the reference count bookkeeping and
provider map are maintained in parallel while holding the same lock.
Previously because the lock was dropped and reacquired in the
middle of acquisition and removal, it was possible for a
content provider with a zero reference count to be returned
to the application. Likewise, it was possible for a content
provider with a non-zero reference count to be disposed!
This change also performs compensatory actions when races are
detected to ensure that the necessary invariants are maintained
throughout. In particular, it ensures that the application
drops a duplicate reference to a content provider when no
longer needed.
Another way to solve this problem would be to explicitly prevent
the races from happening in the first place by maintaining a
table of content providers that are in the process of being
acquired. The first thread to attempt to acquire the provider
would store a record. The next thread would find the record
and block until the first thread was finished. I chose not
to implement the code in that manner because we would still
have needed to perform compensatory actions in the case where
the same provider binder has multiple logical names. Also,
it could cause deadlocks if the attempt to acquire
a content provider were re-entrant for some bizarre reason.
Bug: 5547357
Change-Id: I2ad39a8acc30aaf7ae5354decd0a0a41e9b9c3da
Fix a NullPointerException when sending a single-part SMS containing
characters in one of the enabled national language tables.
Also added a few log messages for several error cases to help with
debugging any future problems in the SMS dispatcher.
Bug: 5553544
Change-Id: I61c1cbe297b2e222027f0db7c833df6a03c2974a
...the "Complete action using" dialog
I have never been able to reproduce this consistently, but here is
another stab in the twilight. It looks like during boot we have
a potential race where we could reset the config sequence number after
we had gone through a config change, causing ActivityThread to ignore
a following config change. Maybe this change will help.
Change-Id: I4b731df5fd5c63894ca2e9bd34693b31ab1c0565
the code that validated EGL objects dereferenced the object
to access its EGLDisplay -- needed for validation (!).
This was wrong for two reasons, first we dereferenced the object
before validating it (potentially leading to a crash), secondly
we didn't validate that the object existed in the right EGLDisplay.
We now use the EGLDisplay passed by the user API.
Change-Id: I66f9e851d4f8507892a6b1fee3065f124c4e7138
Whenever a remote control stack entry is GC'd or removed from
the stack, unlink its death handler.
Change-Id: Ia4ed6667351849fd388272591e24ffc16959beaf
Some countries require phones to show "Emergency calls only" when
roaming on a device with no Sim. This changes causes the phone
to now display the PLMN string on devices that are voice-capable when
the sim is missing. This depends on the PLMN containing the text
"Emergency calls only" when the radio has connectivity to any carrier.
Otherwise, the PLMN is expected be null or empty which will cause the
device to just show "No SIM card."
Change-Id: I7c1d4624ae67074e2ca40161845ca8bb36031c42
Bug: 5533389
Treat layer scrolling as a no-op scroll by calling
onScrollChanged with old scroll == new scroll
Change-Id: I1dc2b94b37c65bf088806b8d28be32883e3b8bee
The existing action bar overlay decor layouts hit a case in
RelativeLayout that causes two measure passes for the main content. As
this can be expensive, stick the bar and the content overlay into
their own sub-layout and switch things to use a FrameLayout at the top
level instead.
Be explicit about the layout_width/height on ActionBar-containing
decor layouts as the older decor layouts are.
Change-Id: I4330f0f25841dd8058b94a320f93bf67fb56bf17
The new NFC Extras access control allows us to run these tests
without a vendor specific certificate.
Change-Id: I9425e08e557214cf6a74276622402c5682bbaef4