private void recreateImageList(boolean reparse) { if (grabber == null) { grabber = new MediaStoreImageGrabber(GalleryWallpaper.this); reparse = true; } if (reparse) { String imageSearchPref = prefs.getString( GalleryWallpaper.SHARED_PREFS_IMAGESEARCH, GalleryWallpaper.SHARED_PREFS_IMAGESEARCH_DEFAULT); if (imageSearchPref.equals(GalleryWallpaper.SHARED_PREFS_IMAGESEARCH_LIST)) { String imagelist = prefs.getString( GalleryWallpaper.SHARED_PREFS_IMAGELIST, GalleryWallpaper.SHARED_PREFS_IMAGELIST_DEFAULT); if (imagelist.equals("")) { grabber.replaceImageList(new Uri[] {Uri.EMPTY}); } else { ArrayList<Uri> uris = new ArrayList<Uri>(); String[] imagelistarr = GalleryWallpaper.getCSVRow(imagelist); for (int i = 0; i < imagelistarr.length; i++) { String thisimg = imagelistarr[i]; Uri uri = Uri.parse(thisimg); uris.add(uri); } Uri[] uriArray = new Uri[uris.size()]; uris.toArray(uriArray); grabber.replaceImageList(uriArray); } } else if (imageSearchPref.equals(GalleryWallpaper.SHARED_PREFS_IMAGESEARCH_MEDIASTORE)) { String searchlist = prefs.getString( GalleryWallpaper.SHARED_PREFS_IMAGEDIRS, GalleryWallpaper.SHARED_PREFS_IMAGEDIRS_DEFAULT); if (searchlist.equals("")) { grabber.replaceImageSources(new Uri[] {Uri.EMPTY}); } else { ArrayList<Uri> uris = new ArrayList<Uri>(); String[] searchlistarr = GalleryWallpaper.getCSVRow(searchlist); for (int i = 0; i < searchlistarr.length; i++) { Uri uri = Uri.parse(searchlistarr[i]); uris.add(uri); } Uri[] uriArray = new Uri[uris.size()]; uris.toArray(uriArray); grabber.replaceImageSources(uriArray); } } this.changedSearch = false; } grabber.refreshImageList(); this.syncRequired = false; }
private void replaceImage() { Bitmap nextImage = grabber.getNextImage(); if (nextImage != null) { this.errorMsg = ""; currentImage = nextImage; } else if (this.currentImage == null) { this.errorMsg = "Could not load image"; } this.replaceRequired = false; this.redrawRequired = true; rescaleImage(); handler.postDelayed(timerRefresh, refreshDelay); }