Remove function 'handlePickedImage'

Put the code in the `onActivityResult` function so that things get a 
little easier.
This commit is contained in:
Finn M Glas 2020-10-20 16:23:43 +02:00
parent 179448007f
commit e8fa4f058d
No known key found for this signature in database
GPG key ID: 902A30146014DFBF

View file

@ -45,11 +45,49 @@ class SettingsFragmentLauncher : Fragment(), UIObject {
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {
REQUEST_PERMISSION_STORAGE -> letUserPickImage()
REQUEST_PICK_IMAGE -> handlePickedImage(resultCode, data)
else -> super.onActivityResult(requestCode, resultCode, data)
REQUEST_PICK_IMAGE -> {
if (resultCode == AppCompatActivity.RESULT_OK && data != null) {
val imageUri = data.data
background = MediaStore.Images.Media.getBitmap(context!!.contentResolver, imageUri)
Palette.Builder(background!!).generate {
it?.let { palette ->
dominantColor = palette.getDominantColor(ContextCompat.getColor(context!!, R.color.darkTheme_accent_color))
vibrantColor = palette.getVibrantColor(ContextCompat.getColor(context!!, R.color.darkTheme_accent_color))
// never let dominantColor equal vibrantColor
if(dominantColor == vibrantColor) {
vibrantColor =
manipulateColor(
vibrantColor,
1.2F
)
dominantColor =
manipulateColor(
dominantColor,
0.8F
)
}
/* Save image Uri as string */
launcherPreferences.edit()
.putString(PREF_WALLPAPER, imageUri.toString())
.putInt(PREF_DOMINANT, dominantColor)
.putInt(PREF_VIBRANT, vibrantColor)
.apply()
intendedSettingsPause = true
activity!!.recreate()
}
}
}
}
}
}
@ -70,46 +108,6 @@ class SettingsFragmentLauncher : Fragment(), UIObject {
startActivityForResult(intent, REQUEST_PICK_IMAGE)
}
private fun handlePickedImage(resultCode: Int, data: Intent?) {
if (resultCode == AppCompatActivity.RESULT_OK) {
if (data == null) return
val imageUri = data.data
background = MediaStore.Images.Media.getBitmap(context!!.contentResolver, imageUri)
Palette.Builder(background!!).generate {
it?.let { palette ->
dominantColor = palette.getDominantColor(ContextCompat.getColor(context!!, R.color.darkTheme_accent_color))
vibrantColor = palette.getVibrantColor(ContextCompat.getColor(context!!, R.color.darkTheme_accent_color))
// never let dominantColor equal vibrantColor
if(dominantColor == vibrantColor) {
vibrantColor =
manipulateColor(
vibrantColor,
1.2F
)
dominantColor =
manipulateColor(
dominantColor,
0.8F
)
}
/* Save image Uri as string */
launcherPreferences.edit()
.putString(PREF_WALLPAPER, imageUri.toString())
.putInt(PREF_DOMINANT, dominantColor)
.putInt(PREF_VIBRANT, vibrantColor)
.apply()
intendedSettingsPause = true
activity!!.recreate()
}
}
}
}
override fun applyTheme() {
setSwitchColor(settings_launcher_switch_screen_timeout, vibrantColor)