Loading core/java/android/provider/Settings.java +5 −0 Original line number Diff line number Diff line Loading @@ -1971,6 +1971,11 @@ public final class Settings { @Deprecated 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. */ Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java +25 −2 Original line number Diff line number Diff line Loading @@ -26,12 +26,15 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.database.ContentObserver; import android.media.AudioManager; import android.net.Uri; import android.os.Handler; import android.os.storage.StorageEventListener; import android.os.storage.StorageManager; import android.os.storage.StorageVolume; import android.os.UserHandle; import android.provider.Settings; import android.provider.Settings.Global; import android.telecom.TelecomManager; import android.telephony.SubscriptionManager; Loading Loading @@ -72,6 +75,7 @@ public class PhoneStatusBarPolicy { private final StatusBarManager mService; private final Handler mHandler = new Handler(); private final CastController mCast; private boolean mAlarmIconVisible; // Assume it's all good unless we hear otherwise. We don't always seem // to get broadcasts that it *is* there. Loading Loading @@ -182,8 +186,27 @@ public class PhoneStatusBarPolicy { mService.setIcon(SLOT_CAST, R.drawable.stat_sys_cast, 0, null); mService.setIconVisibility(SLOT_CAST, false); 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() { mService.setIcon(SDCARD_ABSENT, R.drawable.stat_sys_no_sdcard, 0, null); mService.setIconVisibility(SDCARD_ABSENT, !isSdCardInsert(mContext)); Loading Loading @@ -213,7 +236,7 @@ public class PhoneStatusBarPolicy { private void updateAlarm() { AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); 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) { Loading Loading
core/java/android/provider/Settings.java +5 −0 Original line number Diff line number Diff line Loading @@ -1971,6 +1971,11 @@ public final class Settings { @Deprecated 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. */ Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java +25 −2 Original line number Diff line number Diff line Loading @@ -26,12 +26,15 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.database.ContentObserver; import android.media.AudioManager; import android.net.Uri; import android.os.Handler; import android.os.storage.StorageEventListener; import android.os.storage.StorageManager; import android.os.storage.StorageVolume; import android.os.UserHandle; import android.provider.Settings; import android.provider.Settings.Global; import android.telecom.TelecomManager; import android.telephony.SubscriptionManager; Loading Loading @@ -72,6 +75,7 @@ public class PhoneStatusBarPolicy { private final StatusBarManager mService; private final Handler mHandler = new Handler(); private final CastController mCast; private boolean mAlarmIconVisible; // Assume it's all good unless we hear otherwise. We don't always seem // to get broadcasts that it *is* there. Loading Loading @@ -182,8 +186,27 @@ public class PhoneStatusBarPolicy { mService.setIcon(SLOT_CAST, R.drawable.stat_sys_cast, 0, null); mService.setIconVisibility(SLOT_CAST, false); 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() { mService.setIcon(SDCARD_ABSENT, R.drawable.stat_sys_no_sdcard, 0, null); mService.setIconVisibility(SDCARD_ABSENT, !isSdCardInsert(mContext)); Loading Loading @@ -213,7 +236,7 @@ public class PhoneStatusBarPolicy { private void updateAlarm() { AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); 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) { Loading