Browse Source

Test autoupload in widget

Signed-off-by: marinofaggiana <marino.faggiana@nextcloud.com>
marinofaggiana 2 years ago
parent
commit
bb792582b2

+ 1 - 0
Widget/DashboardData.swift

@@ -36,6 +36,7 @@ struct DashboardDataEntry: TimelineEntry {
     let dashboardDatas: [DashboardData]
     let isPlaceholder: Bool
     let title: String
+    let items: Int
 }
 
 func getTitle(account: tableAccount?) -> String {

+ 4 - 4
Widget/DashboardNetworking.swift

@@ -32,10 +32,10 @@ let dashboardDatasTest: [DashboardData] = [
     .init(id: 4, image: "nextcloud", title: "title 5", subTitle: "subTitle - description 5", url: URL(string: "https://nextcloud.com/")!)
 ]
 
-func readDashboard(completion: @escaping (_ dashboardData: [DashboardData], _ isPlaceholder: Bool, _ title: String) -> Void) {
+func readDashboard(completion: @escaping (_ dashboardData: [DashboardData], _ isPlaceholder: Bool, _ title: String, _ items: Int) -> Void) {
 
     guard let account = NCManageDatabase.shared.getActiveAccount() else {
-        return completion(dashboardDatasTest, true, getTitle(account: nil))
+        return completion(dashboardDatasTest, true, getTitle(account: nil), 0)
     }
 
     // LOG
@@ -54,8 +54,8 @@ func readDashboard(completion: @escaping (_ dashboardData: [DashboardData], _ is
     }
     NKCommon.shared.writeLog("Start Dashboard widget [Auto upload]")
 
-    NCAutoUpload.shared.initAutoUpload(viewController: nil) { _ in
-        completion(dashboardDatasTest, false, getTitle(account: account))
+    NCAutoUpload.shared.initAutoUpload(viewController: nil) { items in
+        completion(dashboardDatasTest, false, getTitle(account: account), items)
         NKCommon.shared.writeLog("Completition Dashboard widget [Auto upload]")
     }
 }

+ 2 - 2
Widget/DashboardWidgetView.swift

@@ -72,7 +72,7 @@ struct DashboardWidgetView: View {
                     }
                 }
             }
-            Text("\(date)")
+            Text("Auto upoload: \(entry.items), \(date)")
                 .font(.caption2)
                 .padding(.trailing)
                 .frame(maxWidth: .infinity, alignment: .trailing)
@@ -83,7 +83,7 @@ struct DashboardWidgetView: View {
 
 struct NCElementDashboard_Previews: PreviewProvider {
     static var previews: some View {
-        let entry = DashboardDataEntry(date: Date(), dashboardDatas: dashboardDatasTest, isPlaceholder: false, title: getTitle(account: nil))
+        let entry = DashboardDataEntry(date: Date(), dashboardDatas: dashboardDatasTest, isPlaceholder: false, title: getTitle(account: nil), items: 0)
         DashboardWidgetView(entry: entry).previewContext(WidgetPreviewContext(family: .systemLarge))
     }
 }

+ 6 - 6
Widget/Widget.swift

@@ -29,18 +29,18 @@ struct Provider: TimelineProvider {
     typealias Entry = DashboardDataEntry
 
     func placeholder(in context: Context) -> Entry {
-        return Entry(date: Date(), dashboardDatas: [], isPlaceholder: true, title: getTitle(account: nil))
+        return Entry(date: Date(), dashboardDatas: [], isPlaceholder: true, title: getTitle(account: nil), items: 0)
     }
 
     func getSnapshot(in context: Context, completion: @escaping (Entry) -> Void) {
-        readDashboard { dashboardDatas, isPlaceholder, title in
-            completion(Entry(date: Date(), dashboardDatas: dashboardDatas, isPlaceholder: isPlaceholder, title: title))
+        readDashboard { dashboardDatas, isPlaceholder, title, items in
+            completion(Entry(date: Date(), dashboardDatas: dashboardDatas, isPlaceholder: isPlaceholder, title: title, items: items))
         }
     }
 
     func getTimeline(in context: Context, completion: @escaping (Timeline<Entry>) -> Void) {
-        readDashboard { dashboardDatas, isPlaceholder, title in
-            let timeLine = Timeline(entries: [Entry(date: Date(), dashboardDatas: dashboardDatas, isPlaceholder: isPlaceholder, title: title)], policy: .atEnd)
+        readDashboard { dashboardDatas, isPlaceholder, title, items in
+            let timeLine = Timeline(entries: [Entry(date: Date(), dashboardDatas: dashboardDatas, isPlaceholder: isPlaceholder, title: title, items: items)], policy: .atEnd)
             completion(timeLine)
         }
     }
@@ -63,7 +63,7 @@ struct DashboardWidget: Widget {
 struct DashboardWidget_Previews: PreviewProvider {
 
     static var previews: some View {
-        let entry = DashboardDataEntry(date: Date(), dashboardDatas: dashboardDatasTest, isPlaceholder: false, title: getTitle(account: nil))
+        let entry = DashboardDataEntry(date: Date(), dashboardDatas: dashboardDatasTest, isPlaceholder: false, title: getTitle(account: nil), items: 0)
         DashboardWidgetView(entry: entry).previewContext(WidgetPreviewContext(family: .systemLarge))
     }
 }