diff --git a/app/src/main/java/org/transdroid/core/gui/TorrentsActivity.java b/app/src/main/java/org/transdroid/core/gui/TorrentsActivity.java index 09aa9b30..5792f2fc 100644 --- a/app/src/main/java/org/transdroid/core/gui/TorrentsActivity.java +++ b/app/src/main/java/org/transdroid/core/gui/TorrentsActivity.java @@ -185,6 +185,9 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, setTheme(R.style.TransdroidTheme_Dark); getActionBar().setIcon(R.drawable.ic_activity_torrents); } + // Catch any uncaught exception to log it + Thread.setDefaultUncaughtExceptionHandler(new LogUncaughtExceptionHandler(this, + Thread.getDefaultUncaughtExceptionHandler())); super.onCreate(savedInstanceState); } @@ -265,7 +268,6 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, // Handle any start up intents if (openTorrent != null) { openDetails(openTorrent); - openTorrent = null; } else if (getIntent() != null) { handleStartIntent(); } diff --git a/app/src/main/java/org/transdroid/core/gui/log/ErrorLogSender.java b/app/src/main/java/org/transdroid/core/gui/log/ErrorLogSender.java index 2102e66d..4eba0ce3 100644 --- a/app/src/main/java/org/transdroid/core/gui/log/ErrorLogSender.java +++ b/app/src/main/java/org/transdroid/core/gui/log/ErrorLogSender.java @@ -74,7 +74,7 @@ public class ErrorLogSender { Intent target = new Intent(Intent.ACTION_SEND); target.setType("message/rfc822"); - target.putExtra(Intent.EXTRA_EMAIL, new String[] { "transdroid.org@gmail.com" }); + target.putExtra(Intent.EXTRA_EMAIL, new String[] { "transdroid@2312.nl" }); target.putExtra(Intent.EXTRA_SUBJECT, "Transdroid error report"); target.putExtra(Intent.EXTRA_TEXT, body.toString()); try { diff --git a/app/src/main/java/org/transdroid/core/gui/log/Log.java b/app/src/main/java/org/transdroid/core/gui/log/Log.java index 35fc537c..e297f845 100644 --- a/app/src/main/java/org/transdroid/core/gui/log/Log.java +++ b/app/src/main/java/org/transdroid/core/gui/log/Log.java @@ -46,8 +46,6 @@ public class Log implements ITLogger { private Context context; @OrmLiteDao(helper = DatabaseHelper.class, model = ErrorLogEntry.class) Dao errorLogDao; - @Bean - protected NavigationHelper navigationHelper; protected Log(Context context) { this.context = context; diff --git a/app/src/main/java/org/transdroid/core/gui/log/LogUncaughtExceptionHandler.java b/app/src/main/java/org/transdroid/core/gui/log/LogUncaughtExceptionHandler.java new file mode 100644 index 00000000..d617a001 --- /dev/null +++ b/app/src/main/java/org/transdroid/core/gui/log/LogUncaughtExceptionHandler.java @@ -0,0 +1,50 @@ +/* + * Copyright 2010-2013 Eric Kok et al. + * + * Transdroid 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. + * + * Transdroid 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 Transdroid. If not, see . + */ +package org.transdroid.core.gui.log; + +import android.content.Context; + +public class LogUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler { + + private final Context context; + private final Thread.UncaughtExceptionHandler defaultUncaughtExceptionHandler; + + public LogUncaughtExceptionHandler(Context context, Thread.UncaughtExceptionHandler defaultUncaughtExceptionHandler) { + this.context = context; + this.defaultUncaughtExceptionHandler = defaultUncaughtExceptionHandler; + } + + @Override + public void uncaughtException(Thread thread, Throwable ex) { + + // Write exception stack trace to the log + String prefix = "E: "; + Log.e(context, prefix + ex.toString()); + if (ex.getCause() != null) { + for (StackTraceElement e : ex.getCause().getStackTrace()) { + Log.e(context, prefix + e.toString()); + } + } + for (StackTraceElement e : ex.getStackTrace()) { + Log.e(context, prefix + e.toString()); + } + + // Rely on default Android exception handling + defaultUncaughtExceptionHandler.uncaughtException(thread, ex); + } + +} diff --git a/app/src/main/java/org/transdroid/daemon/util/TlsSniSocketFactory.java b/app/src/main/java/org/transdroid/daemon/util/TlsSniSocketFactory.java index 140f204a..de22c764 100644 --- a/app/src/main/java/org/transdroid/daemon/util/TlsSniSocketFactory.java +++ b/app/src/main/java/org/transdroid/daemon/util/TlsSniSocketFactory.java @@ -140,9 +140,9 @@ public class TlsSniSocketFactory implements LayeredSocketFactory { throw new SSLPeerUnverifiedException("Cannot verify hostname: " + host); } - DLog.d(TlsSniSocketFactory.class.getSimpleName(), + /*DLog.d(TlsSniSocketFactory.class.getSimpleName(), "Established " + session.getProtocol() + " connection with " + session.getPeerHost() + - " using " + session.getCipherSuite()); + " using " + session.getCipherSuite());*/ return ssl; }