mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-18 13:49:53 +01:00
[android] use exception instead of string resource in LiveResult
This commit is contained in:
@@ -13,9 +13,8 @@ import org.briarproject.bramble.api.contact.ContactManager;
|
|||||||
import org.briarproject.bramble.api.db.DatabaseExecutor;
|
import org.briarproject.bramble.api.db.DatabaseExecutor;
|
||||||
import org.briarproject.bramble.api.db.DbException;
|
import org.briarproject.bramble.api.db.DbException;
|
||||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||||
import org.briarproject.briar.R;
|
|
||||||
import org.briarproject.briar.android.viewmodel.LiveResult;
|
|
||||||
import org.briarproject.briar.android.viewmodel.LiveEvent;
|
import org.briarproject.briar.android.viewmodel.LiveEvent;
|
||||||
|
import org.briarproject.briar.android.viewmodel.LiveResult;
|
||||||
import org.briarproject.briar.android.viewmodel.MutableLiveEvent;
|
import org.briarproject.briar.android.viewmodel.MutableLiveEvent;
|
||||||
|
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
@@ -103,12 +102,10 @@ public class AddContactViewModel extends AndroidViewModel {
|
|||||||
addContactResult.postValue(new LiveResult<>(true));
|
addContactResult.postValue(new LiveResult<>(true));
|
||||||
} catch (UnsupportedVersionException e) {
|
} catch (UnsupportedVersionException e) {
|
||||||
logException(LOG, WARNING, e);
|
logException(LOG, WARNING, e);
|
||||||
addContactResult
|
addContactResult.postValue(new LiveResult<>(e));
|
||||||
.postValue(new LiveResult<>(R.string.unsupported_link));
|
|
||||||
} catch (DbException | FormatException e) {
|
} catch (DbException | FormatException e) {
|
||||||
logException(LOG, WARNING, e);
|
logException(LOG, WARNING, e);
|
||||||
addContactResult.postValue(
|
addContactResult.postValue(new LiveResult<>(e));
|
||||||
new LiveResult<>(R.string.adding_contact_error));
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import android.widget.Button;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import org.briarproject.bramble.api.UnsupportedVersionException;
|
||||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||||
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||||
import org.briarproject.briar.R;
|
import org.briarproject.briar.R;
|
||||||
@@ -106,8 +107,14 @@ public class NicknameFragment extends BaseFragment {
|
|||||||
viewModel.getAddContactResult().observe(this, result -> {
|
viewModel.getAddContactResult().observe(this, result -> {
|
||||||
if (result == null) return;
|
if (result == null) return;
|
||||||
if (result.hasError()) {
|
if (result.hasError()) {
|
||||||
Toast.makeText(getContext(), result.getErrorRes(), LENGTH_LONG)
|
int stringRes;
|
||||||
.show();
|
if (result
|
||||||
|
.getException() instanceof UnsupportedVersionException) {
|
||||||
|
stringRes = R.string.unsupported_link;
|
||||||
|
} else {
|
||||||
|
stringRes = R.string.adding_contact_error;
|
||||||
|
}
|
||||||
|
Toast.makeText(getContext(), stringRes, LENGTH_LONG).show();
|
||||||
} else {
|
} else {
|
||||||
Intent intent = new Intent(getActivity(),
|
Intent intent = new Intent(getActivity(),
|
||||||
PendingContactListActivity.class);
|
PendingContactListActivity.class);
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package org.briarproject.briar.android.viewmodel;
|
package org.briarproject.briar.android.viewmodel;
|
||||||
|
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.support.annotation.StringRes;
|
|
||||||
|
|
||||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||||
|
|
||||||
@@ -10,17 +9,17 @@ public class LiveResult<T> {
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private T result;
|
private T result;
|
||||||
@StringRes
|
@Nullable
|
||||||
private int errorRes;
|
private Exception exception;
|
||||||
|
|
||||||
public LiveResult(T result) {
|
public LiveResult(T result) {
|
||||||
this.result = result;
|
this.result = result;
|
||||||
this.errorRes = 0;
|
this.exception = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LiveResult(@StringRes int errorRes) {
|
public LiveResult(Exception exception) {
|
||||||
this.result = null;
|
this.result = null;
|
||||||
this.errorRes = errorRes;
|
this.exception = exception;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -28,13 +27,13 @@ public class LiveResult<T> {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@StringRes
|
@Nullable
|
||||||
public int getErrorRes() {
|
public Exception getException() {
|
||||||
return errorRes;
|
return exception;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasError() {
|
public boolean hasError() {
|
||||||
return errorRes != 0;
|
return exception != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user