Make RefreshRateTracker to be injected by Dagger (11/n)
Bug: 361850561 Test: Manual Flag: EXEMPT Dagger Integration Change-Id: Ice5dc3364f90d2b9b99a0837702ae1d49a356f88
This commit is contained in:
@@ -23,6 +23,7 @@ import com.android.launcher3.util.DaggerSingletonTracker;
|
||||
import com.android.launcher3.util.PluginManagerWrapper;
|
||||
import com.android.launcher3.util.ScreenOnTracker;
|
||||
import com.android.launcher3.util.SettingsCache;
|
||||
import com.android.launcher3.util.window.RefreshRateTracker;
|
||||
import com.android.launcher3.widget.custom.CustomWidgetManager;
|
||||
|
||||
import dagger.BindsInstance;
|
||||
@@ -37,6 +38,7 @@ import dagger.BindsInstance;
|
||||
*/
|
||||
public interface LauncherBaseAppComponent {
|
||||
DaggerSingletonTracker getDaggerSingletonTracker();
|
||||
RefreshRateTracker getRefreshRateTracker();
|
||||
InstallSessionHelper getInstallSessionHelper();
|
||||
ScreenOnTracker getScreenOnTracker();
|
||||
SettingsCache getSettingsCache();
|
||||
|
||||
@@ -26,25 +26,34 @@ import android.view.Display;
|
||||
|
||||
import androidx.annotation.WorkerThread;
|
||||
|
||||
import com.android.launcher3.util.MainThreadInitializedObject;
|
||||
import com.android.launcher3.dagger.ApplicationContext;
|
||||
import com.android.launcher3.dagger.LauncherAppComponent;
|
||||
import com.android.launcher3.dagger.LauncherAppSingleton;
|
||||
import com.android.launcher3.util.DaggerSingletonObject;
|
||||
import com.android.launcher3.util.DaggerSingletonTracker;
|
||||
import com.android.launcher3.util.SafeCloseable;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
* Utility class to track refresh rate of the current device
|
||||
*/
|
||||
@LauncherAppSingleton
|
||||
public class RefreshRateTracker implements DisplayListener, SafeCloseable {
|
||||
|
||||
private static final MainThreadInitializedObject<RefreshRateTracker> INSTANCE =
|
||||
new MainThreadInitializedObject<>(RefreshRateTracker::new);
|
||||
private static final DaggerSingletonObject<RefreshRateTracker> INSTANCE =
|
||||
new DaggerSingletonObject<>(LauncherAppComponent::getRefreshRateTracker);
|
||||
|
||||
private int mSingleFrameMs = 1;
|
||||
|
||||
private final DisplayManager mDM;
|
||||
|
||||
private RefreshRateTracker(Context context) {
|
||||
@Inject
|
||||
RefreshRateTracker(@ApplicationContext Context context, DaggerSingletonTracker tracker) {
|
||||
mDM = context.getSystemService(DisplayManager.class);
|
||||
updateSingleFrameMs();
|
||||
mDM.registerDisplayListener(this, UI_HELPER_EXECUTOR.getHandler());
|
||||
tracker.addCloseable(this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user