Fix save log (#1932)

This commit is contained in:
南宫雪珊 2022-05-11 17:38:39 +08:00 committed by GitHub
parent dce14b953e
commit 2f0de5b7f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 3 deletions

View File

@ -88,8 +88,11 @@ public class LogsFragment extends BaseFragment {
var contentResolver = context.getContentResolver();
try (var zipFd = contentResolver.openFileDescriptor(uri, "wt")) {
LSPManagerServiceHolder.getService().getLogs(zipFd);
showHint(context.getString(R.string.logs_saved), true);
} catch (Throwable e) {
var text = context.getString(R.string.logs_save_failed2, e.getMessage());
var cause = e.getCause();
var message = cause == null ? e.getMessage() : cause.getMessage();
var text = context.getString(R.string.logs_save_failed2, message);
showHint(text, false);
Log.w(App.TAG, "save log", e);
}

View File

@ -82,6 +82,7 @@
<string name="menuSaveToSd">Save</string>
<string name="nav_item_logs_verbose">Verbose Logs</string>
<string name="nav_item_logs_module">Modules Logs</string>
<string name="logs_saved">Logs saved</string>
<string name="logs_save_failed2">Failed to save:\n%s</string>
<string name="menuClearLog">Clear log now</string>
<string name="logs_cleared">Log successfully cleared.</string>

View File

@ -236,7 +236,7 @@ public class ConfigFileManager {
return logDirPath.resolve("kmsg.log").toFile();
}
static void getLogs(ParcelFileDescriptor zipFd) throws RemoteException {
static void getLogs(ParcelFileDescriptor zipFd) {
try (var os = new ZipOutputStream(new FileOutputStream(zipFd.getFileDescriptor()))) {
var comment = String.format(Locale.ROOT, "LSPosed %s %s (%d)",
BuildConfig.BUILD_TYPE, BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE);
@ -260,7 +260,7 @@ public class ConfigFileManager {
ConfigManager.getInstance().exportScopes(os);
} catch (Throwable e) {
Log.w(TAG, "get log", e);
throw new RemoteException(Log.getStackTraceString(e));
throw new IllegalStateException(e);
}
}