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

Commit 0f92a808 authored by Daniel Sandler's avatar Daniel Sandler
Browse files

Show alarm tile for the current user.

We were already refreshing the tile on user switch, but we
were only pulling the information (and observing changes)
for the owner.

Bug: 7596329
Change-Id: I33959af405bc79037b5b1321631d993bea65772f
parent bf0e106a
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -121,7 +121,8 @@ class QuickSettingsModel implements BluetoothStateChangeCallback,
        public void startObserving() {
            final ContentResolver cr = mContext.getContentResolver();
            cr.registerContentObserver(
                    Settings.System.getUriFor(Settings.System.NEXT_ALARM_FORMATTED), false, this);
                    Settings.System.getUriFor(Settings.System.NEXT_ALARM_FORMATTED), false, this,
                    UserHandle.USER_ALL);
        }
    }

@@ -311,8 +312,15 @@ class QuickSettingsModel implements BluetoothStateChangeCallback,
        mAlarmCallback.refreshView(mAlarmTile, mAlarmState);
    }
    void onNextAlarmChanged() {
        mAlarmState.label = Settings.System.getString(mContext.getContentResolver(),
                Settings.System.NEXT_ALARM_FORMATTED);
        final String alarmText = Settings.System.getStringForUser(mContext.getContentResolver(),
                Settings.System.NEXT_ALARM_FORMATTED,
                UserHandle.USER_CURRENT);
        mAlarmState.label = alarmText;

        // When switching users, this is the only clue we're going to get about whether the
        // alarm is actually set, since we won't get the ACTION_ALARM_CHANGED broadcast
        mAlarmState.enabled = ! TextUtils.isEmpty(alarmText);

        mAlarmCallback.refreshView(mAlarmTile, mAlarmState);
    }