diff --git a/README.md b/README.md index 54d265f..7ee37dc 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,6 @@ Note: I am not responsible if your device bootloops. Please back up your data be - VPN - Chinese WLAN service - HealthKit - - HealthKit - AirPrint - Assistive Touch - iCloud diff --git a/gui/main_window.py b/gui/main_window.py index a47a587..7f806f7 100644 --- a/gui/main_window.py +++ b/gui/main_window.py @@ -18,7 +18,7 @@ from tweaks.custom_gestalt_tweaks import CustomGestaltTweaks, ValueTypeStrings from tweaks.daemons_tweak import Daemon -App_Version = "4.2.2" +App_Version = "4.2.3" App_Build = 0 class Page(Enum): @@ -173,6 +173,8 @@ def __init__(self, device_manager: DeviceManager): self.ui.showRiskyChk.toggled.connect(self.on_showRiskyChk_toggled) self.ui.showAllSpoofableChk.toggled.connect(self.on_showAllSpoofableChk_toggled) + self.ui.revertRdarChk.toggled.connect(self.on_revertRdarChk_toggled) + self.ui.skipSetupChk.toggled.connect(self.on_skipSetupChk_toggled) self.ui.supervisionChk.toggled.connect(self.on_supervisionChk_toggled) self.ui.supervisionOrganization.textEdited.connect(self.on_supervisionOrgTxt_textEdited) @@ -319,6 +321,7 @@ def change_selected_device(self, index): "18.0": [self.ui.aodChk, self.ui.aodVibrancyChk, self.ui.iphone16SettingsChk] } MaxTweakVersions = { + "patch": [self.ui.revertRdarChk, self.ui.revertRdarLine], "17.7": [self.ui.euEnablerContent], "18.0": [self.ui.photosChk, self.ui.aiChk] } @@ -357,12 +360,18 @@ def change_selected_device(self, index): view.hide() # toggle option visibility for the max versions for version in MaxTweakVersions.keys(): - parsed_ver = Version(version) - for view in MaxTweakVersions[version]: - if device_ver <= parsed_ver: - view.show() - else: + if version == "patch": + if patched: view.hide() + else: + view.show() + else: + parsed_ver = Version(version) + for view in MaxTweakVersions[version]: + if device_ver <= parsed_ver: + view.show() + else: + view.hide() if device_ver >= Version("18.0"): # show the other dynamic island options self.ui.dynamicIslandDrp.addItem("2622 (iPhone 16 Pro Dynamic Island)") @@ -765,6 +774,9 @@ def on_modifyDaemonsChk_clicked(self, checked: bool): def on_thermalmonitordChk_clicked(self, checked: bool): tweaks["Daemons"].set_multiple_values(Daemon.thermalmonitord.value, value=checked) + if checked: + # set the modify toggle checked so it actually applies + self.on_modifyDaemonsChk_clicked(True) def on_otadChk_clicked(self, checked: bool): tweaks["Daemons"].set_multiple_values(Daemon.OTA.value, value=checked) def on_usageTrackingAgentChk_clicked(self, checked: bool): @@ -864,6 +876,10 @@ def on_autoRebootChk_toggled(self, checked: bool): self.device_manager.auto_reboot = checked # save the setting self.settings.setValue("auto_reboot", checked) + + def on_revertRdarChk_toggled(self, checked: bool): + tweaks["RdarFix"].set_enabled(checked) + def on_skipSetupChk_toggled(self, checked: bool): self.device_manager.skip_setup = checked # save the setting diff --git a/qt/mainwindow.ui b/qt/mainwindow.ui index 6c79b00..fc0d4aa 100644 --- a/qt/mainwindow.ui +++ b/qt/mainwindow.ui @@ -4960,6 +4960,34 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q + + + + + QFrame { + color: #414141; +} + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + If you used the rdar/status bar fix in a previous iOS version, this will revert that. + + + Revert rdar Fix (reset resolution) + + + + + QFrame { color: #414141; diff --git a/qt/mainwindow_ui.py b/qt/mainwindow_ui.py index d60dbee..1473fbc 100644 --- a/qt/mainwindow_ui.py +++ b/qt/mainwindow_ui.py @@ -2590,6 +2590,21 @@ def setupUi(self, Nugget): self._21.addWidget(self.line_24) + self.revertRdarChk = QCheckBox(self.settingsPageContent) + self.revertRdarChk.setObjectName(u"revertRdarChk") + + self._21.addWidget(self.revertRdarChk) + + self.revertRdarLine = QFrame(self.settingsPageContent) + self.revertRdarLine.setObjectName(u"revertRdarLine") + self.revertRdarLine.setStyleSheet(u"QFrame {\n" +" color: #414141;\n" +"}") + self.revertRdarLine.setFrameShadow(QFrame.Plain) + self.revertRdarLine.setFrameShape(QFrame.HLine) + + self._21.addWidget(self.revertRdarLine) + self.skipSetupChk = QCheckBox(self.settingsPageContent) self.skipSetupChk.setObjectName(u"skipSetupChk") self.skipSetupChk.setChecked(True) @@ -3511,6 +3526,13 @@ def retranslateUi(self, Nugget): self.showAllSpoofableChk.setWhatsThis("") #endif // QT_CONFIG(whatsthis) self.showAllSpoofableChk.setText(QCoreApplication.translate("Nugget", u"Show All Spoofable Models", None)) +#if QT_CONFIG(tooltip) + self.line_24.setToolTip("") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(tooltip) + self.revertRdarChk.setToolTip(QCoreApplication.translate("Nugget", u"If you used the rdar/status bar fix in a previous iOS version, this will revert that.", None)) +#endif // QT_CONFIG(tooltip) + self.revertRdarChk.setText(QCoreApplication.translate("Nugget", u"Revert rdar Fix (reset resolution)", None)) self.skipSetupChk.setText(QCoreApplication.translate("Nugget", u"Skip Setup * (non-exploit files only)", None)) self.supervisionChk.setText(QCoreApplication.translate("Nugget", u"Enable Supervision * (requires Skip Setup)", None)) self.supervisionOrganization.setPlaceholderText(QCoreApplication.translate("Nugget", u"Enter Organization Name", None)) diff --git a/qt/ui_mainwindow.py b/qt/ui_mainwindow.py index 3a8c110..11ce891 100644 --- a/qt/ui_mainwindow.py +++ b/qt/ui_mainwindow.py @@ -2590,6 +2590,21 @@ def setupUi(self, Nugget): self._21.addWidget(self.line_24) + self.revertRdarChk = QCheckBox(self.settingsPageContent) + self.revertRdarChk.setObjectName(u"revertRdarChk") + + self._21.addWidget(self.revertRdarChk) + + self.revertRdarLine = QFrame(self.settingsPageContent) + self.revertRdarLine.setObjectName(u"revertRdarLine") + self.revertRdarLine.setStyleSheet(u"QFrame {\n" +" color: #414141;\n" +"}") + self.revertRdarLine.setFrameShadow(QFrame.Plain) + self.revertRdarLine.setFrameShape(QFrame.Shape.HLine) + + self._21.addWidget(self.revertRdarLine) + self.skipSetupChk = QCheckBox(self.settingsPageContent) self.skipSetupChk.setObjectName(u"skipSetupChk") self.skipSetupChk.setChecked(True) @@ -3511,6 +3526,13 @@ def retranslateUi(self, Nugget): self.showAllSpoofableChk.setWhatsThis("") #endif // QT_CONFIG(whatsthis) self.showAllSpoofableChk.setText(QCoreApplication.translate("Nugget", u"Show All Spoofable Models", None)) +#if QT_CONFIG(tooltip) + self.line_24.setToolTip("") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(tooltip) + self.revertRdarChk.setToolTip(QCoreApplication.translate("Nugget", u"If you used the rdar/status bar fix in a previous iOS version, this will revert that.", None)) +#endif // QT_CONFIG(tooltip) + self.revertRdarChk.setText(QCoreApplication.translate("Nugget", u"Revert rdar Fix (reset resolution)", None)) self.skipSetupChk.setText(QCoreApplication.translate("Nugget", u"Skip Setup * (non-exploit files only)", None)) self.supervisionChk.setText(QCoreApplication.translate("Nugget", u"Enable Supervision * (requires Skip Setup)", None)) self.supervisionOrganization.setPlaceholderText(QCoreApplication.translate("Nugget", u"Enter Organization Name", None)) diff --git a/tweaks/custom_gestalt_tweaks.py b/tweaks/custom_gestalt_tweaks.py index 446d84f..1c4aed9 100644 --- a/tweaks/custom_gestalt_tweaks.py +++ b/tweaks/custom_gestalt_tweaks.py @@ -45,7 +45,7 @@ class CustomGestaltTweaks: custom_tweaks: list[CustomGestaltTweak] = [] def create_tweak(key: str="", value: str="1", value_type: ValueType = ValueType.Integer) -> int: - new_tweak = MobileGestaltTweak("", key, value=value) + new_tweak = MobileGestaltTweak(key, value=value) CustomGestaltTweaks.custom_tweaks.append(CustomGestaltTweak(new_tweak, value_type)) # return the tweak id return len(CustomGestaltTweaks.custom_tweaks) - 1 diff --git a/tweaks/daemons_tweak.py b/tweaks/daemons_tweak.py index 6de5923..b3c93f9 100644 --- a/tweaks/daemons_tweak.py +++ b/tweaks/daemons_tweak.py @@ -40,12 +40,12 @@ class Daemon(Enum): VPN = ["com.apple.racoon"] ChineseLAN = ["com.apple.wapic"] HealthKit = ["com.apple.healthd"] - AirPrint = ["com.apple.printd"], - AssistiveTouch = ["com.apple.assistivetouchd"], - iCloud = ["com.apple.itunescloudd"], - InternetTethering = ["com.apple.MobileInternetSharing"], - PassBook = ["com.apple.passd"], - Spotlight = ["com.apple.searchd"], + AirPrint = ["com.apple.printd"] + AssistiveTouch = ["com.apple.assistivetouchd"] + iCloud = ["com.apple.itunescloudd"] + InternetTethering = ["com.apple.MobileInternetSharing"] + PassBook = ["com.apple.passd"] + Spotlight = ["com.apple.searchd"] VoiceControl = [ "com.apple.assistant_service", "com.apple.assistantd",