LibraryActivity.kt raw
1 package io.github.domi04151309.alwayson.activities
2
3 import android.os.Bundle
4 import androidx.core.content.res.ResourcesCompat
5 import androidx.preference.Preference
6 import androidx.preference.PreferenceFragmentCompat
7 import io.github.domi04151309.alwayson.R
8
9 class LibraryActivity : BaseActivity() {
10 override fun onCreate(savedInstanceState: Bundle?) {
11 super.onCreate(savedInstanceState)
12 setContentView(R.layout.activity_settings)
13 supportFragmentManager
14 .beginTransaction()
15 .replace(R.id.settings, GeneralPreferenceFragment())
16 .commit()
17 }
18
19 class GeneralPreferenceFragment : PreferenceFragmentCompat() {
20 override fun onCreatePreferences(
21 savedInstanceState: Bundle?,
22 rootKey: String?,
23 ) {
24 addPreferencesFromResource(R.xml.pref_about_list)
25 preferenceScreen.removeAll()
26 val libraries = resources.getStringArray(R.array.about_libraries)
27 val licenses = resources.getStringArray(R.array.about_libraries_licenses)
28 if (libraries.size != licenses.size) error("Library array size does not match license array size.")
29 for (index in libraries.indices) {
30 preferenceScreen.addPreference(
31 Preference(requireContext()).apply {
32 icon =
33 ResourcesCompat.getDrawable(
34 requireContext().resources,
35 R.drawable.ic_about_library,
36 requireContext().theme,
37 )
38 title = libraries[index]
39 summary = licenses[index]
40 },
41 )
42 }
43 }
44 }
45 }
46