diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 01fede20..a7058d2d 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -147,6 +147,7 @@ dependencies { implementation("androidx.core:core:1.3.2") implementation("androidx.fragment:fragment:1.3.0") implementation("androidx.recyclerview:recyclerview:1.1.0") + implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0") implementation("com.caverock:androidsvg-aar:1.4") implementation("com.github.bumptech.glide:glide:$glideVersion") implementation("com.github.bumptech.glide:okhttp3-integration:$glideVersion") diff --git a/app/src/main/java/io/github/lsposed/manager/adapters/ScopeAdapter.java b/app/src/main/java/io/github/lsposed/manager/adapters/ScopeAdapter.java index f3203141..d327bc0d 100644 --- a/app/src/main/java/io/github/lsposed/manager/adapters/ScopeAdapter.java +++ b/app/src/main/java/io/github/lsposed/manager/adapters/ScopeAdapter.java @@ -269,9 +269,6 @@ public class ScopeAdapter extends RecyclerView.Adapter notifyDataSetChanged(); } return true; - } else if (itemId == R.id.menu_refresh) { - refresh(true); - return true; } else if (itemId == R.id.item_show_system) { item.setChecked(!item.isChecked()); preferences.edit().putBoolean("show_system_apps", item.isChecked()).apply(); diff --git a/app/src/main/java/io/github/lsposed/manager/ui/activity/AppListActivity.java b/app/src/main/java/io/github/lsposed/manager/ui/activity/AppListActivity.java index 6011ad99..0c91c3f6 100644 --- a/app/src/main/java/io/github/lsposed/manager/ui/activity/AppListActivity.java +++ b/app/src/main/java/io/github/lsposed/manager/ui/activity/AppListActivity.java @@ -77,6 +77,7 @@ public class AppListActivity extends BaseActivity { binding.recyclerView.setLayoutManager(new LinearLayoutManagerFix(this)); RecyclerViewKt.addFastScroller(binding.recyclerView, binding.recyclerView); RecyclerViewKt.fixEdgeEffect(binding.recyclerView, false, true); + binding.swipeRefreshLayout.setOnRefreshListener(() -> scopeAdapter.refresh(true)); searchListener = new SearchView.OnQueryTextListener() { @Override @@ -166,6 +167,7 @@ public class AppListActivity extends BaseActivity { public void onDataReady() { runOnUiThread(() -> { binding.progress.setIndeterminate(false); + binding.swipeRefreshLayout.setRefreshing(false); String queryStr = searchView != null ? searchView.getQuery().toString() : ""; scopeAdapter.getFilter().filter(queryStr); }); diff --git a/app/src/main/res/layout/activity_app_list.xml b/app/src/main/res/layout/activity_app_list.xml index f1e67087..5bd7a2d0 100644 --- a/app/src/main/res/layout/activity_app_list.xml +++ b/app/src/main/res/layout/activity_app_list.xml @@ -67,14 +67,20 @@ android:indeterminate="true" app:hideAnimationBehavior="outward" /> - + android:id="@+id/swipeRefreshLayout"> + + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_app_list.xml b/app/src/main/res/menu/menu_app_list.xml index 626b88d4..44e0266a 100644 --- a/app/src/main/res/menu/menu_app_list.xml +++ b/app/src/main/res/menu/menu_app_list.xml @@ -33,12 +33,6 @@ android:icon="@drawable/ic_settings" app:showAsAction="ifRoom" /> - -