diff --git a/src/com/android/settings/display/ScreenTimeoutScreen.kt b/src/com/android/settings/display/ScreenTimeoutScreen.kt new file mode 100644 index 00000000000..6595a4e43d3 --- /dev/null +++ b/src/com/android/settings/display/ScreenTimeoutScreen.kt @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.display + +import android.content.Context +import com.android.settings.R +import com.android.settings.flags.Flags +import com.android.settingslib.metadata.ProvidePreferenceScreen +import com.android.settingslib.metadata.preferenceHierarchy +import com.android.settingslib.preference.PreferenceScreenCreator + +// TODO(b/368359967): The entry point logic is not yet migrated +@ProvidePreferenceScreen +class ScreenTimeoutScreen : PreferenceScreenCreator { + + override val key: String + get() = KEY + + override val title: Int + get() = R.string.screen_timeout + + override fun isFlagEnabled(context: Context) = Flags.catalystScreenTimeout() + + override fun fragmentClass() = ScreenTimeoutSettings::class.java + + override fun hasCompleteHierarchy() = false + + override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {} + + companion object { + const val KEY = "screen_timeout" + } +} diff --git a/src/com/android/settings/display/ScreenTimeoutSettings.java b/src/com/android/settings/display/ScreenTimeoutSettings.java index c6d4c067541..7800651fe8f 100644 --- a/src/com/android/settings/display/ScreenTimeoutSettings.java +++ b/src/com/android/settings/display/ScreenTimeoutSettings.java @@ -36,6 +36,7 @@ import android.os.UserHandle; import android.provider.Settings; import android.util.Log; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.preference.PreferenceScreen; @@ -309,6 +310,11 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment return R.xml.screen_timeout_settings; } + @Override + public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) { + return ScreenTimeoutScreen.KEY; + } + @Override public int getHelpResource() { return R.string.help_url_adaptive_sleep;