@Override public Iterable<ChromeDevtoolsDomain> get() { return new Stetho.DefaultInspectorModulesBuilder(context) .provideDatabaseDriver(new SqliteDatabaseDriver(context, new DatabaseFilesProvider() { @Override public List<File> getDatabaseFiles() { List<File> list = new ArrayList<>(); list.add(new File(historian.dbPath())); return list; } }, new DatabaseConnectionProvider() { @Override public SQLiteDatabase openDatabase(File file) throws SQLiteException { return historian.getDatabase(); } })) .finish(); }
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(); }
@NonNull public SqliteDatabaseDriver toDatabaseDriver(@NonNull final Context context) { return new SqliteDatabaseDriver(context, this, this); }