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

Commit d28b6952 authored by Danesh M's avatar Danesh M Committed by Steve Kondik
Browse files

Ability to hide alarm clock icon

Change-Id: I452280ecb272df890ffb403301b398950210cd0a
parent 6fa97d3d
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2366,6 +2366,11 @@ public final class Settings {
            }
        };

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

        /**
         * Scaling factor for fonts, float.
         */
+23 −1
Original line number Diff line number Diff line
@@ -26,12 +26,15 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.UserInfo;
import android.database.ContentObserver;
import android.media.AudioManager;
import android.net.Uri;
import android.os.Handler;
import android.os.IRemoteCallback;
import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import android.provider.Settings.Global;
import android.telecom.TelecomManager;
import android.util.Log;
@@ -72,6 +75,7 @@ public class PhoneStatusBarPolicy implements Callback {
    private final HotspotController mHotspot;
    private final AlarmManager mAlarmManager;
    private final UserInfoController mUserInfoController;
    private boolean mAlarmIconVisible;

    // Assume it's all good unless we hear otherwise.  We don't always seem
    // to get broadcasts that it *is* there.
@@ -146,6 +150,10 @@ public class PhoneStatusBarPolicy implements Callback {
        // Alarm clock
        mService.setIcon(SLOT_ALARM_CLOCK, R.drawable.stat_sys_alarm, 0, null);
        mService.setIconVisibility(SLOT_ALARM_CLOCK, false);
        mAlarmIconObserver.onChange(true);
        mContext.getContentResolver().registerContentObserver(
                Settings.System.getUriFor(Settings.System.SHOW_ALARM_ICON),
                false, mAlarmIconObserver);

        // zen
        mService.setIcon(SLOT_ZEN, R.drawable.stat_sys_zen_important, 0, null);
@@ -173,6 +181,20 @@ public class PhoneStatusBarPolicy implements Callback {
        mService.setIconVisibility(SLOT_MANAGED_PROFILE, false);
    }

    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);
        }
    };

    public void setZenMode(int zen) {
        mZen = zen;
        updateVolumeZen();
@@ -184,7 +206,7 @@ public class PhoneStatusBarPolicy implements Callback {
        final boolean zenNone = mZen == Global.ZEN_MODE_NO_INTERRUPTIONS;
        mService.setIcon(SLOT_ALARM_CLOCK, zenNone ? R.drawable.stat_sys_alarm_dim
                : R.drawable.stat_sys_alarm, 0, null);
        mService.setIconVisibility(SLOT_ALARM_CLOCK, mCurrentUserSetup && hasAlarm);
        mService.setIconVisibility(SLOT_ALARM_CLOCK, mCurrentUserSetup && hasAlarm && mAlarmIconVisible);
    }

    private final void updateSimState(Intent intent) {