Search in sources :

Example 11 with DataManager

use of com.android.gallery3d.data.DataManager in project android_packages_apps_Gallery2 by LineageOS.

the class GalleryWidgetMigrator method migrateGalleryWidgetsInternal.

private static void migrateGalleryWidgetsInternal(Context context) {
    GalleryApp galleryApp = (GalleryApp) context.getApplicationContext();
    DataManager manager = galleryApp.getDataManager();
    WidgetDatabaseHelper dbHelper = new WidgetDatabaseHelper(context);
    // only need to migrate local-album entries of type TYPE_ALBUM
    List<Entry> entries = dbHelper.getEntries(WidgetDatabaseHelper.TYPE_ALBUM);
    if (entries == null)
        return;
    // Check each entry's relativePath. If exists, update bucket id using relative
    // path combined with external storage path. Otherwise, iterate through old external
    // storage paths to find the relative path that matches the old bucket id, and then update
    // bucket id and relative path
    HashMap<Integer, Entry> localEntries = new HashMap<Integer, Entry>(entries.size());
    for (Entry entry : entries) {
        Path path = Path.fromString(entry.albumPath);
        MediaSet mediaSet = (MediaSet) manager.getMediaObject(path);
        if (mediaSet instanceof LocalAlbum) {
            if (entry.relativePath != null && entry.relativePath.length() > 0) {
                // update entry using relative path + external storage path
                updateEntryUsingRelativePath(entry, dbHelper);
            } else {
                int bucketId = Integer.parseInt(path.getSuffix());
                localEntries.put(bucketId, entry);
            }
        }
    }
    if (!localEntries.isEmpty())
        migrateLocalEntries(context, localEntries, dbHelper);
}
Also used : Path(com.android.gallery3d.data.Path) Entry(com.android.gallery3d.gadget.WidgetDatabaseHelper.Entry) HashMap(java.util.HashMap) WidgetDatabaseHelper(com.android.gallery3d.gadget.WidgetDatabaseHelper) MediaSet(com.android.gallery3d.data.MediaSet) LocalAlbum(com.android.gallery3d.data.LocalAlbum) DataManager(com.android.gallery3d.data.DataManager) GalleryApp(com.android.gallery3d.app.GalleryApp)

Aggregations

DataManager (com.android.gallery3d.data.DataManager)11 Path (com.android.gallery3d.data.Path)8 Intent (android.content.Intent)6 Uri (android.net.Uri)5 MediaSet (com.android.gallery3d.data.MediaSet)3 ArrayList (java.util.ArrayList)3 Activity (android.app.Activity)2 Bundle (android.os.Bundle)2 GalleryApp (com.android.gallery3d.app.GalleryApp)2 LocalAlbum (com.android.gallery3d.data.LocalAlbum)2 MediaItem (com.android.gallery3d.data.MediaItem)2 CropActivity (com.android.gallery3d.filtershow.crop.CropActivity)2 BottomNavigationView (android.support.design.widget.BottomNavigationView)1 View (android.view.View)1 AdapterView (android.widget.AdapterView)1 ImageView (android.widget.ImageView)1 ListView (android.widget.ListView)1 TextView (android.widget.TextView)1 MediaObject (com.android.gallery3d.data.MediaObject)1 SnailItem (com.android.gallery3d.data.SnailItem)1