Commit Graph

133 Commits

Author SHA1 Message Date
Evan Laird
18bd6e676d Only use "apply" when there are changes
ChannelEditorDialog now only uses the word "apply" when there are edits
to be made by pressing the button. Otherwise use "done"

Also removed ChannelEditorDialog from Dependency to allow for better
testing / initialization of the class

Test: atest ChannelEditorDialogControllerTest
Fixes: 138957374
Change-Id: Idc111ccb0bee50df65f4037d3e552b498e135660
2020-04-30 18:23:41 -04:00
Kevin Han
46f1013eb9 Combine AlertingManager and HeadsUpBindController
Previously, it was difficult to tell when a notification was inflated
before trying to show the heads up, and we got around it with a (now
flawed) heuristic based off if a notification was just inflated and
it has a heads up view.

This issue stems from having two control classes that are not really
communicating with each other. By combining these classes into one
heads up controller, the logic becomes more readable and we can directly
put a callback to show the HUN when the HUN content is inflated.

Bug: 149028421
Test: HUN smoke test
Change-Id: Ibb75597cfe26ccaf7e4d5247dc69d69bdf421ee6
2020-04-16 12:48:32 -07:00
Beverly Tai
d1e175c407 Create interface for NotifInterruptStateProvider
Take #2
Original CL disabled HUNs because NotificationAlertingManager was
removed from the StatusBar constructor (but never injected elsewhere;
therefore it was never instantiated).

bcb499478a

Test: atest SystemUITests
Bug: 151050224
Bug: 150797570
Change-Id: I601d58bfff4422bd0c52e56ebdb4192ce9a8f880
2020-03-11 21:11:18 +00:00
Beverly Tai
bcb499478a Revert "Create interface for NotifInterruptStateProvider"
Revert "Move HUNs and pulsing to interrupt package"

Revert submission 10548462-hun_interrupt_package
Fixes: b/151050224

Reason for revert: broke HUNs
Reverted Changes:
I5ad5546d6:Move HUNs and pulsing to interrupt package
I13be75809:Create interface for NotifInterruptStateProvider

Change-Id: I421a7906a87236fb18fc3d434d654fb18c35e6a2
2020-03-09 16:17:53 +00:00
Beverly
e73aea2e48 Create interface for NotifInterruptStateProvider
- Remove calls to Dependency.get(NotificationInterruptStateProvider)
- Fix style errors in touched kt files
- Remove some unused injects
- Adjust Car components to match new interface

Bug: 150797570
Test: atest SystemUITests
Change-Id: I13be75809831656bf7eaf136f18aaa8b9b6225d2
2020-03-06 13:49:18 -05:00
Ned Burns
aaeb44bf01 Migrate DumpController -> DumpManager
Unify "everything that needs to dump stuff" to use the DumpManager.

Test: atest, manual
Change-Id: Ib475aba4eeccb24bd49ab909896f7d779a8e1b04
2020-02-20 22:11:32 -05:00
Ned Burns
c7cfa69ffd Introduce DumpManager
Introduces DumpManager, a unified dumping system that supports dumping
at different priority levels.

Currently, when a bug report gets taken, SystemUI is only dumped during
the CRITICAL section. This has its advantages (we get to go first!) but
also imposes a strict limit on how much we can dump. To get around this
restriction, we need to *also* dump SystemUI during the NORMAL section,
which has much more forgiving constraints.

This CL simply creates the mechanism for systemUI to dump at different
priority levels, but doesn't actually cause us to participate in the
NORMAL section (yet, see later CLs).

It introduces the DumpManager, unified replacement for DumpController &
various logic in SystemUIService and Dependency.java. See kdoc in
DumpManager for usage notes.

Migration of current users of DumpController coming in a later CL.

Test: atest, manual
Change-Id: If4f41ed496c0c64024a83aad812b77f60fe27555
2020-02-20 22:11:19 -05:00
Evan Rosky
af9f27cdc2 SystemUI Split via TaskOrganizer
Use the early TaskOrganizer concepts to implement Split-screen
in system-ui.

This includes changes to both FW and SystemUI. The changes to
FW involve removing the use of split-screen specific behavior (like
minimize dock and direct ordering) and also reducing things that
care about primary vs secondary. It also changed ActivityStack
to inherit bounds from parent** when in split-mode so that sysui
only needs to manipulate the tile and/or reparent stacks to
effect their geometry.

