Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2021-06-25 00:58:03 +0300
committerStefan Niedermann <info@niedermann.it>2021-06-25 00:58:03 +0300
commit0925290ec5696b9592a78dd5c54093801996eee1 (patch)
tree2b8ec35f26973a1ccdc1e3b931fa11b1f8913b2d /app/src/main/java/it/niedermann
parent632804ce494a1c5f2eecf40986319b6a885eb521 (diff)
Fix #1254 🐞 Change grid view option not always applied directly
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesActivity.java10
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java15
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesViewModel.java9
3 files changed, 22 insertions, 12 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesActivity.java
index f872aac3..2dcd99ec 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesActivity.java
@@ -3,28 +3,28 @@ package it.niedermann.owncloud.notes.preferences;
import android.os.Bundle;
import androidx.annotation.Nullable;
+import androidx.lifecycle.ViewModelProvider;
import it.niedermann.owncloud.notes.LockedActivity;
import it.niedermann.owncloud.notes.R;
import it.niedermann.owncloud.notes.databinding.ActivityPreferencesBinding;
-/**
- * Allows to change application settings.
- */
-
public class PreferencesActivity extends LockedActivity {
+ private PreferencesViewModel viewModel;
private ActivityPreferencesBinding binding;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ viewModel = new ViewModelProvider(this).get(PreferencesViewModel.class);
+ viewModel.resultCode$.observe(this, this::setResult);
+
binding = ActivityPreferencesBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
setSupportActionBar(binding.toolbar);
- setResult(RESULT_CANCELED);
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container_view, new PreferencesFragment())
.commit();
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java
index e67aab4e..a38fd56c 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java
@@ -8,6 +8,7 @@ import android.util.Log;
import androidx.annotation.ColorInt;
import androidx.annotation.Nullable;
import androidx.core.app.ActivityCompat;
+import androidx.lifecycle.ViewModelProvider;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
@@ -24,6 +25,8 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra
private static final String TAG = PreferencesFragment.class.getSimpleName();
+ private PreferencesViewModel viewModel;
+
private BrandedSwitchPreference fontPref;
private BrandedSwitchPreference lockPref;
private BrandedSwitchPreference wifiOnlyPref;
@@ -32,14 +35,11 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra
private BrandedSwitchPreference backgroundSyncPref;
@Override
- public void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
-
- @Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.preferences);
+ viewModel = new ViewModelProvider(requireActivity()).get(PreferencesViewModel.class);
+
fontPref = findPreference(getString(R.string.pref_key_font));
gridViewPref = findPreference(getString(R.string.pref_key_gridview));
@@ -47,7 +47,7 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra
gridViewPref.setOnPreferenceChangeListener((Preference preference, Object newValue) -> {
final Boolean gridView = (Boolean) newValue;
Log.v(TAG, "gridView: " + gridView);
- requireActivity().setResult(Activity.RESULT_OK);
+ viewModel.resultCode$.setValue(Activity.RESULT_OK);
NotesApplication.updateGridViewEnabled(gridView);
return true;
});
@@ -78,7 +78,7 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra
assert themePref != null;
themePref.setOnPreferenceChangeListener((preference, newValue) -> {
NotesApplication.setAppTheme(DarkModeSetting.valueOf((String) newValue));
- requireActivity().setResult(Activity.RESULT_OK);
+ viewModel.resultCode$.setValue(Activity.RESULT_OK);
ActivityCompat.recreate(requireActivity());
return true;
});
@@ -114,6 +114,7 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra
/**
* Change color for backgroundSyncPref as well
* https://github.com/stefan-niedermann/nextcloud-deck/issues/531
+ *
* @param mainColor color of main brand
* @param textColor color of text
*/
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesViewModel.java b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesViewModel.java
new file mode 100644
index 00000000..dfde6c92
--- /dev/null
+++ b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesViewModel.java
@@ -0,0 +1,9 @@
+package it.niedermann.owncloud.notes.preferences;
+
+import androidx.lifecycle.MutableLiveData;
+import androidx.lifecycle.ViewModel;
+
+public class PreferencesViewModel extends ViewModel {
+
+ public final MutableLiveData<Integer> resultCode$ = new MutableLiveData<>();
+}