summaryrefslogtreecommitdiff
path: root/Settings/src/com/android/tv/settings/device/displaysound/AdvancedDisplayFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'Settings/src/com/android/tv/settings/device/displaysound/AdvancedDisplayFragment.java')
-rw-r--r--Settings/src/com/android/tv/settings/device/displaysound/AdvancedDisplayFragment.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/Settings/src/com/android/tv/settings/device/displaysound/AdvancedDisplayFragment.java b/Settings/src/com/android/tv/settings/device/displaysound/AdvancedDisplayFragment.java
index e6d076c25..3b426af9d 100644
--- a/Settings/src/com/android/tv/settings/device/displaysound/AdvancedDisplayFragment.java
+++ b/Settings/src/com/android/tv/settings/device/displaysound/AdvancedDisplayFragment.java
@@ -21,11 +21,13 @@ import static android.provider.Settings.Secure.MINIMAL_POST_PROCESSING_ALLOWED;
import static com.android.tv.settings.util.InstrumentationUtils.logToggleInteracted;
import android.app.tvsettings.TvSettingsEnums;
+import android.hardware.display.DisplayManager;
import android.os.Bundle;
import android.provider.Settings;
import android.text.TextUtils;
import androidx.annotation.Keep;
+import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
@@ -39,11 +41,18 @@ import com.android.tv.settings.SettingsPreferenceFragment;
public class AdvancedDisplayFragment extends SettingsPreferenceFragment {
private static final String KEY_GAME_MODE = "game_mode";
+ private static final String KEY_DYNAMIC_RANGE = "preferred_dynamic_range_selection";
+
@Override
public void onCreatePreferences(Bundle bundle, String s) {
setPreferencesFromResource(R.xml.advanced_display, null);
SwitchPreference gameModePreference = findPreference(KEY_GAME_MODE);
gameModePreference.setChecked(getGameModeStatus() == 1);
+
+ Preference dynamicRangePreference = findPreference(KEY_DYNAMIC_RANGE);
+ if (getDisplayManager().getSupportedHdrOutputTypes().length == 0) {
+ removePreference(dynamicRangePreference);
+ }
}
@Override
@@ -72,4 +81,15 @@ public class AdvancedDisplayFragment extends SettingsPreferenceFragment {
protected int getPageId() {
return TvSettingsEnums.DISPLAY_SOUND_ADVANCED_DISPLAY;
}
+
+ @VisibleForTesting
+ DisplayManager getDisplayManager() {
+ return getContext().getSystemService(DisplayManager.class);
+ }
+
+ private void removePreference(Preference preference) {
+ if (preference != null) {
+ getPreferenceScreen().removePreference(preference);
+ }
+ }
}