Added option tolog memory usage

This commit is contained in:
M66B 2022-09-09 16:21:43 +02:00
parent c062a1c8ad
commit 44413bbab0
4 changed files with 35 additions and 2 deletions

View File

@ -21,6 +21,7 @@ package eu.faircode.email;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Debug;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
@ -120,6 +121,13 @@ public class EntityLog {
if (!main_log)
return;
boolean main_log_memory = prefs.getBoolean("main_log_memory", false);
if (main_log_memory) {
long j = Log.getAvailableMb() - Log.getFreeMemMb();
long n = Debug.getNativeHeapSize() / 1024L / 1024L;
data = j + "/" + n + " " + data;
}
final EntityLog entry = new EntityLog();
entry.time = new Date().getTime();
entry.type = type;

View File

@ -146,6 +146,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
private SwitchCompat swExperiments;
private TextView tvExperimentsHint;
private SwitchCompat swMainLog;
private SwitchCompat swMainLogMem;
private SwitchCompat swProtocol;
private SwitchCompat swLogInfo;
private SwitchCompat swDebug;
@ -236,7 +237,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
"language", "lt_enabled", "deepl_enabled", "vt_enabled", "vt_apikey", "send_enabled", "send_host",
"updates", "weekly", "show_changelog",
"crash_reports", "cleanup_attachments",
"watchdog", "experiments", "main_log", "protocol", "log_level", "debug", "leak_canary",
"watchdog", "experiments", "main_log", "main_log_memory", "protocol", "log_level", "debug", "leak_canary",
"test1", "test2", "test3", "test4", "test5",
"work_manager", // "external_storage",
"query_threads",
@ -347,6 +348,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
swExperiments = view.findViewById(R.id.swExperiments);
tvExperimentsHint = view.findViewById(R.id.tvExperimentsHint);
swMainLog = view.findViewById(R.id.swMainLog);
swMainLogMem = view.findViewById(R.id.swMainLogMem);
swProtocol = view.findViewById(R.id.swProtocol);
swLogInfo = view.findViewById(R.id.swLogInfo);
swDebug = view.findViewById(R.id.swDebug);
@ -847,6 +849,14 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("main_log", checked).apply();
swMainLogMem.setEnabled(checked);
}
});
swMainLogMem.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("main_log_memory", checked).apply();
}
});
@ -1971,6 +1981,8 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
swWatchdog.setChecked(prefs.getBoolean("watchdog", true));
swMainLog.setChecked(prefs.getBoolean("main_log", true));
swMainLogMem.setChecked(prefs.getBoolean("main_log_memory", false));
swMainLogMem.setEnabled(swMainLog.isChecked());
swProtocol.setChecked(prefs.getBoolean("protocol", false));
swLogInfo.setChecked(prefs.getInt("log_level", Log.getDefaultLogLevel()) <= android.util.Log.INFO);
swDebug.setChecked(prefs.getBoolean("debug", false));

View File

@ -737,6 +737,18 @@
app:layout_constraintTop_toBottomOf="@id/tvExperimentsHint"
app:switchPadding="12dp" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/swMainLogMem"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:text="@string/title_advanced_main_log_mem"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/swMainLog"
app:switchPadding="12dp" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/swProtocol"
android:layout_width="0dp"
@ -747,7 +759,7 @@
android:text="@string/title_advanced_protocol"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/swMainLog"
app:layout_constraintTop_toBottomOf="@id/swMainLogMem"
app:switchPadding="12dp" />
<TextView

View File

@ -766,6 +766,7 @@
<string name="title_advanced_app">App settings</string>
<string name="title_advanced_more">More options</string>
<string name="title_advanced_main_log">Main logging</string>
<string name="title_advanced_main_log_mem">Log memory usage</string>
<string name="title_advanced_protocol">Protocol logging</string>
<string name="title_advanced_log_info">Debug logging</string>
<string name="title_advanced_debug">Debug mode</string>