diff options
Diffstat (limited to 'common/src/com/android/tv/common/feature')
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()) { |