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

Commit ced59f59 authored by Danesh M's avatar Danesh M Committed by Matt Garnes
Browse files

Ability to hide alarm clock icon

Change-Id: I452280ecb272df890ffb403301b398950210cd0a
(cherry picked from commit 8dea1dce)
parent d0ac1031
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -1971,6 +1971,11 @@ public final class Settings {
        @Deprecated
        @Deprecated
        public static final String NEXT_ALARM_FORMATTED = "next_alarm_formatted";
        public static final String NEXT_ALARM_FORMATTED = "next_alarm_formatted";


        /**
         * @hide
         */
        public static final String SHOW_ALARM_ICON = "show_alarm_icon";

        /**
        /**
         * Scaling factor for fonts, float.
         * Scaling factor for fonts, float.
         */
         */
+25 −2
Original line number Original line Diff line number Diff line
@@ -26,12 +26,15 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentFilter;
import android.database.ContentObserver;
import android.media.AudioManager;
import android.media.AudioManager;
import android.net.Uri;
import android.os.Handler;
import android.os.Handler;
import android.os.storage.StorageEventListener;
import android.os.storage.StorageEventListener;
import android.os.storage.StorageManager;
import android.os.storage.StorageManager;
import android.os.storage.StorageVolume;
import android.os.storage.StorageVolume;
import android.os.UserHandle;
import android.os.UserHandle;
import android.provider.Settings;
import android.provider.Settings.Global;
import android.provider.Settings.Global;
import android.telecom.TelecomManager;
import android.telecom.TelecomManager;
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionManager;
@@ -72,6 +75,7 @@ public class PhoneStatusBarPolicy {
    private final StatusBarManager mService;
    private final StatusBarManager mService;
    private final Handler mHandler = new Handler();
    private final Handler mHandler = new Handler();
    private final CastController mCast;
    private final CastController mCast;
    private boolean mAlarmIconVisible;


    // Assume it's all good unless we hear otherwise.  We don't always seem
    // Assume it's all good unless we hear otherwise.  We don't always seem
    // to get broadcasts that it *is* there.
    // to get broadcasts that it *is* there.
@@ -182,8 +186,27 @@ public class PhoneStatusBarPolicy {
        mService.setIcon(SLOT_CAST, R.drawable.stat_sys_cast, 0, null);
        mService.setIcon(SLOT_CAST, R.drawable.stat_sys_cast, 0, null);
        mService.setIconVisibility(SLOT_CAST, false);
        mService.setIconVisibility(SLOT_CAST, false);
        mCast.addCallback(mCastCallback);
        mCast.addCallback(mCastCallback);

        mAlarmIconObserver.onChange(true);
        mContext.getContentResolver().registerContentObserver(
                Settings.System.getUriFor(Settings.System.SHOW_ALARM_ICON),
                false, mAlarmIconObserver);
    }

    private ContentObserver mAlarmIconObserver = new ContentObserver(null) {
        @Override
        public void onChange(boolean selfChange, Uri uri) {
            mAlarmIconVisible = Settings.System.getInt(mContext.getContentResolver(),
                    Settings.System.SHOW_ALARM_ICON, 1) == 1;
            updateAlarm();
        }
        }


        @Override
        public void onChange(boolean selfChange) {
            onChange(selfChange, null);
        }
    };

    private final void updateSDCardtoAbsent() {
    private final void updateSDCardtoAbsent() {
        mService.setIcon(SDCARD_ABSENT, R.drawable.stat_sys_no_sdcard, 0, null);
        mService.setIcon(SDCARD_ABSENT, R.drawable.stat_sys_no_sdcard, 0, null);
        mService.setIconVisibility(SDCARD_ABSENT, !isSdCardInsert(mContext));
        mService.setIconVisibility(SDCARD_ABSENT, !isSdCardInsert(mContext));
@@ -213,7 +236,7 @@ public class PhoneStatusBarPolicy {
    private void updateAlarm() {
    private void updateAlarm() {
        AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
        AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
        boolean alarmSet = alarmManager.getNextAlarmClock(UserHandle.USER_CURRENT) != null;
        boolean alarmSet = alarmManager.getNextAlarmClock(UserHandle.USER_CURRENT) != null;
        mService.setIconVisibility(SLOT_ALARM_CLOCK, alarmSet);
        mService.setIconVisibility(SLOT_ALARM_CLOCK, alarmSet && mAlarmIconVisible);
    }
    }


    private final void updateSyncState(Intent intent) {
    private final void updateSyncState(Intent intent) {