public Iterable finish()

in stetho/src/main/java/com/facebook/stetho/Stetho.java [369:412]


    public Iterable<ChromeDevtoolsDomain> finish() {
      provideIfDesired(new Console());
      provideIfDesired(new Debugger());
      DocumentProviderFactory documentModel = resolveDocumentProvider();
      if (documentModel != null) {
        Document document = new Document(documentModel);
        provideIfDesired(new DOM(document));
        provideIfDesired(new CSS(document));
      }
      provideIfDesired(new DOMStorage(mContext));
      provideIfDesired(new HeapProfiler());
      provideIfDesired(new Inspector());
      provideIfDesired(new Network(mContext));
      provideIfDesired(new Page(mContext));
      provideIfDesired(new Profiler());
      provideIfDesired(
          new Runtime(
              mRuntimeRepl != null ?
              mRuntimeRepl :
              new RhinoDetectingRuntimeReplFactory(mContext)));
      provideIfDesired(new Worker());
      if (Build.VERSION.SDK_INT >= DatabaseConstants.MIN_API_LEVEL) {
        Database database = new Database();
        boolean hasSqliteDatabaseDriver = false;
        if (mDatabaseDrivers != null) {
          for (DatabaseDriver2 databaseDriver : mDatabaseDrivers) {
            database.add(databaseDriver);
            if (databaseDriver instanceof SqliteDatabaseDriver) {
              hasSqliteDatabaseDriver = true;
            }
          }
        }
        if (!hasSqliteDatabaseDriver && !mExcludeSqliteDatabaseDriver) {
          database.add(
              new SqliteDatabaseDriver(mContext,
                  mDatabaseFilesProvider != null ?
                      mDatabaseFilesProvider :
                      new DefaultDatabaseFilesProvider(mContext),
                  new DefaultDatabaseConnectionProvider()));
        }
        provideIfDesired(database);
      }
      return mDelegate.finish();
    }