Skip to content

Commit

Permalink
quran#589 - Added swipe-to-refresh in the translation manager view
Browse files Browse the repository at this point in the history
  • Loading branch information
hosainnet committed Jan 14, 2017
1 parent 8b4747d commit 512d8bb
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.LinearLayoutManager;
Expand Down Expand Up @@ -58,6 +59,9 @@ public class TranslationManagerActivity extends QuranActionBarActivity
@Inject
TranslationManagerPresenter presenter;

@BindView(R.id.translation_swipe_refresh)
SwipeRefreshLayout translationSwipeRefresh;

@BindView(R.id.translation_recycler)
RecyclerView translationRecycler;

Expand Down Expand Up @@ -87,6 +91,8 @@ public void onCreate(Bundle savedInstanceState) {
presenter.getTranslationsList(false);
onClickDownloadDisposable = adapter.getOnClickDownloadSubject().subscribe(this::downloadItem);
onClickRemoveDisposable = adapter.getOnClickRemoveSubject().subscribe(this::removeItem);

translationSwipeRefresh.setOnRefreshListener(this::onRefresh);
}

@Override
Expand Down Expand Up @@ -159,6 +165,10 @@ public void handleDownloadFailure(int errId) {
downloadingItem = null;
}

private void onRefresh() {
presenter.getTranslationsList(true);
}

private void updateTranslationItem(TranslationItem updated) {
int id = updated.translation.id;
int allItemsIndex = translationPositions.get(id);
Expand All @@ -170,12 +180,14 @@ private void updateTranslationItem(TranslationItem updated) {
}

public void onErrorDownloadTranslations() {
translationSwipeRefresh.setRefreshing(false);
Snackbar
.make(translationRecycler, R.string.error_getting_translation_list, Snackbar.LENGTH_SHORT)
.show();
}

public void onTranslationsUpdated(List<TranslationItem> items) {
translationSwipeRefresh.setRefreshing(false);
SparseIntArray itemsSparseArray = new SparseIntArray(items.size());
for (int i = 0, itemsSize = items.size(); i < itemsSize; i++) {
TranslationItem item = items.get(i);
Expand Down
14 changes: 9 additions & 5 deletions app/src/main/res/layout/translation_manager.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/translation_recycler"
android:id="@+id/translation_swipe_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
/>
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/translation_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"/>
</android.support.v4.widget.SwipeRefreshLayout>

0 comments on commit 512d8bb

Please sign in to comment.