From 9ed543a2cab73070566b0955bd65dc6405b7a64a Mon Sep 17 00:00:00 2001 From: bunnei Date: Thu, 29 Aug 2019 00:22:30 -0400 Subject: [PATCH] android: frontend: gamelist: Add swipe to refresh gesture. --- .../citra_android/ui/main/MainPresenter.java | 4 ---- .../citra_android/ui/main/TvMainActivity.java | 4 ---- .../ui/platform/PlatformGamesFragment.java | 15 +++++++++++++++ .../app/src/main/res/layout/fragment_grid.xml | 18 ++++++++++++------ .../app/src/main/res/menu/menu_game_grid.xml | 5 ----- 5 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainPresenter.java b/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainPresenter.java index e790b76e8..fad33735d 100644 --- a/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainPresenter.java +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainPresenter.java @@ -38,10 +38,6 @@ public final class MainPresenter { mView.launchSettingsActivity(SettingsFile.FILE_NAME_CONFIG); return true; - case R.id.menu_refresh: - refeshGameList(); - return true; - case R.id.button_add_directory: mView.launchFileListActivity(); return true; diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/main/TvMainActivity.java b/src/android/app/src/main/java/org/citra/citra_android/ui/main/TvMainActivity.java index cfb811ed5..7de257380 100644 --- a/src/android/app/src/main/java/org/citra/citra_android/ui/main/TvMainActivity.java +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/main/TvMainActivity.java @@ -226,10 +226,6 @@ public final class TvMainActivity extends FragmentActivity implements MainView { R.drawable.ic_add_tv, R.string.add_directory_title)); - rowItems.add(new TvSettingsItem(R.id.menu_refresh, - R.drawable.ic_refresh_tv, - R.string.grid_menu_refresh)); - // Create a header for this row. HeaderItem header = new HeaderItem(R.string.preferences_settings, getString(R.string.preferences_settings)); diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesFragment.java b/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesFragment.java index ef0db0450..78e09cb50 100644 --- a/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesFragment.java +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesFragment.java @@ -4,14 +4,17 @@ import android.database.Cursor; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; +import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import org.citra.citra_android.DolphinApplication; import org.citra.citra_android.R; import org.citra.citra_android.adapters.GameAdapter; +import org.citra.citra_android.model.GameDatabase; public final class PlatformGamesFragment extends Fragment implements PlatformGamesView { private PlatformGamesPresenter mPresenter = new PlatformGamesPresenter(this); @@ -46,6 +49,18 @@ public final class PlatformGamesFragment extends Fragment implements PlatformGam mRecyclerView.setAdapter(mAdapter); mRecyclerView.addItemDecoration(new GameAdapter.SpacesItemDecoration(6)); + + // Add swipe down to refresh gesture + final SwipeRefreshLayout pullToRefresh = view.findViewById(R.id.refresh_grid_games); + pullToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { + @Override + public void onRefresh() { + GameDatabase databaseHelper = DolphinApplication.databaseHelper; + databaseHelper.scanLibrary(databaseHelper.getWritableDatabase()); + refresh(); + pullToRefresh.setRefreshing(false); + } + }); } @Override diff --git a/src/android/app/src/main/res/layout/fragment_grid.xml b/src/android/app/src/main/res/layout/fragment_grid.xml index f7fbcc642..a14df9ea6 100644 --- a/src/android/app/src/main/res/layout/fragment_grid.xml +++ b/src/android/app/src/main/res/layout/fragment_grid.xml @@ -4,12 +4,18 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - + android:layout_height="wrap_content"> + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/menu/menu_game_grid.xml b/src/android/app/src/main/res/menu/menu_game_grid.xml index 0aa37e6f1..875091f42 100644 --- a/src/android/app/src/main/res/menu/menu_game_grid.xml +++ b/src/android/app/src/main/res/menu/menu_game_grid.xml @@ -8,9 +8,4 @@ android:icon="@drawable/ic_settings_core" app:showAsAction="ifRoom"/> - \ No newline at end of file