diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-02-11 17:13:46 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-02-11 17:13:46 +0000 |
commit | 37f412b501fce24a071dec4e7027506b9f3643c5 (patch) | |
tree | cbdea906b038e5a40f36998404e489e42648a81d | |
parent | 75bb323cbe21d7c609946b6b680f88f7ccd4a043 (diff) | |
parent | 72a9c3bdbbb8ca22321de9c0eb058792effe57b5 (diff) | |
download | base-pie-b4s4-release.tar.gz |
Merge cherrypicks of [6333255, 6333230, 6333232, 6333337, 6333338, 6333339, 6333853, 6333199, 6333874, 6333875, 6333876, 6333877, 6333274, 6333275, 6333276, 6333277, 6333814, 6333256, 6333815, 6333278, 6333236, 6333854, 6333816] into pi-b4s4-releaseandroid-9.0.0_r39android-9.0.0_r38pie-b4s4-release
Change-Id: I78ba1c02bf67c0d9c345fe564a267a5a35c7ba44
4 files changed, 34 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java index f79a51b13afd..47b646c1a667 100644 --- a/services/core/java/com/android/server/AlarmManagerService.java +++ b/services/core/java/com/android/server/AlarmManagerService.java @@ -48,6 +48,7 @@ import android.content.pm.PermissionInfo; import android.database.ContentObserver; import android.net.Uri; import android.os.Binder; +import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.os.Handler; @@ -1288,9 +1289,13 @@ class AlarmManagerService extends SystemService { // because kernel doesn't keep this after reboot setTimeZoneImpl(SystemProperties.get(TIMEZONE_PROPERTY)); - // Also sure that we're booting with a halfway sensible current time if (mNativeData != 0) { - final long systemBuildTime = Environment.getRootDirectory().lastModified(); + // Ensure that we're booting with a halfway sensible current time. Use the + // most recent of Build.TIME, the root file system's timestamp, and the + // value of the ro.build.date.utc system property (which is in seconds). + final long systemBuildTime = Long.max( + 1000L * SystemProperties.getLong("ro.build.date.utc", -1L), + Long.max(Environment.getRootDirectory().lastModified(), Build.TIME)); if (System.currentTimeMillis() < systemBuildTime) { Slog.i(TAG, "Current time only " + System.currentTimeMillis() + ", advancing to build time " + systemBuildTime); diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 99412c56b274..b124ac78a8ef 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -791,9 +791,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call && mAutomaticBrightnessController != null; final boolean userSetBrightnessChanged = updateUserSetScreenBrightness(); - if (userSetBrightnessChanged) { - mTemporaryScreenBrightness = -1; - } // Use the temporary screen brightness if there isn't an override, either from // WindowManager or based on the display state. @@ -1514,11 +1511,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call } if (mCurrentScreenBrightnessSetting == mPendingScreenBrightnessSetting) { mPendingScreenBrightnessSetting = -1; + mTemporaryScreenBrightness = -1; return false; } mCurrentScreenBrightnessSetting = mPendingScreenBrightnessSetting; mLastUserSetScreenBrightness = mPendingScreenBrightnessSetting; mPendingScreenBrightnessSetting = -1; + mTemporaryScreenBrightness = -1; return true; } diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 806e139bba17..ef0f71ab9954 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -1092,6 +1092,19 @@ public class CarrierConfigManager { public static final String KEY_CARRIER_NAME_STRING = "carrier_name_string"; /** + * String to override sim country iso. + * Sim country iso is based on sim MCC which is coarse and doesn't work with dual IMSI SIM where + * a SIM can have multiple MCC from different countries. + * Instead, each sim carrier should have a single country code, apply per carrier based iso + * code as an override. The overridden value can be read from + * {@link TelephonyManager#getSimCountryIso()} and {@link SubscriptionInfo#getCountryIso()} + * + * @hide + */ + public static final String KEY_SIM_COUNTRY_ISO_OVERRIDE_STRING = + "sim_country_iso_override_string"; + + /** * Override the registered PLMN name using #KEY_CDMA_HOME_REGISTERED_PLMN_NAME_STRING. * * If true, then the registered PLMN name (only for CDMA/CDMA-LTE and only when not roaming) @@ -2237,6 +2250,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_CONFIG_WIFI_DISABLE_IN_ECBM, false); sDefaults.putBoolean(KEY_CARRIER_NAME_OVERRIDE_BOOL, false); sDefaults.putString(KEY_CARRIER_NAME_STRING, ""); + sDefaults.putString(KEY_SIM_COUNTRY_ISO_OVERRIDE_STRING, ""); sDefaults.putBoolean(KEY_CDMA_HOME_REGISTERED_PLMN_NAME_OVERRIDE_BOOL, false); sDefaults.putString(KEY_CDMA_HOME_REGISTERED_PLMN_NAME_STRING, ""); sDefaults.putBoolean(KEY_SUPPORT_DIRECT_FDN_DIALING_BOOL, false); diff --git a/telephony/java/android/telephony/SmsManager.java b/telephony/java/android/telephony/SmsManager.java index 38bc64036de0..200cbc01ce5c 100644 --- a/telephony/java/android/telephony/SmsManager.java +++ b/telephony/java/android/telephony/SmsManager.java @@ -257,6 +257,15 @@ public final class SmsManager { */ public static final String MMS_CONFIG_SUPPORT_HTTP_CHARSET_HEADER = CarrierConfigManager.KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL; + + /** + * When roaming, some operator's MCC would change. It results in MMSService's verification + * failure. This config could use correct country. + * @hide + */ + public static final String MMS_CONFIG_SIM_COUNTRY_ISO_OVERRIDE = + CarrierConfigManager.KEY_SIM_COUNTRY_ISO_OVERRIDE_STRING; + /** * If true, add "Connection: close" header to MMS HTTP requests so the connection * is immediately closed (disabling keep-alive). (Boolean type) @@ -2065,6 +2074,8 @@ public final class SmsManager { filtered.putString(MMS_CONFIG_EMAIL_GATEWAY_NUMBER, config.getString(MMS_CONFIG_EMAIL_GATEWAY_NUMBER)); filtered.putString(MMS_CONFIG_NAI_SUFFIX, config.getString(MMS_CONFIG_NAI_SUFFIX)); + filtered.putString(MMS_CONFIG_SIM_COUNTRY_ISO_OVERRIDE, + config.getString(MMS_CONFIG_SIM_COUNTRY_ISO_OVERRIDE)); filtered.putBoolean(MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS, config.getBoolean(MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS)); filtered.putBoolean(MMS_CONFIG_SUPPORT_HTTP_CHARSET_HEADER, |