Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 63227d95 authored by Christopher Tate's avatar Christopher Tate Committed by Chris Tate
Browse files

Start user widgets outside the AMS lock

Bringing up app widgets during user unlock happens in the middle of a
sequence that is sensitive to cross-service locking issues, so we now
bring it up out-of-band to eliminate possible deadlock.

Fixes: 120987926
Test: manual
Change-Id: I5fafcdfd6e54fa912ddb8911ba3a07b716b92666
parent 8541aa5b
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -2214,7 +2214,11 @@ class UserController implements Handler.Callback {
        void startUserWidgets(int userId) {
            AppWidgetManagerInternal awm = LocalServices.getService(AppWidgetManagerInternal.class);
            if (awm != null) {
                // Out of band, because this is called during a sequence with
                // sensitive cross-service lock management
                FgThread.getHandler().post(() -> {
                    awm.unlockUser(userId);
                });
            }
        }