Мое приложение падает при нажатии этой кнопки. Я думаю, что это что-то с моей переменной декларацией баланса и суммы. Баланс сохраняется в моей пользовательской модели как двойной баланс. Я не уверен, что именно является причиной ошибки, так как код не содержит ошибок.
else if (rdiAccountBalance.isChecked()) {
Double amount = 0.0;
amount.valueOf(textTotalPrice.toString());
if (Common.currentUser.getBalance() >= amount) {
Request request = new Request(
Common.currentUser.getPhone(),
Common.currentUser.getName(),
editAddress.getText().toString(),
textTotalPrice.getText().toString(),
"0",
"Paid",
"Account Balance",
cart
);
//Submit to Firebase
//We will using System.CurrentMills to key
requests.child(String.valueOf(System.currentTimeMillis()))
.setValue(request);
//Delete cart
new Database(getBaseContext()).cleanCart();
//update balance
Double balance = Common.currentUser.getBalance() - amount;
Map<String, Object> update_balance = new HashMap<>();
update_balance.put("balance", balance);
FirebaseDatabase.getInstance()
.getReference("User")
.child(Common.currentUser.getPhone())
.updateChildren(update_balance)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
FirebaseDatabase.getInstance()
.getReference("User")
.child(Common.currentUser.getPhone())
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Common.currentUser = dataSnapshot.getValue(User.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
;
});
Toast.makeText(Cart.this, "Thank you, Order Place.", Toast.LENGTH_SHORT).show();
finish();
}
else {
Toast.makeText(Cart.this, "Your account balance is not sufficient", Toast.LENGTH_SHORT).show();
}
Это ошибка logcat, которую я получаю. Я думаю, что это может быть объявление переменной.
2020-01-30 11:56:15.100 3255-3749/? E/DatabaseUtils: Writing exception to parcel
java.lang.IllegalArgumentException: You cannot keep your settings in the secure settings.
at com.android.providers.settings.SettingsProvider.warnOrThrowForUndesiredSecureSettingsMutationForTargetSdk(SettingsProvider.java:2105)
at com.android.providers.settings.SettingsProvider.enforceRestrictedSystemSettingsMutationForCallingPackage(SettingsProvider.java:1858)
at com.android.providers.settings.SettingsProvider.mutateSystemSetting(SettingsProvider.java:1662)
at com.android.providers.settings.SettingsProvider.insertSystemSetting(SettingsProvider.java:1607)
at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:549)
at android.content.ContentProvider$Transport.call(ContentProvider.java:403)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:272)
at android.os.Binder.execTransact(Binder.java:739)