Commit Graph

86 Commits

Author SHA1 Message Date
Honza Rychnovský 5010c624a8
[#1008] SecureScreen customization
* [#1008] Customizing SecureScreen mechanism

Tested with an unexpected value in checkProperties too.
2023-10-17 16:01:53 +02:00
Honza Rychnovský 16bf1afa90
[#947] About screen UI/logic/tests
* [#947] About screen UI (partially implemented)

* [#947] About screen UI

* [#947] Fixed failing test case

* [#947] Added Zashi text logo

---------

Co-authored-by: Honza Rychnovský <rychnovsky.honza@gmail.com>

* [#947] UI: About Screen

* [#1005] Remove DebugMenu from Home screen

- The new design does not require it on the Home screen
- Partially moved to the Settings and About screens

* [#392] Update About screen texts

Closes #392 as not needed now

* [#1006] Enhance VersionInfo with other fields

* [#947] About screen UI + logic + tests

* Adopt VersionInfo on different screens

* VersionInfo test

Update .gitignore

---------

Co-authored-by: Venkat-corebts <143575548+Venkat-corebts@users.noreply.github.com>
2023-10-17 15:56:04 +02:00
Honza Rychnovský e871c4eb45
[#941] Opening screen + Load animation
* [#941] Loading screen UI

Co-authored-by: Honza Rychnovský <rychnovsky.honza@gmail.com>

* Fix unallowed doubled scroll

* Remove duplicate icon

* [#997] Splash alignment with welcome animation

* [#999] Compile SDK version 34

* [#1000] Colour system bars

* [#941] Load + Opening screens

- Contains UI of both these screens
- Their logic
- And the Load screen animation
- Designed util ScreenHeight composable
- Redesigned SecondaryButton to match the design and fixed its positioning on different screens

---------

Co-authored-by: Venkat-corebts <143575548+Venkat-corebts@users.noreply.github.com>
2023-10-12 19:04:23 +02:00
Honza Rychnovský 57a133a12c
[#946][#993] Warning screen + button animation (#994)
* [#946] Warning screen UI

[#946] Code review changes
moved security warning to separate folder
changed main heading text style
changed static version text to dynamic

Co-authored-by: Honza Rychnovský <rychnovsky.honza@gmail.com>

* [#993] New Primary Button Click Animation

* [#946] Warning Screen [UI][Logic][Tests]

- Security Warning screen incorporated into the app onboarding logic
- NeedsWarning wallet state persisted and is required if the user re-runs next time, and the Security Warning screen still needs to be presented
- Privacy Policy opened by part of the screen text clicking in an external web browser app
- Unit tests
- UI tests
- Screenshot tests

---------

Co-authored-by: Venkat-corebts <143575548+Venkat-corebts@users.noreply.github.com>
2023-10-10 12:41:17 +02:00
Honza Rychnovský 1a8114a9b7
[#985] Fix failing UI tests on texts' case
- Closes #985

Fix Detekt warning
2023-10-03 14:23:43 +02:00
Venkat-corebts 705386e031
[#948] Updated Settings screen UI
* [#948] Updated Settings screen UI

* [#948] Crash fix on settings screen

* Center button UI components text

So the text aligns with the center when the button is displayed on a very small device or, e.g., when the system accessibility text size increase feature is used.

* Keep button spacing

When rotated to landscape, the weighted spacing disappears. But we ideally want buttons to have all the same spacing around them in this scenario.

* Kotlin code style

* Move previous settings option to overflow

- As the new design prescribes no debug/test options in the settings screen, we moved these useful actions into the only troubleshooting menu in the app bar.
- Tests added

* Add UI tests

* Text in all caps in the components

Rather than enforcing all caps in translations.

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-09-28 14:17:21 +02:00
Honza Rychnovský 9ec0de1729
[#944] Adopt SDK version 2.0.0 with SbS included
* [#944] Adopt SDK version with SbS included

- This supposes to fail in the build until the proper SDK version is consumed
- Tested via included builds

* Adopt latest SDK changes

* Adopt changed TransactionOverview API

* Switch to latest v2.0.0-rc.2

* Fix transaction history test fixture

* Adopt latest SDK snapshot version

* Switch to latest production Zcash SDK version
2023-09-27 08:52:31 +02:00
Honza Rychnovský 6ec3c95914
[#915] Black and white color themes
* [#915] Black and white color themes

- Simplified color model to just black and white colors
- Reworked send fab button to a regular primary button
2023-08-07 14:52:24 +02:00
Honza Rychnovský 3c751a5893
[#917] Use Inter font 2023-08-03 16:02:51 +02:00
Honza Rychnovský 6b5359119c
[#905] Add copy-to-clipboard for addresses
* [#905] Add copy-to-clipboard for addresses

* Unify copy-to-clipboard across screens and APIs

* Fix ripple effect on address item
2023-07-17 12:33:14 +02:00
Honza Rychnovský e1eb66326c
[#897] Fix failing keyboard_disappears_after_seed
* [#897] Fix failing keyboard_disappears_after_seed

* Rework test
2023-07-06 11:16:28 +02:00
Alex fc7321e049
[#664] Transaction History List
* [#664] Transaction history

* Move under the screens folder

* Fix Request screen Preview

* Add TODO link

* Improve Text design component

* HistoryView UI enhancing

* Adopt ZcashCurrency API

* Add transaction history sync state

* Compact time format

* Bump Compose Material Icons to v1.5.0-beta02

* Add support for pending and expired transactions

* Add progress in syncing with no transaction yet

* Screenshot test

* Simplified no transaction check

* Transaction history manual test case

* Home screen history button test

* Fix flow collecting

* View tests

* Sent transaction sign

* Remove unused transaction snapshot from VM

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-07-04 13:24:07 +02:00
Honza Rychnovský a71ea7577d
[#873] Detekt enhance
* [#873] Detekt - consider MaxLineLength rule on

* [#882] Detekt Compose 0.1.10

* [#872] Detekt 1.23.0
2023-06-19 08:59:00 +02:00
Carter Jernigan b6226c55eb
[#853] Adopt latest SDK changes
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-05-12 07:14:31 -04:00
Carter Jernigan 8045df9e6d [#818] Androidx updates 2023-05-10 05:52:41 -04:00
Honza Rychnovsky cb98cc048f
[#808] Use Dimens Across App
* [#808] Use Dimens across the app

- Shorter Onboarding screen design enhanced

* Shorter New Wallet Backup screen UI enhanced

* Home screen UI enhance

* Seed screen UI enhance

* Link SendArgumentsWrapper issue

* Move custom buttons paddings to PaddingValues

- Optional Modifier parameter should have a default value of Modifier
- Thanks to this we introduced the outerPaddingValues parameter to all our buttons with default paddings
- Also notice the difference between e.g. ShortOnboardingView and ShortNewWalletBackupView. In the backup, we have the bottom button to be part of Scaffold’s bottomBar, which is maybe a better pattern than stretching the buttons with spacers in case of part of the screen content view, but it has also its tradeoffs.

* Settings screen enhance

* Support screen UI enhance

* About screen UI enhance

* Scan screen UI enhance

- Move modifiers to the caller’s side
- Match texts to predefined styles
- Add color to Small text component + reorder parameters

* Send screen UI enahnce

- Lifted out some modifiers arguments to the caller’s side
- Fixed button’s horizontal paddings

* Scan move BackHandler to Android class

* Update screen UI enhance

* Receive screen UI enhance

* Address screen UI enhance

* Ignore AndroidUpdate back action test

- Will be refactored soon

* Remove TODO as already implemented

* Restore screens UI enhance

* Create UpdateViewAndroidTest

* [#807][Design system] Remove deprecated Paddings

* [#705] Instrumentation coverage generation fails locally

* [#808] Use Dimens across the app

- Shorter Onboarding screen design enhanced

* Shorter New Wallet Backup screen UI enhanced

* Home screen UI enhance

* Seed screen UI enhance

* Link SendArgumentsWrapper issue

* Move custom buttons paddings to PaddingValues

- Optional Modifier parameter should have a default value of Modifier
- Thanks to this we introduced the outerPaddingValues parameter to all our buttons with default paddings
- Also notice the difference between e.g. ShortOnboardingView and ShortNewWalletBackupView. In the backup, we have the bottom button to be part of Scaffold’s bottomBar, which is maybe a better pattern than stretching the buttons with spacers in case of part of the screen content view, but it has also its tradeoffs.

* Settings screen enhance

* Support screen UI enhance

* About screen UI enhance

* Scan screen UI enhance

- Move modifiers to the caller’s side
- Match texts to predefined styles
- Add color to Small text component + reorder parameters

* Send screen UI enahnce

- Lifted out some modifiers arguments to the caller’s side
- Fixed button’s horizontal paddings

* Scan move BackHandler to Android class

* Update screen UI enhance

* Receive screen UI enhance

* Address screen UI enhance

* Ignore AndroidUpdate back action test

- Will be refactored soon

* Remove TODO as already implemented

* Restore screens UI enhance

* Create UpdateViewAndroidTest

* [#807][Design system] Remove deprecated Paddings

* Address review comments
2023-04-04 14:21:18 +02:00
Honza Rychnovsky 5296dc5ea9
[#791] Add Scan To Send
* [#791] Add Scan Button To Send Screen

- Switched Send.Form screen input fields ordering to match the MFP design
- Added Scan button to Send.Form
- Changed navigation to pass the scanned result to the Send.Form screen
- Added leading and trailing icons to FormTextField component
- Created SendArgumentsWrapper to pass any future Zcash URL parsed parameters

* Report invalid address scanned

- Merged composes to provide snackbar after invalid address scanned

* Add SendView tests

- Added one for scanner click and one for initial send arguments inserted
- This led to input and check amount and memo as part of the SendArgumentsWrapper too to have it prepare for future Zcash URI parsing

* Static analysis warnings fixes

* Don't make camera feature required

- And hide the scanner button on Send.Form when any camera is not supported by the device

* Let SendArgumentsWrapperFixture use SDK fixtures

* Tweak hint text

We need better text, but this is at least more correct than the previous iteration.

* Replace assertTextContains with assertTextEquals

- To compare inputs texts to an exact match to avoid potentially missing bugs if there is extra text in the field that we're not expecting

* Fix ktlint warning

---------

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-03-30 09:58:20 +02:00
Carter Jernigan d1d7304780 [#824] Run emulator.wtf tests against API 33 2023-03-29 07:02:44 -04:00
Honza Rychnovsky 595b6ad34f
[#786] Hide circular progress bar on home screen 2023-03-27 17:03:33 +02:00
Honza Rychnovsky 543d5f2b59
[#792] Add Sending Screens
* [#804][Design system] Paddings - Dimens

- Initial commit to ensure it meets our requirements
- This solution is now in parallel with a simpler existing Paddings solution
- Four spacing groups defined
- Provides a way to define default and custom spacing values
- Distinguished by screen size, but other metrics also available (e.g. orientation, aspect ratio, layout direction or screen shape)

* Fix spacing value

* Move spacings change logic to comment

- We've decided to have only one regular spacing group for now, which is suitable for most of current phone devices

* Move Dimens out of internal package

* Link TODO for later Paddings remove

* Link issue of Use Dimens across the app to TODO

* [#792] Add sending screens

- This extends the Send screen logic with several subscreens
- A transaction submission connected to the Synchronizer
- Some logic moved to Android specific class
- System back navigation handler implemented
- Styling with dimes introduced to all Send screens
- New UI, Android specific, integration and screenshot tests added
- Additionally we could consider implementing a proper SendState mechanism, as we do in e.g. BackupState

* File issue of problematic pseudolocales texts inserted in Send.Form screen

* Add scrolling to send view

* Switch SendViewIntegrationTest away from TestSetup

* Provide MockSynchronizer to integration test

---------

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-03-27 08:25:36 +02:00
Carter Jernigan 84b40fc5fa
[#151] Add birthday to restore 2023-03-21 15:04:16 -04:00
Honza Rychnovsky 0c0bf8cb34
[#785] Remove press-and-hold from Send
* [#785] Remove press-and-hold for send confirmation

- Timed button replaced by standard behaviour button
- Related SendView test updated

* Remove unused API

If we need this back, we can restore it from the Git history.

* Remove unused imports

---------

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-03-20 10:17:22 +01:00
Honza Rychnovsky c18160356e
[#799] Fix passing drawer state
* [#799] Fix passing drawer state
2023-03-14 07:57:15 +01:00
Carter Jernigan 5e3c1f1768
[#783] Hide fiat currency conversion
* [#783] Hide fiat currency conversion

* Add test
2023-03-13 09:05:44 +01:00
Carter Jernigan 8e17d07ced
[#762] Simplified seed backup UX
Because we’re making UI text changes, I’ve forked our views into “long” and “short” versions that preserve the previous experience while allowing the shorter experience to be different.

One limitation of the current approach is that the screenshot tests are limited to the current configuration, so there is some risk of ‘bit rot’ with the screenshot tests for the longer onboarding.  For this PR, I manually switched the feature flags and re-ran the screenshot tests to make sure they still worked.

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-03-03 08:06:03 -05:00
Carter Jernigan 4acd5d3593
[#584 ]Adopt Twitter's Compose Detekt rules
Twitter had a set of Compose rules, which have been forked into Detekt, Ktlint, and Android Lint implementations.

I see ktlint as mostly being formatting, Detekt being more for multiplatform static analysis, and Android Lint for Android-specific issues.  Android lint is slow, so I didn’t want to use it as the first choice.

I went with the Detekt implementation which can be useful if we leverage multiplatform for our Composables in the future.
2023-03-01 07:58:47 -05:00
Carter Jernigan 6d01f210fe
[#774] Redesign home with hamburger menu
---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-02-28 08:54:07 -05:00
Carter Jernigan a806d2defa [#763] Configure simplified onboarding 2023-02-21 15:48:01 -05:00
Carter Jernigan ec7eb3804e [#770] Hide request ZEC button 2023-02-21 12:50:31 -05:00
Carter Jernigan 417fc4b8a5 [#764] Android Remote Config implementation
Note that there is no cloud integration yet. This creates the abstractions to support injecting different remote config sources
2023-02-21 12:50:31 -05:00
Carter Jernigan edaeda56da
[#748][#749] Preferences for sync
Adds an option to enable/disable background sync, as well as an option to keep the screen on during sync

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-02-17 11:39:15 -05:00
Carter Jernigan f5e0af6545
[#757] Adopt SDK 1.14.0 (#759) 2023-02-17 06:05:23 -05:00
Carter Jernigan 6e85764f74
[#346][#304] Configure Crashlytics and analytics opt-out 2023-01-26 14:12:44 -05:00
Alex b84df3d9dc
[#592] Instrumentation coverage
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-01-17 14:54:40 -05:00
Alex 9150f80b9d
implementation of push and hold to send zec (#641)
* [#249] Implement Press-And-Hold To Confirm Sending ZEC

* Remove default value for interaction source

* Rename interaction source argument

* removed dependency of ui-design-lib on sdkExtLib

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-12-02 10:54:06 +01:00
Honza Rychnovsky e71c7854a9
[#642] Adopt SDK 1.10.0 API changes
* Adopt SDK 1.10.0 API changes

* Rename ShieldedSapling -> LegacySapling

* Viewing key re-derived for fix fixture value

* Changes used API for retrieving Transparent address

- Switched API DerivationTool.deriveTransparentAddress() -> Synchronizer.getLegacyTransparentAddress()
- Renamed Transparent -> LegacyTransparent

* Adds new common transaction model class

- Synchronizer.toTransactions() now works only with clearedTransactions and pendingTransactions
-Added CommonTransaction wrapper for all attributes of PendingTransaction and TransactionOverview to cover as much as possible. It's prepared for discussion about which attributes we really need and which we can omit.

* Regeneration of addresses in fixture

- Applies for both Transparent and Sapling addresses
- Fixed related test
- Added a new test for checking Transparent address abbreviation, as it also serves as a little check of the fixture address and can prevent an incorrect address change in the future

* Remove Viewing key usage from entire app

- As we agreed that the app should not access to it now
- Removed from all related places

* Change CommonTransaction to sealed class

* Comments update

* Switch SDK to 1.10.0-beta01-SNAPSHOT version

* Revert back legacy naming on Transparent and Sapling addresses

* Increased timeout limit to satisfy SDK initialization

* Remove unused import
2022-11-25 09:30:27 +01:00
Honza Rychnovsky 381af575ef
[#653] Refactor Backup flow screens
* [#653] Move copy to buffer action

- Trigger this action after seed phrase panel click and confirm via dialog window
- Added basic ui tests
- Added also dialog integration test
- Added related strings

* Revert "[#653] Move copy to buffer action"

This reverts commit 813eab00b747a779be5ef652745002f65c04572c.

* [#150] Refactoring the Backup flow to use Compose Scaffold

* Fix Backup flow screenshot test

- Removed scroll actions above nodes, which are no longer part of scroll behaviour - bottom navigation buttons are now part of Compose Scaffold component.

* Added scroll actions in screenshot test of Profile screen

- After tested the whole app with screenshot test on smaller screen device 4WVGA Nexus S

* Remove unnecessary screenshot test click action

- This click action on the Profile screen title seems to be unnecessary for the test and creates confusion

* ScreenshotTest module auto components init

- Changed the way we auto-initialize components in ScreenshotTest module
- Now we use androidx-startup library for it
- And we disabled the default way

* Add system back button navigation support

* Enable scrolling for Backup Test screen

* Fix Screenshot test on small screen in landscape

- Tested and fixed cases in which our screenshot test wasn't successful
- Tested on 4 WVGA Nexus S in landscpae mode

* Code clean

* Address review comments + stages refactoring

- Flattened BackupStage sealed class. Test and Failure are now regular stages.
- Introduced CheckSeed stage, instead of reusing Seed phrase for re-viewing.
- Simplified BackupView and custom Saver implementations.
- List of possible screen state stages is now lazy loaded value, instead of method.
- Some of the stages now override stage moving methods to enhance Backup screen state machine, as it's not linear.
- Existing tests updated to align with the new implementation of stages.

* Remove `run` block

* Rename CheckSeed -> ReviewSeed

Check might imply to another reader of the code that there is some going back to the test.  I went with the word Review which seems to better convey how that screen is passive for the user.

* Simplify list construction

This should have better performance.

* Crash instead of allowing back navigation

* Add documentation

* Fix initialization error

* Add non-localized string tag

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-11-23 08:17:06 +01:00
Alex e20a7bb0da
[#630] Add illustrations to the remainder of the onboarding flow 2022-11-10 08:35:44 +01:00
Alex 9536a966e6
188-Throttle Emissions from `WalletViewModel.walletSnapshot` 2022-11-10 08:34:06 +01:00
Alex 3d1d8fd363
fixed onboarding top bar (#616)
* fixed onboarding top bar

* fixed onboarding top bar

* fixed onboarding top bar

* fixed onboarding top bar

* fixed onboarding top bar

* Fix tests

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-10-14 11:02:44 +02:00
Alex 83b79afe4c
disabled screen timeout when displaying QR code (#617)
* disabled screen timeout when displaying QR code

* added tests

* fixed ktlint errors

* Remove unnecessary test scope

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-10-13 15:13:41 +02:00
Alex 33cee61601
[#593] - added illustrations for onboarding (#601)
* [#593] - added illustrations for onboarding

* fixed ScreenshotTest

* replaced welcome illustration

* fixed OnboardingViewTest

* Smart quotes

* added curly braces to if statement

* added skip button to welcome screen

* fixed onboarding test

* Delete unnecessary button click

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-10-11 11:41:05 +02:00
Alex 8c7176aa22
[#167] Increase brightness when displaying QR Code (#596)
* [#167] Increase brightness when displaying QR Code

* Use collectWith(lifecycleScope)

* Fix copy-paste errors

* manual test

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-09-29 15:13:54 +02:00
Alex a96637ec07
[#551] Prevent screenshots when seed phrase is displayed on the screen (#590)
* [#551] Prevent screenshots when seed phrase is displayed on the screen

* Minor review changes

Make ScreenSecurity object simpler by eliminating additional ways of mutating its state.

* Add debug and test checks

* secured screens with seed phrase

* codereview fixes

* added test for Seed screen

* added Screen security test for backup views

* test for ScreenSecurity class

* added manual testing for Screen security

* ktlint format

* Clean up ScreenSecurityTest

* Remove debug check

I decided this would be annoying, especially for manual testing

* ktlint

* removed test logging

* removed test logging

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-09-26 10:28:08 +02:00
Carter Jernigan 45d90b7706 [#586] AGP 7.3 2022-09-22 16:06:09 -04:00
Honza Rychnovsky 32c20953f7
[#310] [Scaffold] Progress Status Circular Bar
* [#310] [Scaffold] Progress Status Circular Bar

- Added Z to Home ZECs balance
- Added USD balance text to Home
- Prepared Text extension functions for both
- Provided Zatoshi to USD conversion methods + filed related SDK conversion issue

* Update Home screen UI with progress bars

- Implemented scaffolding UI of progress bars
- Added related texts to strings

* Update Home screen UI with progress bars

- Connected some of the implemented UI elements to SDK values
- Added app update information to Home screen
- Update WalletSnapshot with progress field

* Update Home screen UI with progress bars

- Capturing and handling errors from SDK Synchronizer.
- Added related error strings.
-  Simplified Home screen UI.

* Zboto font added. Load it in runtime. Import to Typography.

* Updated ZEC sign icon.

* Draw ZEC balance with Zboto font

* Simplify Home screen balances assigning

* Switch to PercentDecimal progress representatiton

* Support different locales while working with fiat currency

* Fix bug in checking of fiat currency value

* Generalize strings to provide possibility of other fiat currencies

* Add fiat currency conversion states mechanism

* Add TODO comment with reference to follow up SynchronizerError issue

* Add WalletDisplayValues to simplify HomeView composable

* Add CurrencyConversion class for connection to Price API (and convert Zatoshi to fiat currency)

* Add basic HomeView tests

* Add basic HomeViewIntegration test

* Review changes

- Used Duration API for times
 - Allow injecting clock into currency conversion
 - Moved FiatCurrencyConversionRateState to sdk-ext-ui because I suspect that we’ll consider this to be a UI object.  I based this on the fact that current/stale cutoff values are arbitrary and probably should be the domain of the UI rather than the SDK.
 - Added some tests, although additional coverage is needed
 - Added fixtures for model objects

* Minor code refactoring

- Move UpdateInfoFixture class to fixture dir
- Remove unnecessary annotation
- Add common application context method to test suite
- Fix Test class import
- Move several WalletSnapshotFixture parameters to const fields

* Add WalletDisplayValuesTest to cover the model class.

* Fix import after changes merged

* Use the new MonetarySeparatorsFixture in related tests

* Add a few basic Zatoshi -> USD conversion tests

* Turn on core lib desugaring for sdk-ext-ui-lib module

* Make WalletDisplayValues a data class

I think there may be some instances where this can help with recomposition

* Add preference key for fiat currency

This allows us to configure reading the value with observers correctly, even if we don’t allow the user to change it right now.

* Delegate symbol and formatting to JVM

* Add tests for Locale

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-07-13 09:16:05 +02:00
Honza Rychnovsky 386c7d7793
[#485] Test Failure For UpdateViewModel 2022-06-30 15:02:26 +02:00
Carter Jernigan 0ffaab953b
[#510] Consume Zatoshi from SDK (#514)
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2022-06-23 07:31:16 -04:00
Carter Jernigan 45aff80e76
[#511] Ktlint 0.46.1 2022-06-22 05:48:19 -04:00
Carter Jernigan 77a1881930
[#479] Compile SDK 33
Since we have strict compiler warnings, the API deprecations in Android API 33 will fail our build. This change therefore:
 - Bumps the compile SDK
 - Adds helper extensions to use the new methods on Android 33+ and old methods for older Android versions.  Although the functionality is the same, the wrappers will make it easier to eliminate legacy API calls in the future
 - Disabled Gradle warning.  #508 is a followup to remove this flag later.
 - Refactor Update screen tests

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2022-06-21 07:49:09 -04:00