diff options
5 files changed, 18 insertions, 92 deletions
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index f6e91efd2ad7..8f1114cb505e 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -635,10 +635,9 @@ <protected-broadcast android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY" /> - <!-- NETWORK_SET_TIME / NETWORK_SET_TIMEZONE moved from com.android.phone to system server. - They should ultimately be removed. --> + <!-- NETWORK_SET_TIME moved from com.android.phone to system server. It should ultimately be + removed. --> <protected-broadcast android:name="android.intent.action.NETWORK_SET_TIME" /> - <protected-broadcast android:name="android.intent.action.NETWORK_SET_TIMEZONE" /> <!-- For tether entitlement recheck--> <protected-broadcast diff --git a/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorCallbackImpl.java b/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorCallbackImpl.java index e034ad437555..adf6d7e51f4f 100644 --- a/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorCallbackImpl.java +++ b/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorCallbackImpl.java @@ -20,13 +20,9 @@ import android.annotation.Nullable; import android.app.AlarmManager; import android.content.ContentResolver; import android.content.Context; -import android.content.Intent; import android.os.SystemProperties; -import android.os.UserHandle; import android.provider.Settings; -import com.android.internal.telephony.TelephonyIntents; - /** * The real implementation of {@link TimeZoneDetectorStrategy.Callback}. */ @@ -66,16 +62,8 @@ public final class TimeZoneDetectorCallbackImpl implements TimeZoneDetectorStrat } @Override - public void setDeviceTimeZone(String zoneId, boolean sendNetworkBroadcast) { + public void setDeviceTimeZone(String zoneId) { AlarmManager alarmManager = mContext.getSystemService(AlarmManager.class); alarmManager.setTimeZone(zoneId); - - if (sendNetworkBroadcast) { - // TODO Nothing in the platform appears to listen for this. Remove it. - Intent intent = new Intent(TelephonyIntents.ACTION_NETWORK_SET_TIMEZONE); - intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING); - intent.putExtra("time-zone", zoneId); - mContext.sendStickyBroadcastAsUser(intent, UserHandle.ALL); - } } } diff --git a/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorStrategy.java b/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorStrategy.java index 6d7e05d044b4..b4d80531be54 100644 --- a/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorStrategy.java +++ b/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorStrategy.java @@ -86,7 +86,7 @@ public class TimeZoneDetectorStrategy { /** * Sets the device's time zone. */ - void setDeviceTimeZone(@NonNull String zoneId, boolean sendNetworkBroadcast); + void setDeviceTimeZone(@NonNull String zoneId); } private static final String LOG_TAG = "TimeZoneDetectorStrategy"; @@ -333,7 +333,6 @@ public class TimeZoneDetectorStrategy { Objects.requireNonNull(newZoneId); Objects.requireNonNull(cause); - boolean sendNetworkBroadcast = (origin == ORIGIN_PHONE); boolean isOriginAutomatic = isOriginAutomatic(origin); if (isOriginAutomatic) { if (!mCallback.isAutoTimeZoneDetectionEnabled()) { @@ -373,12 +372,11 @@ public class TimeZoneDetectorStrategy { return; } - mCallback.setDeviceTimeZone(newZoneId, sendNetworkBroadcast); + mCallback.setDeviceTimeZone(newZoneId); String msg = "Set device time zone." + " origin=" + origin + ", currentZoneId=" + currentZoneId + ", newZoneId=" + newZoneId - + ", sendNetworkBroadcast" + sendNetworkBroadcast + ", cause=" + cause; if (DBG) { Slog.d(LOG_TAG, msg); diff --git a/services/tests/servicestests/src/com/android/server/timezonedetector/TimeZoneDetectorStrategyTest.java b/services/tests/servicestests/src/com/android/server/timezonedetector/TimeZoneDetectorStrategyTest.java index 270436d65614..cb49fefb8047 100644 --- a/services/tests/servicestests/src/com/android/server/timezonedetector/TimeZoneDetectorStrategyTest.java +++ b/services/tests/servicestests/src/com/android/server/timezonedetector/TimeZoneDetectorStrategyTest.java @@ -50,7 +50,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.LinkedList; -import java.util.Objects; /** * White-box unit tests for {@link TimeZoneDetectorStrategy}. @@ -445,8 +444,7 @@ public class TimeZoneDetectorStrategyTest { static class FakeTimeZoneDetectorStrategyCallback implements TimeZoneDetectorStrategy.Callback { private boolean mAutoTimeZoneDetectionEnabled; - private TestState<TimeZoneChange> mTimeZoneChanges = new TestState<>(); - private String mTimeZoneId; + private TestState<String> mTimeZoneId = new TestState<>(); @Override public boolean isAutoTimeZoneDetectionEnabled() { @@ -460,13 +458,12 @@ public class TimeZoneDetectorStrategyTest { @Override public String getDeviceTimeZone() { - return mTimeZoneId; + return mTimeZoneId.getLatest(); } @Override - public void setDeviceTimeZone(String zoneId, boolean withNetworkBroadcast) { - mTimeZoneId = zoneId; - mTimeZoneChanges.set(new TimeZoneChange(zoneId, withNetworkBroadcast)); + public void setDeviceTimeZone(String zoneId) { + mTimeZoneId.set(zoneId); } void initializeAutoTimeZoneDetection(boolean enabled) { @@ -474,7 +471,7 @@ public class TimeZoneDetectorStrategyTest { } void initializeTimeZone(String zoneId) { - mTimeZoneId = zoneId; + mTimeZoneId.init(zoneId); } void setAutoTimeZoneDetectionEnabled(boolean enabled) { @@ -482,46 +479,17 @@ public class TimeZoneDetectorStrategyTest { } void assertTimeZoneNotSet() { - mTimeZoneChanges.assertHasNotBeenSet(); + mTimeZoneId.assertHasNotBeenSet(); } - void assertTimeZoneSet(String timeZoneId, boolean withNetworkBroadcast) { - mTimeZoneChanges.assertHasBeenSet(); - mTimeZoneChanges.assertChangeCount(1); - TimeZoneChange expectedChange = new TimeZoneChange(timeZoneId, withNetworkBroadcast); - mTimeZoneChanges.assertLatestEquals(expectedChange); + void assertTimeZoneSet(String timeZoneId) { + mTimeZoneId.assertHasBeenSet(); + mTimeZoneId.assertChangeCount(1); + mTimeZoneId.assertLatestEquals(timeZoneId); } void commitAllChanges() { - mTimeZoneChanges.commitLatest(); - } - } - - private static class TimeZoneChange { - private final String mTimeZoneId; - private final boolean mWithNetworkBroadcast; - - private TimeZoneChange(String timeZoneId, boolean withNetworkBroadcast) { - mTimeZoneId = timeZoneId; - mWithNetworkBroadcast = withNetworkBroadcast; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - TimeZoneChange that = (TimeZoneChange) o; - return mWithNetworkBroadcast == that.mWithNetworkBroadcast - && mTimeZoneId.equals(that.mTimeZoneId); - } - - @Override - public int hashCode() { - return Objects.hash(mTimeZoneId, mWithNetworkBroadcast); + mTimeZoneId.commitLatest(); } } @@ -614,21 +582,13 @@ public class TimeZoneDetectorStrategyTest { } Script verifyTimeZoneSetAndReset(PhoneTimeZoneSuggestion suggestion) { - // Phone suggestions should cause a TelephonyIntents.ACTION_NETWORK_SET_TIMEZONE - // broadcast. - boolean withNetworkBroadcast = true; - mFakeTimeZoneDetectorStrategyCallback.assertTimeZoneSet( - suggestion.getZoneId(), withNetworkBroadcast); + mFakeTimeZoneDetectorStrategyCallback.assertTimeZoneSet(suggestion.getZoneId()); mFakeTimeZoneDetectorStrategyCallback.commitAllChanges(); return this; } Script verifyTimeZoneSetAndReset(ManualTimeZoneSuggestion suggestion) { - // Manual suggestions should not cause a TelephonyIntents.ACTION_NETWORK_SET_TIMEZONE - // broadcast. - boolean withNetworkBroadcast = false; - mFakeTimeZoneDetectorStrategyCallback.assertTimeZoneSet( - suggestion.getZoneId(), withNetworkBroadcast); + mFakeTimeZoneDetectorStrategyCallback.assertTimeZoneSet(suggestion.getZoneId()); mFakeTimeZoneDetectorStrategyCallback.commitAllChanges(); return this; } diff --git a/telephony/java/com/android/internal/telephony/TelephonyIntents.java b/telephony/java/com/android/internal/telephony/TelephonyIntents.java index 8b62872b77af..b2c3fc79025b 100644 --- a/telephony/java/com/android/internal/telephony/TelephonyIntents.java +++ b/telephony/java/com/android/internal/telephony/TelephonyIntents.java @@ -240,25 +240,6 @@ public class TelephonyIntents { */ public static final String ACTION_NETWORK_SET_TIME = "android.intent.action.NETWORK_SET_TIME"; - - /** - * Broadcast Action: The timezone was set by the carrier (typically by the NITZ string). - * This is a sticky broadcast. - * The intent will have the following extra values:</p> - * <ul> - * <li><em>time-zone</em> - The java.util.TimeZone.getID() value identifying the new time - * zone.</li> - * </ul> - * - * <p class="note"> - * Requires the READ_PHONE_STATE permission. - * - * <p class="note">This is a protected intent that can only be sent - * by the system. - */ - public static final String ACTION_NETWORK_SET_TIMEZONE - = "android.intent.action.NETWORK_SET_TIMEZONE"; - /** * <p>Broadcast Action: It indicates the Emergency callback mode blocks datacall/sms * <p class="note">. |