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:
@@ -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