Added debug helper

pull/214/head
M66B 1 year ago
parent 2b00772111
commit 673947f60c

@ -0,0 +1,38 @@
package eu.faircode.email;
/*
This file is part of FairEmail.
FairEmail is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
FairEmail is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with FairEmail. If not, see <http://www.gnu.org/licenses/>.
Copyright 2018-2023 by Marcel Bokhorst (M66B)
*/
import android.content.Context;
import android.os.Bundle;
import org.json.JSONException;
import java.io.IOException;
public class DebugHelper {
static final String CRASH_LOG_NAME = "crash.log";
static EntityMessage getDebugInfo(Context context, String source, int title, Throwable ex, String log, Bundle args) throws IOException, JSONException {
return null;
}
static void writeCrashLog(Context context, Throwable ex) {
}
}

File diff suppressed because it is too large Load Diff

@ -499,11 +499,15 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac
@Override @Override
protected Long onExecute(Context context, Bundle args) throws IOException, JSONException { protected Long onExecute(Context context, Bundle args) throws IOException, JSONException {
return Log.getDebugInfo(context, "setup", R.string.title_debug_info_remark, null, null, args).id; EntityMessage m = DebugHelper.getDebugInfo(context,
"setup", R.string.title_debug_info_remark, null, null, args);
return (m == null ? null : m.id);
} }
@Override @Override
protected void onExecuted(Bundle args, Long id) { protected void onExecuted(Bundle args, Long id) {
if (id == null)
return;
startActivity(new Intent(ActivitySetup.this, ActivityCompose.class) startActivity(new Intent(ActivitySetup.this, ActivityCompose.class)
.putExtra("action", "edit") .putExtra("action", "edit")
.putExtra("id", id)); .putExtra("id", id));

@ -1502,7 +1502,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
new SimpleTask<Long>() { new SimpleTask<Long>() {
@Override @Override
protected Long onExecute(Context context, Bundle args) throws Throwable { protected Long onExecute(Context context, Bundle args) throws Throwable {
File file = new File(context.getFilesDir(), Log.CRASH_LOG_NAME); File file = new File(context.getFilesDir(), DebugHelper.CRASH_LOG_NAME);
if (file.exists()) { if (file.exists()) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
try { try {
@ -1512,7 +1512,9 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
sb.append(line).append("\r\n"); sb.append(line).append("\r\n");
} }
return Log.getDebugInfo(context, "crash", R.string.title_crash_info_remark, null, sb.toString(), null).id; EntityMessage m = DebugHelper.getDebugInfo(context,
"crash", R.string.title_crash_info_remark, null, sb.toString(), null);
return (m == null ? null : m.id);
} finally { } finally {
Helper.secureDelete(file); Helper.secureDelete(file);
} }
@ -1523,11 +1525,12 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
@Override @Override
protected void onExecuted(Bundle args, Long id) { protected void onExecuted(Bundle args, Long id) {
if (id != null) if (id == null)
startActivity( return;
new Intent(ActivityView.this, ActivityCompose.class) startActivity(
.putExtra("action", "edit") new Intent(ActivityView.this, ActivityCompose.class)
.putExtra("id", id)); .putExtra("action", "edit")
.putExtra("id", id));
} }
@Override @Override
@ -1535,7 +1538,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
ToastEx.makeText(ActivityView.this, ToastEx.makeText(ActivityView.this,
Log.formatThrowable(ex, false), Toast.LENGTH_LONG).show(); Log.formatThrowable(ex, false), Toast.LENGTH_LONG).show();
} }
}.execute(this, new Bundle(), Log.CRASH_LOG_NAME); }.execute(this, new Bundle(), DebugHelper.CRASH_LOG_NAME);
} }
private void checkUpdate(boolean always) { private void checkUpdate(boolean always) {
@ -2277,14 +2280,17 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
protected Long onExecute(Context context, Bundle args) throws IOException, JSONException { protected Long onExecute(Context context, Bundle args) throws IOException, JSONException {
boolean send = args.getBoolean("send"); boolean send = args.getBoolean("send");
long id = Log.getDebugInfo(context, "main", R.string.title_debug_info_remark, null, null, args).id; EntityMessage m = DebugHelper.getDebugInfo(context,
"main", R.string.title_debug_info_remark, null, null, args);
if (m == null)
return null;
if (send) { if (send) {
DB db = DB.getInstance(context); DB db = DB.getInstance(context);
try { try {
db.beginTransaction(); db.beginTransaction();
EntityMessage draft = db.message().getMessage(id); EntityMessage draft = db.message().getMessage(m.id);
if (draft != null) { if (draft != null) {
draft.folder = EntityFolder.getOutbox(context).id; draft.folder = EntityFolder.getOutbox(context).id;
db.message().updateMessage(draft); db.message().updateMessage(draft);
@ -2301,11 +2307,14 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
} }
} }
return id; return m.id;
} }
@Override @Override
protected void onExecuted(Bundle args, Long id) { protected void onExecuted(Bundle args, Long id) {
if (id == null)
return;
boolean sent = args.getBoolean("sent"); boolean sent = args.getBoolean("sent");
if (sent) { if (sent) {
ToastEx.makeText(ActivityView.this, R.string.title_debug_info_send, Toast.LENGTH_LONG).show(); ToastEx.makeText(ActivityView.this, R.string.title_debug_info_send, Toast.LENGTH_LONG).show();

@ -151,7 +151,7 @@ public class ApplicationEx extends Application
if (BuildConfig.BETA_RELEASE || if (BuildConfig.BETA_RELEASE ||
!Helper.isPlayStoreInstall()) !Helper.isPlayStoreInstall())
Log.writeCrashLog(ApplicationEx.this, ex); DebugHelper.writeCrashLog(ApplicationEx.this, ex);
if (prev != null) if (prev != null)
prev.uncaughtException(thread, ex); prev.uncaughtException(thread, ex);

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save