Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Pods/
.vscode/
xcuserdata/
local.properties
local.xcconfig
!solutions.xcworkspace

# OS
Expand Down
2 changes: 2 additions & 0 deletions Config.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ AMAZON_APP_ID=a9_onboarding_app_id
AMAZON_BANNER_SLOT_ID=5ab6a4ae-4aa5-43f4-9da4-e30755f2b295
AMAZON_INTERSTITIAL_SLOT_ID=4e918ac0-5c68-4fe1-8d26-4e76e8f74831
COMPLIANCE_SCRIPT_URL=

#include? "local.xcconfig" // Overrides can be defined in this file
13 changes: 9 additions & 4 deletions dynamicprice/ios/Sources/DynamicPriceApp.swift
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,16 @@ struct ContentView: View {
}

struct InlineView: UIViewControllerRepresentable {
let dynamicPriceView: DynamicPriceView
let viewProvider: () -> DynamicPriceView
let listener = GoogleAdListener()

init(dynamicPriceView: @autoclosure @escaping () -> DynamicPriceView) {
self.viewProvider = dynamicPriceView
}

func makeUIViewController(context: Context) -> some UIViewController {
func makeUIViewController(context: Context) -> UIViewController {
let vc = UIViewController()
let dynamicPriceView = viewProvider()
dynamicPriceView.delegate = listener

vc.view.addSubview(dynamicPriceView)
Expand All @@ -78,10 +83,10 @@ struct InlineView: UIViewControllerRepresentable {

extension UIApplication {
var firstKeyWindow: UIWindow? {
connectedScenes.compactMap { $0 as? UIWindowScene }
connectedScenes
.compactMap { $0 as? UIWindowScene }
.filter { $0.activationState == .foregroundActive }
.first?.keyWindow

}

static var rootViewController: UIViewController? {
Expand Down
7 changes: 4 additions & 3 deletions dynamicprice/ios/Sources/DynamicPriceView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public class DynamicPriceView : UIView, AppEventDelegate {
}

public override func willMove(toWindow newWindow: UIWindow?) {
if window != nil { removeVisibilityListeners() }
removeVisibilityListeners()

guard let newWindow = newWindow else {
self.refreshTask?.cancel()
Expand Down Expand Up @@ -107,7 +107,7 @@ public class DynamicPriceView : UIView, AppEventDelegate {
private func startRefresh() {
guard refreshTask == nil || refreshTask?.isCancelled == true else { return }

refreshTask = Task { @MainActor in
refreshTask = Task {
while !Task.isCancelled {
// If not on screen, sleep for 200 milliseconds and then check again
guard !useOnScreenCheck || isOnScreen else {
Expand All @@ -116,7 +116,8 @@ public class DynamicPriceView : UIView, AppEventDelegate {
}

await Task.sleep(seconds: refreshInterval - Date().timeIntervalSince(lastRequestTime))

guard !Task.isCancelled else { break }

await loadAd()
}
}
Expand Down
Loading