Set MediaColumns.IS_PENDING when writing log zip (#2636)
This commit is contained in:
parent
bee7938002
commit
06175bf499
|
|
@ -21,9 +21,9 @@ package org.lsposed.manager.ui.fragment;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.content.ActivityNotFoundException;
|
import android.content.ActivityNotFoundException;
|
||||||
|
import android.content.ContentValues;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.provider.MediaStore;
|
||||||
import android.os.Looper;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
|
|
@ -70,7 +70,6 @@ import rikka.material.app.LocaleDelegate;
|
||||||
import rikka.recyclerview.RecyclerViewKt;
|
import rikka.recyclerview.RecyclerViewKt;
|
||||||
|
|
||||||
public class LogsFragment extends BaseFragment implements MenuProvider {
|
public class LogsFragment extends BaseFragment implements MenuProvider {
|
||||||
private final Handler handler = new Handler(Looper.getMainLooper());
|
|
||||||
private FragmentPagerBinding binding;
|
private FragmentPagerBinding binding;
|
||||||
private LogPageAdapter adapter;
|
private LogPageAdapter adapter;
|
||||||
private MenuItem wordWrap;
|
private MenuItem wordWrap;
|
||||||
|
|
@ -88,8 +87,13 @@ public class LogsFragment extends BaseFragment implements MenuProvider {
|
||||||
runAsync(() -> {
|
runAsync(() -> {
|
||||||
var context = requireContext();
|
var context = requireContext();
|
||||||
var contentResolver = context.getContentResolver();
|
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")) {
|
try (var zipFd = contentResolver.openFileDescriptor(uri, "wt")) {
|
||||||
LSPManagerServiceHolder.getService().getLogs(zipFd);
|
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);
|
showHint(context.getString(R.string.logs_saved), true);
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
var cause = e.getCause();
|
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 class LogFragment extends BaseFragment {
|
||||||
public static final int SCROLL_THRESHOLD = 500;
|
public static final int SCROLL_THRESHOLD = 500;
|
||||||
protected boolean verbose;
|
protected boolean verbose;
|
||||||
|
|
@ -300,8 +298,7 @@ public class LogsFragment extends BaseFragment implements MenuProvider {
|
||||||
|
|
||||||
void attachListeners() {
|
void attachListeners() {
|
||||||
var parent = getParentFragment();
|
var parent = getParentFragment();
|
||||||
if (parent instanceof LogsFragment) {
|
if (parent instanceof LogsFragment logsFragment) {
|
||||||
var logsFragment = (LogsFragment) parent;
|
|
||||||
logsFragment.binding.appBar.setLifted(!binding.recyclerView.getBorderViewDelegate().isShowingTopBorder());
|
logsFragment.binding.appBar.setLifted(!binding.recyclerView.getBorderViewDelegate().isShowingTopBorder());
|
||||||
binding.recyclerView.getBorderViewDelegate().setBorderVisibilityChangedListener((top, oldTop, bottom, oldBottom) -> logsFragment.binding.appBar.setLifted(!top));
|
binding.recyclerView.getBorderViewDelegate().setBorderVisibilityChangedListener((top, oldTop, bottom, oldBottom) -> logsFragment.binding.appBar.setLifted(!top));
|
||||||
logsFragment.setOptionsItemSelectListener(item -> {
|
logsFragment.setOptionsItemSelectListener(item -> {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue