Merge "Add an AUTO_TIME_ZONE setting so that we can switch timezones while keeping correct time."
This commit is contained in:
committed by
Android (Google) Code Review
commit
bc8a886c62
@@ -157268,6 +157268,17 @@
|
||||
visibility="public"
|
||||
>
|
||||
</field>
|
||||
<field name="AUTO_TIME_ZONE"
|
||||
type="java.lang.String"
|
||||
transient="false"
|
||||
volatile="false"
|
||||
value=""auto_time_zone""
|
||||
static="true"
|
||||
final="true"
|
||||
deprecated="not deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
</field>
|
||||
<field name="BLUETOOTH_DISCOVERABILITY"
|
||||
type="java.lang.String"
|
||||
transient="false"
|
||||
|
||||
@@ -1493,6 +1493,12 @@ public final class Settings {
|
||||
*/
|
||||
public static final String AUTO_TIME = "auto_time";
|
||||
|
||||
/**
|
||||
* Value to specify if the user prefers the time zone
|
||||
* to be automatically fetched from the network (NITZ). 1=yes, 0=no
|
||||
*/
|
||||
public static final String AUTO_TIME_ZONE = "auto_time_zone";
|
||||
|
||||
/**
|
||||
* Display times as 12 or 24 hours
|
||||
* 12
|
||||
@@ -1775,6 +1781,7 @@ public final class Settings {
|
||||
TEXT_AUTO_PUNCTUATE,
|
||||
TEXT_SHOW_PASSWORD,
|
||||
AUTO_TIME,
|
||||
AUTO_TIME_ZONE,
|
||||
TIME_12_24,
|
||||
DATE_FORMAT,
|
||||
ACCELEROMETER_ROTATION,
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
/**
|
||||
* Copyright (c) 2009, The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
-->
|
||||
@@ -24,6 +24,7 @@
|
||||
<string name="def_airplane_mode_radios" translatable="false">cell,bluetooth,wifi</string>
|
||||
<string name="airplane_mode_toggleable_radios" translatable="false">bluetooth,wifi</string>
|
||||
<bool name="def_auto_time">true</bool>
|
||||
<bool name="def_auto_time_zone">true</bool>
|
||||
<bool name="def_accelerometer_rotation">true</bool>
|
||||
<!-- Default screen brightness, from 0 to 255. 102 is 40%. -->
|
||||
<integer name="def_screen_brightness">102</integer>
|
||||
@@ -31,12 +32,12 @@
|
||||
<fraction name="def_window_animation_scale">100%</fraction>
|
||||
<fraction name="def_window_transition_scale">100%</fraction>
|
||||
<bool name="def_haptic_feedback">true</bool>
|
||||
|
||||
|
||||
<bool name="def_bluetooth_on">false</bool>
|
||||
<bool name="def_install_non_market_apps">false</bool>
|
||||
<!-- Comma-separated list of location providers.
|
||||
<!-- Comma-separated list of location providers.
|
||||
Network location is off by default because it requires
|
||||
user opt-in via Setup Wizard or Settings.
|
||||
user opt-in via Setup Wizard or Settings.
|
||||
-->
|
||||
<string name="def_location_providers_allowed" translatable="false">gps</string>
|
||||
<bool name="assisted_gps_enabled">true</bool>
|
||||
@@ -45,11 +46,11 @@
|
||||
<bool name="def_usb_mass_storage_enabled">true</bool>
|
||||
<bool name="def_wifi_on">false</bool>
|
||||
<bool name="def_networks_available_notification_on">true</bool>
|
||||
|
||||
|
||||
<bool name="def_backup_enabled">false</bool>
|
||||
<string name="def_backup_transport" translatable="false">android/com.android.internal.backup.LocalTransport</string>
|
||||
|
||||
<!-- Default value for whether or not to pulse the notification LED when there is a
|
||||
<!-- Default value for whether or not to pulse the notification LED when there is a
|
||||
pending notification -->
|
||||
<bool name="def_notification_pulse">true</bool>
|
||||
|
||||
|
||||
@@ -16,6 +16,15 @@
|
||||
|
||||
package com.android.providers.settings;
|
||||
|
||||
import com.android.internal.content.PackageHelper;
|
||||
import com.android.internal.telephony.RILConstants;
|
||||
import com.android.internal.util.XmlUtils;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.internal.widget.LockPatternView;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
@@ -36,14 +45,6 @@ import android.provider.Settings.Secure;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.content.PackageHelper;
|
||||
import com.android.internal.telephony.RILConstants;
|
||||
import com.android.internal.util.XmlUtils;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.internal.widget.LockPatternView;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
@@ -60,7 +61,7 @@ public class DatabaseHelper extends SQLiteOpenHelper {
|
||||
// database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion'
|
||||
// is properly propagated through your change. Not doing so will result in a loss of user
|
||||
// settings.
|
||||
private static final int DATABASE_VERSION = 58;
|
||||
private static final int DATABASE_VERSION = 59;
|
||||
|
||||
private Context mContext;
|
||||
|
||||
@@ -757,6 +758,23 @@ public class DatabaseHelper extends SQLiteOpenHelper {
|
||||
upgradeVersion = 58;
|
||||
}
|
||||
|
||||
if (upgradeVersion == 58) {
|
||||
/* Add default for new Auto Time Zone */
|
||||
db.beginTransaction();
|
||||
SQLiteStatement stmt = null;
|
||||
try {
|
||||
stmt = db.compileStatement("INSERT INTO secure(name,value)"
|
||||
+ " VALUES(?,?);");
|
||||
loadBooleanSetting(stmt, Settings.System.AUTO_TIME_ZONE,
|
||||
R.bool.def_auto_time_zone); // Sync timezone to NITZ
|
||||
db.setTransactionSuccessful();
|
||||
} finally {
|
||||
db.endTransaction();
|
||||
if (stmt != null) stmt.close();
|
||||
}
|
||||
upgradeVersion = 59;
|
||||
}
|
||||
|
||||
// *** Remember to update DATABASE_VERSION above!
|
||||
|
||||
if (upgradeVersion != currentVersion) {
|
||||
@@ -1067,7 +1085,10 @@ public class DatabaseHelper extends SQLiteOpenHelper {
|
||||
|
||||
loadBooleanSetting(stmt, Settings.System.AUTO_TIME,
|
||||
R.bool.def_auto_time); // Sync time to NITZ
|
||||
|
||||
|
||||
loadBooleanSetting(stmt, Settings.System.AUTO_TIME_ZONE,
|
||||
R.bool.def_auto_time_zone); // Sync timezone to NITZ
|
||||
|
||||
loadIntegerSetting(stmt, Settings.System.SCREEN_BRIGHTNESS,
|
||||
R.integer.def_screen_brightness);
|
||||
|
||||
|
||||
@@ -16,6 +16,16 @@
|
||||
|
||||
package com.android.internal.telephony.cdma;
|
||||
|
||||
import com.android.internal.telephony.CommandException;
|
||||
import com.android.internal.telephony.CommandsInterface;
|
||||
import com.android.internal.telephony.DataConnectionTracker;
|
||||
import com.android.internal.telephony.EventLogTags;
|
||||
import com.android.internal.telephony.IccCard;
|
||||
import com.android.internal.telephony.MccTable;
|
||||
import com.android.internal.telephony.ServiceStateTracker;
|
||||
import com.android.internal.telephony.TelephonyIntents;
|
||||
import com.android.internal.telephony.TelephonyProperties;
|
||||
|
||||
import android.app.AlarmManager;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
@@ -38,19 +48,8 @@ import android.telephony.cdma.CdmaCellLocation;
|
||||
import android.text.TextUtils;
|
||||
import android.util.EventLog;
|
||||
import android.util.Log;
|
||||
import android.util.Config;
|
||||
import android.util.TimeUtils;
|
||||
|
||||
import com.android.internal.telephony.CommandException;
|
||||
import com.android.internal.telephony.CommandsInterface;
|
||||
import com.android.internal.telephony.DataConnectionTracker;
|
||||
import com.android.internal.telephony.EventLogTags;
|
||||
import com.android.internal.telephony.IccCard;
|
||||
import com.android.internal.telephony.MccTable;
|
||||
import com.android.internal.telephony.ServiceStateTracker;
|
||||
import com.android.internal.telephony.TelephonyIntents;
|
||||
import com.android.internal.telephony.TelephonyProperties;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
@@ -987,7 +986,7 @@ final class CdmaServiceStateTracker extends ServiceStateTracker {
|
||||
mNeedFixZone = false;
|
||||
|
||||
if (zone != null) {
|
||||
if (getAutoTime()) {
|
||||
if (getAutoTimeZone()) {
|
||||
setAndBroadcastNetworkSetTimeZone(zone.getID());
|
||||
}
|
||||
saveNitzTimeZone(zone.getID());
|
||||
@@ -1439,7 +1438,7 @@ final class CdmaServiceStateTracker extends ServiceStateTracker {
|
||||
}
|
||||
|
||||
if (zone != null) {
|
||||
if (getAutoTime()) {
|
||||
if (getAutoTimeZone()) {
|
||||
setAndBroadcastNetworkSetTimeZone(zone.getID());
|
||||
}
|
||||
saveNitzTimeZone(zone.getID());
|
||||
@@ -1529,6 +1528,14 @@ final class CdmaServiceStateTracker extends ServiceStateTracker {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean getAutoTimeZone() {
|
||||
try {
|
||||
return Settings.System.getInt(cr, Settings.System.AUTO_TIME_ZONE) > 0;
|
||||
} catch (SettingNotFoundException snfe) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private void saveNitzTimeZone(String zoneId) {
|
||||
mSavedTimeZone = zoneId;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,17 @@
|
||||
|
||||
package com.android.internal.telephony.gsm;
|
||||
|
||||
import com.android.internal.telephony.CommandException;
|
||||
import com.android.internal.telephony.CommandsInterface;
|
||||
import com.android.internal.telephony.DataConnectionTracker;
|
||||
import com.android.internal.telephony.EventLogTags;
|
||||
import com.android.internal.telephony.IccCard;
|
||||
import com.android.internal.telephony.MccTable;
|
||||
import com.android.internal.telephony.RILConstants;
|
||||
import com.android.internal.telephony.ServiceStateTracker;
|
||||
import com.android.internal.telephony.TelephonyIntents;
|
||||
import com.android.internal.telephony.TelephonyProperties;
|
||||
|
||||
import android.app.AlarmManager;
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationManager;
|
||||
@@ -47,17 +58,6 @@ import android.util.EventLog;
|
||||
import android.util.Log;
|
||||
import android.util.TimeUtils;
|
||||
|
||||
import com.android.internal.telephony.CommandException;
|
||||
import com.android.internal.telephony.CommandsInterface;
|
||||
import com.android.internal.telephony.DataConnectionTracker;
|
||||
import com.android.internal.telephony.EventLogTags;
|
||||
import com.android.internal.telephony.IccCard;
|
||||
import com.android.internal.telephony.MccTable;
|
||||
import com.android.internal.telephony.RILConstants;
|
||||
import com.android.internal.telephony.ServiceStateTracker;
|
||||
import com.android.internal.telephony.TelephonyIntents;
|
||||
import com.android.internal.telephony.TelephonyProperties;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
@@ -995,7 +995,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
mNeedFixZone = false;
|
||||
|
||||
if (zone != null) {
|
||||
if (getAutoTime()) {
|
||||
if (getAutoTimeZone()) {
|
||||
setAndBroadcastNetworkSetTimeZone(zone.getID());
|
||||
}
|
||||
saveNitzTimeZone(zone.getID());
|
||||
@@ -1476,7 +1476,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
}
|
||||
|
||||
if (zone != null) {
|
||||
if (getAutoTime()) {
|
||||
if (getAutoTimeZone()) {
|
||||
setAndBroadcastNetworkSetTimeZone(zone.getID());
|
||||
}
|
||||
saveNitzTimeZone(zone.getID());
|
||||
@@ -1546,6 +1546,15 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean getAutoTimeZone() {
|
||||
try {
|
||||
return Settings.System.getInt(phone.getContext().getContentResolver(),
|
||||
Settings.System.AUTO_TIME_ZONE) > 0;
|
||||
} catch (SettingNotFoundException snfe) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private void saveNitzTimeZone(String zoneId) {
|
||||
mSavedTimeZone = zoneId;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user