diff --git a/app/src/main/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java b/app/src/main/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java index 2a0a629f3..bcc0bbdff 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java +++ b/app/src/main/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java @@ -7,6 +7,7 @@ import android.support.design.widget.FloatingActionButton; import android.support.v4.app.LoaderManager; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; +import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; @@ -15,6 +16,7 @@ import android.widget.FrameLayout; import android.widget.TextView; import org.fdroid.fdroid.R; +import org.fdroid.fdroid.UpdateService; import org.fdroid.fdroid.data.CategoryProvider; import org.fdroid.fdroid.data.Schema; import org.fdroid.fdroid.views.apps.AppListActivity; @@ -54,6 +56,16 @@ class CategoriesViewBinder implements LoaderManager.LoaderCallbacks { categoriesList.setLayoutManager(new LinearLayoutManager(activity)); categoriesList.setAdapter(categoryAdapter); + final SwipeRefreshLayout swipeToRefresh = + (SwipeRefreshLayout) categoriesView.findViewById(R.id.swipe_to_refresh); + swipeToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { + @Override + public void onRefresh() { + swipeToRefresh.setRefreshing(false); + UpdateService.updateNow(activity); + } + }); + FloatingActionButton searchFab = (FloatingActionButton) categoriesView.findViewById(R.id.btn_search); searchFab.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesViewBinder.java b/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesViewBinder.java index 84602df5b..784210e59 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesViewBinder.java +++ b/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesViewBinder.java @@ -1,5 +1,6 @@ package org.fdroid.fdroid.views.updates; +import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; @@ -9,6 +10,7 @@ import android.widget.ImageView; import android.widget.TextView; import org.fdroid.fdroid.R; +import org.fdroid.fdroid.UpdateService; public class UpdatesViewBinder { @@ -17,7 +19,7 @@ public class UpdatesViewBinder { private final TextView emptyState; private final ImageView emptyImage; - public UpdatesViewBinder(AppCompatActivity activity, FrameLayout parent) { + public UpdatesViewBinder(final AppCompatActivity activity, FrameLayout parent) { View view = activity.getLayoutInflater().inflate(R.layout.main_tab_updates, parent, true); adapter = new UpdatesAdapter(activity); @@ -30,6 +32,16 @@ public class UpdatesViewBinder { emptyState = (TextView) view.findViewById(R.id.empty_state); emptyImage = (ImageView) view.findViewById(R.id.image); + + final SwipeRefreshLayout swipeToRefresh = (SwipeRefreshLayout) view.findViewById(R.id.swipe_to_refresh); + swipeToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { + @Override + public void onRefresh() { + swipeToRefresh.setRefreshing(false); + UpdateService.updateNow(activity); + } + }); + } public void bind() { diff --git a/app/src/main/res/layout/main_tab_categories.xml b/app/src/main/res/layout/main_tab_categories.xml index 27ca6f052..c83c1ea6f 100644 --- a/app/src/main/res/layout/main_tab_categories.xml +++ b/app/src/main/res/layout/main_tab_categories.xml @@ -1,5 +1,5 @@ - - + - + - + - + - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/main_tab_updates.xml b/app/src/main/res/layout/main_tab_updates.xml index 4dffe045f..e201a42c1 100644 --- a/app/src/main/res/layout/main_tab_updates.xml +++ b/app/src/main/res/layout/main_tab_updates.xml @@ -1,46 +1,66 @@ - + + + android:id="@+id/swipe_to_refresh"> - + - + - + - + + + + + + + \ No newline at end of file