diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/LogsFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/LogsFragment.java index f7c3bfb5..0a7e5484 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/LogsFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/LogsFragment.java @@ -21,9 +21,9 @@ package org.lsposed.manager.ui.fragment; import android.annotation.SuppressLint; import android.content.ActivityNotFoundException; +import android.content.ContentValues; import android.os.Bundle; -import android.os.Handler; -import android.os.Looper; +import android.provider.MediaStore; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -70,7 +70,6 @@ import rikka.material.app.LocaleDelegate; import rikka.recyclerview.RecyclerViewKt; public class LogsFragment extends BaseFragment implements MenuProvider { - private final Handler handler = new Handler(Looper.getMainLooper()); private FragmentPagerBinding binding; private LogPageAdapter adapter; private MenuItem wordWrap; @@ -88,8 +87,13 @@ public class LogsFragment extends BaseFragment implements MenuProvider { runAsync(() -> { var context = requireContext(); var contentResolver = context.getContentResolver(); + var values = new ContentValues(); + values.put(MediaStore.MediaColumns.IS_PENDING, 1); + contentResolver.update(uri, values, null, null); try (var zipFd = contentResolver.openFileDescriptor(uri, "wt")) { LSPManagerServiceHolder.getService().getLogs(zipFd); + values.put(MediaStore.MediaColumns.IS_PENDING, 0); + contentResolver.update(uri, values, null, null); showHint(context.getString(R.string.logs_saved), true); } catch (Throwable e) { var cause = e.getCause(); @@ -178,12 +182,6 @@ public class LogsFragment extends BaseFragment implements MenuProvider { } } - @Override - public void onDestroy() { - handler.removeCallbacksAndMessages(null); - super.onDestroy(); - } - public static class LogFragment extends BaseFragment { public static final int SCROLL_THRESHOLD = 500; protected boolean verbose; @@ -300,8 +298,7 @@ public class LogsFragment extends BaseFragment implements MenuProvider { void attachListeners() { var parent = getParentFragment(); - if (parent instanceof LogsFragment) { - var logsFragment = (LogsFragment) parent; + if (parent instanceof LogsFragment logsFragment) { logsFragment.binding.appBar.setLifted(!binding.recyclerView.getBorderViewDelegate().isShowingTopBorder()); binding.recyclerView.getBorderViewDelegate().setBorderVisibilityChangedListener((top, oldTop, bottom, oldBottom) -> logsFragment.binding.appBar.setLifted(!top)); logsFragment.setOptionsItemSelectListener(item -> {