mirror of
https://github.com/jrpie/Launcher.git
synced 2025-02-23 06:21:31 +01:00
Remove function 'handlePickedImage'
Put the code in the `onActivityResult` function so that things get a little easier.
This commit is contained in:
parent
179448007f
commit
e8fa4f058d
1 changed files with 40 additions and 42 deletions
|
@ -45,34 +45,13 @@ class SettingsFragmentLauncher : Fragment(), UIObject {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data)
|
||||||
|
|
||||||
when (requestCode) {
|
when (requestCode) {
|
||||||
REQUEST_PERMISSION_STORAGE -> letUserPickImage()
|
REQUEST_PERMISSION_STORAGE -> letUserPickImage()
|
||||||
REQUEST_PICK_IMAGE -> handlePickedImage(resultCode, data)
|
REQUEST_PICK_IMAGE -> {
|
||||||
else -> super.onActivityResult(requestCode, resultCode, data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun letUserPickImage(crop: Boolean = false) {
|
if (resultCode == AppCompatActivity.RESULT_OK && data != null) {
|
||||||
val intent = Intent()
|
|
||||||
intent.type = "image/*"
|
|
||||||
intent.action = Intent.ACTION_PICK // other option: Intent.ACTION_GET_CONTENT
|
|
||||||
|
|
||||||
if (crop) { // crop to for the target devices screen
|
|
||||||
intent.putExtra("crop", "true")
|
|
||||||
val displayMetrics = DisplayMetrics()
|
|
||||||
activity!!.windowManager.defaultDisplay.getMetrics(displayMetrics)
|
|
||||||
intent.putExtra("aspectX", displayMetrics.widthPixels)
|
|
||||||
intent.putExtra("aspectY", displayMetrics.heightPixels)
|
|
||||||
}
|
|
||||||
|
|
||||||
intendedSettingsPause = true
|
|
||||||
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
|
val imageUri = data.data
|
||||||
background = MediaStore.Images.Media.getBitmap(context!!.contentResolver, imageUri)
|
background = MediaStore.Images.Media.getBitmap(context!!.contentResolver, imageUri)
|
||||||
|
@ -109,6 +88,25 @@ class SettingsFragmentLauncher : Fragment(), UIObject {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun letUserPickImage(crop: Boolean = false) {
|
||||||
|
val intent = Intent()
|
||||||
|
intent.type = "image/*"
|
||||||
|
intent.action = Intent.ACTION_PICK // other option: Intent.ACTION_GET_CONTENT
|
||||||
|
|
||||||
|
if (crop) { // crop to for the target devices screen
|
||||||
|
intent.putExtra("crop", "true")
|
||||||
|
val displayMetrics = DisplayMetrics()
|
||||||
|
activity!!.windowManager.defaultDisplay.getMetrics(displayMetrics)
|
||||||
|
intent.putExtra("aspectX", displayMetrics.widthPixels)
|
||||||
|
intent.putExtra("aspectY", displayMetrics.heightPixels)
|
||||||
|
}
|
||||||
|
|
||||||
|
intendedSettingsPause = true
|
||||||
|
startActivityForResult(intent, REQUEST_PICK_IMAGE)
|
||||||
|
}
|
||||||
|
|
||||||
override fun applyTheme() {
|
override fun applyTheme() {
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue