mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-11-14 18:57:30 +00:00
Convert CrashReporter to kotlin
This commit is contained in:
parent
aee3fad59c
commit
a3383ab477
@ -42,8 +42,7 @@ class InstaGrabberApplication : Application() {
|
||||
|
||||
private fun setupCrashReporter() {
|
||||
if (BuildConfig.DEBUG) return
|
||||
CrashReporter.get(this).start()
|
||||
// logCollector = new LogCollector(this);
|
||||
CrashReporter.getInstance(this).start()
|
||||
}
|
||||
|
||||
private fun setupCloseGuard() {
|
||||
|
@ -25,7 +25,7 @@ fun showUpdateDialog(
|
||||
mainThread.execute {
|
||||
MaterialAlertDialogBuilder(context).apply {
|
||||
setTitle(context.getString(R.string.update_available, version))
|
||||
setNeutralButton(R.string.skip_update) { dialog: DialogInterface, which: Int ->
|
||||
setNeutralButton(R.string.skip_update) { dialog: DialogInterface, _: Int ->
|
||||
Utils.settingsHelper.putString(Constants.SKIPPED_VERSION, version)
|
||||
dialog.dismiss()
|
||||
}
|
||||
|
@ -1,46 +1,40 @@
|
||||
package awaisomereport;
|
||||
package awaisomereport
|
||||
|
||||
import android.app.Application;
|
||||
import android.app.Application
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
class CrashReporter private constructor(application: Application) : Thread.UncaughtExceptionHandler {
|
||||
|
||||
public final class CrashReporter implements Thread.UncaughtExceptionHandler {
|
||||
private static final String TAG = CrashReporter.class.getSimpleName();
|
||||
private val crashHandler: CrashHandler?
|
||||
private var startAttempted = false
|
||||
private var defaultExceptionHandler: Thread.UncaughtExceptionHandler? = null
|
||||
|
||||
private static CrashReporter reporterInstance;
|
||||
|
||||
// private final File crashLogsZip;
|
||||
private final CrashHandler crashHandler;
|
||||
|
||||
private boolean startAttempted = false;
|
||||
private Thread.UncaughtExceptionHandler defaultEH;
|
||||
|
||||
public static CrashReporter get(final Application application) {
|
||||
if (reporterInstance == null) {
|
||||
reporterInstance = new CrashReporter(application);
|
||||
}
|
||||
return reporterInstance;
|
||||
init {
|
||||
crashHandler = CrashHandler(application)
|
||||
}
|
||||
|
||||
private CrashReporter(@NonNull final Application application) {
|
||||
crashHandler = new CrashHandler(application);
|
||||
// this.crashLogsZip = new File(application.getExternalCacheDir(), "crash_logs.zip");
|
||||
fun start() {
|
||||
if (startAttempted) return
|
||||
defaultExceptionHandler = Thread.getDefaultUncaughtExceptionHandler()
|
||||
Thread.setDefaultUncaughtExceptionHandler(this)
|
||||
startAttempted = true
|
||||
}
|
||||
|
||||
public void start() {
|
||||
if (!startAttempted) {
|
||||
defaultEH = Thread.getDefaultUncaughtExceptionHandler();
|
||||
Thread.setDefaultUncaughtExceptionHandler(this);
|
||||
startAttempted = true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void uncaughtException(@NonNull final Thread t, @NonNull final Throwable exception) {
|
||||
override fun uncaughtException(t: Thread, exception: Throwable) {
|
||||
if (crashHandler == null) {
|
||||
defaultEH.uncaughtException(t, exception);
|
||||
return;
|
||||
defaultExceptionHandler?.uncaughtException(t, exception)
|
||||
return
|
||||
}
|
||||
crashHandler.uncaughtException(t, exception, defaultExceptionHandler ?: return)
|
||||
}
|
||||
|
||||
companion object {
|
||||
@Volatile
|
||||
private var INSTANCE: CrashReporter? = null
|
||||
|
||||
fun getInstance(application: Application): CrashReporter {
|
||||
return INSTANCE ?: synchronized(this) {
|
||||
CrashReporter(application).also { INSTANCE = it }
|
||||
}
|
||||
}
|
||||
crashHandler.uncaughtException(t, exception, defaultEH);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user