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

Commit 11e34935 authored by Robert Snoeberger's avatar Robert Snoeberger Committed by Luca Stefani
Browse files

Get clock title on demand

Don't cache the title so that a new title can be retreived when the
language changes.

Bug: 124813345
Test: Open picker app, change language, check that language updates in
picker app.

Change-Id: Iab1c70f965154b3bf10ee98c73db2443c4d83c36
parent 82c07164
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -25,12 +25,12 @@ import java.util.function.Supplier;
final class ClockInfo {

    private final String mName;
    private final String mTitle;
    private final Supplier<String> mTitle;
    private final String mId;
    private final Supplier<Bitmap> mThumbnail;
    private final Supplier<Bitmap> mPreview;

    private ClockInfo(String name, String title, String id,
    private ClockInfo(String name, Supplier<String> title, String id,
            Supplier<Bitmap> thumbnail, Supplier<Bitmap> preview) {
        mName = name;
        mTitle = title;
@@ -50,7 +50,7 @@ final class ClockInfo {
     * Gets the name (title) of the clock face to be shown in the picker app.
     */
    String getTitle() {
        return mTitle;
        return mTitle.get();
    }

    /**
@@ -80,7 +80,7 @@ final class ClockInfo {

    static class Builder {
        private String mName;
        private String mTitle;
        private Supplier<String> mTitle;
        private String mId;
        private Supplier<Bitmap> mThumbnail;
        private Supplier<Bitmap> mPreview;
@@ -94,7 +94,7 @@ final class ClockInfo {
            return this;
        }

        public Builder setTitle(String title) {
        public Builder setTitle(Supplier<String> title) {
            mTitle = title;
            return this;
        }
+1 −1
Original line number Diff line number Diff line
@@ -322,7 +322,7 @@ public final class ClockManager {
            mClocks.put(plugin.getClass().getName(), plugin);
            mClockInfo.add(ClockInfo.builder()
                    .setName(plugin.getName())
                    .setTitle(plugin.getTitle())
                    .setTitle(plugin::getTitle)
                    .setId(id)
                    .setThumbnail(plugin::getThumbnail)
                    .setPreview(() -> plugin.getPreview(mWidth, mHeight))
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ public final class ClockInfoTest extends SysuiTestCase {
    @Test
    public void testGetTitle() {
        final String title = "title";
        ClockInfo info = ClockInfo.builder().setTitle(title).build();
        ClockInfo info = ClockInfo.builder().setTitle(() -> title).build();
        assertThat(info.getTitle()).isEqualTo(title);
    }

+2 −2
Original line number Diff line number Diff line
@@ -117,12 +117,12 @@ public final class ClockOptionsProviderTest extends SysuiTestCase {
    public void testQuery_listOptions() {
        mClocks.add(ClockInfo.builder()
                .setName("name_a")
                .setTitle("title_a")
                .setTitle(() -> "title_a")
                .setId("id_a")
                .build());
        mClocks.add(ClockInfo.builder()
                .setName("name_b")
                .setTitle("title_b")
                .setTitle(() -> "title_b")
                .setId("id_b")
                .build());
        Cursor cursor = mProvider.query(mListOptionsUri, null, null, null);