Commit Graph

10 Commits

Author SHA1 Message Date
TreeHugger Robot
157017c8a8 Merge "Make sure to synchronize on references to plugin dependencies" into oc-dev 2017-04-07 17:25:01 +00:00
Jason Monk
25f3db72a6 Make sure to synchronize on references to plugin dependencies
Test: make
Change-Id: I361cb3e4ac4ff5d19e2b0322531c8c614f5b7635
Fixes: 36867744
2017-04-06 14:41:00 -04:00
Jason Monk
d2e75262cc Tuner plugin settings updates
Test: manual
Fixes: 33446852
Change-Id: I05c046bb70dff66ea25531503216f121e6618a62
2017-04-06 11:24:20 -04:00
Jason Monk
6ab83ad110 Less cereal, more stable
Sometimes when the PluginManagerImpl got around to executing the
message it posts in the constructor, the next test would be initializing
the Dependencies and it would cause a crash. Clean up this whole
thing by making the looper injectable and the message runs at
a deterministic time.

Test: runtest systemui
Change-Id: I485d72aea22aa8f6c759012d54701af8a503681b
2017-03-23 14:52:17 -04:00
Jason Monk
340b0e5216 Move out test utilities to a Testables library
Test: runtest --path frameworks/base/tests/testablets/tests
        && runtest systemui

Change-Id: Ideef4aef5f26136b1741c556b9be5884f38842a0
2017-03-14 17:17:54 -04:00
Jason Monk
e5b770e47d Updated QS UI
- Adds footer to QS which contains the date/alarm info
   and all touch targets (settings, edit, etc.)
 - Swaps out emergency + carrier text on cell tile for a
   standard CarrierText from lock screen in the header
   to make the header only contain status info.
 - Add dividing line
 - Work on animations

Test: runtest systemui
Change-Id: I97dfea1b1ea7006b53eb61ac3a1f942c64dd282d
2017-03-04 20:02:09 -05:00
Jason Monk
702e2ebf9f Add plugin API for individual QS tiles
This will allow prototyping of individual QS tiles and/or their
visual representation without having to write a plugin for the
entire panel. This will allow quick iteration on QS UI + dual
target tiles.

Test: Install plugin using new API
Change-Id: I05ca9d9f5a200a1dad2c3582251a36edb5cb9aba
2017-03-04 16:01:26 -05:00
Jason Monk
ec34da8f6f Add method for plugins to reference global dependencies
The new annotation versioning system allows plugins to share common
global interfaces that can be versioned on their own. To facilitate
this add a static method for plugins to get a hold of dependencies.
To get any dependency a plugin must @Requires it so it can be version
checked.

Test: Plugin that uses the new call.
Change-Id: I8e01260f8fbc14465502d506a7aa08212795ad9b
2017-03-01 13:26:01 -05:00
Jason Monk
1d9632df97 New system for plugin + tuner integrations called extensions
An ExtensionController provides an easy way to say I need an
object of interface X. Then a plugin or a tuner factory can
actually provide X when needed or fallback to a default implementation.

Test: runtest systemui
Change-Id: I5e1b76def3c790d7f673867648ffeb13c4d0a829
2017-02-24 12:51:51 -05:00
Jason Monk
5bec68fbea New system for versioning sysui plugins
Use annotations to handle the multi-dimensionalness of interface
versions, but still maintain compile time inclusion of current
versions.

Test: runtest systemui
Change-Id: I0789a72112cf6630a6406f76020071c8a6d9e24c
2017-02-09 09:32:20 -08:00