From d3cf3d680ea2cbbdf5157bc1a2fb32a58f85c4bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= Date: Fri, 4 Dec 2020 12:25:24 +0100 Subject: [PATCH] Display error message toast when updating profile picture fails --- .../briar/android/settings/SettingsActivity.java | 10 ++++++++++ .../briar/android/settings/SettingsViewModel.java | 9 +++++++++ briar-android/src/main/res/values/strings.xml | 1 + 3 files changed, 20 insertions(+) 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 bf2cd7179..ac867ebd7 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 @@ -6,6 +6,7 @@ import android.os.Bundle; import android.view.MenuItem; import android.view.View; import android.widget.TextView; +import android.widget.Toast; import org.briarproject.bramble.api.FeatureFlags; import org.briarproject.briar.R; @@ -21,6 +22,7 @@ import androidx.appcompat.app.ActionBar; import androidx.lifecycle.ViewModelProvider; import de.hdodenhof.circleimageview.CircleImageView; +import static android.widget.Toast.LENGTH_LONG; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_AVATAR_IMAGE; public class SettingsActivity extends BriarActivity { @@ -59,6 +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(); + } + }); + View avatarGroup = findViewById(R.id.avatarGroup); avatarGroup.setOnClickListener(e -> selectAvatarImage()); } else { 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 d9cdb4f88..ec550385e 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 @@ -51,6 +51,9 @@ class SettingsViewModel extends AndroidViewModel { private final MutableLiveData ownIdentityInfo = new MutableLiveData<>(); + private final MutableLiveData setAvatarFailed = + new MutableLiveData<>(); + @Inject SettingsViewModel(Application application, IdentityManager identityManager, @@ -74,6 +77,10 @@ class SettingsViewModel extends AndroidViewModel { return ownIdentityInfo; } + public MutableLiveData getSetAvatarFailed() { + return setAvatarFailed; + } + private void loadOwnIdentityInfo() { dbExecutor.execute(() -> { try { @@ -93,6 +100,7 @@ class SettingsViewModel extends AndroidViewModel { trySetAvatar(uri); } catch (IOException e) { LogUtils.logException(LOG, WARNING, e); + setAvatarFailed.postValue(true); } }); } @@ -117,6 +125,7 @@ class SettingsViewModel extends AndroidViewModel { loadOwnIdentityInfo(); } catch (IOException | DbException e) { LogUtils.logException(LOG, WARNING, e); + setAvatarFailed.postValue(true); } }); } diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml index 8eff30b30..480335017 100644 --- a/briar-android/src/main/res/values/strings.xml +++ b/briar-android/src/main/res/values/strings.xml @@ -457,6 +457,7 @@ Tap to change your profile picture Change profile picture Only your contacts can see your profile image + We\'re sorry, but something went wrong while updating your profile picture Language & region