Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86816fc4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add timestamp when applying a clock face" into ub-launcher3-qt-r1-dev

parents 9ad06b48 8bf5250c
Loading
Loading
Loading
Loading
+21 −2
Original line number Diff line number Diff line
@@ -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;
        }
    }
}