@Override
  public void onCreate() {
    super.onCreate();

    PrngFixes.apply();
    // Try to restrict data dir file permissions to owner (this app's UID) only. This mitigates the
    // security vulnerability where SQLite database transaction journals are world-readable.
    // See CVE-2011-3901 advisory for more information.
    // NOTE: This also prevents all files in the data dir from being world-accessible, which is fine
    // because this application does not need world-accessible files.
    try {
      FileUtilities.restrictAccessToOwnerOnly(
          getApplicationContext().getApplicationInfo().dataDir);
    } catch (Throwable e) {
      // Ignore this exception and don't log anything to avoid attracting attention to this fix
    }

    installCache();

    // During test runs the injector may have been configured already. Thus we take care to avoid
    // overwriting any existing configuration here.
    DependencyInjector.configureForProductionIfNotConfigured(getApplicationContext());

    initDagger();
    initBarcodeDetector();
  }
Authenticator application which is one of the first things instantiated when our process starts.

<p>At the moment the only reason for the existence of this class is to initialize
{@link DependencyInjector} with the application context so that the class can (later) instantiate
the various objects it owns.

<p>Also restricts UNIX file permissions on application's persistent data directory to owner
(this app's UID) only.
java/com/google/android/apps/authenticator/AuthenticatorApplication.java