()
| 721 | if (SDK_VERSION >= 33) { |
| 722 | OnBackPressedCallback = (<any>androidx.activity.OnBackPressedCallback).extend('com.tns.OnBackPressedCallback', { |
| 723 | handleOnBackPressed() { |
| 724 | if (Trace.isEnabled()) { |
| 725 | Trace.write('NativeScriptActivity.onBackPressed;', Trace.categories.NativeLifecycle); |
| 726 | } |
| 727 | |
| 728 | const activity = this['_activity']?.get() as androidx.appcompat.app.AppCompatActivity; |
| 729 | if (!activity) { |
| 730 | if (Trace.isEnabled()) { |
| 731 | Trace.write('NativeScriptActivity.onBackPressed; Activity is null, calling super', Trace.categories.NativeLifecycle); |
| 732 | } |
| 733 | |
| 734 | this.setEnabled(false); |
| 735 | return; |
| 736 | } |
| 737 | |
| 738 | const args = <AndroidActivityBackPressedEventData>{ |
| 739 | eventName: 'activityBackPressed', |
| 740 | object: Application, |
| 741 | android: Application.android, |
| 742 | activity: activity, |
| 743 | cancel: false, |
| 744 | }; |
| 745 | |
| 746 | Application.android.notify(args); |
| 747 | |
| 748 | if (args.cancel) { |
| 749 | return; |
| 750 | } |
| 751 | |
| 752 | const callbacks: AndroidActivityCallbacks = activity[CALLBACKS]; |
| 753 | let callSuper: boolean = false; |
| 754 | |
| 755 | if (callbacks) { |
| 756 | const view = callbacks.getRootView(); |
| 757 | |
| 758 | if (view) { |
| 759 | const viewArgs = <AndroidActivityBackPressedEventData>{ |
| 760 | eventName: 'activityBackPressed', |
| 761 | object: view, |
| 762 | activity: activity, |
| 763 | cancel: false, |
| 764 | }; |
| 765 | |
| 766 | view.notify(viewArgs); |
| 767 | |
| 768 | // In the case of Frame, use this callback only if it was overridden, since the original will cause navigation issues |
| 769 | if (!viewArgs.cancel && (view.onBackPressed === Frame.prototype.onBackPressed || !view.onBackPressed())) { |
| 770 | callSuper = view instanceof Frame ? !Frame.goBack() : true; |
| 771 | } |
| 772 | } |
| 773 | } |
| 774 | |
| 775 | if (callSuper) { |
| 776 | this.setEnabled(false); |
| 777 | activity.getOnBackPressedDispatcher().onBackPressed(); |
| 778 | this.setEnabled(true); |
| 779 | } |
| 780 | }, |
nothing calls this directly
no test coverage detected