blob: dfe68dc7280f41c49500d6919e20b21ce337cf2c [file] [log] [blame]
/*
* Copyright (C) 2020 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.deskclock.settings
import android.annotation.TargetApi
import android.os.Build
import android.os.Bundle
import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity
import androidx.preference.ListPreference
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import com.android.deskclock.R
import com.android.deskclock.Utils
/**
* Settings for Clock screen saver
*/
class ScreensaverSettingsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.screensaver_settings)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.getItemId()) {
android.R.id.home -> {
finish()
return true
}
else -> {
}
}
return super.onOptionsItemSelected(item)
}
class PrefsFragment : PreferenceFragmentCompat(), Preference.OnPreferenceChangeListener {
@TargetApi(Build.VERSION_CODES.N)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (Utils.isNOrLater) {
getPreferenceManager().setStorageDeviceProtected()
}
}
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
addPreferencesFromResource(R.xml.screensaver_settings)
}
override fun onResume() {
super.onResume()
refresh()
}
override fun onPreferenceChange(pref: Preference, newValue: Any?): Boolean {
if (KEY_CLOCK_STYLE == pref.getKey()) {
val clockStylePref: ListPreference = pref as ListPreference
val index: Int = clockStylePref.findIndexOfValue(newValue as String?)
clockStylePref.setSummary(clockStylePref.getEntries().get(index))
}
return true
}
private fun refresh() {
val clockStylePref = findPreference<ListPreference>(KEY_CLOCK_STYLE) as ListPreference
clockStylePref.setSummary(clockStylePref.getEntry())
clockStylePref.setOnPreferenceChangeListener(this)
}
}
companion object {
const val KEY_CLOCK_STYLE = "screensaver_clock_style"
const val KEY_NIGHT_MODE = "screensaver_night_mode"
}
}