MCPcopy Index your code
hub / github.com/NativeScript/NativeScript / handleOnBackPressed

Function handleOnBackPressed

packages/core/ui/frame/index.android.ts:723–780  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

721if (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 },

Callers

nothing calls this directly

Calls 7

isEnabledMethod · 0.80
writeMethod · 0.65
getMethod · 0.65
notifyMethod · 0.65
getRootViewMethod · 0.65
onBackPressedMethod · 0.65
goBackMethod · 0.45

Tested by

no test coverage detected