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