This means a lot of layout logic moves to SystemUI. The bulk of
the work done in ActivityStack which is split-screen related is
moved into SplitDisplayLayout. This basically takes a snapshot of
display configuration and manages the sizes of splits and their
snap targets.

Intermediate dragging of divider bar now only moves root task leashes
around rather than talking to WM. This includes position as well
as crop (which used to be stack crop). Once the user releases
the divider bar, it will calculate (based on snaps) the new
root task sizes and update their configurations via
WindowContainerTransaction. Because the interim updates are only
on the leashes, no configuration updates occur until the end.

Entering/Exiting split-mode is now handled by SplitScreentaskOrganizer#
onTaskInfoChanged. This is effectively a state-machine that
looks at the current split task membership vs. previous and then decides
when to move things into/out-of split tasks and how to coordinate with the
DividerView.

Minimized dock is relegated to a purely system-ui concept. To
accomplish this, **the home *stack* is set to the minimizedhomebounds
by systemui. This means that it's relative position to its parent is
negative! This allows us to leave the split sizes constant, have
their children inherit the "actual" split sizes, but keep the
home stack unchanging in its minimized size. We just adjust the crop
negative to reveal it.

IME handling is done through the same mechanism as app-driven IME
animation... only Divider receives the control instead of the app.
This allows synchronized animation of split tasks with IME. To
account for insets, though, when IME is opened, the bottom stack
will be repositioned in WM.

Bug: 133381284
Test: Manual, use split-screen, rotate device, launch unresizable
      apps in split, use divider snap to close/maximize apps, etc.
Change-Id: I7133e151a1037c42b275b97857936437a7a6725f
2020-02-18 16:19:39 -08:00
Dave Mankoff
30a66e364f Remove final call to Dep.get(FalsingManager.class)
CarStatusBar had one last reference in its dump method.
FalsingManager, however, directly registers itself with the
DumpController, so this call is redundant.

Bug: 136279712
Test: atest SystemUITests
Change-Id: I3731e7ecac2f147e5d3967d4219f22d17e810843
2020-02-12 13:59:12 -05:00
Winson Chung
a4d446fd23 Merge "Minor refactoring to support moving code to shell" 2020-01-29 17:56:39 +00:00
Winson Chung
95c9fcacde Minor refactoring to support moving code to shell
Bug: 148148105
Test: atest SystemUITests
Change-Id: I8614fe50cb87f66b1e403dfbfe8a68d1e043bd13
2020-01-29 04:55:45 +00:00
Winson Chung
a657ac9ca5 Add initial SysUI trace support
Bug: 144854916
Test: Take a sysui trace
Change-Id: Ia8a87c8c6756ecbb77beb06a60d5b46b883ed8d9
t stat
2020-01-27 10:06:03 -08:00
Charles Chen
eb0ebddc1a Merge "Split status bar window (1/N)" 2020-01-20 17:23:36 +00:00
wilsonshih
e832194dd0 Split status bar window (1/N)
This is the first step to create another new window for status bar.

Small window => TYPE_STATUS_BAR: The bar on top of screen.
Large window => TYPE_NOTIFICATION_SHADE: Anything else.

Bug: 136993073
Test: build then flash
Test: atest WmTests SystemUITests
Test: atest RegisterStatusBarResultTest InsetsFlagsTest

Manual Test:
- Bouncer can show when leave showWhenLocked activity.
- StatusBar can show when comes HUN in fullscreen mode.
- StatusBar can play enter/leave animation in fullscreen mode.
- Able to drag notification panel when bubble/glow existing.
- Switch to market launcher, and run above tests.
- Drag notification panel from launcher several times and observe it
  works fine.

Change-Id: Id9f72cd0e21f01b50d57f02ea60f97c6460926b7
2020-01-17 15:33:56 +00:00
Beth Thibodeau
77c2545dd9 Add screen recording QS tile
Currently defaults to no taps, no audio. This adds a 3s countdown before
actually launching the recording, which can be stopped from either the
notification or the tile.

Bug: 137153302
Test: manual
Change-Id: I0e194dc8d43d8834e07e1f6d8de90a2c703a4c3a
2020-01-10 15:05:49 -05:00
Evan Rosky
8d782e0c01 IME to systemui
Re-route ime-control to SystemUI when it isn't driven by an app.

