From 3b8396f0d5552f81f810da48c9a5bc5bbe942d82 Mon Sep 17 00:00:00 2001 From: Igor Randjelovic Date: Thu, 22 Jun 2023 18:46:32 +0200 Subject: [PATCH] fix: early access to context --- packages/core/application/application.android.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/core/application/application.android.ts b/packages/core/application/application.android.ts index b520b303a2..f4c989d026 100644 --- a/packages/core/application/application.android.ts +++ b/packages/core/application/application.android.ts @@ -265,6 +265,9 @@ export class AndroidApplication extends ApplicationCommon implements IAndroidApp readonly activityRequestPermissionsEvent = AndroidApplication.activityRequestPermissionsEvent; private _nativeApp: android.app.Application; + private _context: android.content.Context; + private _packageName: string; + // we are using these property to store the callbacks to avoid early GC collection which would trigger MarkReachableObjects private lifecycleCallbacks: NativeScriptLifecycleCallbacks; private componentCallbacks: NativeScriptComponentCallbacks; @@ -279,6 +282,8 @@ export class AndroidApplication extends ApplicationCommon implements IAndroidApp } this._nativeApp = nativeApp; + this._context = nativeApp.getApplicationContext(); + this._packageName = nativeApp.getPackageName(); // we store those callbacks and add a function for clearing them later so that the objects will be eligable for GC this.lifecycleCallbacks = new NativeScriptLifecycleCallbacks(); @@ -381,11 +386,11 @@ export class AndroidApplication extends ApplicationCommon implements IAndroidApp } get context() { - return this.nativeApp.getApplicationContext(); + return this._context; } get packageName() { - return this.nativeApp.getPackageName(); + return this._packageName; } public registerBroadcastReceiver(intentFilter: string, onReceiveCallback: (context: android.content.Context, intent: android.content.Intent) => void): void {