ui: fix memory leak from statically held Handler instance

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-09-13 17:52:14 +05:30
parent af10b117b4
commit 0bcee7f9cc
No known key found for this signature in database
GPG Key ID: 366D7BBAD1031E80

View File

@ -23,7 +23,6 @@ import com.wireguard.android.R
object BiometricAuthenticator { object BiometricAuthenticator {
private const val TAG = "WireGuard/BiometricAuthenticator" private const val TAG = "WireGuard/BiometricAuthenticator"
private val handler = Handler(Looper.getMainLooper())
sealed class Result { sealed class Result {
data class Success(val cryptoObject: BiometricPrompt.CryptoObject?) : Result() data class Success(val cryptoObject: BiometricPrompt.CryptoObject?) : Result()
@ -78,7 +77,7 @@ object BiometricAuthenticator {
callback(Result.Success(result.cryptoObject)) callback(Result.Success(result.cryptoObject))
} }
} }
val biometricPrompt = BiometricPrompt(fragment, { handler.post(it) }, authCallback) val biometricPrompt = BiometricPrompt(fragment, { Handler(Looper.getMainLooper()).post(it) }, authCallback)
val promptInfo = BiometricPrompt.PromptInfo.Builder() val promptInfo = BiometricPrompt.PromptInfo.Builder()
.setTitle(fragment.getString(dialogTitleRes)) .setTitle(fragment.getString(dialogTitleRes))
.setDeviceCredentialAllowed(true) .setDeviceCredentialAllowed(true)