diff options
| author | 2019-03-07 01:53:59 +0000 | |
|---|---|---|
| committer | 2019-03-07 01:53:59 +0000 | |
| commit | 568a2e268f8191ca3ec8d122df964adbfc37f535 (patch) | |
| tree | 7e356264d41fa215bc2e728c0db77855e22b0055 | |
| parent | b32c31d1a9b48523952c019803591f0a425b9411 (diff) | |
| parent | 4a47aeea7769c4df3e7995b76d1f52adca2fbc0b (diff) | |
Merge "One fewer DependencyProvider"
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/Dependency.java | 10 |
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(); } |