This allows multi-window system-ui components to synchronize
with the ime (eg. adjusting for split-screen).

Ime control goes through a new interface IDisplayWindowInsetsController.
This gets set on WM and there is only 1 per display. All of this
is currently handled in DisplayImeController which will also
drive the animation of the IME and dispatch to ImePositionProcessors.

On the server-side, InputMethodControlTarget is separated from
InputMethodTarget so that IME can be controlled by a different
client than the IME target.

Bug: 133381284
Test: Existing IME tests pass
Change-Id: I8e8ed2e09c45998c228df72e52a671fa327308f2
2020-01-08 10:34:40 -08:00
Dave Mankoff
71fca1a856 Remove Dependency.get(InitController.class)
Bug: 141882822
Test: atest SystemUITests
Change-Id: I3a7fbee69b08abffefc56b722c1753cb733eb528
2019-12-23 13:04:04 -05:00
Dave Mankoff
00e8a2fa8d Conslidate @MainHandler and similar to @Main (and similar).
@MainHandler, @MainLooper, @MainResources -> @Main
@BgHandler, @BgLooper -> @Background.

Also, move the providers for Handlers and Loopers into the
ConcurrencyModule.

Bug: 146510722
Test: atest SystemUITests
Change-Id: I991735e1fdca397784427409a2ae696a7374f584
2019-12-20 16:35:42 -05:00
Dave Mankoff
d5cf4cf73f Remove all Dependency.get(ActivityStarterDelegate.class) calls.
It was only called in StatusBar so that StatusBar could pass itself in.
Instead, inject StatusBar directly (as an Optional).

If we ever want a different implementation, we can handle that in the
future, but right now, StatusBar was the only one ever set.

Bug: 141882822
Test: atest SystemUITests
Change-Id: Ia23b8f678ea2ac0eb4e8114f700bf703f48740e7
2019-12-19 11:11:51 -05:00
Evan Rosky
22b6bbd8c5 Add support for SystemUI Window Management
Enables SystemUI to create/position its own ui elements.

First of all, this adds, to WM, the concept of a ShellRoot
which represents a piece of the hierarchy that a client shell can
do whatever it needs with. For now, multiple of these roots can
be registered at various "levels" (which correspond to window
types for now). This is needed because not everything will live
in this piece of the hierarchy, so handling z-order will still
be a shared effort between the Shell and WM for a while.

On the SystemUI side, a new Dependency called SystemWindows
provides simplistic window management for these system-ui
windows via WindowlessWindowManagers per-display-per-layer.
The benefit of this is that manipulation of these windows lives
entirely in SystemUI making synchronization easier and making
it possible to move a lot of the special handling code out
of wm (eg. DOCK_DIVIDER). As a result, SystemUI becomes
more customizable and WM becomes simpler.

Early clients of this are going to be display-level IME
handling and Split-screen.

Bug: 133381284
Test: manual test after later CLs
Change-Id: I1602d9b9b69d38b9ff15806e509cc8128c837748
2019-12-12 17:34:05 -08:00
Fabian Kozynski
228e310d19 Remove all Privacy chip classes.
Test: atest SystemUITests
Test: atest HistoricalAppopsTest
Test: adb shell device_config privacy permissions_hub_enabled true
Fixes: 144801684
Change-Id: I9c79ac6ac75b0197af0bfb6595b99a458916b761
2019-11-25 15:38:38 -05:00
Dave Mankoff
bba732de8a Remove Dependency.staticOnConfigurationChanged
ConfigurationChangedReceiver is removed. Classes that want to be
notified of configuration changes should implement
ConfigurationController.ConfigurationListener instead and register
themselves with the ConfigurationController.

Bug: 144782965
Test: atest SystemUITests
Change-Id: Id2c3fe5ae2729b181769fb31b8050da264299d72
2019-11-20 13:09:27 -05:00
Dave Mankoff
9b5ae1a3aa Dependency.get(BG_HANDLER) is dead. Long live @BgHandler.
Bug: 9755874
Test: atest SystemUITests
Change-Id: I3fd4f9e72e7917041786a4c823fe5824fa49916b
2019-11-19 17:43:12 -05:00
Evan Laird
181de6242c Remove NotificationData
Ye olde NotificationData class was responsible for a few general things:
- Keep a list of visible `NotificationEntry`s
- Filter / sort the visible entries
- Keep a sorted / filtered list of those entries
- Answer lots of questions about the entries themselves (rank,
isAmbient, list of entries for current user, etc.)
- Keep track of the current RankingMap
- Set priority buckets on entries
- Tell the group manager when things changed

