mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-11-07 03:07:26 +01:00
Show error message in WikiActivity.
This commit is contained in:
parent
c84f8ed2a3
commit
722760254f
@ -15,6 +15,8 @@ import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@ -23,6 +25,7 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.r0adkll.slidr.Slidr;
|
||||
import com.r0adkll.slidr.model.SlidrInterface;
|
||||
@ -77,6 +80,13 @@ public class WikiActivity extends BaseActivity {
|
||||
Toolbar toolbar;
|
||||
@BindView(R.id.content_markdown_view_comment_wiki_activity)
|
||||
RecyclerView markdownRecyclerView;
|
||||
@BindView(R.id.fetch_wiki_linear_layout_wiki_activity)
|
||||
LinearLayout mFetchWikiInfoLinearLayout;
|
||||
@BindView(R.id.fetch_wiki_image_view_wiki_activity)
|
||||
ImageView mFetchWikiInfoImageView;
|
||||
@BindView(R.id.fetch_wiki_text_view_wiki_activity)
|
||||
TextView mFetchWikiInfoTextView;
|
||||
|
||||
@Inject
|
||||
@Named("no_oauth")
|
||||
Retrofit retrofit;
|
||||
@ -254,6 +264,9 @@ public class WikiActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
private void loadWiki() {
|
||||
Glide.with(this).clear(mFetchWikiInfoImageView);
|
||||
mFetchWikiInfoLinearLayout.setVisibility(View.GONE);
|
||||
|
||||
retrofit.create(RedditAPI.class).getWiki(getIntent().getStringExtra(EXTRA_SUBREDDIT_NAME)).enqueue(new Callback<String>() {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<String> call, @NonNull Response<String> response) {
|
||||
@ -264,17 +277,30 @@ public class WikiActivity extends BaseActivity {
|
||||
markwonAdapter.notifyDataSetChanged();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
showErrorView(R.string.error_loading_wiki);
|
||||
}
|
||||
} else {
|
||||
if (response.code() == 404 || response.code() == 403) {
|
||||
showErrorView(R.string.no_wiki);
|
||||
} else {
|
||||
showErrorView(R.string.error_loading_wiki);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
|
||||
|
||||
showErrorView(R.string.error_loading_wiki);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void showErrorView(int stringResId) {
|
||||
mFetchWikiInfoLinearLayout.setVisibility(View.VISIBLE);
|
||||
mFetchWikiInfoTextView.setText(stringResId);
|
||||
Glide.with(this).load(R.drawable.error_image).into(mFetchWikiInfoImageView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
@ -311,6 +337,7 @@ public class WikiActivity extends BaseActivity {
|
||||
protected void applyCustomTheme() {
|
||||
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
|
||||
applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
|
||||
mFetchWikiInfoTextView.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
|
@ -40,4 +40,31 @@
|
||||
android:paddingEnd="16dp"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/fetch_wiki_linear_layout_wiki_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="48dp"
|
||||
android:layout_marginBottom="48dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" >
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/fetch_wiki_image_view_wiki_activity"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/fetch_wiki_text_view_wiki_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:gravity="center"
|
||||
android:textSize="?attr/font_default"
|
||||
android:fontFamily="?attr/font_family" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
@ -1158,4 +1158,7 @@
|
||||
<string name="error_parse_trending_search">Parse trending searches failed.\nTap to retry.</string>
|
||||
<string name="no_trending_search">No trending searches found.\nTap to retry.</string>
|
||||
|
||||
<string name="error_loading_wiki">Error loading wiki</string>
|
||||
<string name="no_wiki">This subreddit has no wiki page</string>
|
||||
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user