From ef95ab43aa959a3e83d4422ffffb37e7cb438a63 Mon Sep 17 00:00:00 2001 From: Eilionoir Tunnicliff Date: Sun, 18 Dec 2022 13:56:54 -0500 Subject: [PATCH] 2.1.1 - Backport warnings fix --- DEBIAN/control.development | 2 +- DEBIAN/control.development-rootless | 2 +- DEBIAN/control.release | 2 +- DEBIAN/control.release-rootless | 2 +- Natives/Info.plist | 4 ++-- Natives/LauncherNewsViewController.m | 24 ++++++++++++++++++++++++ Natives/LauncherSplitViewController.m | 22 ---------------------- Natives/resources/Assets.car | Bin 2919712 -> 2935824 bytes 8 files changed, 30 insertions(+), 28 deletions(-) diff --git a/DEBIAN/control.development b/DEBIAN/control.development index a4ce1c13..dd360a93 100644 --- a/DEBIAN/control.development +++ b/DEBIAN/control.development @@ -3,7 +3,7 @@ Name: PojavLauncher iOS (Development) Maintainer: PojavLauncherTeam Author: DuyKhanhTran Architecture: iphoneos-arm -Version: 2.1 +Version: 2.1.1 Depends: firmware (>= 12.0), firmware (<< 15.0) Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release, net.kdt.pojavlauncher.release-rootless, net.kdt.pojavlauncher.development-rootless Replaces: pojavlauncher-dev, pojavlauncher diff --git a/DEBIAN/control.development-rootless b/DEBIAN/control.development-rootless index 2458fd2e..259d8dbc 100644 --- a/DEBIAN/control.development-rootless +++ b/DEBIAN/control.development-rootless @@ -3,7 +3,7 @@ Name: PojavLauncher iOS (Development) Rootless Maintainer: PojavLauncherTeam Author: DuyKhanhTran Architecture: iphoneos-arm64 -Version: 2.1 +Version: 2.1.1 Depends: firmware (>= 15.0) Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release, net.kdt.pojavlauncher.release-rootless, net.kdt.pojavlauncher.development Replaces: pojavlauncher-dev, pojavlauncher diff --git a/DEBIAN/control.release b/DEBIAN/control.release index a5754260..e7537df6 100644 --- a/DEBIAN/control.release +++ b/DEBIAN/control.release @@ -3,7 +3,7 @@ Name: PojavLauncher iOS Maintainer: PojavLauncherTeam Author: DuyKhanhTran Architecture: iphoneos-arm -Version: 2.1 +Version: 2.1.1 Depends: firmware (>= 12.0), firmware (<< 15.0) Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release-rootless, net.kdt.pojavlauncher.development, net.kdt.pojavlauncher.development-rootless Replaces: pojavlauncher, pojavlauncher-dev diff --git a/DEBIAN/control.release-rootless b/DEBIAN/control.release-rootless index abd6fa7b..48a86c05 100644 --- a/DEBIAN/control.release-rootless +++ b/DEBIAN/control.release-rootless @@ -3,7 +3,7 @@ Name: PojavLauncher iOS Rootless Maintainer: PojavLauncherTeam Author: DuyKhanhTran Architecture: iphoneos-arm -Version: 2.1 +Version: 2.1.1 Depends: firmware (>= 15.0) Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release, net.kdt.pojavlauncher.development, net.kdt.pojavlauncher.development-rootless Replaces: pojavlauncher, pojavlauncher-dev diff --git a/Natives/Info.plist b/Natives/Info.plist index 6f315c7c..acb2a388 100644 --- a/Natives/Info.plist +++ b/Natives/Info.plist @@ -67,7 +67,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.1 + 2.1.1 CFBundleSignature ???? CFBundleURLTypes @@ -82,7 +82,7 @@ CFBundleVersion - 2.1 + 2.1.1 GCSupportsControllerUserInteraction GCSupportedGameControllers diff --git a/Natives/LauncherNewsViewController.m b/Natives/LauncherNewsViewController.m index f5a54e09..abbfb412 100644 --- a/Natives/LauncherNewsViewController.m +++ b/Natives/LauncherNewsViewController.m @@ -1,6 +1,8 @@ #import #import #import "LauncherNewsViewController.h" +#import "LauncherPreferences.h" +#import "utils.h" @interface LauncherNewsViewController() @end @@ -36,6 +38,28 @@ UIEdgeInsets insets; [webView.scrollView setShowsHorizontalScrollIndicator:NO]; [webView loadRequest:request]; [self.view addSubview:webView]; + + if(roundf([[NSProcessInfo processInfo] physicalMemory] / 1048576) < 1900 && [getPreference(@"unsupported_warn_counter") intValue] == 0) { + UIAlertController *RAMAlert = [UIAlertController alertControllerWithTitle:localize(@"login.warn.title.a7", nil) message:localize(@"login.warn.message.a7", nil) preferredStyle:UIAlertControllerStyleAlert]; + UIAlertAction *ok = [UIAlertAction actionWithTitle:localize(@"OK", nil) style:UIAlertActionStyleCancel handler:nil]; + [self presentViewController:RAMAlert animated:YES completion:nil]; + [RAMAlert addAction:ok]; + } + + int launchNum = [getPreference(@"unsupported_warn_counter") intValue]; + if(launchNum > 0) { + setPreference(@"unsupported_warn_counter", @(launchNum - 1)); + } else { + setPreference(@"unsupported_warn_counter", @(30)); + } + + if(!getenv("POJAV_DETECTEDJB") && [getPreference(@"ram_unjb_warn") boolValue] == YES && [getPreference(@"auto_ram") boolValue] == NO) { + UIAlertController *ramalert = [UIAlertController alertControllerWithTitle:localize(@"login.warn.title.ram_unjb", nil) message:localize(@"login.warn.message.ram_unjb", nil) preferredStyle:UIAlertControllerStyleAlert]; + UIAlertAction *ok = [UIAlertAction actionWithTitle:localize(@"OK", nil) style:UIAlertActionStyleCancel handler:nil]; + [self presentViewController:ramalert animated:YES completion:nil]; + [ramalert addAction:ok]; + setPreference(@"ram_unjb_warn", @NO); + } } diff --git a/Natives/LauncherSplitViewController.m b/Natives/LauncherSplitViewController.m index b0e24eb5..f13b1960 100644 --- a/Natives/LauncherSplitViewController.m +++ b/Natives/LauncherSplitViewController.m @@ -26,28 +26,6 @@ extern NSMutableDictionary *prefDict; detailVc.toolbarHidden = NO; self.viewControllers = @[[[UINavigationController alloc] initWithRootViewController:masterVc], detailVc]; - - if(roundf([[NSProcessInfo processInfo] physicalMemory] / 1048576) < 1900 && [getPreference(@"unsupported_warn_counter") intValue] == 0) { - UIAlertController *RAMAlert = [UIAlertController alertControllerWithTitle:localize(@"login.warn.title.a7", nil) message:localize(@"login.warn.message.a7", nil) preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction *ok = [UIAlertAction actionWithTitle:localize(@"OK", nil) style:UIAlertActionStyleCancel handler:nil]; - [self presentViewController:RAMAlert animated:YES completion:nil]; - [RAMAlert addAction:ok]; - } - - int launchNum = [getPreference(@"unsupported_warn_counter") intValue]; - if(launchNum > 0) { - setPreference(@"unsupported_warn_counter", @(launchNum - 1)); - } else { - setPreference(@"unsupported_warn_counter", @(30)); - } - - if(!getenv("POJAV_DETECTEDJB") && [getPreference(@"ram_unjb_warn") boolValue] == YES && [getPreference(@"auto_ram") boolValue] == NO) { - UIAlertController *ramalert = [UIAlertController alertControllerWithTitle:localize(@"login.warn.title.ram_unjb", nil) message:localize(@"login.warn.message.ram_unjb", nil) preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction *ok = [UIAlertAction actionWithTitle:localize(@"OK", nil) style:UIAlertActionStyleCancel handler:nil]; - [self presentViewController:ramalert animated:YES completion:nil]; - [ramalert addAction:ok]; - setPreference(@"ram_unjb_warn", @NO); - } } - (void)splitViewController:(UISplitViewController *)svc willChangeToDisplayMode:(UISplitViewControllerDisplayMode)displayMode { diff --git a/Natives/resources/Assets.car b/Natives/resources/Assets.car index 24f2db3b40558aa2721adb3b5d2c891ee8728752..49a965eeef0d258f9e61be398f8b3f454d20c814 100644 GIT binary patch delta 20206 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 N0)F~(gXKT+{{XD;CG7wJ delta 6801 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