Fix Inconsistency in log fragment (#1624)

This commit is contained in:
LoveSy 2022-02-04 02:27:34 +08:00 committed by GitHub
parent d06b26db2b
commit 84a2fa1f8f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 8 deletions

View File

@ -198,22 +198,26 @@ public class LogsFragment extends BaseFragment {
return log.size(); return log.size();
} }
void refresh() { @SuppressLint("NotifyDataSetChanged")
isLoaded = true; void refresh(List<CharSequence> log) {
runOnUiThread(this::notifyDataSetChanged); runOnUiThread(() ->{
isLoaded = true;
this.log = log;
notifyDataSetChanged();
});
} }
void fullRefresh() { void fullRefresh() {
runAsync(() -> { runAsync(() -> {
isLoaded = false; isLoaded = false;
List<CharSequence> tmp;
try (var parcelFileDescriptor = ConfigManager.getLog(verbose); try (var parcelFileDescriptor = ConfigManager.getLog(verbose);
var br = new BufferedReader(new InputStreamReader(new FileInputStream(parcelFileDescriptor != null ? parcelFileDescriptor.getFileDescriptor() : null)))) { var br = new BufferedReader(new InputStreamReader(new FileInputStream(parcelFileDescriptor != null ? parcelFileDescriptor.getFileDescriptor() : null)))) {
log = br.lines().parallel().collect(Collectors.toList()); tmp = br.lines().parallel().collect(Collectors.toList());
} catch (Throwable e) { } catch (Throwable e) {
log = Arrays.asList(Log.getStackTraceString(e).split("\n")); tmp = Arrays.asList(Log.getStackTraceString(e).split("\n"));
} finally {
refresh();
} }
refresh(tmp);
}); });
} }
@ -324,7 +328,6 @@ public class LogsFragment extends BaseFragment {
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
adaptor.refresh();
attachListeners(); attachListeners();
} }