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

Commit edad7b24 authored by Adrian Roos's avatar Adrian Roos
Browse files

Update LockPatternUtils to new alarm API

Change-Id: Idc6c2865b86e467e1e254452326f327f145177b0
parent 1d44e0cc
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ package com.android.internal.widget;

import android.Manifest;
import android.app.ActivityManagerNative;
import android.app.AlarmClockInfo;
import android.app.AlarmManager;
import android.app.admin.DevicePolicyManager;
import android.app.trust.TrustManager;
import android.appwidget.AppWidgetManager;
@@ -1170,13 +1172,9 @@ public class LockPatternUtils {
     * @return A formatted string of the next alarm (for showing on the lock screen),
     *   or null if there is no next alarm.
     */
    public String getNextAlarm() {
        String nextAlarm = Settings.System.getStringForUser(mContentResolver,
                Settings.System.NEXT_ALARM_FORMATTED, UserHandle.USER_CURRENT);
        if (nextAlarm == null || TextUtils.isEmpty(nextAlarm)) {
            return null;
        }
        return nextAlarm;
    public AlarmClockInfo getNextAlarm() {
        AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
        return alarmManager.getNextAlarmClock(UserHandle.USER_CURRENT);
    }

    private boolean getBoolean(String secureSettingKey, boolean defaultValue, int userId) {
+14 −3
Original line number Diff line number Diff line
@@ -16,9 +16,11 @@

package com.android.keyguard;

import android.app.AlarmClockInfo;
import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
import android.provider.AlarmClock;
import android.text.TextUtils;
import android.text.format.DateFormat;
import android.util.AttributeSet;
@@ -121,15 +123,24 @@ public class KeyguardStatusView extends GridLayout {

    void refreshAlarmStatus() {
        // Update Alarm status
        String nextAlarm = mLockPatternUtils.getNextAlarm();
        if (!TextUtils.isEmpty(nextAlarm)) {
            mAlarmStatusView.setText(nextAlarm);
        AlarmClockInfo nextAlarm = mLockPatternUtils.getNextAlarm();
        if (nextAlarm != null) {
            mAlarmStatusView.setText(formatNextAlarm(nextAlarm));
            mAlarmStatusView.setVisibility(View.VISIBLE);
        } else {
            mAlarmStatusView.setVisibility(View.GONE);
        }
    }

    String formatNextAlarm(AlarmClockInfo info) {
        if (info == null) {
            return "";
        }
        String skeleton = DateFormat.is24HourFormat(mContext) ? "EHm" : "Ehma";
        String pattern = DateFormat.getBestDateTimePattern(Locale.getDefault(), skeleton);
        return DateFormat.format(pattern, info.getTriggerTime()).toString();
    }

    private void updateOwnerInfo() {
        if (mOwnerInfo == null) return;
        String ownerInfo = getOwnerInfo();