Lazy initialize CertificateTransparencyDownloader and DataStore
To prevent Post Boot unlock regressions.
Flag: android.security.certificate_transparency_configuration
Bug: 383437444
Test: atest NetworkSecurityUnitTests
Change-Id: I9da001863998aba7cdf962275d8611e32e8efa84
diff --git a/networksecurity/service/src/com/android/server/net/ct/CertificateTransparencyJob.java b/networksecurity/service/src/com/android/server/net/ct/CertificateTransparencyJob.java
index bf23cb0..be24a58 100644
--- a/networksecurity/service/src/com/android/server/net/ct/CertificateTransparencyJob.java
+++ b/networksecurity/service/src/com/android/server/net/ct/CertificateTransparencyJob.java
@@ -39,6 +39,8 @@
private final CertificateTransparencyDownloader mCertificateTransparencyDownloader;
private final AlarmManager mAlarmManager;
+ private boolean mDependenciesReady = false;
+
/** Creates a new {@link CertificateTransparencyJob} object. */
public CertificateTransparencyJob(
Context context,
@@ -51,9 +53,6 @@
}
void initialize() {
- mDataStore.load();
- mCertificateTransparencyDownloader.initialize();
-
mContext.registerReceiver(
this, new IntentFilter(ACTION_JOB_START), Context.RECEIVER_EXPORTED);
mAlarmManager.setInexactRepeating(
@@ -77,6 +76,11 @@
if (Config.DEBUG) {
Log.d(TAG, "Starting CT daily job.");
}
+ if (!mDependenciesReady) {
+ mDataStore.load();
+ mCertificateTransparencyDownloader.initialize();
+ mDependenciesReady = true;
+ }
mDataStore.setProperty(Config.CONTENT_URL, Config.URL_LOG_LIST);
mDataStore.setProperty(Config.METADATA_URL, Config.URL_SIGNATURE);
diff --git a/networksecurity/service/src/com/android/server/net/ct/CertificateTransparencyService.java b/networksecurity/service/src/com/android/server/net/ct/CertificateTransparencyService.java
index 782e6b5..6151727 100644
--- a/networksecurity/service/src/com/android/server/net/ct/CertificateTransparencyService.java
+++ b/networksecurity/service/src/com/android/server/net/ct/CertificateTransparencyService.java
@@ -43,7 +43,7 @@
return DeviceConfig.getBoolean(
Config.NAMESPACE_NETWORK_SECURITY,
Config.FLAG_SERVICE_ENABLED,
- /* defaultValue= */ false)
+ /* defaultValue= */ true)
&& certificateTransparencyService()
&& certificateTransparencyConfiguration();
}