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:
Anushree Ganjam
2024-10-21 16:59:11 -07:00
parent 76fa57f418
commit bb996d1304
2 changed files with 15 additions and 4 deletions
@@ -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);
}
/**