Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 319f9fe1 authored by Chad Brubaker's avatar Chad Brubaker
Browse files

Use NoPreloadHolder for certificate sources

The static instances of SystemCertificateSource and
UserCertificateSource depend on the current user, avoid triggering their
static initializer when preloaded.

Bug: 29258379
Change-Id: I5088366ae67145b8bc928d6c04118529c82a7fc3
parent 7014eef5
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -25,7 +25,10 @@ import java.io.File;
 * @hide
 */
public final class SystemCertificateSource extends DirectoryCertificateSource {
    private static class NoPreloadHolder {
        private static final SystemCertificateSource INSTANCE = new SystemCertificateSource();
    }

    private final File mUserRemovedCaDir;

    private SystemCertificateSource() {
@@ -35,7 +38,7 @@ public final class SystemCertificateSource extends DirectoryCertificateSource {
    }

    public static SystemCertificateSource getInstance() {
        return INSTANCE;
        return NoPreloadHolder.INSTANCE;
    }

    @Override
+4 −2
Original line number Diff line number Diff line
@@ -25,7 +25,9 @@ import java.io.File;
 * @hide
 */
public final class UserCertificateSource extends DirectoryCertificateSource {
    private static class NoPreloadHolder {
        private static final UserCertificateSource INSTANCE = new UserCertificateSource();
    }

    private UserCertificateSource() {
        super(new File(
@@ -33,7 +35,7 @@ public final class UserCertificateSource extends DirectoryCertificateSource {
    }

    public static UserCertificateSource getInstance() {
        return INSTANCE;
        return NoPreloadHolder.INSTANCE;
    }

    @Override