Skip to content

Commit

Permalink
Merge pull request #1155 from TortugaPower/develop
Browse files Browse the repository at this point in the history
v.5.3.2
  • Loading branch information
GianniCarlo authored Jul 21, 2024
2 parents 2ebe7c8 + d475fd3 commit 409c680
Show file tree
Hide file tree
Showing 12 changed files with 318 additions and 132 deletions.
36 changes: 18 additions & 18 deletions BookPlayer.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -4099,7 +4099,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerIntents";
Expand Down Expand Up @@ -4133,7 +4133,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerIntents";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4165,7 +4165,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerIntents";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4201,7 +4201,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp";
Expand Down Expand Up @@ -4242,7 +4242,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4280,7 +4280,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4449,7 +4449,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerWidgetUI";
Expand Down Expand Up @@ -4487,7 +4487,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerWidgetUI";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4523,7 +4523,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerWidgetUI";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4676,7 +4676,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = BookPlayer;
PROVISIONING_PROFILE_SPECIFIER = "$(BP_PROVISIONING_MAIN)";
Expand Down Expand Up @@ -4714,7 +4714,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = BookPlayer;
PROVISIONING_PROFILE_SPECIFIER = "$(BP_PROVISIONING_MAIN)";
Expand Down Expand Up @@ -4936,7 +4936,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp.widgets";
Expand Down Expand Up @@ -4974,7 +4974,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp.widgets";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5010,7 +5010,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp.widgets";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5049,7 +5049,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerShareExtension";
Expand Down Expand Up @@ -5089,7 +5089,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerShareExtension";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5127,7 +5127,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerShareExtension";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5219,7 +5219,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.3.1;
MARKETING_VERSION = 5.3.2;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = BookPlayer;
PROVISIONING_PROFILE_SPECIFIER = "$(BP_PROVISIONING_MAIN)";
Expand Down
26 changes: 21 additions & 5 deletions BookPlayer/Library/ItemList Screen/ItemListViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -631,12 +631,28 @@ extension ItemListViewController: UIDropInteractionDelegate {
func handleDroppedItem(_ item: UIDragItem) {
let providerReference = item.itemProvider

item.itemProvider.loadObject(ofClass: ImportableItem.self) { [weak self] (object, _) in
guard let item = object as? ImportableItem else { return }
/// Set `suggesteName` from the provider
item.suggestedName = providerReference.suggestedName
if item.itemProvider.canLoadObject(ofClass: ImportableItem.self) {
item.itemProvider.loadObject(ofClass: ImportableItem.self) { [weak self] (object, _) in
guard let item = object as? ImportableItem else { return }
/// Set `suggesteName` from the provider
item.suggestedName = providerReference.suggestedName

self?.viewModel.importData(from: item)
self?.viewModel.importData(from: item)
}
} else if #available(iOS 16.0, *) {
/// Fallback in case it's a folder
_ = item.itemProvider.loadFileRepresentation(for: .folder) { url, _, _ in
guard let url else { return }

let destinationURL = DataManager.getDocumentsFolderURL()
.appendingPathComponent(url.lastPathComponent)

do {
try FileManager.default.moveItem(at: url, to: destinationURL)
} catch {
print("Fail to move dropped file to the Documents directory: \(error.localizedDescription)")
}
}
}
}
}
Expand Down
18 changes: 14 additions & 4 deletions BookPlayer/Library/ItemList Screen/ItemListViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -997,6 +997,8 @@ class ItemListViewModel: ViewModelProtocol {

// MARK: - Import related functions
extension ItemListViewModel {
typealias ImportVolumeParams = (hasOnlyBooks: Bool, singleFolder: SimpleLibraryItem?)

func handleNewFiles(_ urls: [URL]) {
let temporaryDirectoryPath = FileManager.default.temporaryDirectory.absoluteString
let documentsFolder = DataManager.getDocumentsFolderURL()
Expand Down Expand Up @@ -1044,9 +1046,13 @@ extension ItemListViewModel {
parentFolder: folderRelativePath
)?.filter({ $0.type == .folder }) ?? []

let singleFolder: SimpleLibraryItem? = processedItems.count == 1 && processedItems.allSatisfy({ $0.type == .folder })
? processedItems.first : nil
let hasOnlyBooks = processedItems.allSatisfy({ $0.type == .book })

showOperationCompletedAlert(
itemIdentifiers: itemIdentifiers,
hasOnlyBooks: processedItems.allSatisfy({ $0.type == .book }),
volumeParams: (hasOnlyBooks, singleFolder),
availableFolders: availableFolders,
suggestedFolderName: suggestedFolderName
)
Expand All @@ -1056,7 +1062,7 @@ extension ItemListViewModel {
// swiftlint:disable:next function_body_length
func showOperationCompletedAlert(
itemIdentifiers: [String],
hasOnlyBooks: Bool,
volumeParams: ImportVolumeParams,
availableFolders: [SimpleLibraryItem],
suggestedFolderName: String?
) {
Expand Down Expand Up @@ -1114,11 +1120,15 @@ extension ItemListViewModel {

actions.append(BPActionItem(
title: "bound_books_create_button".localized,
isEnabled: hasOnlyBooks,
isEnabled: volumeParams.hasOnlyBooks || volumeParams.singleFolder != nil,
handler: { [firstTitle, weak self] in
let placeholder = firstTitle ?? "bound_books_new_title_placeholder".localized

self?.showCreateFolderAlert(placeholder: placeholder, with: itemIdentifiers, type: .bound)
if volumeParams.hasOnlyBooks {
self?.showCreateFolderAlert(placeholder: placeholder, with: itemIdentifiers, type: .bound)
} else if let singleFolder = volumeParams.singleFolder {
self?.updateFolders([singleFolder], type: .bound)
}
}
))

Expand Down
Loading

0 comments on commit 409c680

Please sign in to comment.