tree 73099e5e498f255926348d6ee360c9eda5bc504c
parent 80466c081aef9724509f79c80bdc55c6165ccb19
author Andy Wickham <awickham@google.com> 1612217580 -0800
committer Andy Wickham <awickham@google.com> 1612223820 -0800

Allows a plugin Settings activity to designate plugins it supports.

The activity can add categories to its intent filter which
match the actions of the plugins it supports. The Settings
icon is only shown next to these plugins.

This is useful if an app (e.g. SupportApp) implements
multiple plugins which may each want their own settings.

Note: If any settings activity in an app specifies
categories of plugin it supports, any other settings
activities in the same app must also provide categories
of their plugins to disambiguate.

Test: Manually with SupportApp (including mix of plugins
with and without Settings activities) and AwarenessSpace
plugin (with a non-categorized settings activity).

Change-Id: If3ab7b5f7f916fd3f6b05b89cf1a22c9d21403cc
