aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authornchalko <nchalko@google.com>2019-06-05 10:12:31 -0700
committerNick Chalko <nchalko@google.com>2019-06-05 10:51:54 -0700
commitaa9d792580ba39035a46b70162b5d2d6e49929ad (patch)
tree2922e32f2f33ca6cdf100faf7ff8617a59f058e1 /common
parent41b2f7a1eb676da16d811dc16f975bc7327b014c (diff)
downloadTV-aa9d792580ba39035a46b70162b5d2d6e49929ad.tar.gz
Inject StorageManager
PiperOrigin-RevId: 251666288 Change-Id: I33a3e4bae08e342cc425eab24d120e9362912a44
Diffstat (limited to 'common')
-rw-r--r--common/src/com/android/tv/common/BaseApplication.java10
-rw-r--r--common/src/com/android/tv/common/BaseSingletons.java2
-rw-r--r--common/src/com/android/tv/common/recording/RecordingStorageStatusManager.java11
3 files changed, 16 insertions, 7 deletions
diff --git a/common/src/com/android/tv/common/BaseApplication.java b/common/src/com/android/tv/common/BaseApplication.java
index 84fcc310..1a421209 100644
--- a/common/src/com/android/tv/common/BaseApplication.java
+++ b/common/src/com/android/tv/common/BaseApplication.java
@@ -29,11 +29,14 @@ import com.android.tv.common.util.Clock;
import com.android.tv.common.util.CommonUtils;
import com.android.tv.common.util.Debug;
+import dagger.Lazy;
import dagger.android.DaggerApplication;
+import javax.inject.Inject;
+
/** The base application class for TV applications. */
public abstract class BaseApplication extends DaggerApplication implements BaseSingletons {
- private RecordingStorageStatusManager mRecordingStorageStatusManager;
+ @Inject Lazy<RecordingStorageStatusManager> mRecordingStorageStatusManager;
/**
* An instance of {@link BaseSingletons}. Note that this can be set directly only for the test
@@ -101,9 +104,6 @@ public abstract class BaseApplication extends DaggerApplication implements BaseS
@Override
@TargetApi(Build.VERSION_CODES.N)
public RecordingStorageStatusManager getRecordingStorageStatusManager() {
- if (mRecordingStorageStatusManager == null) {
- mRecordingStorageStatusManager = new RecordingStorageStatusManager(this);
- }
- return mRecordingStorageStatusManager;
+ return mRecordingStorageStatusManager.get();
}
}
diff --git a/common/src/com/android/tv/common/BaseSingletons.java b/common/src/com/android/tv/common/BaseSingletons.java
index c7c94b9d..75698024 100644
--- a/common/src/com/android/tv/common/BaseSingletons.java
+++ b/common/src/com/android/tv/common/BaseSingletons.java
@@ -30,5 +30,7 @@ public interface BaseSingletons
@Deprecated
Clock getClock();
+ /* @deprecated use injection instead. */
+ @Deprecated
RecordingStorageStatusManager getRecordingStorageStatusManager();
}
diff --git a/common/src/com/android/tv/common/recording/RecordingStorageStatusManager.java b/common/src/com/android/tv/common/recording/RecordingStorageStatusManager.java
index 0fb864bd..3552a66f 100644
--- a/common/src/com/android/tv/common/recording/RecordingStorageStatusManager.java
+++ b/common/src/com/android/tv/common/recording/RecordingStorageStatusManager.java
@@ -28,8 +28,11 @@ import android.support.annotation.AnyThread;
import android.support.annotation.IntDef;
import android.support.annotation.WorkerThread;
import android.util.Log;
+
import com.android.tv.common.SoftPreconditions;
+import com.android.tv.common.dagger.annotations.ApplicationContext;
import com.android.tv.common.feature.CommonFeatures;
+
import java.io.File;
import java.io.IOException;
import java.lang.annotation.Retention;
@@ -38,10 +41,13 @@ import java.util.Objects;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
/** Signals DVR storage status change such as plugging/unplugging. */
+@Singleton
public class RecordingStorageStatusManager {
private static final String TAG = "RecordingStorageStatusManager";
- private static final boolean DEBUG = false;
/** Minimum storage size to support DVR */
public static final long MIN_STORAGE_SIZE_FOR_DVR_IN_BYTES = 50 * 1024 * 1024 * 1024L; // 50GB
@@ -143,7 +149,8 @@ public class RecordingStorageStatusManager {
*
* @param context {@link Context}
*/
- public RecordingStorageStatusManager(final Context context) {
+ @Inject
+ public RecordingStorageStatusManager(@ApplicationContext Context context) {
mContext = context;
mMountedStorageStatus = getStorageStatusInternal();
mStorageValid = mMountedStorageStatus.isValidForDvr();