From 0f00ce86440d905b894b7102fa0c2dc46c73db15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=97=E5=AE=AB=E9=9B=AA=E7=8F=8A?= Date: Tue, 19 Oct 2021 00:48:54 +0800 Subject: [PATCH] [app] Update channel (#1310) --- .../manager/ui/fragment/RepoItemFragment.java | 20 ++++++++++++++++++- app/src/main/res/values-zh-rCN/strings.xml | 5 +++++ app/src/main/res/values/arrays.xml | 12 +++++++++++ app/src/main/res/values/strings.xml | 5 +++++ app/src/main/res/xml-v29/prefs.xml | 10 ++++++++++ app/src/main/res/xml/prefs.xml | 10 ++++++++++ 6 files changed, 61 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java index 1f4cddb5..a9aea078 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java @@ -19,6 +19,7 @@ package org.lsposed.manager.ui.fragment; +import android.content.res.Resources; import android.graphics.Color; import android.os.Bundle; import android.text.Spannable; @@ -71,6 +72,8 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; +import java.util.Locale; +import java.util.stream.Collectors; import java.util.stream.IntStream; import okhttp3.Headers; @@ -319,13 +322,28 @@ public class RepoItemFragment extends BaseFragment implements RepoLoader.Listene private class ReleaseAdapter extends RecyclerView.Adapter { private List items; + private final Resources resources = App.getInstance().getResources(); public ReleaseAdapter() { loadItems(); } public void loadItems() { - this.items = module.getReleases(); + var channels = resources.getStringArray(R.array.update_channel_values); + var channel = App.getPreferences().getString("update_channel", channels[0]); + var releases = module.getReleases(); + if (channel.equals(channels[0])) { + this.items = releases.parallelStream().filter(t -> { + if (t.getIsPrerelease()) return false; + var name = t.getName().toLowerCase(Locale.ROOT); + return !name.startsWith("snapshot") && !name.startsWith("nightly"); + }).collect(Collectors.toList()); + } else if (channel.equals(channels[1])) { + this.items = releases.parallelStream().filter(t -> { + var name = t.getName().toLowerCase(Locale.ROOT); + return !name.startsWith("snapshot") && !name.startsWith("nightly"); + }).collect(Collectors.toList()); + } else this.items = releases; notifyDataSetChanged(); } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index da16a902..0642e0e5 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -170,6 +170,11 @@ 帮助我们把 %s 翻译到你的语言 自动添加快捷方式 在非寄生管理器中禁用该选项将不会新建快捷方式 + @string/module_repo + 更新通道 + 稳定版 + 测试版 + 每夜构建 自述文件 版本 diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 9bbb407a..26378783 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -84,4 +84,16 @@ @string/color_blue_grey + + @string/update_channel_stable + @string/update_channel_bate + @string/update_channel_nightly + + + + CHANNEL_STABLE + CHANNEL_BETA + CHANNEL_NIGHTLY + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8b3b10a2..0b588b31 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -179,6 +179,11 @@ Help us translate %s into your language Automatically add a shortcut No new shortcuts will be added when disabled in the non-parasitic manager + @string/module_repo + Update channel + Stable + Beta + Nightly build Readme diff --git a/app/src/main/res/xml-v29/prefs.xml b/app/src/main/res/xml-v29/prefs.xml index d228006a..8c7a43d2 100644 --- a/app/src/main/res/xml-v29/prefs.xml +++ b/app/src/main/res/xml-v29/prefs.xml @@ -101,6 +101,16 @@ android:title="@string/pref_title_enable_auto_add_shortcut" /> + + + + + + + +