Я понял, что это решение с одним вкладышем, которое я искал, но я не знаю, правильно ли я иду в правильном направлении.
в ситуациях, когда мне нужно и назначить, и вернуть true Я использую:
sharedPref.edit().putBoolean("tag", at.getAndSet(true) || true).apply();
и в ситуациях, когда мне нужно как назначить, так и вернуть false, я использую:
sharedPref.edit().putBoolean("tag", at.getAndSet(false) && false).apply();
У меня нет ситуаций, когда я не знаю нового значение или значение обновления, но в этом случае:
sharedPref.edit().putBoolean("tag", newVal ? (at.getAndSet(newVal) || newVal) : (at.getAndSet(newVal) && newVal)).apply();
Я знаю, что это катастрофа, особенно последняя, но это лучшее, что я мог придумать.