Adds "Enable JIT" context menu action for active apps

Allows users to manually enable JIT for apps that don't explicitly support AltKit.
This commit is contained in:
Riley Testut
2021-09-03 13:57:15 -05:00
parent e4b0b153e5
commit 9c72b7ae8f
5 changed files with 239 additions and 0 deletions

View File

@@ -1349,6 +1349,22 @@ private extension MyAppsViewController
}
}
}
@available(iOS 14, *)
func enableJIT(for installedApp: InstalledApp)
{
AppManager.shared.enableJIT(for: installedApp) { result in
DispatchQueue.main.async {
switch result
{
case .success: break
case .failure(let error):
let toastView = ToastView(error: error)
toastView.show(in: self)
}
}
}
}
}
private extension MyAppsViewController
@@ -1555,6 +1571,11 @@ extension MyAppsViewController
self.remove(installedApp)
}
let jitAction = UIAction(title: NSLocalizedString("Enable JIT", comment: ""), image: UIImage(systemName: "bolt")) { (action) in
guard #available(iOS 14, *) else { return }
self.enableJIT(for: installedApp)
}
let backupAction = UIAction(title: NSLocalizedString("Back Up", comment: ""), image: UIImage(systemName: "doc.on.doc")) { (action) in
self.backup(installedApp)
}
@@ -1601,6 +1622,11 @@ extension MyAppsViewController
actions.append(activateAction)
}
if installedApp.isActive, #available(iOS 14, *)
{
actions.append(jitAction)
}
#if BETA
actions.append(changeIconMenu)
#endif