The boot loop was seen after I65e220aca823fd815a52437b11c8e6dc952de8e2
but only on Android Wear. On Android Wear, some font files are missing
but are listed in fonts.xml. Before that patch, we created a Typeface
object with an empty FontFamily even if there was no valid font entry
in font-family tag. However, after that patch, FontFamily stopped
creating native objects and holds a null pointer instead. As the
result, SIGSEGV happens.
The right fix is skipping Typeface creation if native code failed to
create the font family object.
Since Typeface.init cannot be called twice, this is hard to test
automatically.
Bug: 37328609
Bug: 37326002
Test: Boot succeeded even after removing CutiveMono.ttf from system.
Change-Id: I125de07343252784986d728c3bbaa46b24ace601
Changes inline with bug number
Some improvements about SensorDirectChannel class.
* Complete the doc about creation of SensorDirectChannel object.
* Make SensorDirectChannel implements java.nio.channels.Channel.
* Change isValid() to isOpen().
* Make close() thread safe.
Bug: 36550285
* Throw exception on failure of SensorManager.createDirectChannel.
* Change to use NullPointerException when unexpected null pointer
is passed in.
Bug: 36555061
* Move SensorManager.configureDirectChannel() to
SensorDirectChannel.configure().
* Format SensorDirectChannel.configure() function doc with
<pre></pre> to maintain the table structure.
* Reworded Sensor.isDirectChannelTypeSupported java doc.
Bug: 36555604
Test: pass updated cts SensorDirectReportTest
Change-Id: I447121eaf414cbc94292a109a9d93d2e3c89f8f4
Our native code uses floats for transfer parameters, the range
check was too small (using the next representable double instead
of the next representable float).
Bug: 37013532
Test: Manual run of broken app, CtsGraphicsTestCases
Change-Id: Id91a3e62068be0abf13ee75e39c758eb106a5f24
Make sure that users of StringPool are destroyed before
the StringPool itself.
Test: valgrind aapt2 optimize -o opt.apk out/target/common/obj/APPS/framework-res_intermediates/package-export.apk
Change-Id: I140c2d32f8449028976795d5d6865d83e1409b53
When the accessibility volume is enabled, its value wasn't persisted
when changed because it was still using the persisting name from
its alias (music).
When enabled, notiify the volume controller that a11y volume has
changed so the UI also reflects the new value, now updated from
the persisted settings.
Do not persist volumes for streams that don't have a setting name.
Test: enable Talkback, set a11y volume at a different level than media \
then disable Talkback. Reboot and enable Talkback, verify a11y is \
restored.
Bug: 36286073
Change-Id: Ic6c30364e164b856fc10fbf6b22c09a7b5561be1
Added background times and counts for an app's sync usage.
Bug: 35669746
Test: runtest -x
frameworks/base/core/tests/coretests/src/com/android/internal/os/BatteryStatsTests.java
Change-Id: I1c01c5044064277b97e8d330386454da3e8204da
It should have been in PhoneStatusBarPolicy, since it wasn't it
wouldn't listen until something else touched the LocationController
like QS.
Test: Open app that uses location
Change-Id: I70d1aff2a1c9bf7be53aeb72ba285b49d98c5362
Fixes: 36747248
This is just an internal API in the platform, not (yet?) available
in the SDK. But it will be useful for system services that want to
clean up state if a pending intent that has been registered with them
is canceled (either explicitly by the app, through the app being
uninstalled, etc).
Also improve the activity manager's dump of pending intents to
organize them by package, making it much easier to read (now that
we have so many active pending intents these days).
Test: ran and booted. no CTS, since no API.
Change-Id: Iad029cfedcd77e87357eca7da1b6ae94451dd981
Prior CL didn't lock properly and would still fail if a
notification was both enqueued and posted at the same time.
Test: runtest systemui-notification
Change-Id: I1bdd779ecb872f1a02ffc38b6007239eb522b521
Fixes: 36550043