diff --git a/android/android-base/src/main/java/org/isoron/androidbase/BaseExceptionHandler.java b/android/android-base/src/main/java/org/isoron/androidbase/BaseExceptionHandler.java deleted file mode 100644 index 6a7e4e4d1..000000000 --- a/android/android-base/src/main/java/org/isoron/androidbase/BaseExceptionHandler.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2017 Álinson Santos Xavier - * - * This file is part of Loop Habit Tracker. - * - * Loop Habit Tracker 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. - * - * Loop Habit Tracker 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 this program. If not, see . - */ - -package org.isoron.androidbase; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import org.isoron.androidbase.activities.*; - -public class BaseExceptionHandler implements Thread.UncaughtExceptionHandler -{ - @Nullable - private Thread.UncaughtExceptionHandler originalHandler; - - @NonNull - private BaseActivity activity; - - public BaseExceptionHandler(@NonNull BaseActivity activity) - { - this.activity = activity; - originalHandler = Thread.getDefaultUncaughtExceptionHandler(); - } - - @Override - public void uncaughtException(@Nullable Thread thread, - @Nullable Throwable ex) - { - if (ex == null) return; - - try - { - ex.printStackTrace(); - new AndroidBugReporter(activity).dumpBugReportToFile(); - } - catch (Exception e) - { - e.printStackTrace(); - } - -// if (ex.getCause() instanceof InconsistentDatabaseException) -// { -// HabitsApplication app = (HabitsApplication) activity.getApplication(); -// HabitList habits = app.getComponent().getHabitList(); -// habits.repair(); -// System.exit(0); -// } - - if (originalHandler != null) - originalHandler.uncaughtException(thread, ex); - } -} diff --git a/android/android-base/src/main/java/org/isoron/androidbase/BaseExceptionHandler.kt b/android/android-base/src/main/java/org/isoron/androidbase/BaseExceptionHandler.kt new file mode 100644 index 000000000..8c8342146 --- /dev/null +++ b/android/android-base/src/main/java/org/isoron/androidbase/BaseExceptionHandler.kt @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2017 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker 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. + * + * Loop Habit Tracker 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 this program. If not, see . + */ +package org.isoron.androidbase + +import org.isoron.androidbase.activities.BaseActivity + +class BaseExceptionHandler(private val activity: BaseActivity) : Thread.UncaughtExceptionHandler { + + private val originalHandler: Thread.UncaughtExceptionHandler? = Thread.getDefaultUncaughtExceptionHandler() + + override fun uncaughtException(thread: Thread?, ex: Throwable?) { + ex?.let { ex -> + try { + ex.printStackTrace() + AndroidBugReporter(activity).dumpBugReportToFile() + } catch (e: Exception) { + e.printStackTrace() + } + +// if (ex.cause is InconsistentDatabaseException) { +// val app = activity.application as HabitsApplication +// val habits = app.getComponent().getHabitList() +// habits.repair() +// System.exit(0) +// } + + originalHandler?.uncaughtException(thread, ex) + } + } +} \ No newline at end of file