Skip to content

fix: polish widgets foundation#946

Open
ovitrif wants to merge 4 commits into
test/calculator-widget-testsfrom
fix/widgets-v61-936
Open

fix: polish widgets foundation#946
ovitrif wants to merge 4 commits into
test/calculator-widget-testsfrom
fix/widgets-v61-936

Conversation

@ovitrif
Copy link
Copy Markdown
Collaborator

@ovitrif ovitrif commented May 16, 2026

Fixes #936

Description

This PR:

  1. Shows the wide in-app widget preview by default, without showing compact previews for widget sizes that cannot be added inside Bitkit.
  2. Makes the Facts OS widget open Bitkit on tap instead of doing nothing.
  3. Enables Android's OS widget reconfigure affordance for Price, Headlines, Blocks, and Weather, while leaving Facts and Calculator without a settings entry because they do not have settings.
  4. Applies Bitkit edge-to-edge system bar styling to the OS widget configuration screen.
  5. Fixes the Price widget formatter so it doesn't show duplicated currency symbols like $$ on phones with non-US locale.

Preview

todo:
<!-- VIDEO_1: Widget picker/config flow showing wide-only in-app previews, Facts tap opening Bitkit, and settings-capable OS widgets showing Widget settings on long press. -->

QA Notes

Manual Tests

  • 1. Widgets → Price/Headlines/Blocks/Facts/Weather/Calculator preview: the in-app preview opens on the wide widget view and does not show a compact-only slide.
  • 2. Android home → add Price/Headlines/Blocks/Weather OS widget → long-press widget: launcher shows the Widget settings affordance.
  • 3. Android home → add Price/Headlines/Blocks/Weather OS widget → Widget settings: configuration screen uses the same dark Bitkit background/system bar treatment and saving returns to the launcher.
  • 4. Android home → add Facts OS widget → tap widget: Bitkit opens to the app instead of dead-ending.
  • 5. Android home → long-press Facts/Calculator OS widget: no Widget settings affordance is shown.
  • 6. regression: Android home → tap Price/Headlines/Blocks/Weather OS widget: widget settings still open for configurable widgets.
  • 7. regression: Android home → add Price OS widget with BTC/USD: the widget shows one currency symbol, not a duplicated symbol like $ $81,444.

Automated Checks

  • Local: ./gradlew compileDevDebugKotlin
  • Local: ./gradlew testDevDebugUnitTest
  • Local: ./gradlew detekt
  • Local: ./gradlew compileDevDebugAndroidTestKotlin
  • Device smoke: ./gradlew installDevDebug, then launched to.bitkit.dev/to.bitkit.ui.MainActivity on Pixel 10 Pro; app process stayed up and the crash buffer was empty.
  • Android test updated: Headlines preview now asserts the wide preview card in app/src/androidTest/java/to/bitkit/ui/screens/widgets/headlines/HeadlinesPreviewContentTest.kt.
  • Unit test added: Price widget values are formatted as localized numeric text without embedding the currency symbol in app/src/test/java/to/bitkit/data/widgets/PriceServiceTest.kt.

@ovitrif ovitrif changed the title fix: finish widget release fixes fix: polish widgets foundation May 16, 2026
@ovitrif ovitrif self-assigned this May 17, 2026
@ovitrif ovitrif added this to the 2.3.0 milestone May 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant