summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/DateTimeSettings.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-11-01 15:36:29 -0700
committerAmith Yamasani <yamasani@google.com>2012-11-15 14:44:41 -0800
commit5f050104386b96d8c99eb3ff0f5088814709348b (patch)
tree7a66944022b482351df732f43c878253db275a5d /src/com/android/settings/DateTimeSettings.java
parent940f6f0c46d2558bc30d1fe788150ae6d295779b (diff)
downloadpackages_apps_Settings-5f050104386b96d8c99eb3ff0f5088814709348b.zip
packages_apps_Settings-5f050104386b96d8c99eb3ff0f5088814709348b.tar.gz
packages_apps_Settings-5f050104386b96d8c99eb3ff0f5088814709348b.tar.bz2
Use AlarmManager calls to set date/time, instead of SystemClock.setTime
This way secondary users' settings app can request the system server to set the time. Alarm driver cannot be opened as a secondary user. Bug: 7459635 Change-Id: I1ae1630dc448021d35280a297c5d9960f8e8fc2e
Diffstat (limited to 'src/com/android/settings/DateTimeSettings.java')
-rw-r--r--src/com/android/settings/DateTimeSettings.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
index 53f25a2..65a34f4 100644
--- a/src/com/android/settings/DateTimeSettings.java
+++ b/src/com/android/settings/DateTimeSettings.java
@@ -17,6 +17,7 @@
package com.android.settings;
import android.app.Activity;
+import android.app.AlarmManager;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
@@ -184,18 +185,18 @@ public class DateTimeSettings extends SettingsPreferenceFragment
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
- setDate(year, month, day);
final Activity activity = getActivity();
if (activity != null) {
+ setDate(activity, year, month, day);
updateTimeAndDateDisplay(activity);
}
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
- setTime(hourOfDay, minute);
final Activity activity = getActivity();
if (activity != null) {
+ setTime(activity, hourOfDay, minute);
updateTimeAndDateDisplay(activity);
}
@@ -337,7 +338,7 @@ public class DateTimeSettings extends SettingsPreferenceFragment
}
}
- /* package */ static void setDate(int year, int month, int day) {
+ /* package */ static void setDate(Context context, int year, int month, int day) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
@@ -346,11 +347,11 @@ public class DateTimeSettings extends SettingsPreferenceFragment
long when = c.getTimeInMillis();
if (when / 1000 < Integer.MAX_VALUE) {
- SystemClock.setCurrentTimeMillis(when);
+ ((AlarmManager) context.getSystemService(Context.ALARM_SERVICE)).setTime(when);
}
}
- /* package */ static void setTime(int hourOfDay, int minute) {
+ /* package */ static void setTime(Context context, int hourOfDay, int minute) {
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, hourOfDay);
@@ -360,7 +361,7 @@ public class DateTimeSettings extends SettingsPreferenceFragment
long when = c.getTimeInMillis();
if (when / 1000 < Integer.MAX_VALUE) {
- SystemClock.setCurrentTimeMillis(when);
+ ((AlarmManager) context.getSystemService(Context.ALARM_SERVICE)).setTime(when);
}
}