5bec68fbea1a02d7debc2eeeaf01b9478de216e5 |
|
09-Feb-2017 |
Jason Monk <jmonk@google.com> |
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
/frameworks/base/packages/SystemUI/src/com/android/systemui/PluginInflateContainer.java
|
de850bbcaa61c1874b803f2086443febbafd81a4 |
|
02-Feb-2017 |
Jason Monk <jmonk@google.com> |
Fix leaks in sysui Add support for testing for PluginManager and TunerService leaks and add tests for the known leaks and fix them. Also port PluginManager and TunerService to Dependency to make them easier to handle in tests. Test: runtest systemui Change-Id: I5642539ee24dd72f802905106decd0c87b41b4eb Fixes: 34846972
/frameworks/base/packages/SystemUI/src/com/android/systemui/PluginInflateContainer.java
|
20ff3f9255c86a3747aa55746788d4bde1d12753 |
|
09-Jan-2017 |
Jason Monk <jmonk@google.com> |
SysUI fragments: Integrate new support for constructing Use a new system for constructing fragments so they can be swapped out in place maintaining state. This will allow easier integration with plugin lifecycle as parents who have child plugin fragments can depend on the class existing and won't have to listen to the lifecycle. Test: runtest systemui Change-Id: I517f4ce3d114abd49b1b5baca388d19e929b8f90
/frameworks/base/packages/SystemUI/src/com/android/systemui/PluginInflateContainer.java
|
beda2ddbec2f32adeba20d562a53bb3dd83b902d |
|
18-Aug-2016 |
Jason Monk <jmonk@google.com> |
Add PluginInflateContainer PluginInflateContainer extends AutoReinflateContainer, except that it also uses the plugin interface to allow the view to be swapped out with something else. Define an interface or abstract class as follows that includes the version and action. public interface MyInterface { public static final String ACTION = "com.android.systemui.action.PLUGIN_MYINTERFACE"; public static final int VERSION = 1; void myImportantInterface(); } Then put in a PluginInflateContainer to use and specify the interface or class that will be implemented as viewType. The layout specified will be used by default and whenever a plugin is not present. <com.android.systemui.PluginInflateContainer android:id="@+id/some_id" android:layout_width="match_parent" android:layout_height="match_parent" android:layout="@layout/my_default_component" systemui:viewType="com.android.systemui.plugins.MyInterface" /> Test: Manual Change-Id: I2ef3fa8dbe344c4635df20056182c1c0b3846fdf
/frameworks/base/packages/SystemUI/src/com/android/systemui/PluginInflateContainer.java
|