diff options
author | nchalko <nchalko@google.com> | 2019-06-05 10:12:31 -0700 |
---|---|---|
committer | Nick Chalko <nchalko@google.com> | 2019-06-05 10:51:54 -0700 |
commit | aa9d792580ba39035a46b70162b5d2d6e49929ad (patch) | |
tree | 2922e32f2f33ca6cdf100faf7ff8617a59f058e1 /common | |
parent | 41b2f7a1eb676da16d811dc16f975bc7327b014c (diff) | |
download | TV-aa9d792580ba39035a46b70162b5d2d6e49929ad.tar.gz |
Inject StorageManager
PiperOrigin-RevId: 251666288
Change-Id: I33a3e4bae08e342cc425eab24d120e9362912a44
Diffstat (limited to 'common')
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(); |