hotpocket/services/apple/Shared (Share Extension)/HPSharedItemsContainer.m

64 lines
1.3 KiB
Objective-C

//
// HPSharedItemsContainer.m
// HotPocket
//
// Created by Tomek Wójcik on 27/09/2025.
//
#import "HPSharedItemsContainer.h"
#import "HPSharedItem.h"
#import "NSURL+HotPocketExtensions.h"
@implementation HPSharedItemsContainer (HPSharedItemsContainerPrivate)
-(NSURL *)validatedURL:(NSURL *)url {
if (url.isUsableInHotPocket == NO) {
return nil;
}
return url;
}
@end
@implementation HPSharedItemsContainer
-(instancetype)init {
if (self = [super init]) {
self.primaryItem = nil;
self.candidateItems = [[NSMutableArray alloc] initWithCapacity:1];
}
return self;
}
-(NSURL *)resolveURL {
NSURL *result = nil;
if (self.primaryItem != nil) {
result = [self validatedURL:[self.primaryItem maybeURL]];
}
if ([self.candidateItems count] > 0) {
NSUInteger itemCandidateIndex = 0;
while (result == nil) {
HPSharedItem *itemCandidate = [self.candidateItems objectAtIndex:itemCandidateIndex];
result = [self validatedURL:itemCandidate.maybeURL];
if (result != nil) {
break;
}
itemCandidateIndex += 1;
if (itemCandidateIndex >= [self.candidateItems count]) {
break;
}
}
}
return result;
}
@end