Skip to content

Commit 0bc773f

Browse files
authored
refactor(mobile): backup album selection (#8053)
* feat(mobile): include album with 0 assets as album option for backup * Show icon instead of thumbnail * Handle backupProgress state transition correctly to always load the backup info * remove todo comment
1 parent c6d2408 commit 0bc773f

File tree

7 files changed

+437
-126
lines changed

7 files changed

+437
-126
lines changed
Original file line numberDiff line numberDiff line change
@@ -1 +1,354 @@
1-
{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"idiom":"watch","filename":"172.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"86x86","expected-size":"172","role":"quickLook"},{"idiom":"watch","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"40x40","expected-size":"80","role":"appLauncher"},{"idiom":"watch","filename":"88.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"40mm","scale":"2x","size":"44x44","expected-size":"88","role":"appLauncher"},{"idiom":"watch","filename":"102.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"45x45","expected-size":"102","role":"appLauncher"},{"idiom":"watch","filename":"92.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"46x46","expected-size":"92","role":"appLauncher"},{"idiom":"watch","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"50x50","expected-size":"100","role":"appLauncher"},{"idiom":"watch","filename":"196.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"98x98","expected-size":"196","role":"quickLook"},{"idiom":"watch","filename":"216.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"108x108","expected-size":"216","role":"quickLook"},{"idiom":"watch","filename":"48.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"24x24","expected-size":"48","role":"notificationCenter"},{"idiom":"watch","filename":"55.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"27.5x27.5","expected-size":"55","role":"notificationCenter"},{"idiom":"watch","filename":"66.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"45mm","scale":"2x","size":"33x33","expected-size":"66","role":"notificationCenter"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"3x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"2x"},{"size":"1024x1024","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch-marketing","scale":"1x"},{"size":"128x128","expected-size":"128","filename":"128.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"256x256","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"128x128","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"256x256","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"512x512","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"16","filename":"16.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"64","filename":"64.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"512x512","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"}]}
1+
{
2+
"images" : [
3+
{
4+
"filename" : "40.png",
5+
"idiom" : "iphone",
6+
"scale" : "2x",
7+
"size" : "20x20"
8+
},
9+
{
10+
"filename" : "60.png",
11+
"idiom" : "iphone",
12+
"scale" : "3x",
13+
"size" : "20x20"
14+
},
15+
{
16+
"filename" : "29.png",
17+
"idiom" : "iphone",
18+
"scale" : "1x",
19+
"size" : "29x29"
20+
},
21+
{
22+
"filename" : "58.png",
23+
"idiom" : "iphone",
24+
"scale" : "2x",
25+
"size" : "29x29"
26+
},
27+
{
28+
"filename" : "87.png",
29+
"idiom" : "iphone",
30+
"scale" : "3x",
31+
"size" : "29x29"
32+
},
33+
{
34+
"filename" : "80.png",
35+
"idiom" : "iphone",
36+
"scale" : "2x",
37+
"size" : "40x40"
38+
},
39+
{
40+
"filename" : "120.png",
41+
"idiom" : "iphone",
42+
"scale" : "3x",
43+
"size" : "40x40"
44+
},
45+
{
46+
"filename" : "57.png",
47+
"idiom" : "iphone",
48+
"scale" : "1x",
49+
"size" : "57x57"
50+
},
51+
{
52+
"filename" : "114.png",
53+
"idiom" : "iphone",
54+
"scale" : "2x",
55+
"size" : "57x57"
56+
},
57+
{
58+
"filename" : "120.png",
59+
"idiom" : "iphone",
60+
"scale" : "2x",
61+
"size" : "60x60"
62+
},
63+
{
64+
"filename" : "180.png",
65+
"idiom" : "iphone",
66+
"scale" : "3x",
67+
"size" : "60x60"
68+
},
69+
{
70+
"filename" : "20.png",
71+
"idiom" : "ipad",
72+
"scale" : "1x",
73+
"size" : "20x20"
74+
},
75+
{
76+
"filename" : "40.png",
77+
"idiom" : "ipad",
78+
"scale" : "2x",
79+
"size" : "20x20"
80+
},
81+
{
82+
"filename" : "29.png",
83+
"idiom" : "ipad",
84+
"scale" : "1x",
85+
"size" : "29x29"
86+
},
87+
{
88+
"filename" : "58.png",
89+
"idiom" : "ipad",
90+
"scale" : "2x",
91+
"size" : "29x29"
92+
},
93+
{
94+
"filename" : "40.png",
95+
"idiom" : "ipad",
96+
"scale" : "1x",
97+
"size" : "40x40"
98+
},
99+
{
100+
"filename" : "80.png",
101+
"idiom" : "ipad",
102+
"scale" : "2x",
103+
"size" : "40x40"
104+
},
105+
{
106+
"filename" : "50.png",
107+
"idiom" : "ipad",
108+
"scale" : "1x",
109+
"size" : "50x50"
110+
},
111+
{
112+
"filename" : "100.png",
113+
"idiom" : "ipad",
114+
"scale" : "2x",
115+
"size" : "50x50"
116+
},
117+
{
118+
"filename" : "72.png",
119+
"idiom" : "ipad",
120+
"scale" : "1x",
121+
"size" : "72x72"
122+
},
123+
{
124+
"filename" : "144.png",
125+
"idiom" : "ipad",
126+
"scale" : "2x",
127+
"size" : "72x72"
128+
},
129+
{
130+
"filename" : "76.png",
131+
"idiom" : "ipad",
132+
"scale" : "1x",
133+
"size" : "76x76"
134+
},
135+
{
136+
"filename" : "152.png",
137+
"idiom" : "ipad",
138+
"scale" : "2x",
139+
"size" : "76x76"
140+
},
141+
{
142+
"filename" : "167.png",
143+
"idiom" : "ipad",
144+
"scale" : "2x",
145+
"size" : "83.5x83.5"
146+
},
147+
{
148+
"filename" : "1024.png",
149+
"idiom" : "ios-marketing",
150+
"scale" : "1x",
151+
"size" : "1024x1024"
152+
},
153+
{
154+
"filename" : "16.png",
155+
"idiom" : "mac",
156+
"scale" : "1x",
157+
"size" : "16x16"
158+
},
159+
{
160+
"filename" : "32.png",
161+
"idiom" : "mac",
162+
"scale" : "2x",
163+
"size" : "16x16"
164+
},
165+
{
166+
"filename" : "32.png",
167+
"idiom" : "mac",
168+
"scale" : "1x",
169+
"size" : "32x32"
170+
},
171+
{
172+
"filename" : "64.png",
173+
"idiom" : "mac",
174+
"scale" : "2x",
175+
"size" : "32x32"
176+
},
177+
{
178+
"filename" : "128.png",
179+
"idiom" : "mac",
180+
"scale" : "1x",
181+
"size" : "128x128"
182+
},
183+
{
184+
"filename" : "256.png",
185+
"idiom" : "mac",
186+
"scale" : "2x",
187+
"size" : "128x128"
188+
},
189+
{
190+
"filename" : "256.png",
191+
"idiom" : "mac",
192+
"scale" : "1x",
193+
"size" : "256x256"
194+
},
195+
{
196+
"filename" : "512.png",
197+
"idiom" : "mac",
198+
"scale" : "2x",
199+
"size" : "256x256"
200+
},
201+
{
202+
"filename" : "512.png",
203+
"idiom" : "mac",
204+
"scale" : "1x",
205+
"size" : "512x512"
206+
},
207+
{
208+
"filename" : "1024.png",
209+
"idiom" : "mac",
210+
"scale" : "2x",
211+
"size" : "512x512"
212+
},
213+
{
214+
"filename" : "48.png",
215+
"idiom" : "watch",
216+
"role" : "notificationCenter",
217+
"scale" : "2x",
218+
"size" : "24x24",
219+
"subtype" : "38mm"
220+
},
221+
{
222+
"filename" : "55.png",
223+
"idiom" : "watch",
224+
"role" : "notificationCenter",
225+
"scale" : "2x",
226+
"size" : "27.5x27.5",
227+
"subtype" : "42mm"
228+
},
229+
{
230+
"filename" : "58.png",
231+
"idiom" : "watch",
232+
"role" : "companionSettings",
233+
"scale" : "2x",
234+
"size" : "29x29"
235+
},
236+
{
237+
"filename" : "87.png",
238+
"idiom" : "watch",
239+
"role" : "companionSettings",
240+
"scale" : "3x",
241+
"size" : "29x29"
242+
},
243+
{
244+
"filename" : "66.png",
245+
"idiom" : "watch",
246+
"role" : "notificationCenter",
247+
"scale" : "2x",
248+
"size" : "33x33",
249+
"subtype" : "45mm"
250+
},
251+
{
252+
"filename" : "80.png",
253+
"idiom" : "watch",
254+
"role" : "appLauncher",
255+
"scale" : "2x",
256+
"size" : "40x40",
257+
"subtype" : "38mm"
258+
},
259+
{
260+
"filename" : "88.png",
261+
"idiom" : "watch",
262+
"role" : "appLauncher",
263+
"scale" : "2x",
264+
"size" : "44x44",
265+
"subtype" : "40mm"
266+
},
267+
{
268+
"filename" : "92.png",
269+
"idiom" : "watch",
270+
"role" : "appLauncher",
271+
"scale" : "2x",
272+
"size" : "46x46",
273+
"subtype" : "41mm"
274+
},
275+
{
276+
"filename" : "100.png",
277+
"idiom" : "watch",
278+
"role" : "appLauncher",
279+
"scale" : "2x",
280+
"size" : "50x50",
281+
"subtype" : "44mm"
282+
},
283+
{
284+
"idiom" : "watch",
285+
"role" : "appLauncher",
286+
"scale" : "2x",
287+
"size" : "51x51",
288+
"subtype" : "45mm"
289+
},
290+
{
291+
"idiom" : "watch",
292+
"role" : "appLauncher",
293+
"scale" : "2x",
294+
"size" : "54x54",
295+
"subtype" : "49mm"
296+
},
297+
{
298+
"filename" : "172.png",
299+
"idiom" : "watch",
300+
"role" : "quickLook",
301+
"scale" : "2x",
302+
"size" : "86x86",
303+
"subtype" : "38mm"
304+
},
305+
{
306+
"filename" : "196.png",
307+
"idiom" : "watch",
308+
"role" : "quickLook",
309+
"scale" : "2x",
310+
"size" : "98x98",
311+
"subtype" : "42mm"
312+
},
313+
{
314+
"filename" : "216.png",
315+
"idiom" : "watch",
316+
"role" : "quickLook",
317+
"scale" : "2x",
318+
"size" : "108x108",
319+
"subtype" : "44mm"
320+
},
321+
{
322+
"idiom" : "watch",
323+
"role" : "quickLook",
324+
"scale" : "2x",
325+
"size" : "117x117",
326+
"subtype" : "45mm"
327+
},
328+
{
329+
"idiom" : "watch",
330+
"role" : "quickLook",
331+
"scale" : "2x",
332+
"size" : "129x129",
333+
"subtype" : "49mm"
334+
},
335+
{
336+
"filename" : "1024.png",
337+
"idiom" : "watch-marketing",
338+
"scale" : "1x",
339+
"size" : "1024x1024"
340+
},
341+
{
342+
"filename" : "102.png",
343+
"idiom" : "watch",
344+
"role" : "appLauncher",
345+
"scale" : "2x",
346+
"size" : "45x45",
347+
"subtype" : "41mm"
348+
}
349+
],
350+
"info" : {
351+
"author" : "xcode",
352+
"version" : 1
353+
}
354+
}

Diff for: mobile/lib/modules/backup/models/available_album.model.dart

+1-4
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@ import 'package:photo_manager/photo_manager.dart';
55
class AvailableAlbum {
66
final AssetPathEntity albumEntity;
77
final DateTime? lastBackup;
8-
final Uint8List? thumbnailData;
98
AvailableAlbum({
109
required this.albumEntity,
1110
this.lastBackup,
12-
this.thumbnailData,
1311
});
1412

1513
AvailableAlbum copyWith({
@@ -20,7 +18,6 @@ class AvailableAlbum {
2018
return AvailableAlbum(
2119
albumEntity: albumEntity ?? this.albumEntity,
2220
lastBackup: lastBackup ?? this.lastBackup,
23-
thumbnailData: thumbnailData ?? this.thumbnailData,
2421
);
2522
}
2623

@@ -34,7 +31,7 @@ class AvailableAlbum {
3431

3532
@override
3633
String toString() =>
37-
'AvailableAlbum(albumEntity: $albumEntity, lastBackup: $lastBackup, thumbnailData: $thumbnailData)';
34+
'AvailableAlbum(albumEntity: $albumEntity, lastBackup: $lastBackup)';
3835

3936
@override
4037
bool operator ==(Object other) {

0 commit comments

Comments
 (0)