summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Evan Laird <evanlaird@google.com> 2019-03-07 01:53:59 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-03-07 01:53:59 +0000
commit568a2e268f8191ca3ec8d122df964adbfc37f535 (patch)
tree7e356264d41fa215bc2e728c0db77855e22b0055
parentb32c31d1a9b48523952c019803591f0a425b9411 (diff)
parent4a47aeea7769c4df3e7995b76d1f52adca2fbc0b (diff)
Merge "One fewer DependencyProvider"
-rw-r--r--packages/SystemUI/src/com/android/systemui/Dependency.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/Dependency.java b/packages/SystemUI/src/com/android/systemui/Dependency.java
index f946cc103927..b7d19007cac2 100644
--- a/packages/SystemUI/src/com/android/systemui/Dependency.java
+++ b/packages/SystemUI/src/com/android/systemui/Dependency.java
@@ -191,7 +191,7 @@ public class Dependency extends SystemUI {
new DependencyKey<>(LEAK_REPORT_EMAIL_NAME);
private final ArrayMap<Object, Object> mDependencies = new ArrayMap<>();
- private final ArrayMap<Object, DependencyProvider> mProviders = new ArrayMap<>();
+ private final ArrayMap<Object, LazyDependencyCreator> mProviders = new ArrayMap<>();
@Inject Lazy<ActivityStarter> mActivityStarter;
@Inject Lazy<ActivityStarterDelegate> mActivityStarterDelegate;
@@ -510,7 +510,7 @@ public class Dependency extends SystemUI {
Preconditions.checkArgument(cls instanceof DependencyKey<?> || cls instanceof Class<?>);
@SuppressWarnings("unchecked")
- DependencyProvider<T> provider = mProviders.get(cls);
+ LazyDependencyCreator<T> provider = mProviders.get(cls);
if (provider == null) {
throw new IllegalArgumentException("Unsupported dependency " + cls
+ ". " + mProviders.size() + " providers known.");
@@ -520,7 +520,11 @@ public class Dependency extends SystemUI {
private static Dependency sDependency;
- public interface DependencyProvider<T> {
+ /**
+ * Interface for a class that can create a dependency. Used to implement laziness
+ * @param <T> The type of the dependency being created
+ */
+ private interface LazyDependencyCreator<T> {
T createDependency();
}