Search in sources :

Example 1 with DownloadDirname

use of com.hippo.ehviewer.dao.DownloadDirname in project EhViewer by seven332.

the class EhDB method importDB.

/**
 * @param file The db file
 * @return error string, null for no error
 */
public static synchronized String importDB(Context context, File file) {
    try {
        SQLiteDatabase db = SQLiteDatabase.openDatabase(file.getPath(), null, SQLiteDatabase.NO_LOCALIZED_COLLATORS);
        int newVersion = DaoMaster.SCHEMA_VERSION;
        int oldVersion = db.getVersion();
        if (oldVersion < newVersion) {
            upgradeDB(db, oldVersion);
            db.setVersion(newVersion);
        } else if (oldVersion > newVersion) {
            return context.getString(R.string.cant_read_the_file);
        }
        DaoMaster daoMaster = new DaoMaster(db);
        DaoSession session = daoMaster.newSession();
        // Downloads
        DownloadManager manager = EhApplication.getDownloadManager(context);
        List<DownloadInfo> downloadInfoList = session.getDownloadsDao().queryBuilder().list();
        manager.addDownload(downloadInfoList);
        // Download label
        List<DownloadLabel> downloadLabelList = session.getDownloadLabelDao().queryBuilder().list();
        manager.addDownloadLabel(downloadLabelList);
        // Download dirname
        List<DownloadDirname> downloadDirnameList = session.getDownloadDirnameDao().queryBuilder().list();
        for (DownloadDirname dirname : downloadDirnameList) {
            putDownloadDirname(dirname.getGid(), dirname.getDirname());
        }
        // History
        List<HistoryInfo> historyInfoList = session.getHistoryDao().queryBuilder().list();
        putHistoryInfo(historyInfoList);
        // QuickSearch
        List<QuickSearch> quickSearchList = session.getQuickSearchDao().queryBuilder().list();
        List<QuickSearch> currentQuickSearchList = sDaoSession.getQuickSearchDao().queryBuilder().list();
        for (QuickSearch quickSearch : quickSearchList) {
            String name = quickSearch.name;
            for (QuickSearch q : currentQuickSearchList) {
                if (ObjectUtils.equal(q.name, name)) {
                    // The same name
                    name = null;
                    break;
                }
            }
            if (null == name) {
                continue;
            }
            insertQuickSearch(quickSearch);
        }
        // LocalFavorites
        List<LocalFavoriteInfo> localFavoriteInfoList = session.getLocalFavoritesDao().queryBuilder().list();
        for (LocalFavoriteInfo info : localFavoriteInfoList) {
            putLocalFavorites(info);
        }
        // Bookmarks
        // TODO
        // Filter
        List<Filter> filterList = session.getFilterDao().queryBuilder().list();
        List<Filter> currentFilterList = sDaoSession.getFilterDao().queryBuilder().list();
        for (Filter filter : filterList) {
            if (!currentFilterList.contains(filter)) {
                addFilter(filter);
            }
        }
        return null;
    } catch (Throwable e) {
        ExceptionUtils.throwIfFatal(e);
        // Ignore
        return context.getString(R.string.cant_read_the_file);
    }
}
Also used : LocalFavoriteInfo(com.hippo.ehviewer.dao.LocalFavoriteInfo) DownloadDirname(com.hippo.ehviewer.dao.DownloadDirname) DownloadManager(com.hippo.ehviewer.download.DownloadManager) DaoMaster(com.hippo.ehviewer.dao.DaoMaster) SQLiteDatabase(android.database.sqlite.SQLiteDatabase) Filter(com.hippo.ehviewer.dao.Filter) DownloadInfo(com.hippo.ehviewer.dao.DownloadInfo) QuickSearch(com.hippo.ehviewer.dao.QuickSearch) DownloadLabel(com.hippo.ehviewer.dao.DownloadLabel) HistoryInfo(com.hippo.ehviewer.dao.HistoryInfo) DaoSession(com.hippo.ehviewer.dao.DaoSession)

Example 2 with DownloadDirname

use of com.hippo.ehviewer.dao.DownloadDirname in project EhViewer by seven332.

the class EhDB method getDownloadDirname.

@Nullable
public static synchronized String getDownloadDirname(long gid) {
    DownloadDirnameDao dao = sDaoSession.getDownloadDirnameDao();
    DownloadDirname raw = dao.load(gid);
    if (raw != null) {
        return raw.getDirname();
    } else {
        return null;
    }
}
Also used : DownloadDirname(com.hippo.ehviewer.dao.DownloadDirname) DownloadDirnameDao(com.hippo.ehviewer.dao.DownloadDirnameDao) Nullable(androidx.annotation.Nullable)

Example 3 with DownloadDirname

use of com.hippo.ehviewer.dao.DownloadDirname in project EhViewer by seven332.

the class EhDB method putDownloadDirname.

/**
 * Insert or update
 */
public static synchronized void putDownloadDirname(long gid, String dirname) {
    DownloadDirnameDao dao = sDaoSession.getDownloadDirnameDao();
    DownloadDirname raw = dao.load(gid);
    if (raw != null) {
        // Update
        raw.setDirname(dirname);
        dao.update(raw);
    } else {
        // Insert
        raw = new DownloadDirname();
        raw.setGid(gid);
        raw.setDirname(dirname);
        dao.insert(raw);
    }
}
Also used : DownloadDirname(com.hippo.ehviewer.dao.DownloadDirname) DownloadDirnameDao(com.hippo.ehviewer.dao.DownloadDirnameDao)

Aggregations

DownloadDirname (com.hippo.ehviewer.dao.DownloadDirname)3 DownloadDirnameDao (com.hippo.ehviewer.dao.DownloadDirnameDao)2 SQLiteDatabase (android.database.sqlite.SQLiteDatabase)1 Nullable (androidx.annotation.Nullable)1 DaoMaster (com.hippo.ehviewer.dao.DaoMaster)1 DaoSession (com.hippo.ehviewer.dao.DaoSession)1 DownloadInfo (com.hippo.ehviewer.dao.DownloadInfo)1 DownloadLabel (com.hippo.ehviewer.dao.DownloadLabel)1 Filter (com.hippo.ehviewer.dao.Filter)1 HistoryInfo (com.hippo.ehviewer.dao.HistoryInfo)1 LocalFavoriteInfo (com.hippo.ehviewer.dao.LocalFavoriteInfo)1 QuickSearch (com.hippo.ehviewer.dao.QuickSearch)1 DownloadManager (com.hippo.ehviewer.download.DownloadManager)1