Adds SaveState.localizedName

This commit is contained in:
Riley Testut 2018-12-04 17:06:42 -08:00
parent 9a186ffea9
commit eaa8429bd8
3 changed files with 14 additions and 26 deletions

View File

@ -22,6 +22,13 @@ import Harmony
@objc(SaveState)
public class SaveState: _SaveState, SaveStateProtocol
{
public static let localizedDateFormatter: DateFormatter = {
let dateFormatter = DateFormatter()
dateFormatter.timeStyle = .short
dateFormatter.dateStyle = .short
return dateFormatter
}()
public var fileURL: URL {
let fileURL = DatabaseManager.saveStatesDirectoryURL(for: self.game!).appendingPathComponent(self.filename)
return fileURL
@ -37,6 +44,11 @@ public class SaveState: _SaveState, SaveStateProtocol
return self.game!.type
}
public var localizedName: String {
let localizedName = self.name ?? SaveState.localizedDateFormatter.string(from: self.modifiedDate)
return localizedName
}
@NSManaged private var primitiveFilename: String
@NSManaged private var primitiveIdentifier: String
@NSManaged private var primitiveCreationDate: Date

View File

@ -70,16 +70,10 @@ class SaveStatesViewController: UICollectionViewController
private var emulatorCoreSaveState: SaveStateProtocol?
private let dateFormatter: DateFormatter
required init?(coder aDecoder: NSCoder)
{
self.dataSource = RSTFetchedResultsCollectionViewPrefetchingDataSource<SaveState, UIImage>(fetchedResultsController: NSFetchedResultsController())
self.dateFormatter = DateFormatter()
self.dateFormatter.timeStyle = .short
self.dateFormatter.dateStyle = .short
super.init(coder: aDecoder)
self.prepareDataSource()
@ -255,9 +249,7 @@ private extension SaveStatesViewController
cell.maximumImageSize = CGSize(width: self.prototypeCellWidthConstraint.constant, height: (self.prototypeCellWidthConstraint.constant / dimensions.width) * dimensions.height)
cell.textLabel.font = UIFont.preferredFont(forTextStyle: .subheadline)
let name = saveState.name ?? self.dateFormatter.string(from: saveState.modifiedDate)
cell.textLabel.text = name
cell.textLabel.text = saveState.localizedName
}
func configure(_ headerView: SaveStatesCollectionHeaderView, forSection section: Int)

View File

@ -27,14 +27,6 @@ class GameSyncStatusViewController: UITableViewController
private lazy var dataSource = self.makeDataSource()
private let dateFormatter: DateFormatter = {
let dateFormatter = DateFormatter()
dateFormatter.timeStyle = .short
dateFormatter.dateStyle = .short
return dateFormatter
}()
private var recordsByObjectURI = [URL: Record<NSManagedObject>]()
override func viewDidLoad()
@ -100,15 +92,7 @@ private extension GameSyncStatusViewController
let saveStatesDataSource = RSTFetchedResultsTableViewDataSource(fetchRequest: saveStatesFetchRequest, managedObjectContext: DatabaseManager.shared.viewContext)
saveStatesDataSource.cellConfigurationHandler = { (cell, saveState, indexPath) in
if let name = saveState.name
{
cell.textLabel?.text = name
}
else
{
cell.textLabel?.text = self.dateFormatter.string(from: saveState.modifiedDate)
}
cell.textLabel?.text = saveState.localizedName
configure(cell, recordedObject: saveState)
}