fix: Use rememberLauncherForActivityResult for customise dialog

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
This commit is contained in:
Pun Butrach
2026-01-20 23:45:44 +07:00
parent 1d940a0474
commit 2d3ed6af94
@@ -1,7 +1,10 @@
package app.lawnchair.override
import android.app.Activity
import android.graphics.drawable.Drawable
import android.util.Log
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
@@ -147,16 +150,17 @@ fun CustomizeAppDialog(
}
val launcherAppState = LauncherAppState.getInstance(context)
// Lawnchair-TODO: We use rememberLauncherForActivityResult, but it was broke so intent was used.
val request = rememberLauncherForActivityResult(ActivityResultContracts.StartActivityForResult()) {
if (it.resultCode != Activity.RESULT_OK) return@rememberLauncherForActivityResult
onClose()
}
val route = SelectIcon(componentKey.toString())
Log.d("CustomizeDialog", route.toString())
val openIconPicker = {
val intent = PreferenceActivity.createIntent(context, route)
.addFlags(android.content.Intent.FLAG_ACTIVITY_NEW_TASK)
context.startActivity(intent)
request.launch(PreferenceActivity.createIntent(context, route))
}
DisposableEffect(Unit) {