Potential fix for null pointer err
This commit is contained in:
parent
6095d9b5e4
commit
ba7475db01
|
@ -49,6 +49,13 @@ class Collection {
|
||||||
return mMdVersion > 0 && magicMetadata.visibility == visibilityArchive;
|
return mMdVersion > 0 && magicMetadata.visibility == visibilityArchive;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// hasLink returns true if there's any link attached to the collection
|
||||||
|
// including expired links
|
||||||
|
bool get hasLink => publicURLs != null && publicURLs!.isNotEmpty;
|
||||||
|
|
||||||
|
// hasSharees returns true if the collection is shared with other ente users
|
||||||
|
bool get hasSharees => sharees != null && sharees!.isNotEmpty;
|
||||||
|
|
||||||
bool isHidden() {
|
bool isHidden() {
|
||||||
if (isDefaultHidden()) {
|
if (isDefaultHidden()) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -72,9 +72,7 @@ class _SharedCollectionGalleryState extends State<SharedCollectionGallery>
|
||||||
final c = CollectionsService.instance
|
final c = CollectionsService.instance
|
||||||
.getCollectionByID(file.collectionID!)!;
|
.getCollectionByID(file.collectionID!)!;
|
||||||
if (c.owner!.id == Configuration.instance.getUserID()) {
|
if (c.owner!.id == Configuration.instance.getUserID()) {
|
||||||
if (c.sharees!.isNotEmpty ||
|
if (c.hasSharees || c.hasLink || c.isSharedFilesCollection()) {
|
||||||
c.publicURLs!.isNotEmpty ||
|
|
||||||
c.isSharedFilesCollection()) {
|
|
||||||
outgoing.add(
|
outgoing.add(
|
||||||
CollectionWithThumbnail(
|
CollectionWithThumbnail(
|
||||||
c,
|
c,
|
||||||
|
@ -268,27 +266,29 @@ class OutgoingCollectionItem extends StatelessWidget {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final sharees = <String?>[];
|
final shareesName = <String>[];
|
||||||
for (int index = 0; index < c.collection.sharees!.length; index++) {
|
if (c.collection.hasSharees) {
|
||||||
final sharee = c.collection.sharees![index]!;
|
for (int index = 0; index < c.collection.sharees!.length; index++) {
|
||||||
final name =
|
final sharee = c.collection.sharees![index]!;
|
||||||
(sharee.name?.isNotEmpty ?? false) ? sharee.name : sharee.email;
|
final String name =
|
||||||
if (index < 2) {
|
(sharee.name?.isNotEmpty ?? false) ? sharee.name! : sharee.email;
|
||||||
sharees.add(name);
|
if (index < 2) {
|
||||||
} else {
|
shareesName.add(name);
|
||||||
final remaining = c.collection.sharees!.length - index;
|
|
||||||
if (remaining == 1) {
|
|
||||||
// If it's the last sharee
|
|
||||||
sharees.add(name);
|
|
||||||
} else {
|
} else {
|
||||||
sharees.add(
|
final remaining = c.collection.sharees!.length - index;
|
||||||
"and " +
|
if (remaining == 1) {
|
||||||
remaining.toString() +
|
// If it's the last sharee
|
||||||
" other" +
|
shareesName.add(name);
|
||||||
(remaining > 1 ? "s" : ""),
|
} else {
|
||||||
);
|
shareesName.add(
|
||||||
|
"and " +
|
||||||
|
remaining.toString() +
|
||||||
|
" other" +
|
||||||
|
(remaining > 1 ? "s" : ""),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
|
@ -325,22 +325,22 @@ class OutgoingCollectionItem extends StatelessWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const Padding(padding: EdgeInsets.all(2)),
|
const Padding(padding: EdgeInsets.all(2)),
|
||||||
c.collection.publicURLs!.isEmpty
|
c.collection.hasLink
|
||||||
? Container()
|
? (c.collection.publicURLs!.first!.isExpired
|
||||||
: (c.collection.publicURLs!.first!.isExpired
|
|
||||||
? const Icon(
|
? const Icon(
|
||||||
Icons.link,
|
Icons.link,
|
||||||
color: warning500,
|
color: warning500,
|
||||||
)
|
)
|
||||||
: const Icon(Icons.link)),
|
: const Icon(Icons.link))
|
||||||
|
: Container(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
sharees.isEmpty
|
shareesName.isEmpty
|
||||||
? Container()
|
? Container()
|
||||||
: Padding(
|
: Padding(
|
||||||
padding: const EdgeInsets.fromLTRB(0, 4, 0, 0),
|
padding: const EdgeInsets.fromLTRB(0, 4, 0, 0),
|
||||||
child: Text(
|
child: Text(
|
||||||
"Shared with " + sharees.join(", "),
|
"Shared with " + shareesName.join(", "),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
color: Theme.of(context).primaryColorLight,
|
color: Theme.of(context).primaryColorLight,
|
||||||
|
|
|
@ -46,7 +46,7 @@ class _ShareCollectionPageState extends State<ShareCollectionPage> {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
_sharees = widget.collection.sharees ?? [];
|
_sharees = widget.collection.sharees ?? [];
|
||||||
final bool hasUrl = widget.collection.publicURLs?.isNotEmpty ?? false;
|
final bool hasUrl = widget.collection.hasLink;
|
||||||
final children = <Widget>[];
|
final children = <Widget>[];
|
||||||
children.add(
|
children.add(
|
||||||
MenuSectionTitle(
|
MenuSectionTitle(
|
||||||
|
|
Loading…
Reference in a new issue