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

Commit 2e9aeeaa authored by Lucas Dupin's avatar Lucas Dupin Committed by android-build-merger
Browse files

Merge "Update date during time tick event" into pi-dev

am: e22a7bc9

Change-Id: I843ec43c885efa2e93a9f53e83dd57c45ad6e6ea
parents e68a729b e22a7bc9
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ import java.util.function.Consumer;

import androidx.slice.Slice;
import androidx.slice.SliceItem;
import androidx.slice.SliceManager;
import androidx.slice.core.SliceQuery;
import androidx.slice.widget.ListContent;
import androidx.slice.widget.RowContent;
@@ -390,6 +391,11 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
        }
    }

    public void refresh() {
        Slice slice = SliceManager.getInstance(getContext()).bindSlice(mKeyguardSliceUri);
        onChanged(slice);
    }

    public static class Row extends LinearLayout {

        /**
+6 −1
Original line number Diff line number Diff line
@@ -287,7 +287,12 @@ public class KeyguardStatusView extends GridLayout implements
        }
    }

    public void refreshTime() {
    public void dozeTimeTick() {
        refreshTime();
        mKeyguardSlice.refresh();
    }

    private void refreshTime() {
        mClockView.refresh();
    }

+3 −22
Original line number Diff line number Diff line
@@ -79,7 +79,6 @@ public class KeyguardSliceProvider extends SliceProvider implements
    private DateFormat mDateFormat;
    private String mLastText;
    private boolean mRegistered;
    private boolean mRegisteredEveryMinute;
    private String mNextAlarm;
    private NextAlarmController mNextAlarmController;
    protected AlarmManager mAlarmManager;
@@ -175,7 +174,7 @@ public class KeyguardSliceProvider extends SliceProvider implements
        mZenModeController = new ZenModeControllerImpl(getContext(), mHandler);
        mZenModeController.addCallback(this);
        mDatePattern = getContext().getString(R.string.system_ui_aod_date_pattern);
        registerClockUpdate(false /* everyMinute */);
        registerClockUpdate();
        updateClock();
        return true;
    }
@@ -214,22 +213,13 @@ public class KeyguardSliceProvider extends SliceProvider implements
    /**
     * Registers a broadcast receiver for clock updates, include date, time zone and manually
     * changing the date/time via the settings app.
     *
     * @param everyMinute {@code true} if you also want updates every minute.
     */
    protected void registerClockUpdate(boolean everyMinute) {
    private void registerClockUpdate() {
        if (mRegistered) {
            if (mRegisteredEveryMinute == everyMinute) {
            return;
            } else {
                unregisterClockUpdate();
            }
        }

        IntentFilter filter = new IntentFilter();
        if (everyMinute) {
            filter.addAction(Intent.ACTION_TIME_TICK);
        }
        filter.addAction(Intent.ACTION_DATE_CHANGED);
        filter.addAction(Intent.ACTION_TIME_CHANGED);
        filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
@@ -237,15 +227,6 @@ public class KeyguardSliceProvider extends SliceProvider implements
        getContext().registerReceiver(mIntentReceiver, filter, null /* permission*/,
                null /* scheduler */);
        mRegistered = true;
        mRegisteredEveryMinute = everyMinute;
    }

    protected void unregisterClockUpdate() {
        if (!mRegistered) {
            return;
        }
        getContext().unregisterReceiver(mIntentReceiver);
        mRegistered = false;
    }

    @VisibleForTesting
+2 −2
Original line number Diff line number Diff line
@@ -2267,7 +2267,7 @@ public class NotificationPanelView extends PanelView implements
    }

    public void onScreenTurningOn() {
        mKeyguardStatusView.refreshTime();
        mKeyguardStatusView.dozeTimeTick();
    }

    @Override
@@ -2690,7 +2690,7 @@ public class NotificationPanelView extends PanelView implements
    }

    public void dozeTimeTick() {
        mKeyguardStatusView.refreshTime();
        mKeyguardStatusView.dozeTimeTick();
        mKeyguardBottomArea.dozeTimeTick();
        if (mDarkAmount > 0) {
            positionClockAndNotifications();
+11 −0
Original line number Diff line number Diff line
@@ -89,6 +89,17 @@ public class KeyguardSliceViewTest extends SysuiTestCase {
        Assert.assertTrue("View should have a header", mKeyguardSliceView.hasHeader());
    }

    @Test
    public void refresh_replacesSliceContentAndNotifiesListener() {
        AtomicBoolean notified = new AtomicBoolean();
        mKeyguardSliceView.setContentChangeListener((hasHeader)-> {
            notified.set(true);
        });
        mKeyguardSliceView.refresh();
        Assert.assertTrue("Listener should be notified about slice changes.",
                notified.get());
    }

    @Test
    public void getTextColor_whiteTextWhenAOD() {
        // Set text color to red since the default is white and test would always pass
Loading