The basic idea here is to remove NotificationData in favor of 3 other
changes:

1. Any place which needed to query NotificationData for info about the
entry (in particular its ranking) can just ask the entry for it now.
Entries all keep a reference to their rank

2. NotificationEntryManager now just maintains its own list of visible
notifications. It was already the point of contact to get a handle to
NotificationData so this makes call sites simpler.

3. Create a simpler NotificationRankingManager (maybe delete this
eventually) to encapsulate the sorting logic and hang on to the latest
RankingMap

Test: atest SystemUITests
Change-Id: I14073e103c6d50da37207ca8fd86828da0aaaff9
2019-11-13 15:46:06 -05:00
Evan Rosky
69cace4057 Give SystemUI a chance to participate in display rotation
This adds support for registering a single DisplayRotationController
to WMS. It gives a chance for the controller to suggest some
task changes to be executed along with a display rotation. There
is only one because it's a 2-way communication and there is only
intended to be one client for now.

This allows us to move Split and PiP presentation/layout logic out
of WM into systemui because WM no-longer needs to be the one
calculating the new bounds of everything during rotation.

This uses the windowcontainer transaction because all the
configuration changes and the display rotation need to happen
synchronously; otherwise, relayouts can occur after the display
is rotated, but before the configuration changes are applied.
When this happens, apps get incorrect bounds/insets which can
trigger erroneous lifecycle events in the app.

The flow is like this:
1. DisplayContent/Rotation freezes screen
2. DisplayRotationController is notified of a rotation and provided a
   callback.
3. The Controller then evaluates/queues some task changes in
   a transaction and, when done, fires the provided callback.
4. The callback applies the config change transaction and continues
   the rest of the rotation synchronously.

The DisplayWindowController is sys-ui piece that serves as an
interface between system-ui components and display-related wm
logic. For now it just facilitates the rotation calculation, but
in the future it will have more general utility for display logic
like inset/bounds calculation.

Bug: 124011688
Bug: 133381284
Test: Added some wmtests and coretests.
Change-Id: If10695f44fa076725ba17746842f6fbd64da5d20
2019-11-11 18:10:08 -08:00
Dave Mankoff
6c64d1f206 Final calls to getComponent(Recents.class) removed.
Had to reformat a block of code because linter was complaining.
Bug: 143972303
Test: atest SystemUITests
Change-Id: I96c163b09217671fcbd3f20133c3a13b696afc75
2019-11-11 12:47:59 -05:00
Dave Mankoff
4dd47fa597 Remove all calls to getComponent(StatusBar.class)
Bug: 143224715
Test: atest SystemUITests && manual
Change-Id: I349836eed9c1e988205681b93f86e967156f90a9
2019-11-11 11:04:51 -05:00
Dave Mankoff
bcaca8a6cd Remove all calls to getComponent(CommandQueue.class).
Makes AuthController, GlobalActionsComponent, InstantAppNotifier,
SizeCompatModeActivityController, and TvStatusBar all injectable.

Prior to this CL, CommandQueue contained within it a SystemUI object
that it used to start itself up and add itself to components. With
this change, the SystemUI object is no longer necessary, as Dagger
will ensure that a CommandQueue is available to those who need it.

Bug: 143702229
Test: atest SystemUITests

Change-Id: I2763a6d918b41fe27a2370fdd820da476654e14f
2019-11-01 14:59:11 -04:00
Dave Mankoff
f473681480 Move DI related coded into new dagger package.
This adds new Dagger qualifiers for BgHandler, BgLooper, MainHandler,
MainLooper, and MainResources, replacing the use of @Named for them.

Bug: 142954072
Test: atest  SystemUITests
Change-Id: Ibbda8998e587474c26740ba8d49a8b3f90d89efa
2019-10-21 17:52:31 -04:00
Dave Mankoff
2aff6c3952 Make DozeParameters, DozeFactory, DozeService, and ImageWallpaper injectable.
This adds providers for some of the system level objects that we rely
on as well.

A handful of calls for Dependency.get() have been removed in this
cl, (though others are added where necessary).

