mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-18 13:49:53 +01:00
Merge branch '2109-assertion-in-rssfeedviewmodel' into 'master'
Fix assertion caused by system-initiated process death Closes #2109 See merge request briar/briar!1510
This commit is contained in:
@@ -57,8 +57,12 @@ public class RssFeedActivity extends BriarActivity
|
|||||||
onBackPressed();
|
onBackPressed();
|
||||||
}
|
}
|
||||||
} else if (result == FAILED) {
|
} else if (result == FAILED) {
|
||||||
|
String url = viewModel.getUrlFailedImport();
|
||||||
|
if (url == null) {
|
||||||
|
throw new AssertionError();
|
||||||
|
}
|
||||||
RssFeedImportFailedDialogFragment dialog =
|
RssFeedImportFailedDialogFragment dialog =
|
||||||
RssFeedImportFailedDialogFragment.newInstance();
|
RssFeedImportFailedDialogFragment.newInstance(url);
|
||||||
dialog.show(getSupportFragmentManager(),
|
dialog.show(getSupportFragmentManager(),
|
||||||
RssFeedImportFailedDialogFragment.TAG);
|
RssFeedImportFailedDialogFragment.TAG);
|
||||||
} else if (result == EXISTS) {
|
} else if (result == EXISTS) {
|
||||||
|
|||||||
@@ -25,8 +25,15 @@ public class RssFeedImportFailedDialogFragment extends DialogFragment {
|
|||||||
ViewModelProvider.Factory viewModelFactory;
|
ViewModelProvider.Factory viewModelFactory;
|
||||||
private RssFeedViewModel viewModel;
|
private RssFeedViewModel viewModel;
|
||||||
|
|
||||||
static RssFeedImportFailedDialogFragment newInstance() {
|
private static final String ARG_URL = "url";
|
||||||
return new RssFeedImportFailedDialogFragment();
|
|
||||||
|
static RssFeedImportFailedDialogFragment newInstance(String retryUrl) {
|
||||||
|
Bundle args = new Bundle();
|
||||||
|
args.putString(ARG_URL, retryUrl);
|
||||||
|
RssFeedImportFailedDialogFragment f =
|
||||||
|
new RssFeedImportFailedDialogFragment();
|
||||||
|
f.setArguments(args);
|
||||||
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -45,8 +52,8 @@ public class RssFeedImportFailedDialogFragment extends DialogFragment {
|
|||||||
R.style.BriarDialogTheme);
|
R.style.BriarDialogTheme);
|
||||||
builder.setMessage(R.string.blogs_rss_feeds_import_error);
|
builder.setMessage(R.string.blogs_rss_feeds_import_error);
|
||||||
builder.setNegativeButton(R.string.cancel, null);
|
builder.setNegativeButton(R.string.cancel, null);
|
||||||
builder.setPositiveButton(R.string.try_again_button,
|
builder.setPositiveButton(R.string.try_again_button, (dialog, which) ->
|
||||||
(dialog, which) -> viewModel.retryImportFeed());
|
viewModel.importFeed(requireArguments().getString(ARG_URL)));
|
||||||
|
|
||||||
return builder.create();
|
return builder.create();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import org.briarproject.briar.api.feed.Feed;
|
|||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
|
|||||||
@@ -159,11 +159,9 @@ class RssFeedViewModel extends DbViewModel {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void retryImportFeed() {
|
@Nullable
|
||||||
if (urlFailedImport == null) {
|
String getUrlFailedImport() {
|
||||||
throw new AssertionError();
|
return urlFailedImport;
|
||||||
}
|
|
||||||
importFeed(urlFailedImport);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean exists(String url) {
|
private boolean exists(String url) {
|
||||||
|
|||||||
Reference in New Issue
Block a user