Add invert selection to per-app proxy list

This commit is contained in:
2dust committed 2026-01-13 09:56:28 +08:00
1 parent d0612619fd
commit 68ed08d36e
11 files changed
+47 -13

No files matched your search

@@ -137,6 +137,11 @@ class PerAppProxyActivity : BaseActivity() {
allowPerAppProxy()
true
}
R.id.invert_selection -> {
invertSelection()
allowPerAppProxy()
true
}
R.id.select_proxy_app -> {
selectProxyAppAuto()
@@ -177,6 +182,20 @@ class PerAppProxyActivity : BaseActivity() {
}
}
private fun invertSelection() {
adapter?.let { adapter ->
adapter.apps.forEach { app ->
val packageName = app.packageName
if (adapter.blacklist.contains(packageName)) {
adapter.blacklist.remove(packageName)
} else {
adapter.blacklist.add(packageName)
}
}
refreshData()
}
}
private fun selectProxyAppAuto() {
toast(R.string.msg_downloading_content)
showLoading()
@@ -13,6 +13,12 @@
android:title="@string/menu_item_select_all"
app:showAsAction="withText" />
<item
android:id="@+id/invert_selection"
android:icon="@drawable/ic_select_all_24dp"
android:title="@string/menu_item_invert_selection"
app:showAsAction="withText" />
<item
android:id="@+id/select_proxy_app"
android:icon="@drawable/ic_description_24dp"
@@ -134,6 +134,7 @@
<string name="msg_dialog_progress">جار التحميل</string>
<string name="menu_item_search">بحث</string>
<string name="menu_item_select_all">تحديد الكل</string>
<string name="menu_item_invert_selection">عكس الاختيار</string>
<string name="msg_enter_keywords">أدخل الكلمات الرئيسية</string>
<string name="switch_bypass_apps_mode">وضع التجاوز</string>
<string name="menu_item_select_proxy_app">تحديد تطبيق الوكيل تلقائيًا</string>
@@ -287,7 +288,7 @@
<string name="title_user_asset_setting">Asset files</string>
<string name="title_sort_by_test_results">الفرز حسب نتائج الاختبار (5)</string>
<string name="title_filter_config">تصفية ملف التكوين</string>
<string name="filter_config_all">جميع مجموعات الاشتراك</string>
<string name="filter_config_all">All</string>
<string name="title_del_duplicate_config_count">حذف %d من الإعدادات المكررة</string>
<string name="title_del_config_count">Delete %d configurations</string>
@@ -133,7 +133,8 @@
<string name="msg_dialog_progress">লোড হচ্ছে</string>
<string name="menu_item_search">অনুসন্ধান করুন</string>
<string name="menu_item_select_all">সবকিছু নির্বাচন করুন</string>
<string name="msg_enter_keywords">কীওয়ার্ড লিখুন</string>
<string name="menu_item_invert_selection">Invert selection</string>
<string name="msg_enter_keywords">কিওয়ার্ড লিখুন</string>
<string name="switch_bypass_apps_mode">বাইপাস মোড</string>
<string name="menu_item_select_proxy_app">অটো সিলেক্ট প্রক্সি অ্যাপ</string>
<string name="msg_downloading_content">বিষয়বস্তু ডাউনলোড হচ্ছে</string>
@@ -287,7 +288,7 @@
<string name="title_user_asset_setting">Asset files</string>
<string name="title_sort_by_test_results">টেস্ট ফলাফল দ্বারা সাজানো</string>
<string name="title_filter_config">কনফিগারেশন ফাইল ফিল্টার করুন</string>
<string name="filter_config_all">সব সাবস্ক্রিপশন গ্রুপ</string>
<string name="filter_config_all">All</string>
<string name="title_del_duplicate_config_count">%d ডুপ্লিকেট কনফিগারেশন মুছে ফেলুন</string>
<string name="title_del_config_count">Delete %d configurations</string>
<string name="title_import_config_count">Import %d configurations</string>
@@ -133,7 +133,8 @@
<string name="msg_dialog_progress">هونی بار ونی بۊ</string>
<string name="menu_item_search">پیتینیڌن</string>
<string name="menu_item_select_all">پسند پوی</string>
<string name="msg_enter_keywords">رزما ن بزنین</string>
<string name="menu_item_invert_selection">Invert selection</string>
<string name="msg_enter_keywords">کلمه کلیدی را وارد کنید</string>
<string name="switch_bypass_apps_mode">هالت Bypass</string>
<string name="menu_item_select_proxy_app">پسند خوتکار پروکسی برنومه</string>
<string name="msg_downloading_content">موئتوا هونی دانلود ابۊن</string>
@@ -331,7 +332,7 @@
<string name="connection_not_connected">منپیز نؽڌ</string>
<string name="connection_runing_task_left">تعداد وزیفه یل آزمایشی ک ر اۊفتانه: %s</string>
<string name="import_subscription_success">اشتراک وا مووفقیت زفت زابی</string>
<string name="import_subscription_success">اشتراک وا موفقیت زفت زابی</string>
<string name="import_subscription_failure">اشتراک زفت نوابی</string>
<string name="title_fragment_settings">سامووا فرگمنت</string>
<string name="title_pref_fragment_packets">کتنا فرگمنت</string>
@@ -131,7 +131,8 @@
<string name="msg_dialog_progress">بارگذاری</string>
<string name="menu_item_search">جستجو</string>
<string name="menu_item_select_all">انتخاب همه</string>
<string name="msg_enter_keywords">کلیدواژه‌ ها را وارد کنید</string>
<string name="menu_item_invert_selection">Invert selection</string>
<string name="msg_enter_keywords">کلمه ی کلیدی را وارد نمایید</string>
<string name="switch_bypass_apps_mode">حالت دور زدن</string>
<string name="menu_item_select_proxy_app">انتخاب خودکار پروکسی برنامه</string>
<string name="msg_downloading_content">در حال دانلود محتوا</string>
@@ -284,7 +285,7 @@
<string name="title_user_asset_setting">فایل های منبع جغرافیایی</string>
<string name="title_sort_by_test_results">مرتب‌ سازی بر اساس نتایج آزمایش</string>
<string name="title_filter_config">فیلتر کردن کانفیگ‌ها</string>
<string name="filter_config_all">همه گروه‌های اشتراک</string>
<string name="filter_config_all">All</string>
<string name="title_del_duplicate_config_count">حذف %d کانفیگ تکراری</string>
<string name="title_del_config_count">حذف %d کانفیگ</string>
@@ -133,7 +133,8 @@
<string name="msg_dialog_progress">Загрузка…</string>
<string name="menu_item_search">Поиск</string>
<string name="menu_item_select_all">Выбрать все</string>
<string name="msg_enter_keywords">Введите ключевые слова</string>
<string name="menu_item_invert_selection">Invert selection</string>
<string name="msg_enter_keywords">Введите ключевое слово</string>
<string name="switch_bypass_apps_mode">Режим обхода</string>
<string name="menu_item_select_proxy_app">Автовыбор приложений</string>
<string name="msg_downloading_content">Загрузка данных</string>
@@ -286,7 +287,7 @@
<string name="title_user_asset_setting">Файлы ресурсов</string>
<string name="title_sort_by_test_results">Сортировать по результатам теста</string>
<string name="title_filter_config">Фильтр профилей</string>
<string name="filter_config_all">Все группы</string>
<string name="filter_config_all">All</string>
<string name="title_del_duplicate_config_count">Удалено дубликатов профилей: %d</string>
<string name="title_del_config_count">Удалено профилей: %d</string>
<string name="title_import_config_count">Импортировано профилей: %d</string>
@@ -131,6 +131,7 @@
<string name="msg_dialog_progress">Đang tải...</string>
<string name="menu_item_search">Tìm kiếm</string>
<string name="menu_item_select_all">Chọn tất cả</string>
<string name="menu_item_invert_selection">Đảo chọn</string>
<string name="msg_enter_keywords">Nhập từ khoá</string>
<string name="switch_bypass_apps_mode">Chế độ Bypass</string>
<string name="menu_item_select_proxy_app">Tự động chọn ứng dụng Proxy</string>
@@ -287,7 +288,7 @@
<string name="title_user_asset_setting">Asset files</string>
<string name="title_sort_by_test_results">Sắp xếp lại theo lần kiểm tra cuối cùng</string>
<string name="title_filter_config">Lọc cấu hình theo các gói đăng ký</string>
<string name="filter_config_all">Hiển thị tất cả các gói đăng ký</string>
<string name="filter_config_all">All</string>
<string name="title_del_duplicate_config_count">Xoá %d cấu hình trùng lặp</string>
<string name="title_del_config_count">Delete %d configurations</string>
@@ -131,6 +131,7 @@
<string name="msg_dialog_progress">正在加载</string>
<string name="menu_item_search">搜索</string>
<string name="menu_item_select_all">全选</string>
<string name="menu_item_invert_selection">反选</string>
<string name="msg_enter_keywords">输入关键字</string>
<string name="switch_bypass_apps_mode">绕行模式</string>
<string name="menu_item_select_proxy_app">自动选中需代理应用</string>
@@ -284,7 +285,7 @@
<string name="title_user_asset_setting">资源文件</string>
<string name="title_sort_by_test_results">按测试结果排序</string>
<string name="title_filter_config">过滤配置</string>
<string name="filter_config_all">所有分组</string>
<string name="filter_config_all">所有</string>
<string name="title_del_duplicate_config_count">删除 %d 个重复配置</string>
<string name="title_del_config_count">删除 %d 个配置</string>
@@ -131,6 +131,7 @@
<string name="msg_dialog_progress">載入</string>
<string name="menu_item_search">搜尋</string>
<string name="menu_item_select_all">全選</string>
<string name="menu_item_invert_selection">反選</string>
<string name="msg_enter_keywords">輸入關鍵字</string>
<string name="switch_bypass_apps_mode">略過模式</string>
<string name="menu_item_select_proxy_app">自動選中需代理的應用</string>
@@ -285,7 +286,7 @@
<string name="title_user_asset_setting">資源檔案</string>
<string name="title_sort_by_test_results">依偵測結果排序</string>
<string name="title_filter_config">過濾設定</string>
<string name="filter_config_all">所有分組</string>
<string name="filter_config_all">所有</string>
<string name="title_del_duplicate_config_count">刪除 %d 個重複配置</string>
<string name="title_del_config_count">刪除 %d 個配置</string>
<string name="title_import_config_count">匯入 %d 個配置</string>
+2 -1
View File
@@ -134,6 +134,7 @@
<string name="msg_dialog_progress">Loading</string>
<string name="menu_item_search">Search</string>
<string name="menu_item_select_all">Select all</string>
<string name="menu_item_invert_selection">Invert selection</string>
<string name="msg_enter_keywords">Enter keywords</string>
<string name="switch_bypass_apps_mode">Bypass Mode</string>
<string name="menu_item_select_proxy_app">Auto select proxy app</string>
@@ -290,7 +291,7 @@
<string name="title_user_asset_setting">Asset files</string>
<string name="title_sort_by_test_results">Sorting by test results</string>
<string name="title_filter_config">Filter config</string>
<string name="filter_config_all">All groups</string>
<string name="filter_config_all">All</string>
<string name="title_del_duplicate_config_count">Delete %d duplicate configs</string>
<string name="title_del_config_count">Delete %d configs</string>
<string name="title_import_config_count">Import %d configs</string>