aboutsummaryrefslogtreecommitdiff
path: root/common/src/com/android/tv/common/feature
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/com/android/tv/common/feature')
-rw-r--r--common/src/com/android/tv/common/feature/CommonFeatures.java3
-rw-r--r--common/src/com/android/tv/common/feature/Sdk.java44
-rw-r--r--common/src/com/android/tv/common/feature/SharedPreferencesFeature.java1
-rw-r--r--common/src/com/android/tv/common/feature/TestableFeature.java15
4 files changed, 22 insertions, 41 deletions
diff --git a/common/src/com/android/tv/common/feature/CommonFeatures.java b/common/src/com/android/tv/common/feature/CommonFeatures.java
index d47aa603..62c88ead 100644
--- a/common/src/com/android/tv/common/feature/CommonFeatures.java
+++ b/common/src/com/android/tv/common/feature/CommonFeatures.java
@@ -17,7 +17,6 @@
package com.android.tv.common.feature;
import static com.android.tv.common.feature.FeatureUtils.AND;
-import static com.android.tv.common.feature.FeatureUtils.OR;
import static com.android.tv.common.feature.TestableFeature.createTestableFeature;
/**
@@ -34,7 +33,7 @@ public class CommonFeatures {
* DVR API is introduced in N, it only works when app runs as a system app.
*/
public static final TestableFeature DVR = createTestableFeature(
- AND(OR(Sdk.N_PRE_2_OR_HIGHER, Sdk.AT_LEAST_N), SystemAppFeature.SYSTEM_APP_FEATURE));
+ AND(Sdk.AT_LEAST_N, SystemAppFeature.SYSTEM_APP_FEATURE));
/**
* ENABLE_RECORDING_REGARDLESS_OF_STORAGE_STATUS
diff --git a/common/src/com/android/tv/common/feature/Sdk.java b/common/src/com/android/tv/common/feature/Sdk.java
index 46a681f8..9f99a64f 100644
--- a/common/src/com/android/tv/common/feature/Sdk.java
+++ b/common/src/com/android/tv/common/feature/Sdk.java
@@ -18,50 +18,18 @@ package com.android.tv.common.feature;
import android.content.Context;
import android.os.Build;
-import android.support.v4.os.BuildCompat;
/**
* Holder for SDK version features
*/
public class Sdk {
-
- public static final Feature N_PRE_2_OR_HIGHER =
- new SdkPreviewVersionFeature(Build.VERSION_CODES.M, 2, true);
-
- private static class SdkPreviewVersionFeature implements Feature {
- private final int mVersionCode;
- private final int mPreviewCode;
- private final boolean mAllowHigherPreview;
-
- private SdkPreviewVersionFeature(int versionCode, int previewCode,
- boolean allowHigerPreview) {
- mVersionCode = versionCode;
- mPreviewCode = previewCode;
- mAllowHigherPreview = allowHigerPreview;
- }
-
- @Override
- public boolean isEnabled(Context context) {
- try {
- if (mAllowHigherPreview) {
- return Build.VERSION.SDK_INT == mVersionCode
- && Build.VERSION.PREVIEW_SDK_INT >= mPreviewCode;
- } else {
- return Build.VERSION.SDK_INT == mVersionCode
- && Build.VERSION.PREVIEW_SDK_INT == mPreviewCode;
+ public static final Feature AT_LEAST_N =
+ new Feature() {
+ @Override
+ public boolean isEnabled(Context context) {
+ return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N;
}
- } catch (NoSuchFieldError e) {
- return false;
- }
- }
- }
-
- public static final Feature AT_LEAST_N = new Feature() {
- @Override
- public boolean isEnabled(Context context) {
- return BuildCompat.isAtLeastN();
- }
- };
+ };
private Sdk() {}
}
diff --git a/common/src/com/android/tv/common/feature/SharedPreferencesFeature.java b/common/src/com/android/tv/common/feature/SharedPreferencesFeature.java
index a4a79b38..881f53d6 100644
--- a/common/src/com/android/tv/common/feature/SharedPreferencesFeature.java
+++ b/common/src/com/android/tv/common/feature/SharedPreferencesFeature.java
@@ -19,7 +19,6 @@ package com.android.tv.common.feature;
import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;
-
import com.android.tv.common.SharedPreferencesUtils;
/**
diff --git a/common/src/com/android/tv/common/feature/TestableFeature.java b/common/src/com/android/tv/common/feature/TestableFeature.java
index a02877ec..d7e707a1 100644
--- a/common/src/com/android/tv/common/feature/TestableFeature.java
+++ b/common/src/com/android/tv/common/feature/TestableFeature.java
@@ -36,14 +36,29 @@ public class TestableFeature implements Feature {
private final Feature mDelegate;
private Boolean mTestValue = null;
+ /**
+ * Creates testable feature.
+ */
public static TestableFeature createTestableFeature(Feature delegate) {
return new TestableFeature(delegate);
}
+ /**
+ * Creates testable feature with initial value.
+ */
+ public static TestableFeature createTestableFeature(Feature delegate, Boolean initialValue) {
+ return new TestableFeature(delegate, initialValue);
+ }
+
private TestableFeature(Feature delegate) {
mDelegate = delegate;
}
+ private TestableFeature(Feature delegate, Boolean initialValue) {
+ mDelegate = delegate;
+ mTestValue = initialValue;
+ }
+
@VisibleForTesting
public void enableForTest() {
if (!TvCommonUtils.isRunningInTest()) {