]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
android: Update managed certificates if config changes
authorMarkus Pfeiffer <markus.pfeiffer@relution.io>
Tue, 21 Nov 2023 14:37:24 +0000 (15:37 +0100)
committerTobias Brunner <tobias@strongswan.org>
Wed, 21 Feb 2024 11:24:53 +0000 (12:24 +0100)
src/frontends/android/app/src/main/java/org/strongswan/android/logic/StrongSwanApplication.java

index 58b55e033f8d9b53989d211b2d2a4e1c68d821d9..7f73dbfb86992b82e5ae5b01b5a3ed99758f2445 100644 (file)
@@ -56,6 +56,8 @@ public class StrongSwanApplication extends Application implements DefaultLifecyc
        private final Handler mMainHandler = HandlerCompat.createAsync(Looper.getMainLooper());
 
        private ManagedConfigurationService mManagedConfigurationService;
+       private ManagedTrustedCertificateManager mTrustedCertificateManager;
+       private ManagedUserCertificateManager mUserCertificateManager;
 
        private DatabaseHelper mDatabaseHelper;
 
@@ -84,6 +86,12 @@ public class StrongSwanApplication extends Application implements DefaultLifecyc
                mDatabaseHelper = new DatabaseHelper(mContext);
 
                mManagedConfigurationService = new ManagedConfigurationService(mContext);
+
+               mTrustedCertificateManager = new ManagedTrustedCertificateManager(mContext, mExecutorService, mMainHandler,
+                                                                                                                                                 mManagedConfigurationService, mDatabaseHelper);
+
+               mUserCertificateManager = new ManagedUserCertificateManager(mContext, mManagedConfigurationService, mDatabaseHelper);
+
                ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
        }
 
@@ -109,12 +117,15 @@ public class StrongSwanApplication extends Application implements DefaultLifecyc
                mManagedConfigurationService.loadConfiguration();
                mManagedConfigurationService.updateSettings();
 
-               uuids.addAll(mManagedConfigurationService.getManagedProfiles().keySet());
+               mUserCertificateManager.update();
+               mTrustedCertificateManager.update(() -> {
+                       uuids.addAll(mManagedConfigurationService.getManagedProfiles().keySet());
 
-               Log.d(TAG, "Send profiles changed broadcast");
-               Intent profilesChanged = new Intent(Constants.VPN_PROFILES_CHANGED);
-               profilesChanged.putExtra(Constants.VPN_PROFILES_MULTIPLE, uuids.toArray(new String[0]));
-               LocalBroadcastManager.getInstance(mContext).sendBroadcast(profilesChanged);
+                       Log.d(TAG, "Send profiles changed broadcast");
+                       Intent profilesChanged = new Intent(Constants.VPN_PROFILES_CHANGED);
+                       profilesChanged.putExtra(Constants.VPN_PROFILES_MULTIPLE, uuids.toArray(new String[0]));
+                       LocalBroadcastManager.getInstance(mContext).sendBroadcast(profilesChanged);
+               });
        }
 
        /**