setPhotoLike method Null safety

  1. @override
Future<void> setPhotoLike(
  1. {required String photoId,
  2. required bool like}
)
override

Updates stored like value for a given photo id.

Implementation

@override
Future<void> setPhotoLike({
  required String photoId,
  required bool like,
}) async {
  final likedPhotoIds = _getLikedPhotoIds();

  if (like) {
    if (!likedPhotoIds.contains(photoId)) {
      likedPhotoIds.add(photoId);
    }
  } else {
    likedPhotoIds.remove(photoId);
  }

  final result = await _sharedPreferences.setStringList(
    _likedPhotoIdsKey,
    likedPhotoIds,
  );

  if (!result) {
    throw Exception('Setting likes for photo ids was unsuccessful');
  }
}