Trying to save from crashes on the signer
This commit is contained in:
@@ -166,37 +166,41 @@ class ExternalSignerLauncher(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getDataFromResolver(signerType: SignerType, data: Array<out String>, columnName: String = "signature"): String? {
|
fun getDataFromResolver(signerType: SignerType, data: Array<out String>, columnName: String = "signature"): String? {
|
||||||
return contentResolver?.let { it() }?.let {
|
return getDataFromResolver(signerType, data, columnName, contentResolver)
|
||||||
getDataFromResolver(signerType, data, columnName, it)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getDataFromResolver(signerType: SignerType, data: Array<out String>, columnName: String = "signature", contentResolver: ContentResolver): String? {
|
fun getDataFromResolver(signerType: SignerType, data: Array<out String>, columnName: String = "signature", contentResolver: (() -> ContentResolver)? = null): String? {
|
||||||
val localData = if (signerType !== SignerType.GET_PUBLIC_KEY) {
|
val localData = if (signerType !== SignerType.GET_PUBLIC_KEY) {
|
||||||
data.toList().plus(npub).toTypedArray()
|
data.toList().plus(npub).toTypedArray()
|
||||||
} else {
|
} else {
|
||||||
data
|
data
|
||||||
}
|
}
|
||||||
|
|
||||||
contentResolver.query(
|
try {
|
||||||
Uri.parse("content://${signerPackageName}.$signerType"),
|
contentResolver?.let { it() }?.query(
|
||||||
localData,
|
Uri.parse("content://${signerPackageName}.$signerType"),
|
||||||
null,
|
localData,
|
||||||
null,
|
null,
|
||||||
null
|
null,
|
||||||
).use {
|
null
|
||||||
if (it == null) {
|
).use {
|
||||||
return null
|
if (it == null) {
|
||||||
}
|
|
||||||
if (it.moveToFirst()) {
|
|
||||||
val index = it.getColumnIndex(columnName)
|
|
||||||
if (index < 0) {
|
|
||||||
Log.d("getDataFromResolver", "column '$columnName' not found")
|
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
return it.getString(index)
|
if (it.moveToFirst()) {
|
||||||
|
val index = it.getColumnIndex(columnName)
|
||||||
|
if (index < 0) {
|
||||||
|
Log.d("getDataFromResolver", "column '$columnName' not found")
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
return it.getString(index)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
Log.e("ExternalSignerLauncher", "Failed to query the Signer app in the background")
|
||||||
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user