From a2174e767785cabac1367cd80abf868fab55d51d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= Date: Mon, 7 Dec 2020 10:11:34 +0100 Subject: [PATCH] SettingsViewModel: use LiveEvent instead of LiveData --- .../briar/android/settings/SettingsActivity.java | 15 ++++++++------- .../briar/android/settings/SettingsViewModel.java | 12 +++++++----- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsActivity.java index ac867ebd7..747bc9895 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsActivity.java @@ -61,13 +61,14 @@ public class SettingsActivity extends BriarActivity { us.getLocalAuthor().getId(), us.getAuthorInfo()); }); - settingsViewModel.getSetAvatarFailed().observe(this, failed -> { - if (failed) { - Toast.makeText(this, - R.string.change_profile_picture_failed_message, - LENGTH_LONG).show(); - } - }); + settingsViewModel.getSetAvatarFailed() + .observeEvent(this, failed -> { + if (failed) { + Toast.makeText(this, + R.string.change_profile_picture_failed_message, + LENGTH_LONG).show(); + } + }); View avatarGroup = findViewById(R.id.avatarGroup); avatarGroup.setOnClickListener(e -> selectAvatarImage()); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java index ec550385e..dba7f5013 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java @@ -13,6 +13,8 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.util.LogUtils; import org.briarproject.briar.android.attachment.ImageCompressor; import org.briarproject.briar.android.attachment.UnsupportedMimeTypeException; +import org.briarproject.briar.android.viewmodel.LiveEvent; +import org.briarproject.briar.android.viewmodel.MutableLiveEvent; import org.briarproject.briar.api.avatar.AvatarManager; import org.briarproject.briar.api.identity.AuthorInfo; import org.briarproject.briar.api.identity.AuthorManager; @@ -51,8 +53,8 @@ class SettingsViewModel extends AndroidViewModel { private final MutableLiveData ownIdentityInfo = new MutableLiveData<>(); - private final MutableLiveData setAvatarFailed = - new MutableLiveData<>(); + private final MutableLiveEvent setAvatarFailed = + new MutableLiveEvent<>(); @Inject SettingsViewModel(Application application, @@ -77,7 +79,7 @@ class SettingsViewModel extends AndroidViewModel { return ownIdentityInfo; } - public MutableLiveData getSetAvatarFailed() { + public LiveEvent getSetAvatarFailed() { return setAvatarFailed; } @@ -100,7 +102,7 @@ class SettingsViewModel extends AndroidViewModel { trySetAvatar(uri); } catch (IOException e) { LogUtils.logException(LOG, WARNING, e); - setAvatarFailed.postValue(true); + setAvatarFailed.postEvent(true); } }); } @@ -125,7 +127,7 @@ class SettingsViewModel extends AndroidViewModel { loadOwnIdentityInfo(); } catch (IOException | DbException e) { LogUtils.logException(LOG, WARNING, e); - setAvatarFailed.postValue(true); + setAvatarFailed.postEvent(true); } }); }