Merge "Add contentDescription to status bar alarm" into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
9e04425f9e
@@ -52,6 +52,7 @@ import android.provider.Settings.Global;
|
|||||||
import android.service.notification.StatusBarNotification;
|
import android.service.notification.StatusBarNotification;
|
||||||
import android.service.notification.ZenModeConfig;
|
import android.service.notification.ZenModeConfig;
|
||||||
import android.telecom.TelecomManager;
|
import android.telecom.TelecomManager;
|
||||||
|
import android.text.format.DateFormat;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
@@ -89,6 +90,7 @@ import com.android.systemui.statusbar.policy.ZenModeController;
|
|||||||
import com.android.systemui.util.NotificationChannels;
|
import com.android.systemui.util.NotificationChannels;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class contains all of the policy about which icons are installed in the status
|
* This class contains all of the policy about which icons are installed in the status
|
||||||
@@ -121,7 +123,7 @@ public class PhoneStatusBarPolicy implements Callback, Callbacks,
|
|||||||
private final Handler mHandler = new Handler();
|
private final Handler mHandler = new Handler();
|
||||||
private final CastController mCast;
|
private final CastController mCast;
|
||||||
private final HotspotController mHotspot;
|
private final HotspotController mHotspot;
|
||||||
private final NextAlarmController mNextAlarm;
|
private final NextAlarmController mNextAlarmController;
|
||||||
private final AlarmManager mAlarmManager;
|
private final AlarmManager mAlarmManager;
|
||||||
private final UserInfoController mUserInfoController;
|
private final UserInfoController mUserInfoController;
|
||||||
private final UserManager mUserManager;
|
private final UserManager mUserManager;
|
||||||
@@ -147,6 +149,7 @@ public class PhoneStatusBarPolicy implements Callback, Callbacks,
|
|||||||
private boolean mManagedProfileIconVisible = false;
|
private boolean mManagedProfileIconVisible = false;
|
||||||
|
|
||||||
private BluetoothController mBluetooth;
|
private BluetoothController mBluetooth;
|
||||||
|
private AlarmManager.AlarmClockInfo mNextAlarm;
|
||||||
|
|
||||||
public PhoneStatusBarPolicy(Context context, StatusBarIconController iconController) {
|
public PhoneStatusBarPolicy(Context context, StatusBarIconController iconController) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
@@ -154,7 +157,7 @@ public class PhoneStatusBarPolicy implements Callback, Callbacks,
|
|||||||
mCast = Dependency.get(CastController.class);
|
mCast = Dependency.get(CastController.class);
|
||||||
mHotspot = Dependency.get(HotspotController.class);
|
mHotspot = Dependency.get(HotspotController.class);
|
||||||
mBluetooth = Dependency.get(BluetoothController.class);
|
mBluetooth = Dependency.get(BluetoothController.class);
|
||||||
mNextAlarm = Dependency.get(NextAlarmController.class);
|
mNextAlarmController = Dependency.get(NextAlarmController.class);
|
||||||
mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
|
mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
|
||||||
mUserInfoController = Dependency.get(UserInfoController.class);
|
mUserInfoController = Dependency.get(UserInfoController.class);
|
||||||
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
|
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
|
||||||
@@ -242,7 +245,7 @@ public class PhoneStatusBarPolicy implements Callback, Callbacks,
|
|||||||
mZenController.addCallback(this);
|
mZenController.addCallback(this);
|
||||||
mCast.addCallback(mCastCallback);
|
mCast.addCallback(mCastCallback);
|
||||||
mHotspot.addCallback(mHotspotCallback);
|
mHotspot.addCallback(mHotspotCallback);
|
||||||
mNextAlarm.addCallback(mNextAlarmCallback);
|
mNextAlarmController.addCallback(mNextAlarmCallback);
|
||||||
mDataSaver.addCallback(this);
|
mDataSaver.addCallback(this);
|
||||||
mKeyguardMonitor.addCallback(this);
|
mKeyguardMonitor.addCallback(this);
|
||||||
mLocationController.addCallback(this);
|
mLocationController.addCallback(this);
|
||||||
@@ -270,7 +273,7 @@ public class PhoneStatusBarPolicy implements Callback, Callbacks,
|
|||||||
mZenController.removeCallback(this);
|
mZenController.removeCallback(this);
|
||||||
mCast.removeCallback(mCastCallback);
|
mCast.removeCallback(mCastCallback);
|
||||||
mHotspot.removeCallback(mHotspotCallback);
|
mHotspot.removeCallback(mHotspotCallback);
|
||||||
mNextAlarm.removeCallback(mNextAlarmCallback);
|
mNextAlarmController.removeCallback(mNextAlarmCallback);
|
||||||
mDataSaver.removeCallback(this);
|
mDataSaver.removeCallback(this);
|
||||||
mKeyguardMonitor.removeCallback(this);
|
mKeyguardMonitor.removeCallback(this);
|
||||||
mLocationController.removeCallback(this);
|
mLocationController.removeCallback(this);
|
||||||
@@ -313,10 +316,29 @@ public class PhoneStatusBarPolicy implements Callback, Callbacks,
|
|||||||
int zen = mZenController.getZen();
|
int zen = mZenController.getZen();
|
||||||
final boolean zenNone = zen == Global.ZEN_MODE_NO_INTERRUPTIONS;
|
final boolean zenNone = zen == Global.ZEN_MODE_NO_INTERRUPTIONS;
|
||||||
mIconController.setIcon(mSlotAlarmClock, zenNone ? R.drawable.stat_sys_alarm_dim
|
mIconController.setIcon(mSlotAlarmClock, zenNone ? R.drawable.stat_sys_alarm_dim
|
||||||
: R.drawable.stat_sys_alarm, null);
|
: R.drawable.stat_sys_alarm, buildAlarmContentDescription());
|
||||||
mIconController.setIconVisibility(mSlotAlarmClock, mCurrentUserSetup && hasAlarm);
|
mIconController.setIconVisibility(mSlotAlarmClock, mCurrentUserSetup && hasAlarm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String buildAlarmContentDescription() {
|
||||||
|
if (mNextAlarm == null) {
|
||||||
|
return mContext.getString(R.string.status_bar_alarm);
|
||||||
|
}
|
||||||
|
return formatNextAlarm(mNextAlarm, mContext);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String formatNextAlarm(AlarmManager.AlarmClockInfo info, Context context) {
|
||||||
|
if (info == null) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
String skeleton = DateFormat.is24HourFormat(
|
||||||
|
context, ActivityManager.getCurrentUser()) ? "EHm" : "Ehma";
|
||||||
|
String pattern = DateFormat.getBestDateTimePattern(Locale.getDefault(), skeleton);
|
||||||
|
String dateString = DateFormat.format(pattern, info.getTriggerTime()).toString();
|
||||||
|
|
||||||
|
return context.getString(R.string.accessibility_quick_settings_alarm, dateString);
|
||||||
|
}
|
||||||
|
|
||||||
private final void updateSimState(Intent intent) {
|
private final void updateSimState(Intent intent) {
|
||||||
String stateExtra = intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE);
|
String stateExtra = intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE);
|
||||||
if (IccCardConstants.INTENT_VALUE_ICC_ABSENT.equals(stateExtra)) {
|
if (IccCardConstants.INTENT_VALUE_ICC_ABSENT.equals(stateExtra)) {
|
||||||
@@ -687,6 +709,7 @@ public class PhoneStatusBarPolicy implements Callback, Callbacks,
|
|||||||
new NextAlarmController.NextAlarmChangeCallback() {
|
new NextAlarmController.NextAlarmChangeCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onNextAlarmChanged(AlarmManager.AlarmClockInfo nextAlarm) {
|
public void onNextAlarmChanged(AlarmManager.AlarmClockInfo nextAlarm) {
|
||||||
|
mNextAlarm = nextAlarm;
|
||||||
updateAlarm();
|
updateAlarm();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user