commit | 446b00efc083c96976221e1818bc11b08fda971c | [log] [tgz] |
---|---|---|
author | Alex Clarke <alexclarke@google.com> | Wed Feb 21 10:14:18 2024 +0000 |
committer | Alex Clarke <alexclarke@google.com> | Wed Feb 21 11:47:58 2024 +0000 |
tree | 7bc12bf8ed8d6fb270aeaf983fd6bec81e860433 | |
parent | 4ecb657f070fdb970be9e6d84cca612ed5ca0a45 [diff] |
Optimize selectComplicationDataForInstant We now use reference equality to compare best and selectedData becuase the equals operator is expensive. Bug: 298450751 Bug: 323483515 Test: Manual testing Change-Id: I6e1632b8f9978a64f524f79bee2cf831bc1344fb
diff --git a/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationSlot.kt b/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationSlot.kt index c26add6..57bcabe 100644 --- a/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationSlot.kt +++ b/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationSlot.kt
@@ -1143,7 +1143,9 @@ best = screenLockedFallback // This is NoDataComplicationData. } - if (!forceUpdate && selectedData == best) return + // When b/323483515 is fixed, go back to using regular equality rather than reference + // equality. + if (!forceUpdate && selectedData === best) return val frozen = frozenDataSourceForEdit != null if (!frozen || forceLoad) {