64 lines
1.3 KiB
Objective-C
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
|