Запись в БД при обработке нажатия на SwitchCompat
Всем привет. Помогите ,пожалуйста, разобраться с ситуацией.
Использую SwitchCompat vibro_switch;
для включения/отключения вибрации в приложении.
Положение ВКЛ - иконка vibro_image
меняется на включено, положение ВЫКЛ - меняется на иконку отключено.
Проблем со сменой иконки нет, здесь все работает на ура.
Проблема с сохранением состояния в БД:
getNameUser()
- заменяла на текст хардкодом, даже выводила в лог - имя выводится, ошибка явно не в этом.
Выносила запись в БД в любое абстрактное место, например при старте всего приложения - запись происходит так же без проблем.
Из самого класса осуществляется несколько обращений к БД на чтение и запись и все ок. Отсюда делаю вывод, что проблем с обращением к БД нету, иначе ошибка выскочила в другом месте.
Проблема только с записью в БД из переключателя.
На всякий случай запрос на обновление записи:
@Query("UPDATE SettingsAll SET VibroMode = :vibro WHERE UserSettings = :user")
void updateVibro(String vibro, String user); //обновляем статус настройки вибрации
Обработчик нажатия на переключатель:
public void settings_vibro(View v){
if (vibro_switch.isChecked()) {
vibro_image.setBackgroundResource(R.drawable.vibro);
dataBase.settingsAllDAO().updateVibro("on", getNameUser());
}else
vibro_image.setBackgroundResource(R.drawable.vibro_off);
dataBase.settingsAllDAO().updateVibro("off", getNameUser());
} //настройка вибро
Помогите, пожалуйста, разобраться в чем у меня ошибка и где я не права?