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

Commit 61d1af80 authored by Robert Snoeberger's avatar Robert Snoeberger
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 91270ddb
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);