Use correct flags on ACTION_TIME_CHANGED broadcast
When Settings changes the display format for 12/24 hour time, it fakes an ACTION_TIME_CHANGED broadcast to provoke apps to update their display. It needs to use the right flags on that broadcast to match the way the OS sends it when the time actually changes. Bug: 67881917 Test: calendar widget, Deskclock, QCT timeservice Change-Id: I46ce261c36d9c7180f6b8eae806ef9fbf271fa53
This commit is contained in:
@@ -103,6 +103,7 @@ public class TimeFormatPreferenceController extends AbstractPreferenceController
|
||||
|
||||
static void timeUpdated(Context context, Boolean is24Hour) {
|
||||
Intent timeChanged = new Intent(Intent.ACTION_TIME_CHANGED);
|
||||
timeChanged.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
|
||||
int timeFormatPreference;
|
||||
if (is24Hour == null) {
|
||||
timeFormatPreference = Intent.EXTRA_TIME_PREF_VALUE_USE_LOCALE_DEFAULT;
|
||||
|
@@ -66,7 +66,8 @@ public class TimeChangeListenerMixinTest {
|
||||
public void onResume_shouldRegisterIntentFilter() {
|
||||
mMixin.onResume();
|
||||
mContext.sendBroadcast(new Intent(Intent.ACTION_TIME_TICK));
|
||||
mContext.sendBroadcast(new Intent(Intent.ACTION_TIME_CHANGED));
|
||||
mContext.sendBroadcast(new Intent(Intent.ACTION_TIME_CHANGED)
|
||||
.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND));
|
||||
mContext.sendBroadcast(new Intent(Intent.ACTION_TIMEZONE_CHANGED));
|
||||
|
||||
verify(mCallback, times(3)).updateTimeAndDateDisplay(mContext);
|
||||
@@ -77,7 +78,8 @@ public class TimeChangeListenerMixinTest {
|
||||
mMixin.onResume();
|
||||
mMixin.onPause();
|
||||
mContext.sendBroadcast(new Intent(Intent.ACTION_TIME_TICK));
|
||||
mContext.sendBroadcast(new Intent(Intent.ACTION_TIME_CHANGED));
|
||||
mContext.sendBroadcast(new Intent(Intent.ACTION_TIME_CHANGED)
|
||||
.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND));
|
||||
mContext.sendBroadcast(new Intent(Intent.ACTION_TIMEZONE_CHANGED));
|
||||
|
||||
verify(mCallback, never()).updateTimeAndDateDisplay(mContext);
|
||||
|
Reference in New Issue
Block a user