Fix crash that occurs if we don't have permission to add an account.

fork-5.53.8
Greyson Parrelli 2022-04-22 14:30:37 -04:00
rodzic cd10aa90cc
commit 32ee18240b
1 zmienionych plików z 12 dodań i 8 usunięć

Wyświetl plik

@ -87,15 +87,19 @@ object SystemContactsRepository {
var account: Account? = if (accounts.isNotEmpty()) accounts[0] else null
if (account == null) {
Log.i(TAG, "Attempting to create a new account...")
val newAccount = Account(accountDisplayName, applicationId)
try {
Log.i(TAG, "Attempting to create a new account...")
val newAccount = Account(accountDisplayName, applicationId)
if (accountManager.addAccountExplicitly(newAccount, null, null)) {
Log.i(TAG, "Successfully created a new account.")
ContentResolver.setIsSyncable(newAccount, ContactsContract.AUTHORITY, 1)
account = newAccount
} else {
Log.w(TAG, "Failed to create a new account!")
if (accountManager.addAccountExplicitly(newAccount, null, null)) {
Log.i(TAG, "Successfully created a new account.")
ContentResolver.setIsSyncable(newAccount, ContactsContract.AUTHORITY, 1)
account = newAccount
} else {
Log.w(TAG, "Failed to create a new account!")
}
} catch (e: SecurityException) {
Log.w(TAG, "Failed to add an account.", e)
}
}