From 8c6b3019a7272ca53939385f71e5c5fe03964b6d Mon Sep 17 00:00:00 2001 From: Markus Pfeiffer Date: Tue, 21 Nov 2023 15:37:24 +0100 Subject: [PATCH] android: Update managed certificates if config changes --- .../android/logic/StrongSwanApplication.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/StrongSwanApplication.java b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/StrongSwanApplication.java index 58b55e033f..7f73dbfb86 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/StrongSwanApplication.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/StrongSwanApplication.java @@ -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); + }); } /** -- 2.47.2