[AltStore] Update apps from UpdatesViewController

This commit is contained in:
Riley Testut
2019-06-17 14:49:23 -07:00
parent 9538d05f9f
commit d65cef8817
10 changed files with 231 additions and 30 deletions

View File

@@ -11,13 +11,7 @@ import Roxas
class AppsViewController: UITableViewController
{
private lazy var dataSource = self.makeDataSource()
private lazy var dateFormatter: DateFormatter = {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
return dateFormatter
}()
private lazy var dataSource = self.makeDataSource()
override func viewDidLoad()
{
@@ -82,23 +76,19 @@ private extension AppsViewController
func fetchApps()
{
DatabaseManager.shared.persistentContainer.performBackgroundTask { (context) in
let appsFileURL = Bundle.main.url(forResource: "Apps", withExtension: "json")!
AppManager.shared.fetchApps { (result) in
do
{
let data = try Data(contentsOf: appsFileURL)
let decoder = JSONDecoder()
decoder.dateDecodingStrategy = .formatted(self.dateFormatter)
decoder.managedObjectContext = context
_ = try decoder.decode([App].self, from: data)
try context.save()
let apps = try result.get()
try apps.first?.managedObjectContext?.save()
}
catch
{
fatalError("Failed to save fetched apps. \(error)")
DispatchQueue.main.async {
let toastView = RSTToastView(text: NSLocalizedString("Failed to fetch apps", comment: ""), detailText: error.localizedDescription)
toastView.tintColor = .altPurple
toastView.show(in: self.navigationController?.view ?? self.view, duration: 2.0)
}
}
}
}