LocalImageProvider class

An interface to get information from the local image storage on the device.

Use LocalImageProvider to query for albums and images. The general flow is as follows:

  LocalImageProvider lip = LocalImageProvider();
  await lip.initialize();
  if ( lip.isAvailable ) {
    List<LocalImage> images = await lip.findLatest(10);
    if ( images.isNotEmpty) {
      // Do stuff with the image
    }
  }
  else {
    print('Access denied.');
  }

Constructors

LocalImageProvider()
Returns the singleton instance of the LocalImageProvider.
factory
LocalImageProvider.testInstance()
This is useful for testing because it carries no state
factory

Properties

cacheAll bool
Returns true if all DeviceImage should be cached in the global Flutter imageCache.
no setter
hashCode int
The hash code for this object.
no setterinherited
hasLimitedPermission Future<bool>
Returns true only for iOS 14+ if the user chose to grant only limited access to the photos in their library.
no setter
hasPermission Future<bool>
Returns true if the user has already granted permission to access photos.
no setter
imgBytesLoaded int
Returns the total bytes loaded in imageBytes since the last call to resetStats.
no setter
isAvailable bool
True if initialize succeeded and the user granted permission to access local images.
no setter
lastLoadTime int
Returns the milliseconds spent in the last call to imageBytes assuming that resetStats wasn't called after the last call.
no setter
maxCacheDimension int
The maximum size at which a DeviceImage should be cached in the global Flutter imageCache.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
totalLoadTime int
Returns the total milliseconds spent in imageBytes since the last call to resetStats.
no setter

Methods

cleanup() Future
Call this method to cleanup any temporary files that have been created by the image provider.
findAlbums(LocalAlbumType localAlbumType) Future<List<LocalAlbum>>
Returns the list of LocalAlbum available on the device matching the localAlbumType
findImagesInAlbum(String albumId, int maxImages) Future<List<LocalImage>>
Returns the images contained in the given album on the local device up to maxImages in length.
findLatest(int maxImages) Future<List<LocalImage>>
Returns the newest images on the local device up to maxImages in length.
imageBytes(String id, int height, int width, {int? compression}) Future<Uint8List>
Returns a version of the image at the given size in a jpeg format suitable for loading with MemoryImage.
initialize() Future<bool>
Initialize and request permission to use platform services.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resetStats() → void
Resets the totalLoadTime, lastLaodTime, and imgBytesLoaded stats to zero.
toString() String
A string representation of this object.
inherited
videoFile(String id) Future<String>
Returns a temporary file path for the requested video.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

cacheAtAnySize → const int
cacheSuggestedCutoff → const int