Skip to content

Commit

Permalink
Merge pull request #1203 from TortugaPower/develop
Browse files Browse the repository at this point in the history
Release v5.4.1
  • Loading branch information
GianniCarlo authored Oct 10, 2024
2 parents 0688184 + cfcd138 commit c4be829
Show file tree
Hide file tree
Showing 35 changed files with 226 additions and 118 deletions.
36 changes: 18 additions & 18 deletions BookPlayer.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -4154,7 +4154,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerIntents";
Expand Down Expand Up @@ -4188,7 +4188,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerIntents";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4220,7 +4220,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerIntents";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4256,7 +4256,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp";
Expand Down Expand Up @@ -4297,7 +4297,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4335,7 +4335,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4504,7 +4504,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerWidgetUI";
Expand Down Expand Up @@ -4542,7 +4542,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerWidgetUI";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4578,7 +4578,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerWidgetUI";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -4731,7 +4731,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = BookPlayer;
PROVISIONING_PROFILE_SPECIFIER = "$(BP_PROVISIONING_MAIN)";
Expand Down Expand Up @@ -4769,7 +4769,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = BookPlayer;
PROVISIONING_PROFILE_SPECIFIER = "$(BP_PROVISIONING_MAIN)";
Expand Down Expand Up @@ -4991,7 +4991,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp.widgets";
Expand Down Expand Up @@ -5029,7 +5029,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp.widgets";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5065,7 +5065,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp.widgets";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5104,7 +5104,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerShareExtension";
Expand Down Expand Up @@ -5144,7 +5144,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerShareExtension";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5182,7 +5182,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerShareExtension";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5274,7 +5274,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.4.0;
MARKETING_VERSION = 5.4.1;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = BookPlayer;
PROVISIONING_PROFILE_SPECIFIER = "$(BP_PROVISIONING_MAIN)";
Expand Down
1 change: 1 addition & 0 deletions BookPlayer/Base.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -318,3 +318,4 @@ We're working hard on providing a seamless experience, if possible, please conta
"intent_custom_skiprewind_title" = "Rewind with interval";
"Rewind ${interval}" = "Rewind ${interval}";
"settings_lock_orientation_title" = "Orientation Locked";
"more_title" = "More";
27 changes: 22 additions & 5 deletions BookPlayer/Coordinators/DataInitializerCoordinator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import Combine
import CoreData
import Foundation

@MainActor
class DataInitializerCoordinator: BPLogger {
let databaseInitializer: DatabaseInitializer = DatabaseInitializer()
let alertPresenter: AlertPresenter
Expand All @@ -28,10 +29,10 @@ class DataInitializerCoordinator: BPLogger {
}

func initializeLibrary(isRecoveryAttempt: Bool) async {
let appDelegate = await AppDelegate.shared!
let appDelegate = AppDelegate.shared!
_ = await appDelegate.setupCoreServicesTask?.result

if let errorCoreServicesSetup = await appDelegate.errorCoreServicesSetup {
if let errorCoreServicesSetup = appDelegate.errorCoreServicesSetup {
await handleError(errorCoreServicesSetup as NSError)
return
}
Expand Down Expand Up @@ -68,19 +69,35 @@ class DataInitializerCoordinator: BPLogger {
}
}
} else {
fatalError("Unresolved error \(error), \(error.userInfo)")
await MainActor.run {
let errorDescription = """
\(error.localizedDescription)
Error Domain
\(error.domain)
Additional Info
\(error.userInfo)
"""
alertPresenter.showAlert(
"error_title".localized,
message: errorDescription
) {
fatalError("Unresolved error \(error.localizedDescription)")
}
}
}
}

func recoverLibraryFromFailedMigration() {
Task {
await AppDelegate.shared?.resetCoreServices()
AppDelegate.shared?.resetCoreServices()
await initializeLibrary(isRecoveryAttempt: true)
}
}

func finishLibrarySetup(fromRecovery: Bool) async {
let coreServices = await AppDelegate.shared!.coreServices!
let coreServices = AppDelegate.shared!.coreServices!

setupDefaultState(
libraryService: coreServices.libraryService,
Expand Down
4 changes: 2 additions & 2 deletions BookPlayer/Coordinators/ItemListCoordinator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -104,14 +104,14 @@ class ItemListCoordinator: NSObject, Coordinator, AlertPresenter, BPLogger {
}

func loadPlayer(_ relativePath: String) {
Task {
Task { @MainActor in
let alertPresenter: AlertPresenter = self
do {
try await AppDelegate.shared?.coreServices?.playerLoaderService.loadPlayer(
relativePath,
autoplay: true
)
await self.showPlayer()
self.showPlayer()
} catch BPPlayerError.fileMissing {
alertPresenter.showAlert(
"file_missing_title".localized,
Expand Down
2 changes: 1 addition & 1 deletion BookPlayer/Coordinators/LibraryListCoordinator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ class LibraryListCoordinator: ItemListCoordinator, UINavigationControllerDelegat
let libraryItem = libraryService.getLibraryLastItem()
else { return }

Task {
Task { @MainActor in
let alertPresenter: AlertPresenter = self
do {
try await AppDelegate.shared?.coreServices?.playerLoaderService.loadPlayer(
Expand Down
2 changes: 1 addition & 1 deletion BookPlayer/Coordinators/MainCoordinator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ class MainCoordinator: NSObject {
}

func loadPlayer(_ relativePath: String, autoplay: Bool, showPlayer: Bool) {
Task {
Task { @MainActor in
let alertPresenter: AlertPresenter = getLibraryCoordinator() ?? self
do {
try await AppDelegate.shared?.coreServices?.playerLoaderService.loadPlayer(
Expand Down
12 changes: 7 additions & 5 deletions BookPlayer/Loading/LoadingViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,14 @@ class LoadingViewModel: ViewModelProtocol {
weak var coordinator: LoadingCoordinator!

func initializeDataIfNeeded() {
let dataInitializerCoordinator = DataInitializerCoordinator(alertPresenter: self.coordinator)
Task { @MainActor in
let dataInitializerCoordinator = DataInitializerCoordinator(alertPresenter: self.coordinator)

dataInitializerCoordinator.onFinish = {
self.coordinator.didFinishLoadingSequence()
}
dataInitializerCoordinator.onFinish = {
self.coordinator.didFinishLoadingSequence()
}

dataInitializerCoordinator.start()
dataInitializerCoordinator.start()
}
}
}
Loading

0 comments on commit c4be829

Please sign in to comment.