package com.facebook.stetho.inspector.database; import android.database.sqlite.SQLiteException; import com.facebook.stetho.inspector.protocol.module.Database; import com.facebook.stetho.inspector.protocol.module.DatabaseDescriptor; import com.facebook.stetho.inspector.protocol.module.DatabaseDriver2; import java.util.ArrayList; import java.util.List; /** * @deprecated Use {@link DatabaseDriver2} directly. This is provided only for legacy * drivers to be adapted internally within Stetho. */ @Deprecated public class DatabaseDriver2Adapter extends DatabaseDriver2<DatabaseDriver2Adapter.StringDatabaseDescriptor> { private final Database.DatabaseDriver mLegacy; public DatabaseDriver2Adapter(Database.DatabaseDriver legacy) { super(legacy.getContext()); mLegacy = legacy; } @Override public List<StringDatabaseDescriptor> getDatabaseNames() { List<?> names = mLegacy.getDatabaseNames(); List<StringDatabaseDescriptor> descriptors = new ArrayList<>(names.size()); for (Object name : names) { descriptors.add(new StringDatabaseDescriptor(name.toString())); } return descriptors; } @SuppressWarnings("unchecked") public List<String> getTableNames(StringDatabaseDescriptor database) { return mLegacy.getTableNames(database.name); } @SuppressWarnings("unchecked") public Database.ExecuteSQLResponse executeSQL( StringDatabaseDescriptor database, String query, ExecuteResultHandler handler) throws SQLiteException { return mLegacy.executeSQL(database.name, query, handler); } static class StringDatabaseDescriptor implements DatabaseDescriptor { public final String name; public StringDatabaseDescriptor(String name) { this.name = name; } @Override public String name() { return name; } } }