Bug: 142536902
Test: atest SystemUITests && manual
Change-Id: Id9cb62deba5229895d487803124dd115b7288466
2019-10-16 11:11:03 -04:00
Dave Mankoff
f44b13ad17 Remove view inflation when getting the running KeyguardBouncer.needsFullscreenBouncer.
The view is just proxying to an underyling object. Query the object directly.
Bug: 140059518
Test: atest SystemUITests.

Change-Id: I797f7c6a3d8734795d8a34a3709eaeed2e571dfa
2019-10-03 18:06:55 -04:00
Lucas Dupin
c8f16e803e Single source of truth for auth state
Merging UnlockMethodCache and KeyguardMonitor into KeyguardStateController,
making it injectable and introducing KeyguardStateController#isUnlocked
in order to make it easier to keep track of the lock screen state.

Test: atest SystemUiTests
Test: unlock with face, lock again
Test: unlock with password, lock again
Bug: 139363827
Change-Id: I37ac8c7826101852c61382559be9868125c15fac
2019-09-23 14:55:43 -07:00
Dave Mankoff
4ec9d02f08 Merge "Provide the ability to inject into Activities." 2019-09-19 14:15:29 +00:00
Dave Mankoff
eb593ae3ee Provide the ability to inject into Activities.
Mocks out KeyguardUpdateMonitor in all tests, as our unit
tests shouldn't care about it (unless they're testing it directly).

Bug: 140430268
Test: atest SystemUITests
Change-Id: I6a2b5231c434d0f26319090340b9c2a0e903f4b6
2019-09-18 15:59:43 -04:00
Dave Mankoff
63a1282b03 Make DozeSensors, DozeTriggers use ProximitySensor
This CL takes the features used in DozeSensors and applies
them to the publicly available util.sensors.ProximitySensor class.

It introduces a RateLimiter class for temprorarily suspending the
ProximitySensor as requested.

It introduces a ProximityCheck class for a quick, one time test
of the proximity sensor.

There is some reshuffling of Sensor related code to its own package
as well.

Bug: 141122220
Test: atest SystemUITests
Change-Id: If126be9a56c6966c1678ee70fa6f4623e51361a7
2019-09-18 11:25:43 -04:00
Hyunyoung Song
8f9d34cb5f [DO NOT MERGE] qt-qpr1-sysui-dev @ build 5814791
Test: presubmit setup on source branch

Bug: 130289146 Create a Gradle build for SystemUI
Bug: 136279712 Daggerize FalsingManager
Bug: 137324767 "Unable to instantiate service com.android.systemui.doze.DozeService" exception breaks launcher tests
Bug: 137563419 Remove Bouncer reveal delay from bypass flow
Bug: 138787339 Allow Services and Activities to be injected into directly.
Bug: 139128921 [AS 3.5 RC2, SDK API 29 rev 2] Overload resolution ambiguity: while removing element from HashMap
Bug: 64712476 Import translations for dev branches


Change-Id: Ib7fd4706c070907fd556c3532957f3b1b046de6d
2019-09-01 00:31:47 -07:00
Dave Mankoff
e229469af3 Fix the looper that KeyguardUpdateMonitor is using.
Bug: 139051615
Test: atest SystemUITests && atest SystemUIGoogleTests
Change-Id: Ic4dd5978001c208504c137cee41f363d7e70b1b5
2019-08-31 12:29:46 -04:00
Vinit Nayak
59b114e633 Extract SysUi state management out of OverviewProxyService
Move all sysUi state flag handling into a
separate class.

fixes: 138601608
Test: atest SysUiStateFlagsContainerTest
Checked that callbacks were being sent in
OPS, EdgeHandler and in Launcher codebase via
debugger.

Change-Id: Ie8f7ef2e647db88d244af1062eb95dbb69a46919
2019-08-26 20:07:42 -07:00
Fabian Kozynski
42f86a08f1 Universal Broadcast Receiver for SystemUI
Implements a UBR for SystemUI. All classes subscribing to Context should
subscribe here instead to reduce number of IPC into SystemUI.

Test: atest
Bug: 134566046

Change-Id: I6be24f62bd9b9b3a49a4efdf712e2e73c0d8d0ac
2019-08-13 13:38:39 -04:00
Selim Cinek
c3fec68900 Removed the AmbientPulseManager
We only want a single pulse manager since notifications
need to dynamically switch from pulsing to heads up
in the future.

