From a83fbf11b29422efb0508017d6e02500654cea58 Mon Sep 17 00:00:00 2001 From: NekoInverter <42698724+NekoInverter@users.noreply.github.com> Date: Thu, 5 Mar 2020 18:01:07 +0800 Subject: [PATCH] Fixes --- .../meowcat/edxposed/manager/BaseAdvancedInstaller.java | 4 +++- .../edxposed/manager/DownloadDetailsVersionsFragment.java | 3 +-- .../java/org/meowcat/edxposed/manager/LogsActivity.java | 8 ++++---- .../java/org/meowcat/edxposed/manager/MainActivity.java | 3 +++ .../org/meowcat/edxposed/manager/util/DownloadsUtil.java | 6 ++++-- .../org/meowcat/edxposed/manager/widget/DownloadView.java | 4 +++- app/src/main/res/layout/activity_main.xml | 5 ++++- app/src/main/res/values-zh-rCN/strings.xml | 6 ------ app/src/main/res/values-zh-rHK/strings.xml | 6 ------ app/src/main/res/values-zh-rTW/strings.xml | 6 ------ app/src/main/res/values/strings.xml | 8 -------- 11 files changed, 22 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/org/meowcat/edxposed/manager/BaseAdvancedInstaller.java b/app/src/main/java/org/meowcat/edxposed/manager/BaseAdvancedInstaller.java index f762dfd0..6465bf52 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/BaseAdvancedInstaller.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/BaseAdvancedInstaller.java @@ -16,6 +16,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.TooltipCompat; import androidx.fragment.app.Fragment; import com.google.android.material.dialog.MaterialAlertDialogBuilder; @@ -100,7 +101,8 @@ public class BaseAdvancedInstaller extends Fragment { TextView author = view.findViewById(R.id.author); View showOnXda = view.findViewById(R.id.show_on_xda); View updateDescription = view.findViewById(R.id.updateDescription); - + TooltipCompat.setTooltipText(infoInstaller, getString(R.string.info)); + TooltipCompat.setTooltipText(infoUninstaller, getString(R.string.info)); try { chooserInstallers.setAdapter(new XposedZip.MyAdapter(getContext(), installers())); chooserUninstallers.setAdapter(new XposedZip.MyAdapter(getContext(), uninstallers())); diff --git a/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsVersionsFragment.java b/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsVersionsFragment.java index 999fdb7f..ab1455ee 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsVersionsFragment.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsVersionsFragment.java @@ -10,7 +10,6 @@ import android.content.res.Resources; import android.net.Uri; import android.os.Bundle; import android.text.method.LinkMovementMethod; -import android.util.Log; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; @@ -109,7 +108,7 @@ public class DownloadDetailsVersionsFragment extends ListFragment { try { OutputStream os = mActivity.getContentResolver().openOutputStream(uri); if (os != null) { - FileInputStream in = new FileInputStream(new File(DownloadView.mInfo.localFilename)); + FileInputStream in = new FileInputStream(new File(DownloadView.lastInfo.localFilename)); byte[] buffer = new byte[1024]; int len; while ((len = in.read(buffer)) > 0) { diff --git a/app/src/main/java/org/meowcat/edxposed/manager/LogsActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/LogsActivity.java index abb8f01a..d714c5db 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/LogsActivity.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/LogsActivity.java @@ -1,7 +1,6 @@ package org.meowcat.edxposed.manager; import android.annotation.SuppressLint; -import android.app.ProgressDialog; import android.content.Intent; import android.net.Uri; import android.os.AsyncTask; @@ -18,6 +17,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.Toolbar; import androidx.core.content.FileProvider; import androidx.recyclerview.widget.LinearLayoutManager; @@ -228,7 +228,7 @@ public class LogsActivity extends BaseActivity { @SuppressLint("StaticFieldLeak") private class LogsReader extends AsyncTask> { - private ProgressDialog mProgressDialog; + private AlertDialog mProgressDialog; private Runnable mRunnable = new Runnable() { @Override public void run() { @@ -238,9 +238,9 @@ public class LogsActivity extends BaseActivity { @Override protected void onPreExecute() { - mProgressDialog = new ProgressDialog(LogsActivity.this); + mProgressDialog = new MaterialAlertDialogBuilder(LogsActivity.this).create(); mProgressDialog.setMessage(getString(R.string.loading)); - mProgressDialog.setProgress(0); + mProgressDialog.setCancelable(false); handler.postDelayed(mRunnable, 500); } diff --git a/app/src/main/java/org/meowcat/edxposed/manager/MainActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/MainActivity.java index 171bfeb6..15ab130d 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/MainActivity.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/MainActivity.java @@ -10,6 +10,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.appcompat.widget.PopupMenu; +import androidx.appcompat.widget.TooltipCompat; import com.google.android.material.card.MaterialCardView; @@ -20,6 +21,7 @@ public class MainActivity extends BaseActivity implements RepoLoader.RepoListene private RepoLoader mRepoLoader; + @SuppressLint("PrivateResource") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -64,6 +66,7 @@ public class MainActivity extends BaseActivity implements RepoLoader.RepoListene startActivity(intent); }); ImageView menu = findViewById(R.id.menu_more); + TooltipCompat.setTooltipText(menu, getString(androidx.appcompat.R.string.abc_action_menu_overflow_description)); menu.setOnClickListener(v -> { PopupMenu appMenu = new PopupMenu(MainActivity.this, menu); appMenu.inflate(R.menu.menu_installer); diff --git a/app/src/main/java/org/meowcat/edxposed/manager/util/DownloadsUtil.java b/app/src/main/java/org/meowcat/edxposed/manager/util/DownloadsUtil.java index 5cd6e744..2c48b650 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/util/DownloadsUtil.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/util/DownloadsUtil.java @@ -9,6 +9,7 @@ import android.content.SharedPreferences; import android.database.Cursor; import android.net.Uri; import android.provider.MediaStore; +import android.util.Log; import android.widget.Toast; import androidx.annotation.NonNull; @@ -58,6 +59,7 @@ public class DownloadsUtil { } } else */ File destination = new File(context.getExternalCacheDir(), "/downloads/" + b.mTitle + b.mMimeType.getExtension()); + removeAllForLocalFile(context, destination); request.setDestinationUri(Uri.fromFile(destination)); request.setNotificationVisibility(Request.VISIBILITY_VISIBLE); DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); @@ -211,7 +213,7 @@ public class DownloadsUtil { dm.remove(ids); } -/* + private static void removeAllForLocalFile(Context context, File file) { //noinspection ResultOfMethodCallIgnored file.delete(); @@ -261,7 +263,7 @@ public class DownloadsUtil { ids[i] = idsList.get(i); dm.remove(ids); - }*/ + } // public static void removeOutdated(Context context, long cutoff) { // DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); diff --git a/app/src/main/java/org/meowcat/edxposed/manager/widget/DownloadView.java b/app/src/main/java/org/meowcat/edxposed/manager/widget/DownloadView.java index c3cdb76b..3d118f71 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/widget/DownloadView.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/widget/DownloadView.java @@ -20,7 +20,7 @@ import org.meowcat.edxposed.manager.util.DownloadsUtil.DownloadFinishedCallback; import java.util.Objects; public class DownloadView extends LinearLayout { - public static DownloadsUtil.DownloadInfo mInfo = null; + public static DownloadsUtil.DownloadInfo lastInfo = null; private final Button btnDownload; private final Button btnDownloadCancel; private final Button btnInstall; @@ -28,6 +28,7 @@ public class DownloadView extends LinearLayout { private final ProgressBar progressBar; private final TextView txtInfo; public Fragment fragment; + private DownloadsUtil.DownloadInfo mInfo = null; private String mUrl = null; private final Runnable refreshViewRunnable = new Runnable() { @Override @@ -120,6 +121,7 @@ public class DownloadView extends LinearLayout { }); btnSave.setOnClickListener(v -> { + lastInfo = mInfo; mInfo = DownloadsUtil.addModule(getContext(), mTitle, mUrl, (context1, info) -> { Intent exportIntent = new Intent(Intent.ACTION_CREATE_DOCUMENT); exportIntent.addCategory(Intent.CATEGORY_OPENABLE); diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b132a474..62e6363b 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -32,6 +32,7 @@ android:layout_centerVertical="true" android:layout_marginStart="25dp" android:layout_toEndOf="@id/app_icon" + android:contentDescription="@string/app_name" android:text="@string/app_name" android:textAppearance="@style/TextAppearance.AppCompat.Title" android:textSize="20sp" /> @@ -44,9 +45,11 @@ android:layout_centerVertical="true" android:background="?selectableItemBackgroundBorderless" android:clickable="true" + android:contentDescription="@string/abc_action_menu_overflow_description" android:focusable="true" android:padding="5dp" - app:srcCompat="@drawable/ic_more" /> + app:srcCompat="@drawable/ic_more" + tools:ignore="PrivateResource" /> 下载并安装 安装 - 删除 取消 无可用的下载链接 正在下载(%1$,d / %2$,d kB) @@ -183,7 +182,6 @@ 名称: %1$s \n日期: %2$s - 当未允许写入外部存储空间权限时, 该功能无法正常工作 你将会下载一个 ZIP 格式文件, 请手动在 Magisk Manager 或 Recovery 中刷入 EdXposed Manager 有新版本可用!现在更新! 更新 @@ -194,7 +192,6 @@ 滚动到顶部 静默安装(root) 勾选后在 EdXposed Manager 内安装模块时将不再显示安装提示 - 模块已保存至 %1$s 忽略更新 忽略指定模块的更新 重启至恢复模式 @@ -254,8 +251,6 @@ 这是一个非官方的构建\n安装风险由您自行承担 备用下载方法 如果下载模块时出现问题, 请开启此选项 - 错误的配置文件夹: %1$s - 未知配置文件夹 以 Dexopt 模式优化全部应用 以 Speed 模式优化全部应用 请稍后, 这将需要一段时间… @@ -268,7 +263,6 @@ 运行 停止 更新日志 - 你必须先卸载 EdXposed Installer 才能继续使用 EdXposed Manager 显示模块和管理器 在应用列表内显示模块和管理器\n此选项并不会移除已勾选的应用标识 优化失败或返回值为空 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 01e3441c..87fbffa8 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -142,7 +142,6 @@ 下載並安裝 安裝 - 刪除 取消 無可用的下載鏈接 正在下載(%1$,d / %2$,d kB) @@ -183,7 +182,6 @@ 名稱: %1$s \n日期: %2$s - 當未允許寫入外部存儲空間權限時, 該功能無法正常工作 你將會下載一個 ZIP 格式文件, 請手動在 Magisk Manager 或 Recovery 中刷入 EdXposed Manager 有新版本可用!現在更新! 更新 @@ -194,7 +192,6 @@ 滾動到頂部 靜默安裝(root) 勾選後在 EdXposed Manager 內安裝模塊時將不再顯示安裝提示 - 模塊已保存至 %1$s 忽略更新 忽略指定模塊的更新 重啟至恢復模式 @@ -254,8 +251,6 @@ 這是一個非官方的構建\n安裝風險由您自行承擔 備用下載方法 如果下載模塊時出現問題, 請開啟此選項 - 錯誤的配置文件夾: %1$s - 未知配置文件夾 以 Dexopt 模式優化全部應用 以 Speed 模式優化全部應用 請稍後, 這將需要一段時間… @@ -268,7 +263,6 @@ 運行 停止 更新日誌 - 你必須先卸載 EdXposed Installer 才能繼續使用 EdXposed Manager 顯示模塊和管理器 在應用列表內顯示模塊和管理器\n此選項並不會移除已勾選的應用標識 優化失敗或返回值為空 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 7b40bbb2..e9745efe 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -142,7 +142,6 @@ 下載並安裝 安裝 - 刪除 取消 無可用的下載連結 正在下載(%1$,d / %2$,d kB) @@ -183,7 +182,6 @@ 名稱: %1$s \n日期: %2$s - 當未允許寫入外部儲存空間許可權時, 該功能無法正常工作 你將會下載一個 ZIP 格式檔案, 請手動在 Magisk Manager 或 Recovery 中刷入 EdXposed Manager 有新版本可用!現在更新! 更新 @@ -194,7 +192,6 @@ 滾動到頂部 靜默安裝(root) 勾選後在 EdXposed Manager 內安裝模組時將不再顯示安裝提示 - 模組已儲存至 %1$s 忽略更新 忽略指定模組的更新 重啟至恢復模式 @@ -254,8 +251,6 @@ 這是一個非官方的構建\n安裝風險由您自行承擔 備用下載方法 如果下載模組時出現問題, 請開啟此選項 - 錯誤的配置資料夾: %1$s - 未知配置資料夾 以 Dexopt 模式優化全部應用 以 Speed 模式優化全部應用 請稍後, 這將需要一段時間… @@ -268,7 +263,6 @@ 執行 停止 更新日誌 - 你必須先解除安裝 EdXposed Installer 才能繼續使用 EdXposed Manager 顯示模組和管理器 在應用列表內顯示模組和管理器\n此選項並不會移除已勾選的應用標識 優化失敗或返回值為空 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e8a69644..09f798c3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -144,7 +144,6 @@ Download and Install Install - Remove Cancel No download URL available Download is running (%1$,d of %2$,d kB) @@ -185,7 +184,6 @@ Name: %1$s \nDate: %2$s - This feature will not work without permission to write external storage You will download a ZIP file, flash in Magisk Manager or Recovery manually New version of EdXposed Manager is available! Update it! Update @@ -196,7 +194,6 @@ Scroll to top Silent installation (root) If checked EdXposed Manager will install modules without a prompt - Module saved at %1$s Ignore update Ignore updates for a specific module Reboot to Recovery @@ -229,9 +226,6 @@ Use mirrored modules list Mirrored modules list can help load faster\nBut the newly submitted module display will be delayed (about 24 hours) - Wrong base directory: %1$s - Missing base directory - Optimize all apps with Dexopt Optimize all apps with Speed mode Please wait, this may take a while… @@ -266,7 +260,6 @@ http://github.com/ElderDrivers/EdXposed/wiki http://edxp.meowcat.org/donate https://github.com/ElderDrivers/EdXposedManager/ - http://edxp.meowcat.org/faq givein2u MlgmXyysd @@ -304,7 +297,6 @@ Launch it Stop it Update Changelog - You must to uninstall EdXposed Installer to use EdXposed Manager Show modules and manager Show modules and manager in application list\nThis option does not remove checked application flag Optimization failed or return value is empty