@@ -25,6 +25,7 @@ pub struct Selection {
25
25
26
26
#[ derive( Debug , Default , Clone ) ]
27
27
pub struct PackageInfo {
28
+ pub i_user : Option < usize > ,
28
29
pub index : usize ,
29
30
pub removal : String ,
30
31
}
@@ -225,8 +226,9 @@ impl List {
225
226
& settings. device ,
226
227
) ;
227
228
228
- for ( i, action) in actions. into_iter ( ) . enumerate ( ) {
229
+ for ( i, ( i_user , action) ) in actions. into_iter ( ) . enumerate ( ) {
229
230
let p_info = PackageInfo {
231
+ i_user,
230
232
index : i_package,
231
233
removal : package. removal . to_string ( ) ,
232
234
} ;
@@ -277,10 +279,12 @@ impl List {
277
279
& settings. device ,
278
280
) ;
279
281
280
- for ( j, action) in actions. into_iter ( ) . enumerate ( ) {
282
+ let package = & mut self . phone_packages [ i_user] [ i] ;
283
+ for ( j, ( i_user, action) ) in actions. into_iter ( ) . enumerate ( ) {
281
284
let p_info = PackageInfo {
285
+ i_user,
282
286
index : i,
283
- removal : self . phone_packages [ i_user ] [ i ] . removal . to_string ( ) ,
287
+ removal : package . removal . to_string ( ) ,
284
288
} ;
285
289
// Only the first command can change the package state
286
290
commands. push ( Command :: perform (
@@ -312,17 +316,13 @@ impl List {
312
316
let package = & mut self . phone_packages [ i_user] [ p. index ] ;
313
317
update_selection_count ( & mut self . selection , package. state , false ) ;
314
318
315
- if !settings. device . multi_user_mode {
319
+ if !settings. device . multi_user_mode || p . i_user . is_none ( ) {
316
320
package. state = package. state . opposite ( settings. device . disable_mode ) ;
317
321
package. selected = false ;
318
322
} else {
319
- for u in & selected_device. user_list {
320
- self . phone_packages [ u. index ] [ p. index ] . state = self . phone_packages
321
- [ u. index ] [ p. index ]
322
- . state
323
- . opposite ( settings. device . disable_mode ) ;
324
- self . phone_packages [ u. index ] [ p. index ] . selected = false ;
325
- }
323
+ self . phone_packages [ p. i_user . unwrap ( ) ] [ p. index ] . state = self . phone_packages
324
+ [ p. i_user . unwrap ( ) ] [ p. index ] . state . opposite ( settings. device . disable_mode ) ;
325
+ self . phone_packages [ p. i_user . unwrap ( ) ] [ p. index ] . selected = false ;
326
326
}
327
327
self . selection
328
328
. selected_packages
0 commit comments