Метод onSharedPreferenceChanged
входит в бесконечный цикл. Я не понимаю, почему изменение предпочтения приводит к повторному запуску события.
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(key.equals("theme")){
Log.d("THEME", sharedPreferences.getBoolean("theme", false) ? "true" : "false");
boolean isDark = sharedPreferences.getBoolean("theme", false);
if(isDark)
sharedPreferences.edit().putBoolean("theme", false).apply();
else
sharedPreferences.edit().putBoolean("theme", true).apply();
}
}