]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
android: Expose static instance for Application object
authorTobias Brunner <tobias@strongswan.org>
Fri, 19 Jan 2024 17:29:20 +0000 (18:29 +0100)
committerTobias Brunner <tobias@strongswan.org>
Wed, 21 Feb 2024 11:24:53 +0000 (12:24 +0100)
While it seems to be possible to cast Context.getApplicationContext()
to the application class, there really is no documented reason why that
should actually be the same object.

src/frontends/android/app/src/main/java/org/strongswan/android/logic/StrongSwanApplication.java

index d3805a2844825d325f959d94c03333b40e96dc91..8d653624e17906807e0c0cd835ab1f892b804d37 100644 (file)
@@ -49,6 +49,7 @@ public class StrongSwanApplication extends Application implements DefaultLifecyc
        private static final String TAG = StrongSwanApplication.class.getSimpleName();
 
        private static Context mContext;
+       private static StrongSwanApplication mInstance;
 
        private final ExecutorService mExecutorService = Executors.newFixedThreadPool(4);
        private final Handler mMainHandler = HandlerCompat.createAsync(Looper.getMainLooper());
@@ -75,6 +76,7 @@ public class StrongSwanApplication extends Application implements DefaultLifecyc
        {
                super.onCreate();
                StrongSwanApplication.mContext = getApplicationContext();
+               StrongSwanApplication.mInstance = this;
 
                mManagedConfigurationService = new ManagedConfigurationService(mContext);
                ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
@@ -120,6 +122,16 @@ public class StrongSwanApplication extends Application implements DefaultLifecyc
                return StrongSwanApplication.mContext;
        }
 
+       /**
+        * Returns the current application object
+        *
+        * @return application
+        */
+       public static StrongSwanApplication getInstance()
+       {
+               return StrongSwanApplication.mInstance;
+       }
+
        /**
         * Returns a thread pool to run tasks in separate threads
         *