Bug: 130327302
Change-Id: I0cbf23a69f33850776df81c4616932409670fe67
2019-06-11 13:58:02 -07:00
Fabian Kozynski
53ceaf677a DO NOT MERGE Revert "DO NOT MERGE Remove Privacy Indicators"
This reverts commit ec3e0ecaca.

Reason for revert: Re-enable Privacy Indicators in qt-r1-dev
Bug: 133257910

Change-Id: I7c778dd76c0aff3f483cf06f1dd96fd067145c12
2019-06-04 16:37:21 +00:00
Fabian Kozynski
9a560e068d DO NOT MERGE Remove Privacy Indicators
Bug: 133257910
Test: build and check that behavior is as P
Change-Id: I24bfc3806e2d12f6a1cc968d6979107e7002a3c4
2019-05-31 20:43:21 +00:00
Dave Mankoff
468d4f6f79 Add support for FalsingPlugin to supply a replacement FalsingManager.
Bug: 130256776
Test: Manual
Change-Id: Icdf150e6e23d216f04a9243fe57919aa622706d5
2019-05-10 12:14:27 -04:00
Evan Laird
47dc4546ec Create notification channel interstitial shelf
From NotificationGuts, tapping "Turn off notifications" will now present
a half-shelf allowing the user to directly block up to 4 channels (the
one given from the notification guts + up to 3 other channels from
that app) or the app itself.

Test: visual (for now)
Bug: 130307442
Fixes: 131432719
Change-Id: I7e82928dfd56b9e25e5bef02607eede55b11d9e3
2019-05-09 11:13:19 -04:00
Lucas Dupin
d7221351c6 Do not show padlock when charging
Also migrated DockManager to dagger

Bug: 123606744
Test: visual
Change-Id: I4061638fd0239fbd0b0b13da199dda4e6f7d166d
2019-04-30 09:42:23 -07:00
Winson Chung
1aa24b9b5e Ensure we get the right nav bar mode for the current user in sysui
- Load resources from the current user's context to ensure the right
  overlays are read
- Create a controller in sysui to dispatch mode change to prevent callers
  from calling with the wrong user's context
- Clean up the quickstep contract to prevent launcher from calling methods
  using the baked in fw resource ids

Bug: 130185871
Test: Switch to secondary user, ensure the mode is read correctly
Change-Id: I00d9276185777e340b3e758345a00d2e9b3e3e64
2019-04-24 16:51:26 -07:00
Winson Chung
e8e4bdba18 Add ability to dump specific dependency controller
Bug: 130804868
Test: adb shell dumpsys activity service SystemUIService Dependency OverviewProxyService
Change-Id: Ie88f62d0d0b17ded6f8ff5d3d850f1f444eed444
2019-04-18 17:13:52 +00:00
Fabian Kozynski
d67cffdba0 Adds a DumpController to SystemUI Dependencies
The DumpController allows any SystemUI Dumpable class to subscribe to it
and be dumped during dumpsys of Dependency.

Test: manual (dumpsys Dependency shows "DumpController state)
Test: atest DumpControllerTest
Bug: 129544734
Change-Id: If8d3ec667d99a523e5ae25db84173d9b04b6829c
2019-04-10 17:28:31 -04:00
Michael Groover
a51ea81f44 Add Sensors Off QS tile and display status bar icon when active
This CL will replace the SensorPrivacyTile with a new tile that can be
enabled from the developer settings. When this new tile is enabled only
the camera, mic, and sensors controlled by the SensorManager will be
disabled; the location and airplane mode tiles will not be modified.
The user will be notified when this tile is enabled with the sensors
off icon in the status bar.

Fixes: 126618519
Test: Manually verified airplane and location are not modified when sensors
      off is enabled; also verified icon is displayed when mode is active.

Change-Id: Iabf099d0d76c015015ce9859edc0b225ec554020
2019-03-20 11:48:23 -07:00
Evan Laird
4a47aeea77 One fewer DependencyProvider
`grep -r "(class|interface) DependencyProvider" returns 3 separate
entities claming to be DependencyProvider, which is a little confusing
and unnecessary. Privatized and renamed Dependency.DependencyProvider to
Dependency.LazyDependencyCreator, since I think that's a little bit
closer to what it is

Test: build systemui; atest SystemUITests
Change-Id: I2eed5be889b6c75324c2cf5cfef5d55827dbd8c5
2019-03-06 17:00:58 -05:00