summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Snoeberger <snoeberger@google.com>2019-06-13 17:00:55 -0400
committerRobert Snoeberger <snoeberger@google.com>2019-06-13 17:05:37 -0400
commit8bf5250cbd41d61d1b8315f95e467f948cc2b5a6 (patch)
treeb129769a5545a725fc2f6cd53c1a2e260ac17718
parentb6fec564804e5db95b2504d17ce72e23fb47f5ea (diff)
downloadThemePicker-8bf5250cbd41d61d1b8315f95e467f948cc2b5a6.tar.gz
Add timestamp when applying a clock face
Bug: 134687399 Test: Applied clock and checked settings with `adb shell settings get secure lock_screen_custom_clock_face`. Test: Changed clock face, quit picker, and checked that correct current clock face was shown when I reopened. Change-Id: Ib995f6bb60378a8c13e8107c5ed5167447d5ae79
-rw-r--r--src/com/android/customization/model/clock/ClockManager.java23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/com/android/customization/model/clock/ClockManager.java b/src/com/android/customization/model/clock/ClockManager.java
index 3744317e..180d3a0c 100644
--- a/src/com/android/customization/model/clock/ClockManager.java
+++ b/src/com/android/customization/model/clock/ClockManager.java
@@ -20,6 +20,9 @@ import android.provider.Settings.Secure;
import com.android.customization.module.ThemesUserEventLogger;
+import org.json.JSONException;
+import org.json.JSONObject;
+
/**
* {@link CustomizationManager} for clock faces that implements apply by writing to secure settings.
*/
@@ -27,6 +30,8 @@ public class ClockManager extends BaseClockManager {
// TODO: use constant from Settings.Secure
static final String CLOCK_FACE_SETTING = "lock_screen_custom_clock_face";
+ private static final String CLOCK_FIELD = "clock";
+ private static final String TIMESTAMP_FIELD = "_applied_timestamp";
private final ContentResolver mContentResolver;
private final ThemesUserEventLogger mEventLogger;
@@ -39,7 +44,15 @@ public class ClockManager extends BaseClockManager {
@Override
protected void handleApply(Clockface option, Callback callback) {
- boolean stored = Secure.putString(mContentResolver, CLOCK_FACE_SETTING, option.getId());
+ boolean stored;
+ try {
+ final JSONObject json = new JSONObject();
+ json.put(CLOCK_FIELD, option.getId());
+ json.put(TIMESTAMP_FIELD, System.currentTimeMillis());
+ stored = Secure.putString(mContentResolver, CLOCK_FACE_SETTING, json.toString());
+ } catch (JSONException ex) {
+ stored = false;
+ }
if (stored) {
mEventLogger.logClockApplied(option);
callback.onSuccess();
@@ -50,6 +63,12 @@ public class ClockManager extends BaseClockManager {
@Override
protected String lookUpCurrentClock() {
- return Secure.getString(mContentResolver, CLOCK_FACE_SETTING);
+ final String value = Secure.getString(mContentResolver, CLOCK_FACE_SETTING);
+ try {
+ final JSONObject json = new JSONObject(value);
+ return json.getString(CLOCK_FIELD);
+ } catch (JSONException ex) {
+ return value;
+ }
}
}