New icon.
New debug info status (warning)
@ -847,7 +847,7 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = AutoCat/AutoCat.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 65;
|
||||
CURRENT_PROJECT_VERSION = 66;
|
||||
DEVELOPMENT_TEAM = 46DTTB8X4S;
|
||||
INFOPLIST_FILE = AutoCat/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
@ -870,7 +870,7 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = AutoCat/AutoCat.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 65;
|
||||
CURRENT_PROJECT_VERSION = 66;
|
||||
DEVELOPMENT_TEAM = 46DTTB8X4S;
|
||||
INFOPLIST_FILE = AutoCat/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
|
||||
@ -25,7 +25,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
|
||||
|
||||
let config = Realm.Configuration(
|
||||
schemaVersion: 29,
|
||||
schemaVersion: 32,
|
||||
migrationBlock: { migration, oldSchemaVersion in
|
||||
if oldSchemaVersion <= 3 {
|
||||
var numbers: [String] = []
|
||||
@ -110,6 +110,28 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if oldSchemaVersion <= 31 {
|
||||
migration.enumerateObjects(ofType: "Vehicle") { old, new in
|
||||
if let oldDebugInfo = old?["debugInfo"] as? DynamicObject, let newDebugInfo = new?["debugInfo"] as? DynamicObject {
|
||||
let addStatus = { (providerName: String) -> Void in
|
||||
if let provider = oldDebugInfo[providerName] as? DynamicObject, let newProvider = newDebugInfo[providerName] as? DynamicObject {
|
||||
if provider["error"] != nil {
|
||||
newProvider["status"] = DebugInfoStatus.error.rawValue
|
||||
} else {
|
||||
newProvider["status"] = DebugInfoStatus.success.rawValue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
addStatus("autocod")
|
||||
addStatus("vin01vin")
|
||||
addStatus("vin01base")
|
||||
addStatus("vin01history")
|
||||
addStatus("nomerogram")
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Realm.Configuration.defaultConfiguration = config
|
||||
|
||||
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 810 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
@ -1,116 +1,116 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"size" : "20x20",
|
||||
"filename" : "wheel-40.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "AppIcon-40.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"filename" : "wheel-60.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "AppIcon-60.png",
|
||||
"scale" : "3x"
|
||||
"scale" : "3x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"filename" : "wheel-58.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "AppIcon-58.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"filename" : "wheel-87.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "AppIcon-87.png",
|
||||
"scale" : "3x"
|
||||
"scale" : "3x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"filename" : "wheel-80.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "AppIcon-80.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"filename" : "wheel-120.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "AppIcon-120.png",
|
||||
"scale" : "3x"
|
||||
"scale" : "3x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"filename" : "wheel-121.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "AppIcon-121.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"filename" : "wheel-180.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "AppIcon-180.png",
|
||||
"scale" : "3x"
|
||||
"scale" : "3x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"filename" : "wheel-20.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "AppIcon-20.png",
|
||||
"scale" : "1x"
|
||||
"scale" : "1x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"filename" : "wheel-41.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "AppIcon-41.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"filename" : "wheel-29.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "AppIcon-29.png",
|
||||
"scale" : "1x"
|
||||
"scale" : "1x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"filename" : "wheel-59.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "AppIcon-59.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"filename" : "wheel-42.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "AppIcon-42.png",
|
||||
"scale" : "1x"
|
||||
"scale" : "1x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"filename" : "wheel-81.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "AppIcon-81.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"filename" : "wheel-76.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "AppIcon-76.png",
|
||||
"scale" : "1x"
|
||||
"scale" : "1x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"filename" : "wheel-152.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "AppIcon-152.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"size" : "83.5x83.5",
|
||||
"filename" : "wheel-167.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "AppIcon-167.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "83.5x83.5"
|
||||
},
|
||||
{
|
||||
"size" : "1024x1024",
|
||||
"filename" : "wheel-1024.png",
|
||||
"idiom" : "ios-marketing",
|
||||
"filename" : "AppIcon-1024.png",
|
||||
"scale" : "1x"
|
||||
"scale" : "1x",
|
||||
"size" : "1024x1024"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-1024.png
Normal file
|
After Width: | Height: | Size: 109 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-120.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-121.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-152.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-167.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-180.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-20.png
Normal file
|
After Width: | Height: | Size: 878 B |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-29.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-40.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-41.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-42.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-58.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-59.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-60.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-76.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-80.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-81.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
AutoCat/Assets.xcassets/AppIcon.appiconset/wheel-87.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
@ -299,7 +299,7 @@ class CheckController: UIViewController, UITableViewDelegate, UITextFieldDelegat
|
||||
return Single.just(event)
|
||||
}
|
||||
|
||||
if let event = LocationManager.lastEvent, (Date().timeIntervalSince1970 - event.date) < 60 {
|
||||
if let event = LocationManager.lastEvent, (Date().timeIntervalSince1970 - event.date) < 15 {
|
||||
return Single<VehicleEvent>.just(event)
|
||||
} else {
|
||||
return LocationManager.requestCurrentLocation()
|
||||
|
||||
@ -1,6 +1,12 @@
|
||||
import Foundation
|
||||
import RealmSwift
|
||||
|
||||
enum DebugInfoStatus: Int {
|
||||
case success = 0
|
||||
case error = 1
|
||||
case warning = 2
|
||||
}
|
||||
|
||||
class DebugInfo: Object, Decodable {
|
||||
@objc dynamic var autocod: DebugInfoEntry!
|
||||
@objc dynamic var vin01vin: DebugInfoEntry!
|
||||
@ -12,4 +18,10 @@ class DebugInfo: Object, Decodable {
|
||||
class DebugInfoEntry: Object, Decodable {
|
||||
@objc dynamic var fields: Int64 = 0
|
||||
@objc dynamic var error: String?
|
||||
@objc dynamic var status: Int = 0
|
||||
|
||||
var statusEnum: DebugInfoStatus {
|
||||
get { DebugInfoStatus(rawValue: self.status)! }
|
||||
set { self.status = newValue.rawValue }
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,16 @@
|
||||
import UIKit
|
||||
import Eureka
|
||||
|
||||
extension DebugInfoStatus {
|
||||
var color: UIColor {
|
||||
switch self {
|
||||
case .success: return .systemGreen
|
||||
case .error: return .systemRed
|
||||
case .warning: return .systemOrange
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class SourceStatusCell: Cell<DebugInfoEntry>, CellType {
|
||||
private var circle: UIImageView!
|
||||
|
||||
@ -32,7 +42,7 @@ class SourceStatusCell: Cell<DebugInfoEntry>, CellType {
|
||||
|
||||
self.detailTextLabel?.text = nil
|
||||
if let value = row.value {
|
||||
self.circle.tintColor = value.error == nil ? .systemGreen : .systemRed
|
||||
self.circle.tintColor = value.statusEnum.color
|
||||
//self.accessoryType = value.error == nil ? .none : .disclosureIndicator
|
||||
} else {
|
||||
self.circle.tintColor = .systemGray
|
||||
|
||||