Establish the Activity which hosts Settings panels through the
PanelFragment. The Activity's purpose is to validate the intent
data coming in, including:
- Called with startActivityForResult (so we can log who is calling)
- Intent has the proper intent extra to link to a Panel
The fragment takes the Panelable data and builds a Settings Panel.
Each panel will have:
- Title
- List of Slices
- Link to underlying content
The Panelable interface is created to provide all of those datums, and
the new FetureProvider provides the Panelables by linking them with
keys. The keys will eventually become public APIs with CTS tests.For
now, we store them locally.
I included an exmaple panel, the InternetConnectivityPanel which
currently shows Wifi and Airplane mode.
Screenshot: https://screenshot.googleplex.com/c6sv7ZzQ5OJ
Bug: 117804089
Test: make -j40 RunSettingsRobotest
Test: Manual app
Change-Id: I1932f7179cc32088acd6413a736901ddf9651892
The index implementation is optional and left up to the OEM.
Test: Open settings, see content in index
Test: robo tests
Bug: 68378569
Bug: 76102600
Change-Id: Idb8bb1e0cabbbe92e7a852e2eadbdcd8c2ab7d56
This adds the "Me Card" page. The current functionality is to show
information based upon the first account added to the system. The page
shows the user's avatar, name, primary account, and phone number.
Bug: 63819909
Test: Robotest
Change-Id: I64bfae922e828994b2b87009d0647e67dab0da42
The indexing is done by taking the indexable fragments from
search, grabbing their XML via SearchIndexableResources, and
then looking for controllers defined in preferences.
For each controller found, we take the combination of the
fragment providing the XML and the Preference info to create
an indexable row.
Buiding a Slice will be handled in a subsquent CL, but a
prototype can be found here: ag/3324435
Test: robotests
Bug: 67996923
Change-Id: I48668618079bcc3da55ab77b7323ee8e467073af
allow us to enable/disable this feature from adb shell.
Bug: 62349208
Test: make RunSettingsRoboTests -j40
Change-Id: I2d0bed738d5d4cd0fe1de056ee37092d46be72b6
Add UI that lists enterprise set default apps for handling important intents
(opening browser, using camera, phone, etc).
Bug: 32692748
Test: m RunSettingsRoboTests
Change-Id: I75bb97d1b3728b1dcb90981b24d12edf510c4b04
Availability of the gesture is gated by a new FeatureProvider.
Test: make -j RunSettingsRoboTests; manual test on
supported/unsupported configurations.
Change-Id: I3529367a73e33370d5112b91d5144293ffa7fa22
Bug: 31002801
Test: make RunSettingsRoboTests
onResume will dynamically update injected security preferences with data
from the associated tiles.
Change-Id: Ibf46abdfcff27bd1b00729fe815c3cf3ace64e26
SearchFeatureProvider was holding on to a context and
outlived the SettingsActivity, thus leaking the activity.
The context was passed into most methods, and thus it
makes more sense to pass it in to every method.
Bug: 33677967
Test: Run MakeSettingsRoboTests
Change-Id: Ia82f30e7e0b83587b4baeef28e81da6b8e4303fe
It is now possible to create and show surveys to a user
asking them for feedback within the Settings app.
Test: JUnitTests
Bug: 27823357
Change-Id: I824899045f6ce30e5b6f46d20888da673114f658
This is the start of the new search in Settings. It is a nearly complete
replacement of the old search code in a more modular and flexible
architecture. It is expanding the datasources that it queries, including
the same Settings database, which will now include more first party apps
and be extended to support inline results where the user can change
settings directly from the search view. Search will also fan out to
query new sources (local or remote), and is built in a way
such that adding additional sources is roughly the same amount of work
had they been added in the initial writing of this code.
Query interpretation will now be source-dependant, allowing for future
upgrades to fuzzy search where it is applicable.
Change-Id: Ib0bac1fe92bf8a662d33abf9a99bb6ee2090ec8f
Fixes: 32115225, 32378927
Test: make RunSettingsRoboTests
This adds a new page to Settings which tells the user about his/her
privacy in light of enterprise management. The new page is only shown
on devices that have a Device Owner app set.
This CL adds a mostly blank page. Follow-up CLs will populate the page
with information about specific admin actions/policies.
The page's title ("Privacy"), icon and location in the Settings app are
tentative. The page will move to its final location once the new IA
redesign is finished.
Test: make RunSettingsRoboTests
BUG: 32692748
Change-Id: I5b5c08c0025207516b0779f54cf68234a4ba3fe4
- moved force stop and uninstall button to bottom of page (as footer)
- Forked appheader layout file, and created AppHeaderController to
contain all binding logic for header.
Bug: 32442716
Test: RunSettingsRoboTests
Change-Id: Id4eb365ca25e035c043c068867f5cbc3a202b201
Refactored getLocaleNames() into a FeatureProvider interface so it's
reusable and testable.
Bug: 31801428
Test: RunSettingsRoboTests
Change-Id: I2d31a66a4b32cfa7a364a4cfef1f6eea87084577
Also added a FakeFeatureFactory to make it easier to mock different
FeatureProviders.
Bug: 31781480
Test: make RunSettingsRoboTests
Change-Id: Ie45db601e0bec951d7ef983ec2e3ca747ec1c3af
Adding support to homepage category.
Test: SettingsRoboTests for regression. Will write tests for new feature
soon once we are set on the data structure.
Bug: 31781480
Change-Id: I25fa367fecb643f17e23f0182df7585bf1fcdd02
The feature provider contains API that controls whether a new
information architecture should be used. By default it's false.
Bug: 31768091
Test: make RunSettingsRoboTests
Change-Id: I5b177be418def50d877f53dc799e42d06eba95ec
- Renamed MetricsFractory to MetricsFeatureProvider, and access it using
FeatureFactory.
- Instead of containing exactly 1 logWriter, MetricsFeatureProvider now
contain a list.
- Added OnAttach event in Lifecycle. This is needed when a mixin
requires Context to initialize itself.
- Updated tests.
Bug: 29575437
Test: make RunSettingsRoboTests
Change-Id: I7cc1528b9a744cd40088701e2bd115f41a8bf744
The automatic storage management settings have been left in place
and updated to use the intent to get into the deletion helper.
Bug: 28965462
Change-Id: I736c8e741b519eceb89075b74d42b38c3aa5d0f4
This service runs once a day when plugged in when the device has
under 15% free space remaining. If the FeatureFactory has a
storage management job, it runs the job to begin to free up space
on the device.
This is a temporary landing place and will be refactored very
quickly out of Settings.
Bug: 28600825
Change-Id: Id2ebb42a333b3b4e3daef4e50cf985fe055b85c7
This overlay defines a checkbox preference in the deletion helper for
facilitating the deletion of photos and videos. The service which
provides deletion clearing can be overridden and used to create a
custom photo and video deletion helper.
Bug: 28554187
Bug: 28560856
Change-Id: Id5d9671a307aaac0d1331f055b8f2ab7aa67977c
Bug: 28141203
Bug: 28316618
Bug: 28316343
- Replaced hardcoded fragment layout with a RecyclerView. The old layout
was essentially building a list manually.
- Tweaked layout to look better.
- Hide escalation cards when there is no account. Show cards when
there is at least 1 account.
- Request an intent to start specified support type when card is
clicked.
- Monitor account changes so we can hide/show escalation cards when
add/remove account.
Change-Id: Ie48158b85ade1363a41817cc88b1193e0aef87ae
Creates the abstract class FeatureFactory and an AOSP implementation
called Factory.
Also creates a static library for generating logtags since we need to use the code generated
by the logtags in multiple packages now.
BUG: 27751878
Change-Id: I88d826333642d3efc252134c4facb7b1ca014f32
(cherry picked from commit 867bb9c07a)