[app] Fix clear logs
This commit is contained in:
parent
10de0b0ac6
commit
7d08851aae
|
|
@ -22,6 +22,7 @@ package io.github.lsposed.manager;
|
|||
import android.content.pm.PackageInfo;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import android.os.RemoteException;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -34,8 +35,7 @@ public class ConfigManager {
|
|||
try {
|
||||
return LSPosedManagerServiceClient.getXposedApiVersion();
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
@ -44,8 +44,7 @@ public class ConfigManager {
|
|||
try {
|
||||
return LSPosedManagerServiceClient.getXposedVersionName();
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -54,8 +53,7 @@ public class ConfigManager {
|
|||
try {
|
||||
return LSPosedManagerServiceClient.getXposedVersionCode();
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
@ -65,8 +63,7 @@ public class ConfigManager {
|
|||
try {
|
||||
list.addAll(LSPosedManagerServiceClient.getInstalledPackagesFromAllUsers(flags));
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
|
@ -75,8 +72,7 @@ public class ConfigManager {
|
|||
try {
|
||||
return LSPosedManagerServiceClient.enabledModules();
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return new String[0];
|
||||
}
|
||||
}
|
||||
|
|
@ -85,8 +81,7 @@ public class ConfigManager {
|
|||
try {
|
||||
return enable ? LSPosedManagerServiceClient.enableModule(packageName) : LSPosedManagerServiceClient.disableModule(packageName);
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -99,8 +94,7 @@ public class ConfigManager {
|
|||
}
|
||||
return LSPosedManagerServiceClient.setModuleScope(packageName, uids);
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -112,8 +106,7 @@ public class ConfigManager {
|
|||
list.add(uid);
|
||||
}
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
|
@ -122,8 +115,7 @@ public class ConfigManager {
|
|||
try {
|
||||
return LSPosedManagerServiceClient.isResourceHook();
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -133,8 +125,7 @@ public class ConfigManager {
|
|||
LSPosedManagerServiceClient.setResourceHook(enabled);
|
||||
return true;
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -143,8 +134,7 @@ public class ConfigManager {
|
|||
try {
|
||||
return LSPosedManagerServiceClient.isVerboseLog();
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -154,8 +144,7 @@ public class ConfigManager {
|
|||
LSPosedManagerServiceClient.setVerboseLog(enabled);
|
||||
return true;
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -164,8 +153,7 @@ public class ConfigManager {
|
|||
try {
|
||||
return LSPosedManagerServiceClient.getVariant();
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -187,8 +175,7 @@ public class ConfigManager {
|
|||
LSPosedManagerServiceClient.setVariant(variant);
|
||||
return true;
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -197,29 +184,26 @@ public class ConfigManager {
|
|||
try {
|
||||
return LSPosedManagerServiceClient.isPermissive();
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static ParcelFileDescriptor getVerboseLog() {
|
||||
public static ParcelFileDescriptor getLogs(boolean verbose) {
|
||||
try {
|
||||
return LSPosedManagerServiceClient.getVerboseLog();
|
||||
return verbose ? LSPosedManagerServiceClient.getVerboseLog() : LSPosedManagerServiceClient.getModulesLog();
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static ParcelFileDescriptor getModulesLog() {
|
||||
public static boolean clearLogs(boolean verbose) {
|
||||
try {
|
||||
return LSPosedManagerServiceClient.getModulesLog();
|
||||
return LSPosedManagerServiceClient.clearLogs(verbose);
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
// TODO:
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,4 +119,9 @@ public class LSPosedManagerServiceClient {
|
|||
ensureService();
|
||||
return service.getModulesLog();
|
||||
}
|
||||
|
||||
public static boolean clearLogs(boolean verbose) throws RemoteException, NullPointerException {
|
||||
ensureService();
|
||||
return service.clearLogs(verbose);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@ import android.os.Bundle;
|
|||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
|
|
@ -76,7 +75,7 @@ import rikka.recyclerview.RecyclerViewKt;
|
|||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
public class LogsActivity extends BaseActivity {
|
||||
private int logType = 0;
|
||||
private boolean verbose = false;
|
||||
private LogsAdapter adapter;
|
||||
private final Handler handler = new Handler(Looper.getMainLooper());
|
||||
private ActivityLogsBinding binding;
|
||||
|
|
@ -96,7 +95,7 @@ public class LogsActivity extends BaseActivity {
|
|||
if (os == null) {
|
||||
return;
|
||||
}
|
||||
ParcelFileDescriptor parcelFileDescriptor = getLogFile();
|
||||
ParcelFileDescriptor parcelFileDescriptor = ConfigManager.getLogs(verbose);
|
||||
if (parcelFileDescriptor == null) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -111,16 +110,6 @@ public class LogsActivity extends BaseActivity {
|
|||
}
|
||||
});
|
||||
|
||||
private ParcelFileDescriptor getLogFile() {
|
||||
switch (logType) {
|
||||
case 0:
|
||||
default:
|
||||
return ConfigManager.getModulesLog();
|
||||
case 1:
|
||||
return ConfigManager.getVerboseLog();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
|
@ -160,7 +149,7 @@ public class LogsActivity extends BaseActivity {
|
|||
binding.slidingTabs.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
|
||||
@Override
|
||||
public void onTabSelected(TabLayout.Tab tab) {
|
||||
logType = tab.getPosition();
|
||||
verbose = tab.getPosition() == 1;
|
||||
reloadErrorLog();
|
||||
}
|
||||
|
||||
|
|
@ -192,7 +181,6 @@ public class LogsActivity extends BaseActivity {
|
|||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
int itemId = item.getItemId();
|
||||
if (itemId == R.id.menu_scroll_top) {
|
||||
Log.e("Test", adapter.getItemCount() + "");
|
||||
if (layoutManager.findFirstVisibleItemPosition() > 1000) {
|
||||
binding.recyclerView.scrollToPosition(0);
|
||||
} else {
|
||||
|
|
@ -226,30 +214,24 @@ public class LogsActivity extends BaseActivity {
|
|||
}
|
||||
|
||||
private void reloadErrorLog() {
|
||||
ParcelFileDescriptor parcelFileDescriptor = getLogFile();
|
||||
ParcelFileDescriptor parcelFileDescriptor = ConfigManager.getLogs(verbose);
|
||||
if (parcelFileDescriptor != null) {
|
||||
new LogsReader().execute(parcelFileDescriptor.getFileDescriptor());
|
||||
}
|
||||
}
|
||||
|
||||
private void clear() {
|
||||
try {
|
||||
ParcelFileDescriptor parcelFileDescriptor = getLogFile();
|
||||
if (parcelFileDescriptor == null) {
|
||||
return;
|
||||
}
|
||||
OutputStream os = new FileOutputStream(parcelFileDescriptor.getFileDescriptor());
|
||||
os.close();
|
||||
if (ConfigManager.clearLogs(verbose)) {
|
||||
adapter.setEmpty();
|
||||
Snackbar.make(binding.snackbar, R.string.logs_cleared, Snackbar.LENGTH_SHORT).show();
|
||||
reloadErrorLog();
|
||||
} catch (IOException e) {
|
||||
Snackbar.make(binding.snackbar, getResources().getString(R.string.logs_clear_failed) + "n" + e.getMessage(), Snackbar.LENGTH_LONG).show();
|
||||
} else {
|
||||
Snackbar.make(binding.snackbar, R.string.logs_clear_failed_2, Snackbar.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
private void send() {
|
||||
ParcelFileDescriptor parcelFileDescriptor = getLogFile();
|
||||
ParcelFileDescriptor parcelFileDescriptor = ConfigManager.getLogs(verbose);
|
||||
if (parcelFileDescriptor == null) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,7 +74,6 @@
|
|||
<string name="logs_save_failed">Failed to save:</string>
|
||||
<string name="menuClearLog">Clear log now</string>
|
||||
<string name="logs_cleared">Log successfully cleared.</string>
|
||||
<string name="logs_clear_failed">Could not clear the log:</string>
|
||||
<string name="log_is_empty">Log is empty.</string>
|
||||
|
||||
<!-- About tab -->
|
||||
|
|
@ -172,4 +171,5 @@
|
|||
<string name="module_release_load_more">Show older versions</string>
|
||||
<string name="module_release_no_more">No more release</string>
|
||||
<string name="theme_color">Theme color</string>
|
||||
<string name="logs_clear_failed_2">Could not clear the log</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,9 @@ import androidx.annotation.Nullable;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -383,6 +385,17 @@ public class ConfigManager {
|
|||
}
|
||||
}
|
||||
|
||||
public boolean clearLogs(boolean verbose) {
|
||||
try {
|
||||
OutputStream os = new FileOutputStream(verbose ? verboseLogPath : modulesLogPath);
|
||||
os.close();
|
||||
return true;
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, Log.getStackTraceString(e));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isManager(String package_name) {
|
||||
return package_name.equals(manager);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,4 +113,9 @@ public class LSPManagerService extends ILSPManagerService.Stub {
|
|||
public ParcelFileDescriptor getModulesLog() {
|
||||
return ConfigManager.getInstance().getModulesLog();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean clearLogs(boolean verbose) {
|
||||
return ConfigManager.getInstance().clearLogs(verbose);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,4 +38,6 @@ interface ILSPManagerService {
|
|||
String getXposedVersionName() = 19;
|
||||
|
||||
int getXposedApiVersion() = 20;
|
||||
|
||||
boolean clearLogs(boolean verbose) = 21;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue