Merge "Cleanup GlobalModule." into tm-dev
This commit is contained in:
@@ -19,9 +19,13 @@ package com.android.systemui.dagger;
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.UiEventLogger;
|
||||
import com.android.internal.logging.UiEventLoggerImpl;
|
||||
import com.android.internal.util.NotificationMessagingUtil;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@@ -32,14 +36,14 @@ import dagger.Provides;
|
||||
public class AndroidInternalsModule {
|
||||
/** */
|
||||
@Provides
|
||||
@SysUISingleton
|
||||
@Singleton
|
||||
public LockPatternUtils provideLockPatternUtils(Context context) {
|
||||
return new LockPatternUtils(context);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
@SysUISingleton
|
||||
@Singleton
|
||||
public MetricsLogger provideMetricsLogger() {
|
||||
return new MetricsLogger();
|
||||
}
|
||||
@@ -50,4 +54,10 @@ public class AndroidInternalsModule {
|
||||
return new NotificationMessagingUtil(context);
|
||||
}
|
||||
|
||||
/** Provides an instance of {@link com.android.internal.logging.UiEventLogger} */
|
||||
@Provides
|
||||
@Singleton
|
||||
static UiEventLogger provideUiEventLogger() {
|
||||
return new UiEventLoggerImpl();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@ import dagger.Module;
|
||||
*/
|
||||
@Deprecated
|
||||
@Module(includes = {
|
||||
AndroidInternalsModule.class,
|
||||
BroadcastDispatcherModule.class,
|
||||
LeakModule.class,
|
||||
NightDisplayListenerModule.class,
|
||||
|
||||
@@ -90,6 +90,7 @@ import com.android.internal.util.LatencyTracker;
|
||||
import com.android.systemui.Prefs;
|
||||
import com.android.systemui.dagger.qualifiers.DisplayId;
|
||||
import com.android.systemui.dagger.qualifiers.Main;
|
||||
import com.android.systemui.dagger.qualifiers.TestHarness;
|
||||
import com.android.systemui.shared.system.PackageManagerWrapper;
|
||||
|
||||
import java.util.Optional;
|
||||
@@ -443,6 +444,13 @@ public class FrameworkServicesModule {
|
||||
return context.getSystemService(TelephonyManager.class);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
@TestHarness
|
||||
static boolean provideIsTestHarness() {
|
||||
return ActivityManager.isRunningInUserTestHarness();
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
static TrustManager provideTrustManager(Context context) {
|
||||
|
||||
@@ -16,23 +16,15 @@
|
||||
|
||||
package com.android.systemui.dagger;
|
||||
|
||||
import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.Display;
|
||||
|
||||
import com.android.internal.logging.UiEventLogger;
|
||||
import com.android.internal.logging.UiEventLoggerImpl;
|
||||
import com.android.systemui.dagger.qualifiers.TestHarness;
|
||||
import com.android.systemui.dagger.qualifiers.UiBackground;
|
||||
import com.android.systemui.dagger.qualifiers.Application;
|
||||
import com.android.systemui.plugins.PluginsModule;
|
||||
import com.android.systemui.unfold.UnfoldTransitionModule;
|
||||
import com.android.systemui.util.concurrency.GlobalConcurrencyModule;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@@ -52,43 +44,29 @@ import dagger.Provides;
|
||||
* Please use discretion when adding things to the global scope.
|
||||
*/
|
||||
@Module(includes = {
|
||||
AndroidInternalsModule.class,
|
||||
FrameworkServicesModule.class,
|
||||
GlobalConcurrencyModule.class,
|
||||
UnfoldTransitionModule.class,
|
||||
PluginsModule.class,
|
||||
})
|
||||
public class GlobalModule {
|
||||
/**
|
||||
* TODO(b/229228871): This should be the default. No undecorated context should be available.
|
||||
*/
|
||||
@Provides
|
||||
@Application
|
||||
public Context provideApplicationContext(Context context) {
|
||||
return context.getApplicationContext();
|
||||
}
|
||||
|
||||
/** */
|
||||
/**
|
||||
* @deprecated Deprecdated because {@link Display#getMetrics} is deprecated.
|
||||
*/
|
||||
@Provides
|
||||
public DisplayMetrics provideDisplayMetrics(Context context) {
|
||||
DisplayMetrics displayMetrics = new DisplayMetrics();
|
||||
context.getDisplay().getMetrics(displayMetrics);
|
||||
return displayMetrics;
|
||||
}
|
||||
|
||||
/** Provides an instance of {@link com.android.internal.logging.UiEventLogger} */
|
||||
@Provides
|
||||
@Singleton
|
||||
static UiEventLogger provideUiEventLogger() {
|
||||
return new UiEventLoggerImpl();
|
||||
}
|
||||
|
||||
@Provides
|
||||
@TestHarness
|
||||
static boolean provideIsTestHarness() {
|
||||
return ActivityManager.isRunningInUserTestHarness();
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide an Executor specifically for running UI operations on a separate thread.
|
||||
*
|
||||
* Keep submitted runnables short and to the point, just as with any other UI code.
|
||||
*/
|
||||
@Provides
|
||||
@Singleton
|
||||
@UiBackground
|
||||
public static Executor provideUiBackgroundExecutor() {
|
||||
return Executors.newSingleThreadExecutor();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* 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.dagger.qualifiers;
|
||||
|
||||
import static java.lang.annotation.RetentionPolicy.RUNTIME;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.Retention;
|
||||
|
||||
import javax.inject.Qualifier;
|
||||
|
||||
/**
|
||||
* Used to qualify a context as {@link Context#getApplicationContext}
|
||||
*/
|
||||
@Qualifier
|
||||
@Documented
|
||||
@Retention(RUNTIME)
|
||||
public @interface Application {
|
||||
}
|
||||
@@ -21,9 +21,11 @@ import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
|
||||
import com.android.systemui.dagger.qualifiers.Main;
|
||||
import com.android.systemui.dagger.qualifiers.UiBackground;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
@@ -72,6 +74,18 @@ public abstract class GlobalConcurrencyModule {
|
||||
return new Handler();
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide an Executor specifically for running UI operations on a separate thread.
|
||||
*
|
||||
* Keep submitted runnables short and to the point, just as with any other UI code.
|
||||
*/
|
||||
@Provides
|
||||
@Singleton
|
||||
@UiBackground
|
||||
public static Executor provideUiBackgroundExecutor() {
|
||||
return Executors.newSingleThreadExecutor();
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide a Main-Thread Executor.
|
||||
*/
|
||||
@@ -92,7 +106,6 @@ public abstract class GlobalConcurrencyModule {
|
||||
return new ExecutorImpl(looper);
|
||||
}
|
||||
|
||||
|
||||
/** */
|
||||
@Binds
|
||||
@Singleton
|
||||
|
||||
Reference in New Issue
Block a user