diff options
| author | 2019-12-13 16:37:00 -0500 | |
|---|---|---|
| committer | 2019-12-13 17:02:40 -0500 | |
| commit | 61d1af8031aa54c49e6e4af724843dca8c1c23b6 (patch) | |
| tree | a411a5c816d5171423eecafdfd1af4f981c34b85 | |
| parent | 91270ddb559dc28b1a491131c2c8ed89929c73e9 (diff) | |
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
4 files changed, 9 insertions, 9 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/ClockInfo.java b/packages/SystemUI/src/com/android/keyguard/clock/ClockInfo.java index 812f2156d5d9..0210e08bb24c 100644 --- a/packages/SystemUI/src/com/android/keyguard/clock/ClockInfo.java +++ b/packages/SystemUI/src/com/android/keyguard/clock/ClockInfo.java @@ -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; } diff --git a/packages/SystemUI/src/com/android/keyguard/clock/ClockManager.java b/packages/SystemUI/src/com/android/keyguard/clock/ClockManager.java index 9e2464ea4fbb..25d67b738939 100644 --- a/packages/SystemUI/src/com/android/keyguard/clock/ClockManager.java +++ b/packages/SystemUI/src/com/android/keyguard/clock/ClockManager.java @@ -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)) diff --git a/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockInfoTest.java b/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockInfoTest.java index d2b265401cc4..4c0890a73853 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockInfoTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockInfoTest.java @@ -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); } diff --git a/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockOptionsProviderTest.java b/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockOptionsProviderTest.java index 0cd6f9af8ffb..d2832fb98460 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockOptionsProviderTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockOptionsProviderTest.java @@ -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); |