diff options
author | allenlin <allenlin@realtek.com> | 2024-01-09 16:44:19 +0800 |
---|---|---|
committer | allenlin <allenlin@realtek.com> | 2024-03-11 15:17:34 +0800 |
commit | b8ddabad7b473a9e53663a302b5d731eaa99f9a8 (patch) | |
tree | 68f1e1dc0a74810686dc840f355a4efe3a12c011 | |
parent | 028f5095d22e28004edea6d8c0fed14cd8c6c734 (diff) | |
download | TvSettings-b8ddabad7b473a9e53663a302b5d731eaa99f9a8.tar.gz |
Add display_and_sound_slice_uri
Bug: 299055949
Change-Id: Idcb89e108da01b11323d06345d749a2d6dccc5c1
-rw-r--r-- | Settings/res/values/strings.xml | 2 | ||||
-rw-r--r-- | Settings/res/xml/main_prefs_vendor.xml | 9 | ||||
-rw-r--r-- | Settings/src/com/android/tv/settings/MainFragment.java | 17 |
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(); |