summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorallenlin <allenlin@realtek.com>2024-01-09 16:44:19 +0800
committerallenlin <allenlin@realtek.com>2024-03-11 15:17:34 +0800
commitb8ddabad7b473a9e53663a302b5d731eaa99f9a8 (patch)
tree68f1e1dc0a74810686dc840f355a4efe3a12c011
parent028f5095d22e28004edea6d8c0fed14cd8c6c734 (diff)
downloadTvSettings-b8ddabad7b473a9e53663a302b5d731eaa99f9a8.tar.gz
Add display_and_sound_slice_uri
Bug: 299055949 Change-Id: Idcb89e108da01b11323d06345d749a2d6dccc5c1
-rw-r--r--Settings/res/values/strings.xml2
-rw-r--r--Settings/res/xml/main_prefs_vendor.xml9
-rw-r--r--Settings/src/com/android/tv/settings/MainFragment.java17
3 files changed, 28 insertions, 0 deletions
diff --git a/Settings/res/values/strings.xml b/Settings/res/values/strings.xml
index c89af6377..d847d2419 100644
--- a/Settings/res/values/strings.xml
+++ b/Settings/res/values/strings.xml
@@ -2826,6 +2826,8 @@
<string name="external_inputs_settings_title">External inputs</string>
<!-- Summary for vendor sample "Display & Sound" settings [CHAR LIMIT=60] -->
<string name="display_and_sound_vendor_summary">Picture, screen, sound</string>
+ <!-- Slice uri for "Display & Sound" settings -->
+ <string name="display_and_sound_slice_uri" translatable="false"></string>
<!-- Title for "Picture" settings [CHAR LIMIT=60] -->
<string name="picture_settings_title">Picture</string>
<!-- Intent action for vendor picture activity -->
diff --git a/Settings/res/xml/main_prefs_vendor.xml b/Settings/res/xml/main_prefs_vendor.xml
index 399fd4b63..814d40108 100644
--- a/Settings/res/xml/main_prefs_vendor.xml
+++ b/Settings/res/xml/main_prefs_vendor.xml
@@ -64,6 +64,15 @@
android:fragment="com.android.tv.settings.vendor.DisplayPreviewFragment">
<!-- This is an example. Change to your intent for display and preview-->
</Preference>
+ <com.android.tv.twopanelsettings.slices.SlicePreference
+ android:icon="@drawable/ic_photo_size_select_actual"
+ android:key="display_and_sound_slice"
+ android:title="@string/device_display_sound"
+ android:summary="@string/display_and_sound_vendor_summary"
+ android:fragment="com.android.tv.twopanelsettings.slices.SliceFragment"
+ custom:isPreferenceVisible="false"
+ custom:uri="@string/display_and_sound_slice_uri">
+ </com.android.tv.twopanelsettings.slices.SlicePreference>
<Preference
android:icon="@drawable/ic_network"
diff --git a/Settings/src/com/android/tv/settings/MainFragment.java b/Settings/src/com/android/tv/settings/MainFragment.java
index fdd3a7f55..7f728f384 100644
--- a/Settings/src/com/android/tv/settings/MainFragment.java
+++ b/Settings/src/com/android/tv/settings/MainFragment.java
@@ -118,6 +118,7 @@ public class MainFragment extends PreferenceControllerFragment implements
static final String KEY_PRIVACY = "privacy";
@VisibleForTesting
static final String KEY_DISPLAY_AND_SOUND = "display_and_sound";
+ private static final String KEY_DISPLAY_AND_SOUND_SLICE = "display_and_sound_slice";
private static final String KEY_CHANNELS_AND_INPUTS = "channels_and_inputs";
private static final String KEY_CHANNELS_AND_INPUTS_SLICE = "channels_and_inputs_slice";
@@ -272,6 +273,7 @@ public class MainFragment extends PreferenceControllerFragment implements
}
mSuggestionQuickSettingPrefsContainer.onCreatePreferences();
updateSoundSettings();
+ updateDisplayAndSound();
}
@VisibleForTesting
@@ -618,6 +620,21 @@ public class MainFragment extends PreferenceControllerFragment implements
}
}
+ private void updateDisplayAndSound() {
+ Preference displayAndSoundPreference = findPreference(KEY_DISPLAY_AND_SOUND);
+ SlicePreference displayAndSoundSlicePreference =
+ (SlicePreference) findPreference(KEY_DISPLAY_AND_SOUND_SLICE);
+ if (displayAndSoundSlicePreference != null
+ && FlavorUtils.isTwoPanel(getContext())
+ && SliceUtils.isSliceProviderValid(
+ getContext(), displayAndSoundSlicePreference.getUri())) {
+ displayAndSoundSlicePreference.setVisible(true);
+ if (displayAndSoundPreference != null) {
+ displayAndSoundPreference.setVisible(false);
+ }
+ }
+ }
+
@Override
public void onStart() {
super.onStart();