|
1 | 1 | package com.tns;
|
2 | 2 |
|
3 | 3 | import java.io.File;
|
| 4 | +import java.lang.Thread.UncaughtExceptionHandler; |
4 | 5 |
|
5 | 6 | import android.app.Application;
|
6 | 7 | import android.content.pm.PackageManager.NameNotFoundException;
|
@@ -710,14 +711,18 @@ public void onCreate() {
|
710 | 711 |
|
711 | 712 | System.loadLibrary("NativeScript");
|
712 | 713 |
|
713 |
| - Logger logger = new LogcatLogger(BuildConfig.DEBUG, this); |
| 714 | + Logger logger = new LogcatLogger(BuildConfig.DEBUG, this); |
714 | 715 |
|
715 | 716 | boolean showErrorIntent = hasErrorIntent();
|
716 | 717 | if (!showErrorIntent)
|
717 | 718 | {
|
718 | 719 | appInstance = this;
|
719 | 720 |
|
720 |
| - prepareAppBuilderCallbackImpl(logger); |
| 721 | + Thread.UncaughtExceptionHandler exHandler = new NativeScriptUncaughtExceptionHandler(logger, this); |
| 722 | + |
| 723 | + prepareAppBuilderCallbackImpl(logger, exHandler); |
| 724 | + |
| 725 | + Thread.setDefaultUncaughtExceptionHandler(exHandler); |
721 | 726 |
|
722 | 727 | // TODO: refactor
|
723 | 728 | ExtractPolicy extractPolicy = (appBuilderCallbackImpl != null)
|
@@ -782,7 +787,7 @@ public void onCreate() {
|
782 | 787 | }
|
783 | 788 | }
|
784 | 789 |
|
785 |
| - private void prepareAppBuilderCallbackImpl(Logger logger) |
| 790 | + private void prepareAppBuilderCallbackImpl(Logger logger, UncaughtExceptionHandler exHandler) |
786 | 791 | {
|
787 | 792 | Class<?> appBuilderCallbackClass = null;
|
788 | 793 |
|
@@ -824,11 +829,9 @@ private void prepareAppBuilderCallbackImpl(Logger logger)
|
824 | 829 | }
|
825 | 830 | }
|
826 | 831 |
|
827 |
| - Thread.UncaughtExceptionHandler exHandler = (appBuilderCallbackImpl != null) |
828 |
| - ? appBuilderCallbackImpl.getDefaultUncaughtExceptionHandler() |
829 |
| - : new NativeScriptUncaughtExceptionHandler(logger, this); |
830 |
| - |
831 |
| - Thread.setDefaultUncaughtExceptionHandler(exHandler); |
| 832 | + if(appBuilderCallbackImpl != null) { |
| 833 | + exHandler = appBuilderCallbackImpl.getDefaultUncaughtExceptionHandler(); |
| 834 | + } |
832 | 835 |
|
833 | 836 | boolean shouldEnableDebugging = (appBuilderCallbackImpl != null)
|
834 | 837 | ? appBuilderCallbackImpl.shouldEnableDebugging(this)
|
|
0 commit comments