diff options
author | Steven Laver <lavers@google.com> | 2019-11-05 13:42:59 -0800 |
---|---|---|
committer | Steven Laver <lavers@google.com> | 2019-11-09 01:16:30 +0000 |
commit | 7c6cc72e18cc1df5205fd2bc47664e6cc2534ad2 (patch) | |
tree | fc34e4ad6037cf231cccc3b56ccd13e82917520a /packages/SystemUI/src/com/android/systemui/ContextComponentResolver.java | |
parent | 8f4f93bf3ba75d8e83cb0a8618cb80f226ada5ac (diff) | |
parent | da5e1bd24a9a0ca24e7e49fad9e604409e573376 (diff) |
Merge RP1A.191024.001
Change-Id: I5cda3bba276e99d948b752be87d4599e9f882e0f
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/ContextComponentResolver.java')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/ContextComponentResolver.java | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/ContextComponentResolver.java b/packages/SystemUI/src/com/android/systemui/ContextComponentResolver.java deleted file mode 100644 index 995263240e2d..000000000000 --- a/packages/SystemUI/src/com/android/systemui/ContextComponentResolver.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (C) 2019 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui; - -import android.app.Activity; -import android.app.Service; - -import java.util.Map; - -import javax.inject.Inject; -import javax.inject.Provider; -import javax.inject.Singleton; - -/** - * Used during Service and Activity instantiation to make them injectable. - */ -@Singleton -public class ContextComponentResolver implements ContextComponentHelper { - private final Map<Class<?>, Provider<Activity>> mActivityCreators; - private final Map<Class<?>, Provider<Service>> mServiceCreators; - private final Map<Class<?>, Provider<SystemUI>> mSystemUICreators; - - @Inject - ContextComponentResolver( - Map<Class<?>, Provider<Activity>> activityCreators, - Map<Class<?>, Provider<Service>> serviceCreators, - Map<Class<?>, Provider<SystemUI>> systemUICreators) { - mActivityCreators = activityCreators; - mServiceCreators = serviceCreators; - mSystemUICreators = systemUICreators; - } - - /** - * Looks up the Activity class name to see if Dagger has an instance of it. - */ - @Override - public Activity resolveActivity(String className) { - return resolve(className, mActivityCreators); - } - - /** - * Looks up the Service class name to see if Dagger has an instance of it. - */ - @Override - public Service resolveService(String className) { - return resolve(className, mServiceCreators); - } - - /** - * Looks up the SystemUI class name to see if Dagger has an instance of it. - */ - @Override - public SystemUI resolveSystemUI(String className) { - return resolve(className, mSystemUICreators); - } - - private <T> T resolve(String className, Map<Class<?>, Provider<T>> creators) { - try { - Class<?> clazz = Class.forName(className); - Provider<T> provider = creators.get(clazz); - return provider == null ? null : provider.get(); - } catch (ClassNotFoundException e) { - return null; - } - } -} |