Commit Graph

326 Commits

Author SHA1 Message Date
renovate[bot] a78cd96d21
chore(deps): update kotlin to v1.9.22-1.0.17 (#368)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `1.9.22-1.0.16` ->
`1.9.22-1.0.17` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/1.9.22-1.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/1.9.22-1.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/1.9.22-1.0.16/1.9.22-1.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/1.9.22-1.0.16/1.9.22-1.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `1.9.22-1.0.16` ->
`1.9.22-1.0.17` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.22-1.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.22-1.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.22-1.0.16/1.9.22-1.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.22-1.0.16/1.9.22-1.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>google/ksp (com.google.devtools.ksp)</summary>

###
[`v1.9.22-1.0.17`](https://togithub.com/google/ksp/releases/tag/1.9.22-1.0.17)

[Compare
Source](https://togithub.com/google/ksp/compare/1.9.22-1.0.16...1.9.22-1.0.17)

##### Issues fixed

- Annotations missing on KSTypeArgument of typealias
[#&#8203;1679](https://togithub.com/google/ksp/issues/1679)
- unhandled visibility: private to this
[#&#8203;1515](https://togithub.com/google/ksp/issues/1515)
- `Resolver#getJvmCheckedException` results in `<ERROR TYPE>` when
throwing type variable.
[#&#8203;1460](https://togithub.com/google/ksp/issues/1460)
- Class annotation values with `$` in name are `null` when used in
Kotlin source
[#&#8203;1671](https://togithub.com/google/ksp/issues/1671)
- KSP 1.9.21-1.0.15 leaking memory and causing OOMs
[#&#8203;1653](https://togithub.com/google/ksp/issues/1653)
- KSP processing fails with Java enum
[#&#8203;1482](https://togithub.com/google/ksp/issues/1482)
- \[KSP2] Support Package annotations
[#&#8203;1641](https://togithub.com/google/ksp/issues/1641)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-25 17:46:20 +01:00
Nik Clayton 42219875e9
fix: Disable filter functionality if unsupported by the server (#366)
The previous code unilaterally enabled filter functionality. Some
Mastodon-like servers -- like GoToSocial -- do not support filters, and
this resulted in user visible error messages when connecting to those
servers.

To fix this:

- Extend the set of supported server capabilities to include client and
server side filtering.

- Disable the filter preferences if the server does not support filters
and show a message explaining why it's disabled.

Extend the capabilities model to support this:

- Fetch server software name and version from the nodeinfo endpoints
(implementing the nodeinfo API and schema)

- Extend the use of kotlin-result to provide hierarchies of Error
classes and demonstrate how to chain errors and display more informative
messages without using exceptions.

Fixes #343
2024-01-18 21:44:30 +01:00
Nik Clayton 993b74691a
chore(deps): update plugin ktlint to v12.1.0 (#358) 2024-01-09 17:50:20 +01:00
Nik Clayton d8be70a465
chore(deps): update plugin ktlint to v12 (#357) 2024-01-08 23:26:46 +01:00
renovate[bot] d4fe1dff9e
fix(deps): update dependency androidx.exifinterface:exifinterface to v1.3.7 (#347)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.exifinterface:exifinterface](https://developer.android.com/jetpack/androidx/releases/exifinterface#1.3.7)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.3.6` -> `1.3.7` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.exifinterface:exifinterface/1.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.exifinterface:exifinterface/1.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.exifinterface:exifinterface/1.3.6/1.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.exifinterface:exifinterface/1.3.6/1.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 18:20:17 +01:00
renovate[bot] 602c87a9c8
fix(deps): update dependency com.google.android.material:material to v1.11.0 (#351)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.google.android.material:material](https://togithub.com/material-components/material-components-android)
| `1.10.0` -> `1.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.android.material:material/1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.android.material:material/1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.android.material:material/1.10.0/1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.android.material:material/1.10.0/1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>material-components/material-components-android
(com.google.android.material:material)</summary>

###
[`v1.11.0`](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0)

[Compare
Source](https://togithub.com/material-components/material-components-android/compare/1.10.0...1.11.0)

### Important

Elevation Overlays within default component styles have been replaced by
the new [Tonal Surface Color
system](https://material.io/blog/tone-based-surface-color-m3). Instead
of blending the Primary color with the Surface color based on an
elevation value, components now use a specific Surface color role that
can be more easily understood and customized.

Documentation for the affected components and which Surface color roles
they use has been updated in
2114a11378.

### What's new since 1.10.0

- New [Tonal Surface Color
system](https://material.io/blog/tone-based-surface-color-m3)! Check out
the [design
guidance](https://material.io/blog/tone-based-surface-color-m3) and the
[commit with documentation
updates](2114a11378)
for more details.
- New Carousel variants! 1.11.0 introduces three new Carousel variants:
center-aligned hero, uncontained, and fullscreen. Check out the
[Carousel
documentation](https://togithub.com/material-components/material-components-android/blob/master/docs/components/Carousel.md)
for more details.

#### Dependency Updates

None.

*Note: Earlier versions of 1.11.0 used other versions of the
`androidx.activity` 1.8.0 library dependency, but there is no change in
the dependency from 1.10.0, the last stable MDC library version.*

#### Library Updates

-   `Badging`
- Adjusted badge vertical offset for certain components to fit design
requirements
([`78cc54b`](78cc54b8c3))
- Added note in attachBadgeDrawable method docs about menu item views
being re-used when there is a structural change in the menu. Since
badges are attached to the views, this may change the menu item that the
badge is intended for
([`5e6ea58`](5e6ea58280))
-   `BottomNavigationView`
- Set badges to be null instead of removing them from the sparse array
so that removing badges before restoring badge states will not override
the current state
([`9f2e686`](9f2e6864d2))
-   `BottomSheet`
- Fix sheet corners animation
([`de27132`](de271320e4))
-   `Carousel`
- Ensure that extra small size is not larger than the large size
([`17baf71`](17baf71972))
- Fixed crash when recyclerview has a size of zero.
([`26c3129`](26c3129201))
- When navigating with keyboard, scroll focused item to nearest focal
keyline, not the first focal keyline
([`fb9c1c6`](fb9c1c6edf))
- Force hero strategy to be start-aligned if there are not enough items
to make it center-aligned
([`9a2347b`](9a2347bda5))
- Add logic for multibrowse strategy to change strategy when number of
items is less than the number of keylines
([`cbb380d`](cbb380df61))
- Fixed focus order when using keyboard navigation for hero carousels.
([`0356f24`](0356f24a63))
- Cleaning up multi-browse strategy and removing compact arrangement
([`ed4647d`](ed4647d5df))
- Disallowing center aligned hero strategy with only 2 items since it
does not make any sense. With only 2 items there can only be a start
state and end state with the hero strategy.
([`d5d604d`](d5d604d0cc))
- Fix issue with uncontained carousel not having a proper end scroll
value due to assumption made in end scroll calculation
([`8cb444b`](8cb444b268))
- Added tests for hero and multibrowse strategies when the carousel
container is very small.
([`8312162`](8312162f53))
- Update scroll offset to scroll to the estimated position that it was
at upon an initial load
([`4a6ae4d`](4a6ae4d0b6))
- Fixed strategies crashing when there is not enough available space for
a large and a small item
([`c418063`](c418063205))
- Tweak uncontained strategy logic to adjust medium size items to
improve motion
([`93660d4`](93660d4241))
- Fixed formatted for KeylineState and KeylineStateList
([`b80d9a5`](b80d9a5ef4))
- Fixed keyline shifting in RTL for uncontained carousels
([`7151714`](7151714711))
- Reduce the number of truncations in intermediate calculations
([`4ce7e4c`](4ce7e4c8fa))
- Update vertical scroll speed to be faster
([`c6ea2d4`](c6ea2d4040))
- Fix some a11y bugs in Carousel
([`3d84841`](3d84841cad))
- Center aligned uncontained carousel
([`b6f6eb5`](b6f6eb555a))
- Add left-aligned uncontained strategy
([`9d81cac`](9d81cac125))
- Fix orientation not correct in item decoration calculations
([`966f7da`](966f7daec9))
- Update mask size on size change if mask x percentage has been set
([`dc91b39`](dc91b39d7c))
- Fix issue with next carousel item not being masked properly
([`a16f180`](a16f180ce7))
- Add a layout listener to recyclerview to refresh keyline state upon
size change
([`ff52862`](ff528621b3))
- Remove default list from Carousel catalog demos as it is not an
example of a carousel
([`0171624`](0171624c16))
- Add carousel alignment attribute
([`547156e`](547156e497))
- Fix issue with not refreshing keylines
([`674ec44`](674ec44429))
- Fixed MaskableFrameLayout not updating mask after size change when
setting the mask using setMaskXPercentage.
([`14023d2`](14023d2c85))
- Adding docs for fullscreen carousel strategy
([`7c40359`](7c40359d2b))
- Add fullscreen demo to catalog
([`ad6afbf`](ad6afbf6d8))
- Add full screen strategy
([`bc54f2e`](bc54f2e4b3))
-   `Catalog`
- Use BottomSheetDialogFragment
([`2c53952`](2c539524ec))
- Update navigation drawer state handling to be more accurate in demo
([`74ac87c`](74ac87cb61))
- Update navigation drawer state handling to be more accurate in custom
drawer demo
([`1252d4f`](1252d4f263))
- When bottom sheet is collapsed, back callback is enabled
([`98439df`](98439df4fb))
- Update side sheet state handling to be more accurate in demos
([`357cf2d`](357cf2d9ca))
- Update bottom sheet state handling to be more accurate in demos
([`f9102c7`](f9102c745a))
- Fixed demos in RTL
([`4e1b130`](4e1b130cdf))
- Make side sheet demo icon easier to see in dark mode
([`79a1953`](79a19537d7))
- Remove explicit Catalog dependency on androidx.activity now that
library depends on it
([`3bb69f5`](3bb69f501a))
- buid.gradle update.
([`4847799`](484779902e))
- Remove edge-to-edge to top app bar demos due to glitches in ActionBar
demo
([`c40e468`](c40e468820))
- Update slider position when carousel is scrolled in uncontained
carousel demo
([`480bbc6`](480bbc6a9b))
- Applied edge-to-edge to top app bar demos
([`aa5b5bc`](aa5b5bc157))
- Add uncontained carousel demo to catalog
([`ef9f918`](ef9f91864f))
- Update slider position when carousel is scrolled in catalog demos
([`3652fde`](3652fde271))
- Applied edge-to-edge to bottom sheet in Carousel demo
([`6c2dd5d`](6c2dd5d69e))
- Fix fullscreen vertical carousel to use vertical dividers
([`af7d09a`](af7d09a43d))
- Add alignment option to hero carousel
([`7cfd30f`](7cfd30f99b))
-   `Chip`
- Fix a typo in attributes table in documentation
([`7289aa6`](7289aa681d))
-   `CollapsingToolbarLayout`
- Fix issue where expanded text gets ellipsized too aggressively when
using title fade mode and the toolbar has menu items
([`094e3e2`](094e3e21ea))
- Fixed title collapse fade mode color to use a Tonal Surface role
instead of elevation overlay
([`5f2b4b2`](5f2b4b2531))
-   `Color`
- Delete unused contrast resources
([`541df07`](541df074a7))
- Updated focused and pressed state from 0.12 to 0.10 to increase the
contrast ratio with tonal surface color.
([`bc824b4`](bc824b4344))
- Updated colors of container transform demo
([`d16f223`](d16f22341e))
- Add ColorStateListDrawable support
([`0663019`](0663019f45))
- Removed layered drawable for the background after tonal surface color.
([`b5d6f1a`](b5d6f1ae45))
- Upgraded to v0.170 for tonal surface colors.
([`8204856`](8204856dd4))
- Update constructor comments
([`ba465a2`](ba465a2b17))
-   `Divider`
- Add RTL support
([`6b897c6`](6b897c6121))
-   `Documentation`
- Add note to clarify that automatic back handling in components is only
for API 33+
([`ad2b5f8`](ad2b5f8f8b))
- Update Predictive Back doc to recommend 1.10.0 stable version
([`b8b1a66`](b8b1a662de))
- Update doc to explain how to allow Top App Bar to grow taller in
response to system font setting
([`a01a68d`](a01a68de2d))
- Fix carousel docs
([`247240c`](247240c3cd))
- Add uncontained variant docs
([`9ee4aba`](9ee4aba007))
- Minor code block improvements
([`d7e75bb`](d7e75bba59))
- Add guidance in fullscreen strategy docs about portrait orientation
([`caec8d2`](caec8d2849))
- Update chip documentation to use `setOnCheckedStateChangeListener`
instead of `setOnCheckedChangeListener` which was deprecated in favour
of the former
([`0582b1a`](0582b1a094))
- Update example in docs to use `colorContainer` and `colorOnContainer`
instead of `colorPrimary` and `colorOnPrimary`.
([`44bfe2d`](44bfe2ddb8))
- Updated Color dev doc with tonal surface colors.
([`9a4c21d`](9a4c21d77a))
- Updated dev doc for tonal surface colors in affected components.
([`2114a11`](2114a11378))
- Crosslink github docs in javadocs
([`e3b255b`](e3b255b3a0))
- Cross-reference m.io and DAC in Github docs
([`1785bbf`](1785bbfabe))
-   `Material 3`
- Introduce U color tokens
([`ad63d3f`](ad63d3ff7e))
- Add Meizu to dynamic colors allowlist
([`faf9a32`](faf9a32770))
- Remove resources loader support for tonal surface update
([`1a9d54f`](1a9d54fa41))
- Added default framework text colors
([`d3dda60`](d3dda60296))
- Updated contrast documentation
([`1d3b8e1`](1d3b8e136d))
- Add shift to dynamic colors allowlist
([`fde37cf`](fde37cfba5))
- Expose attr contrastColorThemeOverlay
([`839b14c`](839b14cf0f))
- Add dynamic contrast support
([`862a7e1`](862a7e10c9))
-   `MaterialCardView`
- Support `android:duplicateParentState`.
([`31af945`](31af945caa))
-   `MaterialDatePicker`
- Added builder methods for customizing the positive and negative button
content descriptions
([`a00ee50`](a00ee50907))
- Fix header layout overlapping
([`5f1cab6`](5f1cab65b1))
- Fixing the "Column of Days:" announcement causing Talkback verbosity
([`a782e7a`](a782e7a1d8))
-   `NavigationView`
- Set material drawable background if the background has been set as a
ColorStateList
([`eba40e9`](eba40e9345))
-   `Predictive Back`
- Update to use decelerate interpolator
([`5559cbc`](5559cbc7c7))
- Fix issue where predictive back is not enabled in NavigationView after
rotating the screen or restarting the activity when the NavigationView
is already opened as a drawer
([`bccbd4f`](bccbd4f778))
- Fix issue where modal accessibility is not reset after collapsing
search view predictively, which caused the screen to appear frozen when
using TalkBack
([`8d83a31`](8d83a31b6b))
- Fixed IllegalStateException crashes caused by
MaterialBackAnimationHelper.
([`02dc779`](02dc77923b))
- Fixed `UnsupportedOperationException` `AnimatorSet` crash in
`SearchView`.
([`f101532`](f10153257f))
-   `ProgressIndicator`
- Allow extending LinearProgressIndicator and CircularProgressIndicator
(Closes
[#&#8203;2361](https://togithub.com/material-components/material-components-android/issues/2361))
([`3b0fd58`](3b0fd5868e))
-   `Search`
- Set the `editable` property within `SearchBar`'s
`AccessibilityNodeInfo` representation.
([`be1395b`](be1395bcef))
- Fix issue where predictive back is not enabled in SearchView after
rotating the screen or restarting the activity when the SearchView is
already expanded
([`a51561d`](a51561d8b8))
- Enforced outline variant to use colorSurface as container color.
([`720998d`](720998dcbd))
- Added support to set a default content description if a content
description is not set explicitly.
([`c15a323`](c15a323140))
-   `SideSheet`
- Add left sheet/sheet edge documentation.
([`d440e3c`](d440e3c4f8))
- Fix mixed language snippet
([`f91f17b`](f91f17bb4f))
-   `Switch`
- Fix drawable scaling for API < 23
([`a10c508`](a10c5083a9))
- Amendments to thumb icon size support
([`db9a641`](db9a6412ec))
-   `Tabs`
- Integrated divider token output into the background drawables.
([`6b627c2`](6b627c20e2))
-   `TextInputLayout`
- Fix editText paddings on pre-Lollipop
([`2590c42`](2590c42764))
- Fix onMeasure() infinite loop bug caused by posting requestLayout()
before endLayout is fully rendered.
([`93360a5`](93360a5a5d))
- Mutate cursor drawable before tinting it.
([`9a4888f`](9a4888f958))
-   `Theming`
- Fix swapped error colors for dynamic contrast theme in light mode
([`f2ccc11`](f2ccc116ea))
-   `TimePicker`
- Fix layout getting cut on narrow screens
([`d10201d`](d10201dc88))
-   `Tokens`
- Upgraded to v0.175.
([`bfee8a7`](bfee8a74d7))
-   `TopAppBar`
- Simplified logics to animate the container color between lifted state
and the default state.
([`1e9f5f0`](1e9f5f0730))
- Fix dynamic status bar foreground lift on scroll color when using
Tonal Surface Color on API Level 33
([`c4ae01a`](c4ae01a5a5))
- Fix dynamic status bar foreground lift on scroll color when using
Tonal Surface Color
([`569ddac`](569ddac527))
- Fixed that liftOnScrollColor doesn't respect to setLifted when
liftOnScroll is set to false.
([`43242f2`](43242f20de))
- Added liftOnScroll and lifted toggles to the catalog.
([`4e995d1`](4e995d1f81))
- Added getMaterialShapeBackground() to return a MaterialShapeDrawable
object of the background (non-lifted layer).
([`c7a0adf`](c7a0adf8dd))
- Updated the handling of liftOnScrollColor not override
android:background.
([`2b476b3`](2b476b3a96))
-   `Other`
- Cleanup date formats that specify the same field multiple times.
([`f1da3c3`](f1da3c384f))
- Update androidx.activity dependency to version 1.8.0
([`733fe20`](733fe20d88))
- Update androidx.activity dependency to version 1.8.0-rc01
([`2cfb127`](2cfb127095))
- Remove android:targetSdk where it's not needed
([`09382b8`](09382b896c))
- Update androidx.activity dependency to version 1.8.0-beta01
([`f93c65c`](f93c65c347))
- Added a comment before overridden resources.
([`7d8681f`](7d8681f71d))
- Delete BackLayer component
([`4c89301`](4c89301330))
- Stop running Robolectric tests on APIs < 19.
([`0a6a8a9`](0a6a8a971d))
- Fixed corrupt gradle jar file.
([`ed9b541`](ed9b54129d))
- Upgrade Gradle to 7.6.2.
([`04c0582`](04c05826e4))
- Consistently use window coordinates to calculate Snackbar offsets. In
one place screen and window coordinates are mixed, which leads to bad
behavior in split screen apps.
([`57b2663`](57b26639d8))
- 1.11.0-alpha01 Release.
([`76a681a`](76a681abf6))

#### Full list of release notes

-
[1.11.0-alpha01](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha01)
-
[1.11.0-alpha02](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha02)
-
[1.11.0-alpha03](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha03)
-
[1.11.0-alpha04](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha04)
-
[1.11.0-alpha05](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha05)
-
[1.11.0-alpha06](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha06)
-
[1.11.0-beta01](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-beta01)
-
[1.11.0-rc01](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-rc01)

#### Full list of changes

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 18:19:43 +01:00
renovate[bot] c95ece807e
chore(deps): update androidx.room to v2.6.1 (#289)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.room](https://developer.android.com/jetpack/androidx/releases/room#2.6.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.0` -> `2.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.room/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.room/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.room/2.6.0/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.room/2.6.0/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.room:room-testing](https://developer.android.com/jetpack/androidx/releases/room#2.6.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.0` -> `2.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.room:room-testing/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.room:room-testing/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.room:room-testing/2.6.0/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.room:room-testing/2.6.0/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.room:room-ktx](https://developer.android.com/jetpack/androidx/releases/room#2.6.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.0` -> `2.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.room:room-ktx/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.room:room-ktx/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.room:room-ktx/2.6.0/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.room:room-ktx/2.6.0/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.room:room-paging](https://developer.android.com/jetpack/androidx/releases/room#2.6.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.0` -> `2.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.room:room-paging/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.room:room-paging/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.room:room-paging/2.6.0/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.room:room-paging/2.6.0/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.room:room-compiler](https://developer.android.com/jetpack/androidx/releases/room#2.6.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.0` -> `2.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.room:room-compiler/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.room:room-compiler/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.room:room-compiler/2.6.0/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.room:room-compiler/2.6.0/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuMTIxLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 18:11:05 +01:00
renovate[bot] 90decf531b
fix(deps): update dependency androidx.activity:activity-ktx to v1.8.2 (#346)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.activity:activity-ktx](https://developer.android.com/jetpack/androidx/releases/activity#1.8.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.8.1` -> `1.8.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.activity:activity-ktx/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.activity:activity-ktx/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.activity:activity-ktx/1.8.1/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.activity:activity-ktx/1.8.1/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 17:47:51 +01:00
renovate[bot] 8fa2839334
fix(deps): update dependency androidx.fragment:fragment-ktx to v1.6.2 (#214)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.fragment:fragment-ktx](https://developer.android.com/jetpack/androidx/releases/fragment#1.6.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.6.1` -> `1.6.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.fragment:fragment-ktx/1.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.fragment:fragment-ktx/1.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.fragment:fragment-ktx/1.6.1/1.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.fragment:fragment-ktx/1.6.1/1.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 17:39:43 +01:00
renovate[bot] ab72d78865
fix(deps): update dependency com.michael-bull.kotlin-result:kotlin-result to v1.1.18 (#258)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.michael-bull.kotlin-result:kotlin-result](https://togithub.com/michaelbull/kotlin-result)
| `1.1.8` -> `1.1.18` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.michael-bull.kotlin-result:kotlin-result/1.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.michael-bull.kotlin-result:kotlin-result/1.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.michael-bull.kotlin-result:kotlin-result/1.1.8/1.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.michael-bull.kotlin-result:kotlin-result/1.1.8/1.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>michaelbull/kotlin-result
(com.michael-bull.kotlin-result:kotlin-result)</summary>

###
[`v1.1.18`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.18)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.17...1.1.18)

- Improve type constraint on toErrorIfNull by
[@&#8203;kirillzh](https://togithub.com/kirillzh)
([`d7dbf35`](d7dbf35bcf))

###
[`v1.1.17`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.17)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.16...1.1.17)

- Add `recoverCatching` by [@&#8203;berikv](https://togithub.com/berikv)
([`a6eb86d`](a6eb86da71))
- Add more multiplatform build targets by
[@&#8203;05nelsonm](https://togithub.com/05nelsonm)
([`6f86d20`](6f86d20d53))
- Migrate to IR-based JavaScript compiler
([`cc3b3ce`](cc3b3cea05))
- Disable compatibility with non-hierarchical multiplatform projects
([`c1c5036`](c1c5036991))
- See
[https://github.com/michaelbull/kotlin-result/issues/71#issuecomment-1138645759](https://togithub.com/michaelbull/kotlin-result/issues/71#issuecomment-1138645759)
- Migrate to Gradle version catalog by
[@&#8203;bitPogo](https://togithub.com/bitPogo)
([`41fff9e`](41fff9eb9c))
- Update Gradle to 8.0.2
([`8229a29`](8229a29f62))
- Update dependencies
([`6e1c4dd`](6e1c4dd5f1))
- Add `toErrorIfNull` & `toErrorUnlessNull`
([`fd2160c`](fd2160c7a6))
- See
[#&#8203;84](https://togithub.com/michaelbull/kotlin-result/issues/84)

###
[`v1.1.16`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.16)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.15...1.1.16)

- Enable compatibility with non-hierarchical multiplatform projects
([`f0195b5`](f0195b5d3f))
- See:
[https://github.com/michaelbull/kotlin-result/issues/71#issuecomment-1101608230](https://togithub.com/michaelbull/kotlin-result/issues/71#issuecomment-1101608230)

###
[`v1.1.15`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.15)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.14...1.1.15)

- Add iosSimulatorArm64 and macosArm64 targets by
[@&#8203;dimsuz](https://togithub.com/dimsuz)
([`fe30193`](fe30193d7c))
- Update dependencies
([`96a84b2`](96a84b227b))
- Update Gradle to 7.4.2
([`ead4828`](ead4828559))
- Include LICENSE file in META-INF directories of jar files
([`07ad459`](07ad45929f))

###
[`v1.1.14`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.14)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.13...1.1.14)

- Add `getOrThrow` by
[@&#8203;Nimelrian](https://togithub.com/Nimelrian)
([`d07bd58`](d07bd589ed))
- See
[#&#8203;68](https://togithub.com/michaelbull/kotlin-result/issues/68)
- Migrate example project to Ktor 2
([`6a5523c`](6a5523c998))
- Update Gradle to 7.3.3
([`7e89f1b`](7e89f1b6a6))
- Update dependencies
([`4b9ca15`](4b9ca158fc))
- Migrate to new `kotlinx-coroutines-test` API
([`72df4c0`](72df4c0ff6))
- See
[#&#8203;69](https://togithub.com/michaelbull/kotlin-result/issues/69)

###
[`v1.1.13`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.13)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.12...1.1.13)

- Update Kotlin to 1.5.31 by
[@&#8203;pablisco](https://togithub.com/pablisco)
([`b8d4109`](b8d4109eee))
- Replace usages of `useExperimentalAnnotation` by
[@&#8203;grodin](https://togithub.com/grodin)
([`4e1bb9d`](4e1bb9d8de))
- Update Gradle to 7.2
([`98c8eae`](98c8eaead3))
- Add `Result#orElseThrow`
([`f236e26`](f236e2674b))
- Add `Result#{throwIf,throwUnless}` by
[@&#8203;grodin](https://togithub.com/grodin)
([`3b87373`](3b87373b23))
- Add `runSuspendCatching` and `T#runSuspendCatching` by
[@&#8203;grodin](https://togithub.com/grodin)
([`2667273`](2667273015))
- See
[#&#8203;64](https://togithub.com/michaelbull/kotlin-result/issues/64)

###
[`v1.1.12`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.12)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.11...1.1.12)

- Add Linux, Windows and MacOS targets
([`c4c70b4`](c4c70b4d98))
by [@&#8203;avently](https://togithub.com/avently)
-
https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-coroutines-linuxx64/
-
https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-coroutines-macosx64/
-
https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-coroutines-mingwx64/
- Set JS compiler to BOTH
([`7794201`](77942019c2))
by [@&#8203;gsteckman](https://togithub.com/gsteckman)
- Correctly cancel child jobs in suspending variant of binding
([`f2bd9aa`](f2bd9aaa11))
by [@&#8203;Munzey](https://togithub.com/Munzey)
- Fix typo in mapOr KDoc
([`32b1a9e`](32b1a9edb6))
by [@&#8203;mguelton](https://togithub.com/mguelton)
- Update Kotlin to 1.5.10
([`d64837f`](d64837f2f8))
by [@&#8203;MrBergin](https://togithub.com/MrBergin)

###
[`v1.1.11`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.11)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.10...1.1.11)

- Update Kotlin to 1.4.30
([`d9662cc`](d9662cc8e7))
- Add iOS build targets
([`ccb9c5b`](ccb9c5b3aa))
by [@&#8203;Munzey](https://togithub.com/Munzey)
-
https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-iosx64/
-
https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-iosarm64/
-
https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-coroutines-iosx64/
-
https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-coroutines-iosarm64/
- Move benchmarks to separate subproject
([`0df4c62`](0df4c62d4f))
by [@&#8203;Munzey](https://togithub.com/Munzey)
- Fix typo in `recoverUnless` kdoc
([`754aa5a`](754aa5aaa4))

###
[`v1.1.10`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.10)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.9...1.1.10)

- Releases are now automated via GitHub actions. Every push to master
will produce a SNAPSHOT build available at:
-
https://oss.sonatype.org/content/repositories/snapshots/com/michael-bull/kotlin-result/kotlin-result/
- Fixed links in README
([`3d40c70`](3d40c70708))
by [@&#8203;gregoryinouye](https://togithub.com/gregoryinouye)
- Eagerly cancel async bindings
([`c8372a0`](c8372a0522))
by [@&#8203;Munzey](https://togithub.com/Munzey)
- Add `Result.recoverIf` and `Result.recoverUnless`
([`0fdd0f2`](0fdd0f2c2b))
by [@&#8203;oddsund](https://togithub.com/oddsund)
- Publish JS multiplatform artifacts
([`0f90bb8`](0f90bb8b90))
by [@&#8203;DerYeger](https://togithub.com/DerYeger)

###
[`v1.1.9`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.9)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.8...1.1.9)

- Coroutine `binding` support moved to `kotlin-result-coroutines` module
([`b16fb55`](b16fb559a1))
by [@&#8203;Munzey](https://togithub.com/Munzey)
- See:
[https://github.com/michaelbull/kotlin-result/pull/28](https://togithub.com/michaelbull/kotlin-result/pull/28),
[https://github.com/michaelbull/kotlin-result/pull/29](https://togithub.com/michaelbull/kotlin-result/pull/29)
- Add Scala's `merge`
([`09d341a`](09d341ae6d))
- Calling `.merge()` on a `Result<List<Int>, Set<Int>>` will return a
`Collection<Int>` (their most common supertype).
- Remove deprecation of eager-evaluating functions
([`a76768f`](a76768fa42))
- Rust includes these eager evaluating variants with a simple warning in
their comments with regards to using the lazy variants for heavy
lifting.
- Update Gradle to 6.6.1
([`30d2778`](30d2778d00))
- Update Kotlin to 1.4.0
([`a662ebc`](a662ebc0a7))
- Use Kotlin 1.4's [Explicit API
mode](https://kotlinlang.org/docs/reference/whatsnew14.html#explicit-api-mode-for-library-authors)
([`a9a0c38`](a9a0c384f4))
by [@&#8203;Munzey](https://togithub.com/Munzey)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 17:33:33 +01:00
renovate[bot] 86b5d34fbb
chore(deps): update aboutlibraries to v10.10.0 (#349)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| com.mikepenz.aboutlibraries.plugin | `10.9.2` -> `10.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz.aboutlibraries.plugin/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz.aboutlibraries.plugin/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz.aboutlibraries.plugin/10.9.2/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz.aboutlibraries.plugin/10.9.2/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.mikepenz:aboutlibraries](https://togithub.com/mikepenz/AboutLibraries)
| `10.9.2` -> `10.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:aboutlibraries/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:aboutlibraries/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:aboutlibraries/10.9.2/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:aboutlibraries/10.9.2/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.mikepenz:aboutlibraries-core](https://togithub.com/mikepenz/AboutLibraries)
| `10.9.2` -> `10.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:aboutlibraries-core/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:aboutlibraries-core/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:aboutlibraries-core/10.9.2/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:aboutlibraries-core/10.9.2/10.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>mikepenz/AboutLibraries (com.mikepenz:aboutlibraries)</summary>

###
[`v10.10.0`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/v10.10.0)

#### 🚀 Features

-   Wasm compatiblity
- PR:
[#&#8203;940](https://togithub.com/mikepenz/AboutLibraries/issues/940)
-   Material 3 compose module
- PR:
[#&#8203;944](https://togithub.com/mikepenz/AboutLibraries/issues/944)

#### 🐛 Fixes

-   Protect when opening invalid urls in compose
- PR:
[#&#8203;939](https://togithub.com/mikepenz/AboutLibraries/issues/939)

#### 💬 Other

-   Update CI action versions
- PR:
[#&#8203;941](https://togithub.com/mikepenz/AboutLibraries/issues/941)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 17:33:10 +01:00
renovate[bot] a4de17d9cc
chore(deps): update dependency com.gaelmarhic.quadrant to v1.8 (#350)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| com.gaelmarhic.quadrant | `1.7` -> `1.8` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.gaelmarhic.quadrant/1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.gaelmarhic.quadrant/1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.gaelmarhic.quadrant/1.7/1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.gaelmarhic.quadrant/1.7/1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 17:27:33 +01:00
renovate[bot] 4e7ff0bcb7
chore(deps): update hilt to v2.50 (#296)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.dagger.hilt.android](https://togithub.com/google/dagger) |
`2.48.1` -> `2.50` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger.hilt.android/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger.hilt.android/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger.hilt.android/2.48.1/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger.hilt.android/2.48.1/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.dagger:hilt-android-testing](https://togithub.com/google/dagger)
| `2.48.1` -> `2.50` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-android-testing/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-android-testing/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-android-testing/2.48.1/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-android-testing/2.48.1/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.google.dagger:hilt-compiler](https://togithub.com/google/dagger)
| `2.48.1` -> `2.50` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-compiler/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-compiler/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-compiler/2.48.1/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-compiler/2.48.1/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.google.dagger:hilt-android](https://togithub.com/google/dagger) |
`2.48.1` -> `2.50` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-android/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-android/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-android/2.48.1/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-android/2.48.1/2.50?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuMTAzLjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 17:17:17 +01:00
renovate[bot] 6d7885ca78
fix(deps): update dependency com.google.truth:truth to v1.2.0 (#352)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.truth:truth](https://togithub.com/google/truth) | `1.1.5`
-> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.truth:truth/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.truth:truth/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.truth:truth/1.1.5/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.truth:truth/1.1.5/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>google/truth (com.google.truth:truth)</summary>

### [`v1.2.0`](https://togithub.com/google/truth/releases/tag/v1.2.0):
1.2.0

- Fixed a bug that caused ProtoTruth to ignore the contents of unpacked
`Any` messages. This fix may cause tests to fail, since ProtoTruth will
now check whether the message contents match. If so, you may need to
change the values that your tests expect, or there may be a bug in the
code under test that had been hidden by the Truth bug. Sorry for the
trouble.
([`8bd3ef6`](https://togithub.com/google/truth/commit/8bd3ef613))
- Added `isWithin().of()` support to `IntegerSubject` and `LongSubject`.
([`6464cb5`](https://togithub.com/google/truth/commit/6464cb5ca),
[`0e99a27`](https://togithub.com/google/truth/commit/0e99a2711))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 17:09:13 +01:00
renovate[bot] c4a0be9fef
fix(deps): update dependency com.squareup.leakcanary:leakcanary-android to v2.13 (#354)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.squareup.leakcanary:leakcanary-android](https://togithub.com/square/leakcanary)
| `2.12` -> `2.13` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.leakcanary:leakcanary-android/2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.leakcanary:leakcanary-android/2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.leakcanary:leakcanary-android/2.12/2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.leakcanary:leakcanary-android/2.12/2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>square/leakcanary
(com.squareup.leakcanary:leakcanary-android)</summary>

### [`v2.13`](https://togithub.com/square/leakcanary/releases/tag/v2.13)

See [Change Log](https://square.github.io/leakcanary/changelog)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 17:04:26 +01:00
Nik Clayton 93cc193b52
chore(deps): Update AGP to 8.2.1 (#344) 2024-01-08 16:23:44 +01:00
renovate[bot] c08f05f0e0
chore(deps): update dependency gradle to v8.5 (#170)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [gradle](https://gradle.org)
([source](https://togithub.com/gradle/gradle)) | minor | `8.3` -> `8.5`
|

---

### Release Notes

<details>
<summary>gradle/gradle (gradle)</summary>

### [`v8.5`](https://togithub.com/gradle/gradle/compare/v8.4.0...v8.5.0)

[Compare
Source](https://togithub.com/gradle/gradle/compare/v8.4.0...v8.5.0)

### [`v8.4`](https://togithub.com/gradle/gradle/releases/tag/v8.4.0):
8.4

[Compare
Source](https://togithub.com/gradle/gradle/compare/v8.3.0...v8.4.0)

The Gradle team is excited to announce Gradle 8.4.

Amongst other improvements, this release addresses two security
vulnerabilities:

- [Incorrect permission assignment for symlinked files used in copy or
archiving
operations](https://togithub.com/gradle/gradle/security/advisories/GHSA-43r3-pqhv-f7h9)
- [Possible local text file exfiltration by XML External entity
injection](https://togithub.com/gradle/gradle/security/advisories/GHSA-mrff-q8qj-xvg8)

[Read the Release Notes](https://docs.gradle.org/8.4/release-notes.html)

We would like to thank the following community members for their
contributions to this release of Gradle:
[Ahmed Ehab](https://togithub.com/ahmedehabb),
[Andrei Rybak](https://togithub.com/rybak),
[Baptiste Decroix](https://togithub.com/bdecroix-spiria),
[Björn Kautler](https://togithub.com/Vampire),
[Cesar de la Vega](https://togithub.com/vegaro),
[Ganavi Jayaram](https://togithub.com/ganavijayaram),
[Gaurav Padam](https://togithub.com/Gauravpadam),
[hwanseok](https://togithub.com/hwanseok-dev),
[J.T. McQuigg](https://togithub.com/JT122406),
[Jakub Chrzanowski](https://togithub.com/hsz),
[Jendrik Johannes](https://togithub.com/jjohannes),
[kackey0-1](https://togithub.com/kackey0-1),
[Konstantin Gribov](https://togithub.com/grossws),
[Pratik Haldankar](https://togithub.com/pratik2315),
[Qinglin](https://togithub.com/nodmp),
[Sebastian Schuberth](https://togithub.com/sschuberth),
[Thad House](https://togithub.com/ThadHouse),
[valery1707](https://togithub.com/valery1707),
[Vladimir Sitnikov](https://togithub.com/vlsi),
[wuyangnju](https://togithub.com/wuyangnju),
[Yanming Zhou](https://togithub.com/quaff),
[Yanshun Li](https://togithub.com/Chaoba),
[Yusuke Uehara](https://togithub.com/uskey512),
[zeners](https://togithub.com/zeners)

#### Upgrade instructions

Switch your build to use Gradle 8.4 by updating your wrapper:

    ./gradlew wrapper --gradle-version=8.4

#### Reporting problems

If you find a problem with this release, please file a bug on [GitHub
Issues](https://togithub.com/gradle/gradle/issues) adhering to our issue
guidelines.
If you're not sure you're encountering a bug, please use the
[forum](https://discuss.gradle.org/c/help-discuss).

We hope you will build happiness with Gradle, and we look forward to
your feedback via [Twitter](https://twitter.com/gradle) or on
[GitHub](https://togithub.com/gradle).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 12:51:34 +01:00
renovate[bot] b500379fc9
chore(deps): update kotlin (#290)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `1.9.20-1.0.14` ->
`1.9.22-1.0.16` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/1.9.20-1.0.14/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/1.9.20-1.0.14/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `1.9.20-1.0.14` ->
`1.9.22-1.0.16` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.20-1.0.14/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.20-1.0.14/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.plugin.parcelize | `1.9.20` -> `1.9.22` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.jvm | `1.9.20` -> `1.9.22` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.jvm/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.jvm/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.jvm/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.jvm/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.android | `1.9.20` -> `1.9.22` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | `1.9.20` -> `1.9.22`
|
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-stdlib](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | `1.9.20` -> `1.9.22`
|
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>google/ksp (com.google.devtools.ksp)</summary>

###
[`v1.9.22-1.0.16`](https://togithub.com/google/ksp/releases/tag/1.9.22-1.0.16)

[Compare
Source](https://togithub.com/google/ksp/compare/1.9.21-1.0.16...1.9.22-1.0.16)

This is KSP 1.0.16 for Kotlin compiler 1.9.22

###
[`v1.9.21-1.0.16`](https://togithub.com/google/ksp/releases/tag/1.9.21-1.0.16)

[Compare
Source](https://togithub.com/google/ksp/compare/1.9.21-1.0.15...1.9.21-1.0.16)

##### Issue fixed

[#&#8203;1653](https://togithub.com/google/ksp/issues/1653) KSP
1.9.21-1.0.15 leaking memory and causing OOMs

###
[`v1.9.21-1.0.15`](https://togithub.com/google/ksp/releases/tag/1.9.21-1.0.15)

[Compare
Source](https://togithub.com/google/ksp/compare/1.9.20-1.0.14...1.9.21-1.0.15)

This is a hot fix to
[#&#8203;1591](https://togithub.com/google/ksp/issues/1591) where
multiple KMP projects were affected.

##### Issues Fixed / PRs Merged

[#&#8203;1591](https://togithub.com/google/ksp/issues/1591) Error:
Rewrite at slice LEXICAL_SCOPE key: ANNOTATION_ENTRY old value
[#&#8203;1612](https://togithub.com/google/ksp/issues/1612) Filter out
the `-progressive` compiler flag in KSP tasks
[#&#8203;1614](https://togithub.com/google/ksp/issues/1614) Revert back
to the non-thread-local KSP compiler plugin implementation.

</details>

<details>
<summary>JetBrains/kotlin
(org.jetbrains.kotlin:kotlin-gradle-plugin)</summary>

###
[`v1.9.22`](https://togithub.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#1922)

##### JavaScript

- [`KT-63719`](https://youtrack.jetbrains.com/issue/KT-63719) KJS: Test
results ignored for ES module kind
- [`KT-63808`](https://youtrack.jetbrains.com/issue/KT-63808)
compileTestDevelopmentExecutableKotlinJs failed in
JsIntrinsicTransformers

##### Native

- [`KT-64139`](https://youtrack.jetbrains.com/issue/KT-64139) Weird bug
with while and coroutine in Kotlin Native
- [`KT-63471`](https://youtrack.jetbrains.com/issue/KT-63471)
linkDebugTestIosX64 Failed to build cache: NoSuchFileException
bitcode_deps
- [`KT-63789`](https://youtrack.jetbrains.com/issue/KT-63789) Native:
Incremental compilation problem with compose

##### Tools. CLI

- [`KT-64485`](https://youtrack.jetbrains.com/issue/KT-64485) CLI: cache
and optimize parsing of command-line arguments

##### Tools. Gradle

- [`KT-63990`](https://youtrack.jetbrains.com/issue/KT-63990) "Cannot
query the value of property 'buildFlowServiceProperty' because it has no
value available" with Isolated Projects

##### Tools. Gradle. Native

- [`KT-63363`](https://youtrack.jetbrains.com/issue/KT-63363) Kotlin
Gradle Plugin: `KotlinNativeHostSpecificMetadataArtifact` breaks
configuration cache, implicitly includes output file as configuration
cache input
- [`KT-63742`](https://youtrack.jetbrains.com/issue/KT-63742) Gradle
wrongly caches Kotlin/Native compiler flags

##### Tools. JPS

- [`KT-64305`](https://youtrack.jetbrains.com/issue/KT-64305) Kotlin JPS
builder requests chunk rebuild with graph implementation
- [`KT-64112`](https://youtrack.jetbrains.com/issue/KT-64112) Avoid
using IJ's JPS mappings in Kotlin JPS tests
- [`KT-63799`](https://youtrack.jetbrains.com/issue/KT-63799) Make
plugin classpath serialization path agnostic

###
[`v1.9.21`](https://togithub.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#1921)

##### Compiler

- [`KT-62885`](https://youtrack.jetbrains.com/issue/KT-62885) Introduce
a language feature entry for expect actual classes for easier
configuration of MPP projects
- [`KT-63081`](https://youtrack.jetbrains.com/issue/KT-63081) Optimize
new native caches: CachedLibraries.computeVersionedCacheDirectory()

##### Docs & Examples

- [`KT-55619`](https://youtrack.jetbrains.com/issue/KT-55619) Document
`String.format` function

##### IDE. Gradle Integration

- [`KT-62877`](https://youtrack.jetbrains.com/issue/KT-62877) Artifact
files collecting for project configuration was finished. Resolution for
configuration configuration X will be skipped

##### IDE. Gradle. Script

- [`KT-60813`](https://youtrack.jetbrains.com/issue/KT-60813) Scripts:
NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String,
java.lang.Object)' when dependency uses Slf4j API

##### JavaScript

- [`KT-60785`](https://youtrack.jetbrains.com/issue/KT-60785) KJS:
Destructured value class in suspend function fails with Uncaught
TypeError: can't convert to primitive type error
- [`KT-63207`](https://youtrack.jetbrains.com/issue/KT-63207) KMP / JS:
"TypeError: \<mangled_name> is not a function" with 1.9.20
- [`KT-62778`](https://youtrack.jetbrains.com/issue/KT-62778)
package.json "main" field has .js extension when the result files have
.mjs extension
- [`KT-61795`](https://youtrack.jetbrains.com/issue/KT-61795) KJS:
Incremental Cache is not invalidated if `useEsClasses` compiler argument
was changed
- [`KT-61957`](https://youtrack.jetbrains.com/issue/KT-61957) KJS:
"Uncaught ReferenceError: entries is not defined" caused by enum class
with `@JsExport` and Enum.entries call
- [`KT-62444`](https://youtrack.jetbrains.com/issue/KT-62444) KJS with
commonJS modules should re-export in 1.9.20
- [`KT-63184`](https://youtrack.jetbrains.com/issue/KT-63184) KJS /
Serialization: JsExport on serializable interface creates erroneous
TypeScript
- [`KT-62190`](https://youtrack.jetbrains.com/issue/KT-62190) KJS:
"IllegalStateException: Expect to have either super call or partial
linkage stub inside constructor" caused by Compose and useEsModules()
- [`KT-58685`](https://youtrack.jetbrains.com/issue/KT-58685) KJS:
"IllegalStateException: Not locked" cused by "unlock" called twice

##### Klibs

- [`KT-62515`](https://youtrack.jetbrains.com/issue/KT-62515) Interop
klib of concurrent version is not accepted when building dependent
project: "The library versions don't match"

##### Tools. CLI

- [`KT-63139`](https://youtrack.jetbrains.com/issue/KT-63139) Incorrect
kotlin implementation version (1.9.255-SNAPSHOT) in metadata info

##### Tools. Gradle

- [`KT-63499`](https://youtrack.jetbrains.com/issue/KT-63499) Gradle:
Source sets conventions are still registered

##### Tools. Gradle. JS

- [`KT-59523`](https://youtrack.jetbrains.com/issue/KT-59523) MPP / KJS:
ESM modules uses incorrect file extension on package.json (.mjs)

##### Tools. Gradle. Kapt

- [`KT-63366`](https://youtrack.jetbrains.com/issue/KT-63366) Kapt
processing fails with custom source sets

##### Tools. Gradle. Multiplatform

- [`KT-32608`](https://youtrack.jetbrains.com/issue/KT-32608) Create
JUnit-XML result file in multiplatform gradle build
- [`KT-63315`](https://youtrack.jetbrains.com/issue/KT-63315) Wasm
gradle plugin DSL is invalid for parameterless wasmWasi method
- [`KT-63338`](https://youtrack.jetbrains.com/issue/KT-63338) \[KMP]
metadata task fails to find cinterop classes from dependency projects
- [`KT-63044`](https://youtrack.jetbrains.com/issue/KT-63044) KGP:
Multiplatform - 8.4 configuration cache support
- [`KT-63011`](https://youtrack.jetbrains.com/issue/KT-63011) Apple
Framework Artifacts is not connected to KotlinNativeTask
- [`KT-62601`](https://youtrack.jetbrains.com/issue/KT-62601)
AS/IntelliJ exception after updating a KMP project with a macos target
to Kotlin 1.9.20-RC

##### Tools. Incremental Compile

- [`KT-61590`](https://youtrack.jetbrains.com/issue/KT-61590) K2/KMP:
Expect actual matching is breaking on the incremental compilation

##### Tools. JPS

- [`KT-63594`](https://youtrack.jetbrains.com/issue/KT-63594)
ClassCastException in JPS statistics
- [`KT-63651`](https://youtrack.jetbrains.com/issue/KT-63651) Fix NPE in
Kotlin JPS after enabling graph implementation of JPS

##### Tools. Kapt

- [`KT-57389`](https://youtrack.jetbrains.com/issue/KT-57389) KAPT3 uses
a Javac API for JCImport which will break in JDK 21
- [`KT-60507`](https://youtrack.jetbrains.com/issue/KT-60507) Kapt:
"IllegalAccessError: superclass access check failed" using java 21
toolchain

##### Tools. Scripts

- [`KT-54819`](https://youtrack.jetbrains.com/issue/KT-54819) Scripts:
Not able to use slf4j in .main.kts
- [`KT-61727`](https://youtrack.jetbrains.com/issue/KT-61727) Scripts:
Maven artifacts resolution is slow

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuMTAzLjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 12:28:04 +01:00
Nik Clayton bf36837b04
feat: Allow the user to report crashes in orange builds (#317)
Add a dependency on ACRA (in orange builds only), and catch crashes.

The user is given the option to e-mail the crash report data to the
support address, and can view and edit/redact the data before doing so.
2023-12-12 23:25:09 +01:00
Nik Clayton 6ee41177cd
build: Install LeakCanary in debug builds (#308) 2023-12-09 18:06:01 +01:00
Nik Clayton 1214cf7c8a
refactor: Break navigation dependency cycles with :core:navigation (#305)
The previous code generally started an activity by having the activity
provide a method in a companion object that returns the relevant intent,
possibly taking additional parameters that will be included in the
intent as extras.

E.g., if A wants to start B, B provides the method that returns the
intent that starts B.

This introduces a dependency between A and B.

This is worse if B also wants to start A.

For example, if A is `StatusListActivity` and B is`ViewThreadActivity`.
The user might click a status in `StatusListActivity` to view the
thread, starting `ViewThreadActivity`. But from the thread they might
click a hashtag to view the list of statuses with that hashtag. Now
`StatusListActivity` and `ViewThreadActivity` have a circular
dependency.

Even if that doesn't happen the dependency means that any changes to B
will trigger a rebuild of A, even if the changes to B are not relevant.

Break this dependency by adding a `:core:navigation` module with an
`app.pachli.core.navigation` package that contains `Intent` subclasses
that should be used instead. The `quadrant` plugin is used to generate
constants that can be used to launch activities by name instead of by
class, breaking the dependency chain.

The plugin uses the `Activity` names from the manifest, so when an
activity is moved in the future the constant will automatically update
to reflect the new package name.

If the activity's intent requires specific extras those are passed via
the constructor, with companion object methods to extract them from the
intent.

Using the intent classes from this package is enforced by a lint
`IntentDetector` which will warn if any intents are created using a
class literal.

See #291
2023-12-07 18:36:00 +01:00
renovate[bot] f1e7ed0618
fix(deps): update dependency org.mockito.kotlin:mockito-kotlin to v5.2.1 (#300)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[org.mockito.kotlin:mockito-kotlin](https://togithub.com/mockito/mockito-kotlin)
| `5.1.0` -> `5.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.mockito.kotlin:mockito-kotlin/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.mockito.kotlin:mockito-kotlin/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.mockito.kotlin:mockito-kotlin/5.1.0/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.mockito.kotlin:mockito-kotlin/5.1.0/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>mockito/mockito-kotlin
(org.mockito.kotlin:mockito-kotlin)</summary>

###
[`v5.2.1`](https://togithub.com/mockito/mockito-kotlin/releases/tag/5.2.1)

[Compare
Source](https://togithub.com/mockito/mockito-kotlin/compare/5.2.0...5.2.1)

<sup><sup>*Changelog generated by [Shipkit Changelog Gradle
Plugin](https://togithub.com/shipkit/shipkit-changelog)*</sup></sup>

##### 5.2.1

- 2023-12-02 - [1
commit(s)](https://togithub.com/mockito/mockito-kotlin/compare/5.2.0...5.2.1)
by Róbert Papp
- Increase visibility of Mockito dependency
[(#&#8203;498)](https://togithub.com/mockito/mockito-kotlin/pull/498)

###
[`v5.2.0`](https://togithub.com/mockito/mockito-kotlin/releases/tag/5.2.0)

[Compare
Source](https://togithub.com/mockito/mockito-kotlin/compare/5.1.0...5.2.0)

<sup><sup>*Changelog generated by [Shipkit Changelog Gradle
Plugin](https://togithub.com/shipkit/shipkit-changelog)*</sup></sup>

##### 5.2.0

- 2023-12-01 - [1
commit(s)](https://togithub.com/mockito/mockito-kotlin/compare/5.1.0...5.2.0)
by Sergei
- Main dependencies updated
[(#&#8203;496)](https://togithub.com/mockito/mockito-kotlin/pull/496)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 12:20:51 +01:00
Nik Clayton e749b362ca
refactor: Start creating core modules (#286)
The existing code base is a single monolithic module. This is relatively
simple to configure, but many of the tasks to compile the module and
produce the final app have to run in series.

This is unnecessarily slow.

This change starts to split the code in to multiple modules, which are:

- :core:account - AccountManager, to break a dependency cycle
- :core:common - low level types or utilities used in many other modules
- :core:database - database types, DAOs, and DI infrastructure
- :core:network - network types, API definitions, and DI infrastructure
- :core:preferences - shared preferences definitions and DI
infrastructure
- :core:testing - fakes and rules used across different modules

Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental
build times after an ABI change. That will improve further as more code
is moved to modules.

The rough mechanics of the changes are:

- Create the modules, and move existing files in to them. This causes a
  lot of churn in import arguments.

- Convert build.gradle files to build.gradle.kts

- Separate out the data required to display a tab (`TabViewData`) from
  the data required to configure a tab (`TabData`) to avoid circular
  dependencies.

- Abstract the repeated build logic shared between the modules in to
  a set of plugins under `build-logic/`, to simplify configuration of
  the application and library builds.

- Be explicit that some nullable types are non-null at time of use.
  Nullable properties in types imported from modules generally can't be
  smart cast to non-null. There's a detailed discussion of why this
restriction exists at
https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201.

The changes highlight design problems with the current code, including:

- The main application code is too tightly coupled to the network types
- Too many values are declared unnecessarily nullable
- Dependency cycles between code that make modularisation difficult

Future changes will add more modules.

See #291.
2023-12-04 16:58:36 +01:00
renovate[bot] 02b17f4144
fix(deps): update dependency com.android.tools.build:gradle to v8.2.0 (#257)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.android.tools.build:gradle](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.1.2` -> `8.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.build:gradle/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.build:gradle/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.build:gradle/8.1.2/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.build:gradle/8.1.2/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.tools.lint:lint-tests](http://tools.android.com/) |
`31.1.3` -> `31.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint-tests/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint-tests/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint-tests/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint-tests/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.tools.lint:lint](http://tools.android.com/) | `31.1.3` ->
`31.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.tools.lint:lint-checks](http://tools.android.com/) |
`31.1.3` -> `31.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint-checks/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint-checks/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint-checks/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint-checks/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.tools.lint:lint-api](http://tools.android.com/) |
`31.1.3` -> `31.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.lint:lint-api/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.lint:lint-api/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.lint:lint-api/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.lint:lint-api/31.1.3/31.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2023-12-02 14:34:34 +01:00
renovate[bot] 8043f9fe1c
fix(deps): update material.drawer to v9 (major) (#127)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.mikepenz:materialdrawer-iconics](https://togithub.com/mikepenz/MaterialDrawer)
| `8.4.5` -> `9.0.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:materialdrawer-iconics/9.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:materialdrawer-iconics/9.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:materialdrawer-iconics/8.4.5/9.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:materialdrawer-iconics/8.4.5/9.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.mikepenz:materialdrawer](https://togithub.com/mikepenz/MaterialDrawer)
| `8.4.5` -> `9.0.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:materialdrawer/9.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:materialdrawer/9.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:materialdrawer/8.4.5/9.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:materialdrawer/8.4.5/9.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>mikepenz/MaterialDrawer
(com.mikepenz:materialdrawer-iconics)</summary>

###
[`v9.0.2`](https://togithub.com/mikepenz/MaterialDrawer/releases/tag/v9.0.2)

##### 🚀 Features

-   Update to Gradle 7.5.1
- PR:
[#&#8203;2788](https://togithub.com/mikepenz/MaterialDrawer/issues/2788)
-   Bump git from 1.11.0 to 1.13.0
- PR:
[#&#8203;2792](https://togithub.com/mikepenz/MaterialDrawer/issues/2792)
-   Upgrade all dependencies to the latest version
- PR:
[#&#8203;2798](https://togithub.com/mikepenz/MaterialDrawer/issues/2798)

##### 🐛 Fixes

-   fix getColorStateList for API22 and below
- PR:
[#&#8203;2797](https://togithub.com/mikepenz/MaterialDrawer/issues/2797)
    -   Thanks [@&#8203;bmx666](https://togithub.com/bmx666)

##### 💬 Other

-   Dependency Submission API
- PR:
[#&#8203;2782](https://togithub.com/mikepenz/MaterialDrawer/issues/2782)
-   Update CI pipeline for dependency submission API
- PR:
[#&#8203;2783](https://togithub.com/mikepenz/MaterialDrawer/issues/2783)
-   Run dependency submission action on dev branch
- PR:
[#&#8203;2784](https://togithub.com/mikepenz/MaterialDrawer/issues/2784)
-   Update Dependency submission for all modules
- PR:
[#&#8203;2787](https://togithub.com/mikepenz/MaterialDrawer/issues/2787)

###
[`v9.0.1`](https://togithub.com/mikepenz/MaterialDrawer/releases/tag/v9.0.1)

##### 🚀 Features

-   Upgrade dependencies 2022.06.24
- PR:
[#&#8203;2780](https://togithub.com/mikepenz/MaterialDrawer/issues/2780)

##### 🐛 Fixes

-   Enhance selected color selection MiniDrawerItem
- PR:
[#&#8203;2779](https://togithub.com/mikepenz/MaterialDrawer/issues/2779)
    -   Thanks [@&#8203;hamedgramzi](https://togithub.com/hamedgramzi)

###
[`v9.0.0`](https://togithub.com/mikepenz/MaterialDrawer/releases/tag/v9.0.0)

##### 🚀 Features

-   Material 3 theme
- PR:
[#&#8203;2756](https://togithub.com/mikepenz/MaterialDrawer/issues/2756)
- PR:
[#&#8203;2757](https://togithub.com/mikepenz/MaterialDrawer/issues/2757)
-   Upgrade environment | Kotlin 1.6 | Material 1.5.0-beta01
- PR:
[#&#8203;2758](https://togithub.com/mikepenz/MaterialDrawer/issues/2758)
-   Kotlin 1.6.10 | Material Components 1.5.0
- PR:
[#&#8203;2762](https://togithub.com/mikepenz/MaterialDrawer/issues/2762)
-   Upgrade to Navigation 2.4.x
- PR:
[#&#8203;2770](https://togithub.com/mikepenz/MaterialDrawer/issues/2770)
-   Upgrade dependencies | Kotlin 1.6.20
- PR:
[#&#8203;2774](https://togithub.com/mikepenz/MaterialDrawer/issues/2774)
-   Add successListener to setupWithNavController()
- PR:
[#&#8203;2773](https://togithub.com/mikepenz/MaterialDrawer/issues/2773)
- Thanks [@&#8203;shmueldabomb441](https://togithub.com/shmueldabomb441)

##### 🐛 Fixes

-   Do not set `selectOnLongClick` on `multiSelect=false`
- PR:
[#&#8203;2771](https://togithub.com/mikepenz/MaterialDrawer/issues/2771)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjU5LjgiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2023-11-20 20:37:56 +01:00
renovate[bot] 370a29e2c5
chore(deps): update aboutlibraries to v10.9.2 (#108)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| com.mikepenz.aboutlibraries.plugin | `10.8.3` -> `10.9.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz.aboutlibraries.plugin/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz.aboutlibraries.plugin/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz.aboutlibraries.plugin/10.8.3/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz.aboutlibraries.plugin/10.8.3/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.mikepenz:aboutlibraries](https://togithub.com/mikepenz/AboutLibraries)
| `10.8.3` -> `10.9.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:aboutlibraries/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:aboutlibraries/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:aboutlibraries/10.8.3/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:aboutlibraries/10.8.3/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.mikepenz:aboutlibraries-core](https://togithub.com/mikepenz/AboutLibraries)
| `10.8.3` -> `10.9.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:aboutlibraries-core/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:aboutlibraries-core/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:aboutlibraries-core/10.8.3/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:aboutlibraries-core/10.8.3/10.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>mikepenz/AboutLibraries (com.mikepenz:aboutlibraries)</summary>

###
[`v10.9.2`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/v10.9.2)

#### 🚀 Features

- Compose 1.5.4 (mp 1.5.10) | wasm target for `core` module | Kotlin
1.9.20
- PR:
[#&#8203;932](https://togithub.com/mikepenz/AboutLibraries/issues/932)

###
[`v10.9.2-wasm1`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/v10.9.2-wasm1)

#### 🚀 Features

-   Experimental build with a wasm target for the compose module

###
[`v10.9.1`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/v10.9.1)

##### 🚀 Features

-   Allow styling of dialog's confirm button color
- PR:
[#&#8203;927](https://togithub.com/mikepenz/AboutLibraries/issues/927)
    -   Thanks [@&#8203;svenjacobs](https://togithub.com/svenjacobs)

##### 💬 Other

-   Introduce new debug logs in plugin
- PR:
[#&#8203;928](https://togithub.com/mikepenz/AboutLibraries/issues/928)

###
[`v10.9.0`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/v10.9.0)

##### 🚀 Features

-   Dependency Upgrades | Refactor Compose module
- PR:
[#&#8203;913](https://togithub.com/mikepenz/AboutLibraries/issues/913)
-   Upgrade multiplatform setup | Compose 1.5.0
- PR:
[#&#8203;915](https://togithub.com/mikepenz/AboutLibraries/issues/915)
-   Always display header of Libraries composable
- PR:
[#&#8203;920](https://togithub.com/mikepenz/AboutLibraries/issues/920)
    -   Thanks [@&#8203;Paschmid](https://togithub.com/Paschmid)
-   Dependency Upgrades | Compose 1.5.1 | Kotlin 1.9.10
- PR:
[#&#8203;924](https://togithub.com/mikepenz/AboutLibraries/issues/924)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQ2LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 14:50:46 +01:00
renovate[bot] 69a46c8bc6
fix(deps): update dependency androidx.activity:activity-ktx to v1.8.1 (#171)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.activity:activity-ktx](https://developer.android.com/jetpack/androidx/releases/activity#1.8.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.7.2` -> `1.8.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.activity:activity-ktx/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.activity:activity-ktx/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.activity:activity-ktx/1.7.2/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.activity:activity-ktx/1.7.2/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuNDYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 14:37:30 +01:00
renovate[bot] 452267a8e0
fix(deps): update dependency io.reactivex.rxjava3:rxjava to v3.1.8 (#168)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [io.reactivex.rxjava3:rxjava](https://togithub.com/ReactiveX/RxJava) |
`3.1.7` -> `3.1.8` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.reactivex.rxjava3:rxjava/3.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.reactivex.rxjava3:rxjava/3.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.reactivex.rxjava3:rxjava/3.1.7/3.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.reactivex.rxjava3:rxjava/3.1.7/3.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>ReactiveX/RxJava (io.reactivex.rxjava3:rxjava)</summary>

###
[`v3.1.8`](https://togithub.com/ReactiveX/RxJava/releases/tag/v3.1.8)


[Maven](http://search.maven.org/#artifactdetails%7Cio.reactivex.rxjava3%7Crxjava%7C3.1.8%7C)
[JavaDocs](http://reactivex.io/RxJava/3.x/javadoc/3.1.8)

##### Bugfixes

- Fix `ObservableSwitchMap` `NullPointerException` due to cancel race.
([https://github.com/ReactiveX/RxJava/pull/7597](https://togithub.com/ReactiveX/RxJava/pull/7597))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuNDYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 23:01:37 +01:00
renovate[bot] be3c2b0647
fix(deps): update androidx.media3 to v1.2.0 (#266)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [androidx.media3:media3-ui](https://togithub.com/androidx/media) |
`1.1.1` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-ui/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-ui/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-ui/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-ui/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-datasource-okhttp](https://togithub.com/androidx/media)
| `1.1.1` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-datasource-okhttp/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-datasource-okhttp/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-datasource-okhttp/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-datasource-okhttp/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-rtsp](https://togithub.com/androidx/media)
| `1.1.1` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-rtsp/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-rtsp/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-rtsp/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-rtsp/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-hls](https://togithub.com/androidx/media)
| `1.1.1` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-hls/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-hls/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-hls/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-hls/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-dash](https://togithub.com/androidx/media)
| `1.1.1` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-dash/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-dash/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-dash/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-dash/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer](https://togithub.com/androidx/media)
| `1.1.1` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer/1.1.1/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>androidx/media (androidx.media3:media3-ui)</summary>

###
[`v1.2.0`](https://togithub.com/androidx/media/compare/1.1.1...1.2.0)

[Compare
Source](https://togithub.com/androidx/media/compare/1.1.1...1.2.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 22:55:57 +01:00
renovate[bot] 1b02074fc3
fix(deps): update dependency com.google.android.material:material to v1.10.0 (#172)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.google.android.material:material](https://togithub.com/material-components/material-components-android)
| `1.9.0` -> `1.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.android.material:material/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.android.material:material/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.android.material:material/1.9.0/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.android.material:material/1.9.0/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>material-components/material-components-android
(com.google.android.material:material)</summary>

###
[`v1.10.0`](https://togithub.com/material-components/material-components-android/releases/tag/1.10.0)

[Compare
Source](https://togithub.com/material-components/material-components-android/compare/1.9.0...1.10.0)

### What's new since 1.9.0

- Added Predictive back support for search, bottom sheet, side sheet and
navigation drawer. Check out the [developer
documentation](https://togithub.com/material-components/material-components-android/blob/master/docs/foundations/PredictiveBack.md)
for more details.
- Add `Start-aligned` variant to Carousel component. Check out the
[developer
documentation](https://togithub.com/material-components/material-components-android/blob/master/docs/components/Carousel.md)
for more details.
- Badge component updates. Check out the [developer
documentation](https://togithub.com/material-components/material-components-android/blob/master/docs/components/BadgeDrawable.md)
for more details.
- Left & RTL side sheets. Check out the [developer
documentation](https://togithub.com/material-components/material-components-android/blob/master/docs/components/SideSheet.md)
for more details.

#### Important

##### New minimum requirements for your app's project:

-   Update `compileSdkVersion` to `34`

#### Dependency Updates

| Dependency | Previous version | New version |
| - | - | - |
| Gradle                                | 7.2.0 | 7.4.2 |
| androidx.activity                     | --    | 1.8.0 |
| androidx.appcompat                    | 1.5.0 | 1.6.1 |
| androidx.resourceinspection:resourceinspection-annotation | -- | 1.0.1
|
| androidx.resourceinspection:resourceinspection-processor | -- | 1.0.1
|

#### Library Updates

-   `A11y`
- Do not count headers for accessibility
([`917da52`](917da52393))
-   `Badging`
- Deprecate bottom badge gravities and update docs and usages in catalog
([`27abfdb`](27abfdba4f))
- Add new attribute for vertical offset when font is large
([`2362f4b`](2362f4b64b))
- Fix table formatting and remove unnecessary badge invalidation
([`44a97f4`](44a97f4a83))
- Fix crash caused by non-ascii strings
([`532b65d`](532b65d008))
- Badge cleanup/fixes:
([`4d50aa4`](4d50aa41e7))
- Add attribute to automatically adjust badge so that it is within the
anchor view's grandparent view's bounds
([`b706506`](b706506c3d))
- Add getters/setters for vertical and horizontal badge padding
([`a0d0b53`](a0d0b53472))
- Allow text strings in badges
([`c1ef52b`](c1ef52b8ea))
- Center badge content more correctly
([`fc0de1b`](fc0de1ba24))
- Add padding in between top and bottom edges of badge and text
([`8499b83`](8499b83ba1))
- Integrating tokens
([`68c844c`](68c844c91d))
- Add shape appearance for badges
([`2ddcfe4`](2ddcfe46b7))
- Update badge images
([`c1eba1b`](c1eba1b268))
-   `BottomAppBar`
- Fix bug with transparent top app bar when in bottom app bar layout
([`c22eb0d`](c22eb0d31b))
- Fix issue with pre-21 FAB elevation/shadow sometimes appearing
([`2ea3df9`](2ea3df991f))
-   `BottomNavigationView`
- Integrate tokens and add shape appearance support
([`7bd9724`](7bd9724078))
-   `BottomSheet`
- Fix sheet corners animation
([`a5ff190`](a5ff190f52))
- Update bottom sheet documentation
([`af1fa70`](af1fa70979))
- Integrate tokens
([`86cd9d7`](86cd9d70bf))
- Add method to allow programmatically changing
shouldRemoveExpandedCorners behavior
([`c8a0d47`](c8a0d47825))
- Update expanded corner removal to check if sheet view is actually at
top of screen
([`1c01e82`](1c01e82297))
- Fix for detached from bottom sheet behavior.
([`9c4b73d`](9c4b73da3a))
- Ignore ACTION_MOVE events in BottomSheetBehavior that weren't preceded
by an ACTION_DOWN event.
([`d8c01c1`](d8c01c1859))
-   `Carousel`
- Add orientation helper to clean up CarouselLayoutManager orientation
differences
([`7822ef8`](7822ef827b))
- Update docs to include hero variant
([`ec509cc`](ec509cc734))
- Add vertical scrolling capability
([`6b48d3b`](6b48d3bb80))
- Deprecate set/get mask x percentages in Maskable as they are no longer
used anywhere, and is a misleading method due to these methods not
actually having any effect on the Carousel as CarouselLayoutManager
overrides the values.
([`29d8742`](29d8742917))
- Ensure that masks are pushed out beyond the parent bounds if they are
*on* the parent bounds
([`9486de5`](9486de5f2f))
- Carousel updates and fixes
([`16c1575`](16c1575758))
- Fix contained mask logic to only update masks when it is still in
view, and remove restrictions on mask size with childWidth/2F. The only
restriction is that the right of the mask must be greater than the left
of the mask.
([`7d6a977`](7d6a977d50))
- Fixed multi browse strategy clipping extra small items before being
fully collapsed
([`85b6d50`](85b6d5018d))
- Add Carousel Hero strategy demo
([`b57dae5`](b57dae57aa))
- Add Hero carousel strategy
([`340cd44`](340cd44b07))
- Add option for snapping with multi-browse carousel demo
([`26c3779`](26c377962f))
- Add CarouselSnapHelper
([`8938da8`](8938da8c28))
- Refactor to reuse logic between different Carousel strategy classes
([`1c27404`](1c27404fc5))
- Fix item masking for API 21
([`7bc26e5`](7bc26e5070))
- Updated MultiBrowseCarouselStrategy to find best arrangments using a
cost function
([`0184b5b`](0184b5baa9))
- Fixed mutli-browse catalog demo crashing due to invalid position
slider values.
([`5bc7a50`](5bc7a50b35))
- Add support for transitions by forcing canvas clipping when detaching
from the window.
([`93ceb7e`](93ceb7edee))
- Updated MaskableFrameLayout to use Outline path clipping on 33+ only.
([`43c5077`](43c507775f))
- Updated setForceCompatClipping visibility for testing.
([`3856af1`](3856af1b65))
- Updated MaskableFrameLayout to clip more performantly.
([`733c9e0`](733c9e08c2))
- Changed Maskable.add/removeOnMaskChangedListener to
Maskable.setOnMaskChangedListener.
([`359580b`](359580b6c1))
- Fixed child index bug causing items to be ordered incorrectly.
([`9d0732b`](9d0732be9e))
-   `Catalog`
- Update side sheet state handling to be more accurate in demos
([`4442635`](4442635aec))
- Update bottom sheet state handling to be more accurate in demos
([`386d47b`](386d47b51b))
- Update to compileSdkVersion 34 and update catalog to use
androidx.activity:activity:1.8.0-alpha05
([`2336c23`](2336c23fab))
- Fixed catalog errors for some demos.
([`4c3e1d5`](4c3e1d513b))
- Fixes context menu are not themed on S
([`33e4f84`](33e4f841b2))
-   `Checkbox`
- Fixed checkmark icon not updating color on error correctly in pre 21.
([`62aa802`](62aa802f6c))
-   `Chip`
- Fix hand pointer icon not showing up on whole Chip when using mouse
input
([`2702b1a`](2702b1a8d5))
- Add theme overlays supported on API < 23
([`fd0c815`](fd0c81531c))
-   `Color`
- Temporarily remove v34 Android U color references which could be
causing resource NotFoundExceptions
([`2a1a67f`](2a1a67f076))
- Fixed lint error.
([`824d75e`](824d75e773))
- Integrate container color token
([`206928b`](206928b8f9))
- Made SearchBar and SearchView's container colors configurable in XML
style.
([`cf006c5`](cf006c5e10))
- Added U color resources for contrast mode support.
([`93f386c`](93f386c9f6))
-   `Dialog`
- Update DialogWhenLarge theme to have correct parent theme
([`dae89b7`](dae89b7ce2))
- Made dialog background color configurable in XML styles.
([`77cdc1e`](77cdc1e3ac))
- Made dialog background color configurable in XML styles.
([`303fabd`](303fabd331))
-   `Documentation`
- Fix SideSheetDialog class definition and source links
([`e4d0fd3`](e4d0fd3d6c))
- Revise version guidance for Search usage.
([`0bcb570`](0bcb57074d))
- Formatted tables in the eng doc.
([`ef57f69`](ef57f699cb))
- Fix doc formatting for github
([`e75654d`](e75654d4c2))
-   `ExposedDropdownMenu`
- Added attribute to set dropdown menu's container.
([`1562d0b`](1562d0b64f))
-   `FloatingActionButton`
- Correctly handle min touch target size
([`d6f36e8`](d6f36e89e2))
-   `Material 3`
- Remove resources loader support for tonal surface update
([`dfd9bfb`](dfd9bfb12f))
- Fix harmonization demo bug
([`836c51e`](836c51e44a))
- Updated content-based dynamic colors
([`e9b485d`](e9b485d619))
- Update Color doc
([`d7f9a06`](d7f9a067e3))
- Updated content-based dynamic colors
([`a511501`](a511501286))
- Adds Search class definition link to Search documentation.
([`e157608`](e157608050))
- Added ColorContrast API
([`a6cf098`](a6cf0985c4))
- Updated content-based dynamic with contrast levels
([`b335436`](b335436cf2))
- Updated SearchDemoUtils to mark the class and methods as public so
that it can be resued.
([`3b43d41`](3b43d41f16))
- Code style update
([`1fd695c`](1fd695c72a))
- Fix Search view prefix style.
([`e56e9b1`](e56e9b1dde))
- Updated search styles to set the default style attributes in the
related theme overlay.
([`9ffaa8d`](9ffaa8d1bf))
- Improve performance by preventing item change notifications during
inflation.
([`203d5ec`](203d5ec3a3))
- Fixed a crash in search components when view attributes inspection dev
setting is turned on.
([`1159923`](11599231a9))
- Color Component demo update
([`2aa1cf3`](2aa1cf3198))
- Color Component demo update
([`c786582`](c786582d6a))
-   `MaterialButton`
- Set up Android Studio resource inspection annotation and annotation
processor, and add [@&#8203;Attribute](https://togithub.com/Attribute)
annotation to MaterialButton#getIconPadding
([`2b5c75f`](2b5c75f966))
-   `MaterialDatePicker`
- Allow client app to access user selected inputMode
([`4d80434`](4d8043453e))
- Fix crash when clicking OK/Cancel on text input mode due to hiding
keyboard
([`7ccf670`](7ccf6708b0))
- Add getTextColor to DayViewDecorator
([`29b59c2`](29b59c21f5))
- a11y/i18n alignment
([`f4d0f56`](f4d0f5653a))
- ContentDescription for "DayName" is not properly getting read by
talkback for the German language
([`35bd1fc`](35bd1fc98f))
- Fix time zone when custom text input format is set
([`619d5a6`](619d5a6cad))
- Update screen width at which days size is 48dp in portrait mode.
([`ec511a5`](ec511a54cf))
- Made dialog container color configurable in xml style.
([`7b2c19b`](7b2c19b273))
- Fix hint for Korean
([`bcc97bf`](bcc97bfaf5))
- Integrated tokens.
([`30ea33e`](30ea33e948))
- Fix keyboard not showing at first in text input mode
([`4032a74`](4032a74112))
-   `NavigationRail`
- Added bigger padding in between items on the navigation rail when font
scale is large so there is more room for the badges when they are forced
inside the view bounds
([`8b016a0`](8b016a0e8b))
- Integrate tokens and add shapeAppearance attribute
([`3b2b827`](3b2b827597))
- Added attribute to control the application of start window inset
padding.
([`3f99392`](3f993923b2))
- Fixed active item focused state color not being visible.
([`1d2a59b`](1d2a59ba37))
-   `NavigationView`
- Updated NavigationView to use ViewOutlineProvider to handle corner
clipping when possible and remove drawerLayoutCornerClippingEnabled
attribute.
([`c031144`](c031144d26))
- Removed canvas clipping by default and added an option to
enabled/disable manually
([`e3b493f`](e3b493f5eb))
-   `Predictive Back`
- Fix issue where modal accessibility is not reset after collapsing
search view predictively, which caused the screen to appear frozen when
using TalkBack
([`e8af8f9`](e8af8f9460))
- Fixed IllegalStateException crashes caused by
MaterialBackAnimationHelper.
([`845007e`](845007e5e9))
- Fixed `UnsupportedOperationException` `AnimatorSet` crash in
`SearchView`.
([`6720e24`](6720e242b0))
- Fix custom predictive back implementations and update
androidx.activity dependency to 1.8.0-alpha06.
([`722b936`](722b93682c))
- Fixed MaterialBackAnimationHelper.onCancelBackProgress being called
twice.
([`ad60bbf`](ad60bbf5d9))
- Fixed possible NaN crashes in MaterialBottomContainerBackHelper,
MaterialMainContainerBackHelper and MaterialSideContainerBackHelper.
([`122c296`](122c2966fd))
- Update components to use BackEventCompat
([`a67a885`](a67a885668))
- Make MaterialMainContainerBackHelper collapsedView optional
([`fb56ab4`](fb56ab4130))
- Fix issue on Android U where clicking SearchView back button causes
SearchBar to disappear and back arrow animation to not run
([`e69a324`](e69a324a2f))
- Minor dev doc edits
([`82a91c8`](82a91c8455))
- Update dev docs
([`47c307d`](47c307d889))
- Fix expand/collapse animation for non-predictive back cases where
rootView bounds are not equal to searchView bounds
([`577d23e`](577d23eceb))
- Added updateBackProgress() predictive back support for coplanar side
sheets.
([`5ba704a`](5ba704a273))
- Added handleBackInvoked() predictive back support for coplanar side
sheets.
([`b984e64`](b984e64445))
- Fix subtle detached side sheet glitch where after predictive back the
sheet does not fully slide off screen
([`52f1737`](52f1737dd8))
- Fix custom nav drawer Catalog demo pre-T crash due to
OnBackAnimationCallback class not found
([`d8c5c2c`](d8c5c2c87d))
- Added predictive back support for modal side sheets.
([`f335a50`](f335a50907))
- Added predictive back support for standard side sheets.
([`562285e`](562285e051))
- Update side container back helper to support containers with arbitrary
child views
([`9405121`](9405121f62))
- Only use device corner radius if SearchView reaches edge of screen
([`a93c91a`](a93c91a2e2))
- Make back helpers support generified View type
([`69b5386`](69b5386e4b))
- Add ability to opt-out of back handling
([`176ce5e`](176ce5e5f0))
- Update SearchView to support predictive back when set up with
SearchBar
([`a4b6f46`](a4b6f46f0c))
- Fix bug where standard hideable bottom sheets don't stay hidden after
predictive back
([`2c23d2a`](2c23d2a158))
- Add top-level developer documentation
([`8105cb7`](8105cb7ed6))
- Update Bottom Sheet to support predictive back
([`d6fad95`](d6fad952c6))
- Infrastructure for back handling in components + Navigation Drawer
predictive back support
([`2c297fa`](2c297faf4b))
- Migrate Catalog to use AndroidX back pressed callbacks and enable
predictive back-to-home
([`22c4e0d`](22c4e0dd60))
-   `Search`
- Enforced outline variant to use colorSurface as container color.
([`cbbd50d`](cbbd50dedf))
- Support stylus handwriting in SearchBar
([`884a454`](884a4541e2))
-   `SideSheet`
- Aligned close affordance and title text along the baseline rather than
the top.
([`7a3f30b`](7a3f30b065))
- Mapped close affordance to ?attr/colorOnSurfaceVariant in catalog.
([`7ee0b72`](7ee0b72e8a))
- Add links to class definitions in Side Sheet documentation and revise
version guidance.
([`d005ad7`](d005ad7a0c))
- Changed side sheet child containers in Catalog from LinearLayouts to
FrameLayouts.
([`690cd5d`](690cd5d695))
- Changed side sheet title text appearance to Title Large.
([`a0d4fa0`](a0d4fa03ff))
- Fixed modal sheet text field formatting bug in catalog.
([`87a45a2`](87a45a2a3d))
- Renamed private references of "origin" to "inner" in SheetDelegate and
related delegate classes.
([`ad9ad20`](ad9ad204f8))
- Fixed side sheet swipe calculations in RightSheetDelegate.
([`8ae8a37`](8ae8a3791a))
- Added left/start modal sheet.
([`d0ad45e`](d0ad45e1a1))
- Fixed container color assigned to incorrect attribute.
([`a4c65d8`](a4c65d86d3))
- Removed the hasValue check for shapeAppearance to guarantee it always
has a user value or default value to avoid NPE.
([`5e427da`](5e427da912))
- Added `LeftSheetDelegate` and left sheet support for standard and
coplanar side sheets.
([`78fa157`](78fa15748f))
-   `Switch`
- Amendments to thumb icon size support
([`3abb658`](3abb658c88))
- Add support for setting thumb icon size
([`2e85f06`](2e85f06247))
- Fix morphing time of switch thumbs
([`23a2b17`](23a2b17355))
-   `Tabs`
- Create tab demo fragment that uses viewpager2 in Catalog
([`add7f5d`](add7f5d650))
- Re-adding mistakenly removed tab layout theme
([`e708d98`](e708d98c74))
- Fix issue with indicator not being drawn when viewpager starts
scrolling before onLayout is called
([`34d6a14`](34d6a14700))
-   `TextInputLayout`
- Added API to set cursor colors for API 28+.
([`c598ccd`](c598ccd51e))
- Make collapsed hint aligned with prefix and suffix text
([`d9b97b4`](d9b97b42ff))
-   `TimePicker`
- Fix crash when clicking OK/Cancel/Icon on text input mode due to
hiding keyboard
([`1fcde2c`](1fcde2c8b2))
- Made dialog container color configurable in xml style.
([`5f542c8`](5f542c8946))
-   `Tokens`
- Upgraded outdated token output in textfield & appbar.
([`d722a78`](d722a782bc))
- Updated to v0.162 for a new target.
([`0be665c`](0be665cfc0))
- Upgraded to v0.162.
([`9f1caa2`](9f1caa2c64))
-   `TopAppBar`
- Updated to take a CSL as the AppBarLayout background color.
([`6980c40`](6980c40f12))
- Removing keyboard scroll event workaround for AppBarLayout since
CoordinatorLayout issue has been fixed in androidx.core:core:1.10.0
([`fdaff78`](fdaff78506))
- Fixed dragging the app bar layout overshoots the status bar.
([`b3f7b66`](b3f7b6604e))
- Added support to pass toolbar style.
([`cdda1fc`](cdda1fc66e))
- Fix bug in AppBarLayout that refreshes all its children's drawables
instead of just its own
([`21a7aff`](21a7aff545))
-   `Other`
- Update library version to 1.10.0
([`5a45d85`](5a45d851e7))
- Update androidx.activity dependency to version 1.8.0
([`4faa81c`](4faa81c74d))
- Update androidx.activity dependency to version 1.8.0-rc01
([`7160a68`](7160a68c59))
- Update library version to 1.10.0-rc01
([`bcc2f91`](bcc2f915e8))
- Update androidx.activity dependency to version 1.8.0-beta01
([`bb0973f`](bb0973f2a5))
- Update library version to 1.10.0-beta01
([`7b8507f`](7b8507fd44))
- Update library version to 1.10.0-alpha06
([`0c0addd`](0c0adddbb9))
- Merge branch 'master' into release-1.10
([`543c473`](543c473696))
- Updated library version to 1.10.0-alpha05.
([`174a57d`](174a57dabe))
- \[TextInputEditText]Fix: TextInputEditText misses some visible lines
in CursorAnchorInfo#getVisibleLineBounds after scrolled
([`bdef355`](bdef355289))
- Fix kotlin version alignment
([`fc6f0a2`](fc6f0a24fa))
- Fix kotlin version alignment
([`7671188`](76711889df))
- Merge branch 'master' into release-1.10
([`797d494`](797d494e1a))
- Update library version to 1.10.0-alpha04
([`9123e4f`](9123e4ffb5))
- Replaced BuildCompat#isAtLeastU() method calls with explicit SDK
checks for UPSIDE_DOWN_CAKE.
([`f2e70d2`](f2e70d2d66))
- Add itemTextAppearanceActiveBoldEnabled attr
([`022e217`](022e217770))
- Update library version to 1.10.0-alpha03
([`11b8da4`](11b8da4da3))
- Update AppCompat dependency to 1.6.1
([`46778db`](46778db594))
- Update library version to 1.10.0-alpha02
([`1a2078b`](1a2078be29))
- Update to AGP 7.4.2 to get latest lint and fix Android U lint issues
([`5a37e4b`](5a37e4b35f))
- Update library version to 1.10.0-alpha01
([`c7d31fb`](c7d31fbec2))
- Minor fix.
([`dfbf4d9`](dfbf4d9c2c))
- Upgrade to 7.6.1.
([`500c8eb`](500c8eb25d))
- Update gradle-wrapper.jar
([`bb2716f`](bb2716f95e))
- Update string translations
([`5689ce2`](5689ce2608))
- Update compileSdkVersion to android-UpsideDownCake
([`3fb6bb2`](3fb6bb27a4))

#### Full list of changes

#### Full list of release notes

-
[1.10.0-alpha01](https://togithub.com/material-components/material-components-android/releases/tag/1.10.0-alpha01)
-
[1.10.0-alpha02](https://togithub.com/material-components/material-components-android/releases/tag/1.10.0-alpha02)
-
[1.10.0-alpha03](https://togithub.com/material-components/material-components-android/releases/tag/1.10.0-alpha03)
-
[1.10.0-alpha04](https://togithub.com/material-components/material-components-android/releases/tag/1.10.0-alpha04)
-
[1.10.0-alpha05](https://togithub.com/material-components/material-components-android/releases/tag/1.10.0-alpha05)
-
[1.10.0-alpha06](https://togithub.com/material-components/material-components-android/releases/tag/1.10.0-alpha06)
-
[1.10.0-beta01](https://togithub.com/material-components/material-components-android/releases/tag/1.10.0-beta01)
-
[1.10.0-rc01](https://togithub.com/material-components/material-components-android/releases/tag/1.10.0-rc01)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuNDYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 21:48:12 +01:00
renovate[bot] be94809a27
fix(deps): update dependency org.robolectric:robolectric to v4.11.1 (#215)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [org.robolectric:robolectric](http://robolectric.org)
([source](https://togithub.com/robolectric/robolectric)) | `4.10.3` ->
`4.11.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.robolectric:robolectric/4.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.robolectric:robolectric/4.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.robolectric:robolectric/4.10.3/4.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.robolectric:robolectric/4.10.3/4.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzcuNDYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 17:17:24 +01:00
renovate[bot] 7d880661e8
fix(deps): update okhttp monorepo to v4.12.0 (#216)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.squareup.okhttp3:logging-interceptor](https://square.github.io/okhttp/)
([source](https://togithub.com/square/okhttp)) | `4.11.0` -> `4.12.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.okhttp3:logging-interceptor/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.okhttp3:logging-interceptor/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.okhttp3:logging-interceptor/4.11.0/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.okhttp3:logging-interceptor/4.11.0/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.squareup.okhttp3:okhttp](https://square.github.io/okhttp/)
([source](https://togithub.com/square/okhttp)) | `4.11.0` -> `4.12.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.okhttp3:okhttp/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.okhttp3:okhttp/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.okhttp3:okhttp/4.11.0/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.okhttp3:okhttp/4.11.0/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.squareup.okhttp3:mockwebserver](https://square.github.io/okhttp/)
([source](https://togithub.com/square/okhttp)) | `4.11.0` -> `4.12.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.okhttp3:mockwebserver/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.okhttp3:mockwebserver/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.okhttp3:mockwebserver/4.11.0/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.okhttp3:mockwebserver/4.11.0/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzcuNDYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 17:11:55 +01:00
renovate[bot] c75bc54b61
fix(deps): update dependency androidx.browser:browser to v1.7.0 (#261)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.browser:browser](https://developer.android.com/jetpack/androidx/releases/browser#1.7.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.6.0` -> `1.7.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.browser:browser/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.browser:browser/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.browser:browser/1.6.0/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.browser:browser/1.6.0/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 16:40:38 +01:00
Nik Clayton d40b87f0a0
feat: Translate statuses on cached timelines (#220)
Implement some support for server-side status translation. Do this by:

- Implement support for the `api/v1/instance` endpoint to determine if
  the remote server supports translation.

- Create new `ServerCapabilities` to allow the app to query the remote
  capabilities in a server-agnostic way. Use this to query if the
  remote server supports the Mastodon implementation of server-side
  translation

- If translation is supported then show a translate/undo translate
  option on the status "..." menu.

- Fetch translated content from the server if requested, and store it
  locally as a new Room entity.

- Update displaying a status to check if the translated version
  should be displayed; if it should then new code is used to show
  translated content, content warning, poll options, and media
  descriptions.

- Add a `TextView` to show an "in progress" message while translation
  is happening, and to show the translation provider (generally
  required by agreements with them).

Partially fixes #62

---------

Co-authored-by: sanao <naosak1006@gmail.com>
2023-11-12 19:51:46 +01:00
Nik Clayton dda9dde1b9
feat: Periodically check for updates and alert user (#236)
Users can inadvertently get stuck on older versions of the app; e.g., by
installing from one F-Droid repository that stops hosting the app at
some later time.

Analytics from the Play Store also shows a long tail of users who are,
for some reason, on an older version.

On resuming `MainActivity`, and approximately once per day, check and
see if a newer version of Pachli is available, and prompt the user to
update by going to the relevant install location (Google Play, F-Droid,
or GitHub).

The dialog prompt allows them to ignore this specific version, or
disable all future update notifications. This is also exposed through
the preferences, so the user can adjust it there too.

A different update check method is used for each installation location.

- F-Droid: Use the F-Droid API to query for the newest released version
- GitHub: Use the GitHub API to query for the newest release, and check
the APK filename attached to that release
- Google Play: Use the Play in-app-updates library
(https://developer.android.com/guide/playcore/in-app-updates) to query
for the newest released version

These are kept in different build flavours (source sets), so that e.g.,
the build for the F-Droid store can only query the F-Droid API, the UI
strings are specific to F-Droid, etc. This also ensures that the update
service libraries are specific to that build and do not
"cross-contaminate".

Note that this *does not* update the app, it takes the user to either
the relevant store page (F-Droid, Play) or GitHub release page. The user
must still start the update from that page.

CI configuration is updated to build the different flavours.
2023-11-08 08:42:39 +01:00
Nik Clayton c2292a565e
chore(deps): update ksp to v1.9.20-1.0.14 (#226) 2023-11-06 12:45:44 +01:00
renovate[bot] 5f13a50ff6
chore(deps): update kotlin to v1.9.20 (#213)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| org.jetbrains.kotlin.plugin.parcelize | `1.9.10` -> `1.9.20` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.android | `1.9.10` -> `1.9.20` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.jvm | `1.9.10` -> `1.9.20` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.jvm/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.jvm/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.jvm/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.jvm/1.9.10/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-stdlib-jdk7](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | `1.3.61` -> `1.9.20`
|
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk7/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk7/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk7/1.3.61/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk7/1.3.61/1.9.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>JetBrains/kotlin
(org.jetbrains.kotlin:kotlin-stdlib-jdk7)</summary>

###
[`v1.9.20`](https://togithub.com/JetBrains/kotlin/releases/tag/v1.9.20):
Kotlin 1.9.20

##### 1.9.20

##### Analysis. API

##### New Features

- [`KT-58834`](https://youtrack.jetbrains.com/issue/KT-58834) Analysis
API: Add source shadowing feature to resolve extensions

##### Performance Improvements

- [`KT-57515`](https://youtrack.jetbrains.com/issue/KT-57515) LL FIR:
Performance bottleneck in
`CompositeModificationTracker.getModificationCount`
- [`KT-59266`](https://youtrack.jetbrains.com/issue/KT-59266) K2:
optimize FirElementBuilder.getOrBuildFir for elements outside body
- [`KT-59454`](https://youtrack.jetbrains.com/issue/KT-59454) K2: drop
resolve from
org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
- [`KT-59453`](https://youtrack.jetbrains.com/issue/KT-59453) K2:
completion regression from
org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
- [`KT-59189`](https://youtrack.jetbrains.com/issue/KT-59189) Analysis
API: KtFirKDocReference.resolveToSymbols is slow
- [`KT-58125`](https://youtrack.jetbrains.com/issue/KT-58125) K2: LL
FIR: `KtToFirMapping.getElement` is slow for `KtUserType`s due to on-air
resolution of types

##### Fixes

- [`KT-59240`](https://youtrack.jetbrains.com/issue/KT-59240) K2:
FirLazyResolveContractViolationException: `lazyResolveToPhase(IMPORTS)`
cannot be called from a transformer with a phase IMPORTS from superTypes
- [`KT-58499`](https://youtrack.jetbrains.com/issue/KT-58499) K2:
FirLazyBlock should be calculated before accessing
- [`KT-57966`](https://youtrack.jetbrains.com/issue/KT-57966) K2:
Analysis API: Reference Shortener does not work correctly when called on
entire file
- [`KT-60954`](https://youtrack.jetbrains.com/issue/KT-60954) K2:
Analysis API: Reference shortener does not work correctly with variable
assignments
- [`KT-60940`](https://youtrack.jetbrains.com/issue/KT-60940) K2:
Analysis API: Reference shortener incorrectly handles types in vararg
parameters declarations
- [`KT-60488`](https://youtrack.jetbrains.com/issue/KT-60488) Analysis
API: forbid providing custom KtLifetimeToken for every analyze call
- [`KT-60728`](https://youtrack.jetbrains.com/issue/KT-60728) K2: proper
support for scripts in LL FIR transformers
- [`KT-59159`](https://youtrack.jetbrains.com/issue/KT-59159) K2 IDE:
declaration is not found exception
- [`KT-59297`](https://youtrack.jetbrains.com/issue/KT-59297) K2:
exception from body resolve leads to corrupted state and broken analysis
- [`KT-59077`](https://youtrack.jetbrains.com/issue/KT-59077)
KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in
function calls
- [`KT-60586`](https://youtrack.jetbrains.com/issue/KT-60586) K2: forbid
analyze from write action
- [`KT-57743`](https://youtrack.jetbrains.com/issue/KT-57743) K2 IDE:
StackOverflowError from LLFirSessionCache for simple JPS project with
cyclic dependencies
- [`KT-61026`](https://youtrack.jetbrains.com/issue/KT-61026) K2
Scripts: FirLazyExpression should be calculated before accessing from
on-air resolve
- [`KT-61009`](https://youtrack.jetbrains.com/issue/KT-61009) K2
Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with
ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit>
- [`KT-60357`](https://youtrack.jetbrains.com/issue/KT-60357) K2 IDE.
Reified types parameters are not resolved in a function body
- [`KT-60317`](https://youtrack.jetbrains.com/issue/KT-60317) K2 IDE.
IAE "This method will only work on compiled declarations, but this
declaration is not compiled" on invoking Find Usages for enum method in
library
- [`KT-60706`](https://youtrack.jetbrains.com/issue/KT-60706) K2 IDE:
FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common
- [`KT-60552`](https://youtrack.jetbrains.com/issue/KT-60552) K2: merge
StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING
transformer
- [`KT-60641`](https://youtrack.jetbrains.com/issue/KT-60641) Analysis
API: Scope for class
org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found
exception when stdlib is missing
- [`KT-60638`](https://youtrack.jetbrains.com/issue/KT-60638) K2:
Expected FirResolvedTypeRef with ConeKotlinType but was
FirImplicitTypeRefImplWithoutSource <implicit>
- [`KT-54846`](https://youtrack.jetbrains.com/issue/KT-54846) Analysis
API: add isExpect/isActual to KtSymbol
- [`KT-60448`](https://youtrack.jetbrains.com/issue/KT-60448)
FirLazyResolveContractViolationException:
`lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS)` cannot be called
from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from
AllOpen plugin
- [`KT-59342`](https://youtrack.jetbrains.com/issue/KT-59342) K2 IDE.
FirLazyResolveContractViolationException: `lazyResolveToPhase(TYPES)`
cannot be called from a transformer with a phase TYPES
- [`KT-59687`](https://youtrack.jetbrains.com/issue/KT-59687) K2:
Implement proper body update for in-block modifications
- [`KT-59329`](https://youtrack.jetbrains.com/issue/KT-59329) Resolve
Extensions reference resolution breaks Find Usages
- [`KT-60295`](https://youtrack.jetbrains.com/issue/KT-60295) K2: move
checkIsResolved for annotations from
LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolver
- [`KT-59758`](https://youtrack.jetbrains.com/issue/KT-59758) K2:
Expected is FirResolvedTypeRef, but was
FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJump
- [`KT-60377`](https://youtrack.jetbrains.com/issue/KT-60377) K2 IDE:
This method will only work on compiled declarations, but this
declaration is not compiled
- [`KT-59685`](https://youtrack.jetbrains.com/issue/KT-59685) K2:
rewrite on-air resolution
- [`KT-60132`](https://youtrack.jetbrains.com/issue/KT-60132) K2:
properties and functions without a name should be re-analyzable as well
- [`KT-59199`](https://youtrack.jetbrains.com/issue/KT-59199) K2 IDE:
PSI changes which do not cause OOB modifications can be unseen from the
FIR elements
- [`KT-59667`](https://youtrack.jetbrains.com/issue/KT-59667) Analysis
API: PsiInvalidElementAccessException from
JavaClassifierTypeImpl.substitutor
- [`KT-59705`](https://youtrack.jetbrains.com/issue/KT-59705)
KotlinExceptionWithAttachments: No fir element was found for getter
- [`KT-59697`](https://youtrack.jetbrains.com/issue/KT-59697) AA
standalone: JRT module paths are not properly populated in Windows
- [`KT-59505`](https://youtrack.jetbrains.com/issue/KT-59505) K2:
implicit type lazy resolution doesn't work for delegated declaration
from other module
- [`KT-56426`](https://youtrack.jetbrains.com/issue/KT-56426) K2 IDE:
Typealised functional types cannot be rendered
- [`KT-59598`](https://youtrack.jetbrains.com/issue/KT-59598) AA:
stackoverflow while simplifying a type with a recursive type parameter
- [`KT-58497`](https://youtrack.jetbrains.com/issue/KT-58497) K2:
Expected FirResolvedTypeRef for initializer type of
FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource found
- [`KT-59511`](https://youtrack.jetbrains.com/issue/KT-59511) AA
standalone mode creates Application Environment for tests
- [`KT-58161`](https://youtrack.jetbrains.com/issue/KT-58161) Analysis
API: Make methods in `KtCallResolverMixIn` more distinctive based on
their receiver/return type
- [`KT-59093`](https://youtrack.jetbrains.com/issue/KT-59093) Do not
throw exception on KtCall resolution, `KtCallElement.resolveCall` should
return `null` on unknown cases
- [`KT-59243`](https://youtrack.jetbrains.com/issue/KT-59243) K2:
FirLazyResolveContractViolationException: `lazyResolveToPhase(IMPORTS)`
cannot be called from a transformer with a phase IMPORTS from permits
types
- [`KT-58194`](https://youtrack.jetbrains.com/issue/KT-58194) K2: Low
Level API: use smart pointers to store references to PSI from FIR
declarations for JavaElement
- [`KT-59133`](https://youtrack.jetbrains.com/issue/KT-59133) K2:
java.lang.IllegalStateException: Fir is not initialized for
FirRegularClassSymbol
- [`KT-58174`](https://youtrack.jetbrains.com/issue/KT-58174) K2: LL
FIR: Invalid type reference for T & Any type
- [`KT-52615`](https://youtrack.jetbrains.com/issue/KT-52615) LL FIR:
build RAW FIR only by stubs
- [`KT-55053`](https://youtrack.jetbrains.com/issue/KT-55053) K2:
Exception "lateinit property diagnostic has not been initialized" in
FirBuilder
- [`KT-58580`](https://youtrack.jetbrains.com/issue/KT-58580) K2: LL
FIR: Declarations provided by resolve extensions from a dependency
module are not visible through `LLFirCombinedKotlinSymbolProvider`
- [`KT-58992`](https://youtrack.jetbrains.com/issue/KT-58992) Analysis
API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile
out of Analysis API
- [`KT-58727`](https://youtrack.jetbrains.com/issue/KT-58727) K2: AA
FIR: implicit type in delegated function treated as error
- [`KT-58653`](https://youtrack.jetbrains.com/issue/KT-58653) K2:
Analysis API: add functions for KtScope members access by name
- [`KT-57559`](https://youtrack.jetbrains.com/issue/KT-57559) K2 IDE:
KotlinExceptionWithAttachments: Modules are inconsistent on intellij
project
- [`KT-58262`](https://youtrack.jetbrains.com/issue/KT-58262) Analysis
API: Declarations from Analysis API Resolve Extensions are not seen from
completion
- [`KT-57455`](https://youtrack.jetbrains.com/issue/KT-57455) LL FIR:
Combine `AbstractFirDeserializedSymbolProvider`s in session dependencies
(optimization)
- [`KT-57207`](https://youtrack.jetbrains.com/issue/KT-57207) LL FIR:
Combine `JavaSymbolProvider`s in session dependencies (optimization)
- [`KT-58546`](https://youtrack.jetbrains.com/issue/KT-58546) K2: LL
FIR: support name collision in a designation path
- [`KT-58495`](https://youtrack.jetbrains.com/issue/KT-58495) K2: Lazy
calculation is redundant
- [`KT-58500`](https://youtrack.jetbrains.com/issue/KT-58500) K2: null
cannot be cast to non-null type
org.jetbrains.kotlin.fir.FirPureAbstractElement
- [`KT-58493`](https://youtrack.jetbrains.com/issue/KT-58493) K2:
Expected FirResolvedTypeRef for default value type of
FirValueParameterImpl(Source) but FirUserTypeRefImpl found
- [`KT-58496`](https://youtrack.jetbrains.com/issue/KT-58496) K2:
Expected FirNamedReference, FirErrorNamedReference or
FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference
found
- [`KT-58491`](https://youtrack.jetbrains.com/issue/KT-58491) K2:
Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of
FirDefaultPropertyBackingField(Synthetic) but FirUserTypeRefImpl found
- [`KT-56550`](https://youtrack.jetbrains.com/issue/KT-56550) LL FIR:
implement parallel resolve for non-jumping phases
- [`KT-58503`](https://youtrack.jetbrains.com/issue/KT-58503) Analysis
API: KtFirNamedClassOrObjectSymbol.visibility/modality do not trigger
STATUS resolve
- [`KT-57623`](https://youtrack.jetbrains.com/issue/KT-57623) K2 IDE:
ConcurrentModificationException from getSuperConeTypes
- [`KT-58083`](https://youtrack.jetbrains.com/issue/KT-58083) K2: LL
FIR: implement FakeOverrideTypeCalculator

##### Android

- [`KT-27170`](https://youtrack.jetbrains.com/issue/KT-27170) Android
lint tasks fails in Gradle with MPP dependency

##### Backend. Native. Debug

- [`KT-61131`](https://youtrack.jetbrains.com/issue/KT-61131) Virtual
functions trampolines have invalid debug info

##### Backend. Wasm

##### Fixes

- [`KT-60244`](https://youtrack.jetbrains.com/issue/KT-60244) K/Wasm:
make the compiler compatible with Wasm GC phase 4 (Final) specification
- [`KT-61262`](https://youtrack.jetbrains.com/issue/KT-61262) K/Wasm:
add a way to turn on k2 in wasm examples that don't use compose
- [`KT-61343`](https://youtrack.jetbrains.com/issue/KT-61343) K/Wasm:
add a wasi example to kotlin-wasm-examples
- [`KT-62147`](https://youtrack.jetbrains.com/issue/KT-62147)
\[Kotlin/Wasm] Nothing typed when expression cause a backend error
- [`KT-59720`](https://youtrack.jetbrains.com/issue/KT-59720) K/Wasm:
update to final opcodes
- [`KT-60834`](https://youtrack.jetbrains.com/issue/KT-60834) K/Wasm:
investigate consequences of stopping using `br_on_cast_fail`
- [`KT-59294`](https://youtrack.jetbrains.com/issue/KT-59294) WASM:
localStorage Cannot read properties of undefined (reading 'length')
- [`KT-60835`](https://youtrack.jetbrains.com/issue/KT-60835) K/Wasm:
fix compatibility with Node.js 20.\*
- [`KT-60113`](https://youtrack.jetbrains.com/issue/KT-60113) K/Wasm:
illegal cast when using 1.9.20-dev
- [`KT-60496`](https://youtrack.jetbrains.com/issue/KT-60496)
Compose-web Wasm crashes on remember { null } calls
- [`KT-58746`](https://youtrack.jetbrains.com/issue/KT-58746) K/Wasm:
Make Arrays' constructors with size and lambda inline (similar to other
implementations)
- [`KT-58993`](https://youtrack.jetbrains.com/issue/KT-58993) \[K/Wasm]
Fix w3c declarations with lambda parameters
- [`KT-59722`](https://youtrack.jetbrains.com/issue/KT-59722) K/Wasm:
Support new encoding with flags for br_on_cast and br_on_cast_fail
instructions
- [`KT-59713`](https://youtrack.jetbrains.com/issue/KT-59713) K/Wasm:
Implement enumEntries intrinsic
- [`KT-59082`](https://youtrack.jetbrains.com/issue/KT-59082) WASM:
NullPointerException caused by companion with String type constants
- [`KT-58941`](https://youtrack.jetbrains.com/issue/KT-58941) WASM Hang
with extension delegate inside a Class
- [`KT-60200`](https://youtrack.jetbrains.com/issue/KT-60200) K/Wasm:
generate types without supertypes properly
- [`KT-52178`](https://youtrack.jetbrains.com/issue/KT-52178) IR dump
doesn't seem to work for Kotlin/WASM phases
- [`KT-59556`](https://youtrack.jetbrains.com/issue/KT-59556) Wasm:
critical dependency when using with webpack
- [`KT-58681`](https://youtrack.jetbrains.com/issue/KT-58681) K/Wasm:
division remainder has a wrong sign
- [`KT-56711`](https://youtrack.jetbrains.com/issue/KT-56711) Wasm:
IllegalStateException caused by dynamic type

##### Compiler

##### New Features

- [`KT-58551`](https://youtrack.jetbrains.com/issue/KT-58551) KMP: check
all annotation from expect declaration are present on actual
- [`KT-58554`](https://youtrack.jetbrains.com/issue/KT-58554) KMP:
restrict expect opt-in annotations and actual typealiases to annotations
with special meaning
- [`KT-58545`](https://youtrack.jetbrains.com/issue/KT-58545) KMP:
prohibit implicit actualization via Java
- [`KT-58536`](https://youtrack.jetbrains.com/issue/KT-58536) KMP:
prohibit `expect tailrec` / `expect external`
- [`KT-59764`](https://youtrack.jetbrains.com/issue/KT-59764) Make a
frontend checker that reports cast to forward declaration as unchecked
- [`KT-60528`](https://youtrack.jetbrains.com/issue/KT-60528) Updates
for JVM/IR backend of kotlin-atomicfu-compiler-plugin
- [`KT-59558`](https://youtrack.jetbrains.com/issue/KT-59558) Add
support for creating annotation instances with type parameters
- [`KT-52367`](https://youtrack.jetbrains.com/issue/KT-52367)
Devirtualization algorithm improvement
- [`KT-58652`](https://youtrack.jetbrains.com/issue/KT-58652) Native:
Implement frontend checkers for HiddenFromObjC on classes

##### Performance Improvements

- [`KT-59600`](https://youtrack.jetbrains.com/issue/KT-59600) K2: CFG:
do not add edges to nested classes and functions
- [`KT-57860`](https://youtrack.jetbrains.com/issue/KT-57860) K/N:
Functions with default arguments of value/inline class types have poor
performance due to value class boxing

##### Fixes

- [`KT-60387`](https://youtrack.jetbrains.com/issue/KT-60387) K2: IDE
K2: "org.jetbrains.kotlin.fir.expressions.impl.FirArgumentListImpl
cannot be cast to class
org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList"
- [`KT-61228`](https://youtrack.jetbrains.com/issue/KT-61228) False
positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT_WARNING for
effectively final properties
- [`KT-61643`](https://youtrack.jetbrains.com/issue/KT-61643) "Argument
type mismatch" for mixed Java/Kotlin Project with Java 21
- [`KT-62389`](https://youtrack.jetbrains.com/issue/KT-62389) JDK 21:
Cannot access class 'TimeUnit'. Check your module classpath for missing
or conflicting dependencies
- [`KT-56768`](https://youtrack.jetbrains.com/issue/KT-56768) K2. No
error description on incomplete try catch declaration
- [`KT-52220`](https://youtrack.jetbrains.com/issue/KT-52220) FIR +
LightTree - Consider building a single tree on parsing into LightTree
- [`KT-60601`](https://youtrack.jetbrains.com/issue/KT-60601) K2 /
Maven: Overload resolution ambiguity between candidates inline method
- [`KT-62027`](https://youtrack.jetbrains.com/issue/KT-62027)
"java.lang.IndexOutOfBoundsException: Empty list doesn't contain element
at index 0" caused by ClassicExpectActualMatchingContext.kt when
annotation `@AllowDifferentMembersInActual` used
- [`KT-62747`](https://youtrack.jetbrains.com/issue/KT-62747) Wrong
warning message when overriding vararg with Array during actualization
- [`KT-62655`](https://youtrack.jetbrains.com/issue/KT-62655) Don't
report a warning when new members and new supertypes are added to open
expect actualization
- [`KT-62313`](https://youtrack.jetbrains.com/issue/KT-62313)
Kotlin/Native Compiler crash: ClassCastException in IntrinsicGenerator
- [`KT-60902`](https://youtrack.jetbrains.com/issue/KT-60902) visibility
vs upper bound expect actual matching conflict
- [`KT-61095`](https://youtrack.jetbrains.com/issue/KT-61095) K2: "IAE:
source must not be null" from
FirMultipleDefaultsInheritedFromSupertypesChecker
- [`KT-47567`](https://youtrack.jetbrains.com/issue/KT-47567) 'Val
cannot be reassigned' error not reported in unreachable code
- [`KT-59468`](https://youtrack.jetbrains.com/issue/KT-59468) K2: build
realm-kotlin
- [`KT-62026`](https://youtrack.jetbrains.com/issue/KT-62026) KMP:
Correctly handle a case when annotation on expect declaration is
unresolved
- [`KT-59476`](https://youtrack.jetbrains.com/issue/KT-59476) K2: build
ClashForAndroid
- [`KT-59487`](https://youtrack.jetbrains.com/issue/KT-59487) K2: build
KSP-playground
- [`KT-47409`](https://youtrack.jetbrains.com/issue/KT-47409) K1/K2:
Investigate and align inference for equality (==) operator
- [`KT-59393`](https://youtrack.jetbrains.com/issue/KT-59393) K2:
Missing TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCED
- [`KT-62127`](https://youtrack.jetbrains.com/issue/KT-62127)
"NoSuchFieldError: TRUE$delegate" on referencing companion's variable in
submodule
- [`KT-62335`](https://youtrack.jetbrains.com/issue/KT-62335) Improve
debuggability of code generator crashes
- [`KT-61165`](https://youtrack.jetbrains.com/issue/KT-61165) More than
one overridden descriptor declares a default value for 'cause:
Throwable?'. As the compiler can not make sure these values agree, this
is not allowed
- [`KT-62263`](https://youtrack.jetbrains.com/issue/KT-62263) Turn
"different expect/actual members" error into a warning
- [`KT-59969`](https://youtrack.jetbrains.com/issue/KT-59969) K2:
Disappeared UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL
- [`KT-61616`](https://youtrack.jetbrains.com/issue/KT-61616) K2:
`IrBuiltIns.extensionToString` fails during native compilation
- [`KT-59377`](https://youtrack.jetbrains.com/issue/KT-59377) K2:
Missing CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEM
- [`KT-61645`](https://youtrack.jetbrains.com/issue/KT-61645) K2/KMP:
Set stdlib-native before stdlib-commonMain in dependencies for shared
native metadata compilation
- [`KT-61924`](https://youtrack.jetbrains.com/issue/KT-61924) Native:
problem with abstract fake override from Any
- [`KT-61933`](https://youtrack.jetbrains.com/issue/KT-61933) K2:
"`Argument type mismatch: actual type is
'Foo<kotlin/Function0<kotlin/Unit>>' but
'Foo<kotlin/coroutines/SuspendFunction0<kotlin/Unit>>' was expected`"
- [`KT-59471`](https://youtrack.jetbrains.com/issue/KT-59471) K2: build
multiplatform-settings
- [`KT-56077`](https://youtrack.jetbrains.com/issue/KT-56077) K2: build
kotlinx.atomicfu
- [`KT-59465`](https://youtrack.jetbrains.com/issue/KT-59465) K2: build
kotlinx-datetime
- [`KT-60824`](https://youtrack.jetbrains.com/issue/KT-60824) K2 IDE:
FirSyntheticCallGenerator: IAE: List has more than one element
- [`KT-61856`](https://youtrack.jetbrains.com/issue/KT-61856) K2:
"KotlinIllegalArgumentExceptionWithAttachments" on usage of
javax.validation.constraints.Email.List
- [`KT-54792`](https://youtrack.jetbrains.com/issue/KT-54792) Store
program order of properties inside `@kotlin`.Metadata
- [`KT-56083`](https://youtrack.jetbrains.com/issue/KT-56083) K2: build
ktor
- [`KT-23861`](https://youtrack.jetbrains.com/issue/KT-23861) Expect
annotation should not be applicable wider than the actual one
- [`KT-59466`](https://youtrack.jetbrains.com/issue/KT-59466) K2: build
kotlinx-benchmark
- [`KT-60830`](https://youtrack.jetbrains.com/issue/KT-60830) KMP, K2:
expect actual annotation IR checker doesn't unwrap actual typealiases to
annotations
- [`KT-61668`](https://youtrack.jetbrains.com/issue/KT-61668) Put
expect/actual diagnostics introduced in 1.9.20 release under 1.9
Language Version
- [`KT-61725`](https://youtrack.jetbrains.com/issue/KT-61725) KMP:
Annotation matching requirement for expect/actual leads to errors for
annotations with `@OptionalExpectation`
- [`KT-47892`](https://youtrack.jetbrains.com/issue/KT-47892) False
negative BREAK_OR_CONTINUE_OUTSIDE_A_LOOP with `continue` in `init`
block inside `for`
- [`KT-61784`](https://youtrack.jetbrains.com/issue/KT-61784) KMP:
\[DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS] checker missed for
companion functions
- [`KT-61173`](https://youtrack.jetbrains.com/issue/KT-61173) K2:
FirProperty.hasBackingField is true for an expect val
- [`KT-59743`](https://youtrack.jetbrains.com/issue/KT-59743) K2:
erroneous binding of typealias with two type parameters to a class with
one type parameter
- [`KT-60650`](https://youtrack.jetbrains.com/issue/KT-60650) KMP:
prohibit problematic actual typealiases
- [`KT-61461`](https://youtrack.jetbrains.com/issue/KT-61461) K2: Kotlin
native metadata compilation breaks when stdlib is present in -libraries
- [`KT-61270`](https://youtrack.jetbrains.com/issue/KT-61270) Enabling
Kotlin/Native caching causes 65K warnings from dsymutil when building
Compose iOS app
- [`KT-58229`](https://youtrack.jetbrains.com/issue/KT-58229)
K2/MPP/JVM: compiler codegen crash on call of inherited generic class's
method with actual-typealias as value parameter
- [`KT-47702`](https://youtrack.jetbrains.com/issue/KT-47702) Support
call of Java annotation constructor without specifying a default value
- [`KT-56460`](https://youtrack.jetbrains.com/issue/KT-56460) K2: Do not
re-run DiagnosticCollectorVisitor from
FirInlineDeclarationChecker.checkChildrenWithCustomVisitor
- [`KT-55933`](https://youtrack.jetbrains.com/issue/KT-55933) K2: False
negative Overload resolution ambiguity for call functions with named
parameters if one of params is vararg
- [`KT-59548`](https://youtrack.jetbrains.com/issue/KT-59548) FIR2IR:
inconsistent generation of dispatch receiver for object methods
- [`KT-55072`](https://youtrack.jetbrains.com/issue/KT-55072) K2: False
positive "suspension point is inside a critical section"
- [`KT-58778`](https://youtrack.jetbrains.com/issue/KT-58778) JVM IR
inline: add fake variables for debugger
- [`KT-59404`](https://youtrack.jetbrains.com/issue/KT-59404) K2:
Missing EXPECT_TYPE_IN_WHEN_WITHOUT_ELSE
- [`KT-59830`](https://youtrack.jetbrains.com/issue/KT-59830) K2. False
negative \[FINAL_SUPERTYPE] on extending final class through type alias
- [`KT-60580`](https://youtrack.jetbrains.com/issue/KT-60580) K2: Not
supported: class org.jetbrains.kotlin.fir.types.ConeFlexibleType
- [`KT-59391`](https://youtrack.jetbrains.com/issue/KT-59391) K2:
Missing JS_BUILTIN_NAME_CLASH
- [`KT-59392`](https://youtrack.jetbrains.com/issue/KT-59392) K2:
Missing NAME_CONTAINS_ILLEGAL_CHARS
- [`KT-58360`](https://youtrack.jetbrains.com/issue/KT-58360) Intrinsics
for atomic update of array elements
- [`KT-59165`](https://youtrack.jetbrains.com/issue/KT-59165) K2:
Prohibit class literals with empty left-hand side
- [`KT-60427`](https://youtrack.jetbrains.com/issue/KT-60427) K2
`@Metadata` annotations contain outerType/outerTypeId information for
non-inner nested classes
- [`KT-59376`](https://youtrack.jetbrains.com/issue/KT-59376) K2:
Missing TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR
- [`KT-55221`](https://youtrack.jetbrains.com/issue/KT-55221) K2: No
error reported for self-referencing local function with inferred return
type
- [`KT-59586`](https://youtrack.jetbrains.com/issue/KT-59586) K2:
support JVM backend diagnostics in light tree mode
- [`KT-57780`](https://youtrack.jetbrains.com/issue/KT-57780) K2:
Calling a constructor through a deprecated typealias doesn't report a
deprecation
- [`KT-59110`](https://youtrack.jetbrains.com/issue/KT-59110) K2.
"NotImplementedError: An operation is not implemented." error on
incorrect `@Target` annotation
- [`KT-59249`](https://youtrack.jetbrains.com/issue/KT-59249) K2: Empty
varargs are not serialized to KLIB
- [`KT-55373`](https://youtrack.jetbrains.com/issue/KT-55373) K2.
Unresolved reference error for type mismatch with callable references
- [`KT-55955`](https://youtrack.jetbrains.com/issue/KT-55955) K2:
callable references are not properly resolved when in conflict with
expected type
- [`KT-60144`](https://youtrack.jetbrains.com/issue/KT-60144) JVM IR
inline: backport primitive boxing in class literals
- [`KT-60779`](https://youtrack.jetbrains.com/issue/KT-60779) K2:
missing INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER
- [`KT-60587`](https://youtrack.jetbrains.com/issue/KT-60587) K2:
Implement warning NO_REFLECTION_IN_CLASS_PATH
- [`KT-61145`](https://youtrack.jetbrains.com/issue/KT-61145) False
negative NOTHING_TO_OVERRIDE when context receivers don't match
- [`KT-59378`](https://youtrack.jetbrains.com/issue/KT-59378) K2:
Missing FINITE_BOUNDS_VIOLATION and FINITE_BOUNDS_VIOLATION_IN_JAVA
- [`KT-61163`](https://youtrack.jetbrains.com/issue/KT-61163) Default
params on actual check and inheritance by delegation compilation error
- [`KT-60800`](https://youtrack.jetbrains.com/issue/KT-60800)
\[atomicfu-K/N]: turn on the tests for the K/N part of the compiler
plugin
- [`KT-61029`](https://youtrack.jetbrains.com/issue/KT-61029) K2:
Duplicates when processing direct overridden callables
- [`KT-55196`](https://youtrack.jetbrains.com/issue/KT-55196) K2:
False-negative CONST_VAL_WITH_NON_CONST_INITIALIZER on boolean .not()
call
- [`KT-60862`](https://youtrack.jetbrains.com/issue/KT-60862) Kotlin
Scripting: NoSuchMethodError for
ExternalDependenciesResolver.addRepository
- [`KT-57963`](https://youtrack.jetbrains.com/issue/KT-57963) K2: MPP:
Annotation calls should be actualized
- [`KT-60854`](https://youtrack.jetbrains.com/issue/KT-60854) K2:
IrActualizer incorrectly generates fake overrides for synthetic java
properties
- [`KT-59665`](https://youtrack.jetbrains.com/issue/KT-59665)
ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS isn't reported for actual
typealias and fake-override actualization
- [`KT-61039`](https://youtrack.jetbrains.com/issue/KT-61039) False
positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super
types scopes don't match
- [`KT-61166`](https://youtrack.jetbrains.com/issue/KT-61166) Inherited
platform declaration clash & accidental override
- [`KT-60531`](https://youtrack.jetbrains.com/issue/KT-60531) K2/JS:
Report diagnostics before running FIR2IR
- [`KT-32275`](https://youtrack.jetbrains.com/issue/KT-32275) Embedding
kotlin-compiler-embeddable into a Java EE App leads to CDI related
deployment error
- [`KT-57845`](https://youtrack.jetbrains.com/issue/KT-57845) K2.
Unresolved reference error on calling Java references with fully
qualified name
- [`KT-58757`](https://youtrack.jetbrains.com/issue/KT-58757) K2:
False-positive NON_PUBLIC_CALL_FROM_PUBLIC_INLINE error in case an
inline fun is protected and is a part of an internal abstract class
declaration
- [`KT-59736`](https://youtrack.jetbrains.com/issue/KT-59736)
kotlinx.serialization + K2 + JS: e: java.lang.IllegalStateException:
Symbol for
kotlinx.serialization.json.internal/FormatLanguage.<init>|-547215418288530576\[1]
is unbound
- [`KT-59071`](https://youtrack.jetbrains.com/issue/KT-59071) K2/MPP:
internal declarations from common module are invisible in dependent
source sets if there is more that one intermediate source set between
- [`KT-61167`](https://youtrack.jetbrains.com/issue/KT-61167) Runtime
failure: ReferenceError: MyPromise is not defined
- [`KT-59408`](https://youtrack.jetbrains.com/issue/KT-59408) K2:
Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES
- [`KT-61409`](https://youtrack.jetbrains.com/issue/KT-61409)
Kotlin/Native: crash in kmm-production-sample (compose-app) with escape
analysis enabled
- [`KT-57329`](https://youtrack.jetbrains.com/issue/KT-57329) K/N IR
linkage issues due to the combination of static caches w/ Lazy IR &
Compose compiler plugin
- [`KT-59247`](https://youtrack.jetbrains.com/issue/KT-59247)
Kapt+JVM_IR: AssertionError on anonymous object in enum super
constructor call
- [`KT-58576`](https://youtrack.jetbrains.com/issue/KT-58576) K2: IR
actualization problems in MPP scenario
- [`KT-61442`](https://youtrack.jetbrains.com/issue/KT-61442) K2:
Consider stricter filtering on implicit integer coercion
- [`KT-61441`](https://youtrack.jetbrains.com/issue/KT-61441) K2: Wrong
overload is chosen with ImplicitIntegerCoercion enabled
- [`KT-59328`](https://youtrack.jetbrains.com/issue/KT-59328) K2:
property with compound getter and without explicit type: compilation
failure, IAE "List has more than one element" at
FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature()
- [`KT-61159`](https://youtrack.jetbrains.com/issue/KT-61159) K2:
OVERLOAD_RESOLUTION_AMBIGUITY between private top-level property in same
file and top-level property in different module
- [`KT-59233`](https://youtrack.jetbrains.com/issue/KT-59233) K2:
false-negative diagnostic on creating a callable reference to a function
with free type variables
- [`KT-61418`](https://youtrack.jetbrains.com/issue/KT-61418) k2:
ImplicitIntegerCoercion to List leads to "IllegalStateException: Cannot
find cached type parameter by FIR symbol"
- [`KT-61373`](https://youtrack.jetbrains.com/issue/KT-61373) False
positive: "The opt-in annotation is redundant: no matching experimental
API is used" with multiplatform code.
- [`KT-58884`](https://youtrack.jetbrains.com/issue/KT-58884) K2:
NotAMockException for mock testing with lambda expression with Maven
- [`KT-58893`](https://youtrack.jetbrains.com/issue/KT-58893) K2:
MockitoException for mock testing with lambda expression with Gradle
- [`KT-59483`](https://youtrack.jetbrains.com/issue/KT-59483) K2: Build
a Native app
- [`KT-57738`](https://youtrack.jetbrains.com/issue/KT-57738) K2:
unresolved class fields and methods in kotlin scripts
- [`KT-59449`](https://youtrack.jetbrains.com/issue/KT-59449) K2:
Diagnostic messages contain debugging-style rendered FIR
- [`KT-59849`](https://youtrack.jetbrains.com/issue/KT-59849) K2:
IllegalArgumentException: List has more than one element
- [`KT-57553`](https://youtrack.jetbrains.com/issue/KT-57553) Implement
deprecation for open val with backing field and deferred initialization
in K1
- [`KT-57230`](https://youtrack.jetbrains.com/issue/KT-57230) Support
Kotlin/Wasm in the K2 platform
- [`KT-59409`](https://youtrack.jetbrains.com/issue/KT-59409) K2:
Missing DEFAULT_VALUE_NOT_ALLOWED_IN_OVERRIDE
- [`KT-59058`](https://youtrack.jetbrains.com/issue/KT-59058) Companion
object is not initialized on class constructor call
- [`KT-61017`](https://youtrack.jetbrains.com/issue/KT-61017) K2:
intermediate expect/actual class results in expected class has no actual
declaration in module
- [`KT-60181`](https://youtrack.jetbrains.com/issue/KT-60181) K2:
"NotImplementedError: An operation is not implemented" with Spring
- [`KT-59472`](https://youtrack.jetbrains.com/issue/KT-59472) K2: build
Reaktive
- [`KT-54786`](https://youtrack.jetbrains.com/issue/KT-54786) MPP:
"LazyTypeAliasDescriptor cannot be cast to class
org.jetbrains.kotlin.descriptors.ClassDescriptor" caused by expected
non-constant function argument on iOS if class is type aliased
- [`KT-59753`](https://youtrack.jetbrains.com/issue/KT-59753) K2:
NotImplementedError when using annotation with vararg with default value
from other module
- [`KT-60883`](https://youtrack.jetbrains.com/issue/KT-60883) K2: Fix
`testRequireKotlinCompilerVersion` in LV 2.0 branch
- [`KT-59747`](https://youtrack.jetbrains.com/issue/KT-59747) K2: cannot
actualize expect class to Unit via typealias
- [`KT-61054`](https://youtrack.jetbrains.com/issue/KT-61054) K2: "IAE:
source must not be null" with -no-reflect on calling property getter
with implicit invoke
- [`KT-57126`](https://youtrack.jetbrains.com/issue/KT-57126) \[KLIB
Reproducibility] Manifest is written using os-dependent line separators
- [`KT-60850`](https://youtrack.jetbrains.com/issue/KT-60850) K2: FIR2IR
generates incorrect signature for fake overrides for common declaration
if it called from a platform module
- [`KT-59218`](https://youtrack.jetbrains.com/issue/KT-59218) K2: return
types of calls to `@PolymorphicSignature` methods inside try-expressions
don't resolve to void when required
- [`KT-60002`](https://youtrack.jetbrains.com/issue/KT-60002) K2:
Missing UNSUPPORTED_SUSPEND_TEST
- [`KT-61011`](https://youtrack.jetbrains.com/issue/KT-61011) K2
Scripts: FirRecursiveProblemChecker: Expected FirResolvedTypeRef with
ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit>
- [`KT-58906`](https://youtrack.jetbrains.com/issue/KT-58906) K2.
"Backend Internal error: Exception during IR lowering" instead of
CANNOT_INFER_PARAMETER_TYPE error when parameter type missing in lambda
- [`KT-59490`](https://youtrack.jetbrains.com/issue/KT-59490) K2: build
km-shop
- [`KT-60163`](https://youtrack.jetbrains.com/issue/KT-60163) K2: vararg
annotation argument value is serialized not as an array
- [`KT-59355`](https://youtrack.jetbrains.com/issue/KT-59355) K2: Allow
to actual classifier have wider visibility than the corresponding expect
class
- [`KT-56179`](https://youtrack.jetbrains.com/issue/KT-56179) \[K2/N]
`interop_objc_tests/multipleInheritanceClash.kt` test failed
- [`KT-59411`](https://youtrack.jetbrains.com/issue/KT-59411) K2:
Missing ENUM_CLASS_CONSTRUCTOR_CALL
- [`KT-59410`](https://youtrack.jetbrains.com/issue/KT-59410) K2:
Missing TYPEALIAS_EXPANDED_TO_MALFORMED_TYPE
- [`KT-59382`](https://youtrack.jetbrains.com/issue/KT-59382) K2:
Missing PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL
- [`KT-59901`](https://youtrack.jetbrains.com/issue/KT-59901) K2:
Disappeared API_NOT_AVAILABLE
- [`KT-60474`](https://youtrack.jetbrains.com/issue/KT-60474) K2: False
negative type mismatch for array literal with wrong numeric literal
- [`KT-59610`](https://youtrack.jetbrains.com/issue/KT-59610) K2: Calls
to annotations with default values are serialized differently in K1 and
K2
- [`KT-60139`](https://youtrack.jetbrains.com/issue/KT-60139) K2:
Refactor handling of implicitly actual declarations (annotation & inline
class constructors and property of inline class)
- [`KT-60793`](https://youtrack.jetbrains.com/issue/KT-60793) K2:
IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType
but was FirJavaTypeRef
- [`KT-60735`](https://youtrack.jetbrains.com/issue/KT-60735) K2:
lateinit property diagnostic has not been initialized
- [`KT-60137`](https://youtrack.jetbrains.com/issue/KT-60137) K2: Quite
complicated redeclaration error description is displayed for data
classes
- [`KT-60639`](https://youtrack.jetbrains.com/issue/KT-60639) K2:
IllegalStateException: Unsupported compile-time value GET_CLASS
type=kotlin.reflect.KClass\<p1.A>
- [`KT-56888`](https://youtrack.jetbrains.com/issue/KT-56888) CFA: Valid
green in K1 -> red in K2. `catch_end -> finally -> after_try`
- [`KT-60723`](https://youtrack.jetbrains.com/issue/KT-60723) K2: Nested
finally block has extra jump edge if surrounding try block jumps
- [`KT-60573`](https://youtrack.jetbrains.com/issue/KT-60573) K2: False
positive/negative CONFLICTING_OVERLOADS for main functions
- [`KT-60124`](https://youtrack.jetbrains.com/issue/KT-60124) K2:
Conflicting declarations on extension properties with different
upper-bounded type parameter
- [`KT-60259`](https://youtrack.jetbrains.com/issue/KT-60259) K2:
Reflection target is missing on adapted function refernces
- [`KT-59036`](https://youtrack.jetbrains.com/issue/KT-59036)
InstantiationError when instantiating annotation with a parameter type
as a default parameter of another annotation
- [`KT-59094`](https://youtrack.jetbrains.com/issue/KT-59094) K2: Fix
Scripting K2 tests
- [`KT-59711`](https://youtrack.jetbrains.com/issue/KT-59711) K/N:
Implement enumEntries intrinsic
- [`KT-59748`](https://youtrack.jetbrains.com/issue/KT-59748) K2: Return
type mismatch: expected Unit, actual Any? for when with an assignment in
branch
- [`KT-60154`](https://youtrack.jetbrains.com/issue/KT-60154) K2:
Expected some types error
- [`KT-58139`](https://youtrack.jetbrains.com/issue/KT-58139)
K2/MPP/metadata: compiler FIR serialization crash on complex expression
as annotation argument
- [`KT-59485`](https://youtrack.jetbrains.com/issue/KT-59485) K2: build
Anki-Android
- [`KT-59415`](https://youtrack.jetbrains.com/issue/KT-59415) K2:
Missing DATA_CLASS_OVERRIDE_DEFAULT_VALUES_ERROR
- [`KT-59710`](https://youtrack.jetbrains.com/issue/KT-59710) K/JVM:
Implement enumEntries intrinsic
- [`KT-57984`](https://youtrack.jetbrains.com/issue/KT-57984) K2/JS
fails with IdSignature clash for inherited expect/actual function
- [`KT-59398`](https://youtrack.jetbrains.com/issue/KT-59398) K2:
Missing NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE
- [`KT-60645`](https://youtrack.jetbrains.com/issue/KT-60645) Native:
dynamic caches are broken on Linux
- [`KT-50221`](https://youtrack.jetbrains.com/issue/KT-50221) FIR:
handle enhanced/flexible nullability inside withNullability properly
- [`KT-59281`](https://youtrack.jetbrains.com/issue/KT-59281) JVM IR
inline: incorrect type of created array
- [`KT-59507`](https://youtrack.jetbrains.com/issue/KT-59507) JVM IR
inline: invocation of arrayOfNulls by function reference results in
exception
- [`KT-58359`](https://youtrack.jetbrains.com/issue/KT-58359) Allow
volatile intrinsics on inline function constant arguments
- [`KT-60598`](https://youtrack.jetbrains.com/issue/KT-60598) K2: add
OptIn checkers for command line arguments
- [`KT-59766`](https://youtrack.jetbrains.com/issue/KT-59766) K2: ISE:
Cannot find cached type parameter by FIR symbol during the coroutines
library build
- [`KT-59644`](https://youtrack.jetbrains.com/issue/KT-59644) K2: the
companion object in an `expect` class requires to be explicitly defined
for compileNativeMainKotlinMetadata
- [`KT-59640`](https://youtrack.jetbrains.com/issue/KT-59640) K2:
`expect` constructor requires calling `this` or `super` but didn't use
to
- [`KT-58883`](https://youtrack.jetbrains.com/issue/KT-58883) K2: False
negative type mismatch for generic annotation in collection literal
- [`KT-59581`](https://youtrack.jetbrains.com/issue/KT-59581) K2:
Initializer type mismatch: expected Array\<KClass<\*>>, actual
Array\<KClass<out Serializable>> in annotation parameter default value
using array literal
- [`KT-59069`](https://youtrack.jetbrains.com/issue/KT-59069) K2 does
not report EXPECTED_CLASS_CONSTRUCTOR_DELEGATION_CALL
- [`KT-59416`](https://youtrack.jetbrains.com/issue/KT-59416) K2:
Missing EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENT
- [`KT-59417`](https://youtrack.jetbrains.com/issue/KT-59417) K2:
Missing CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULE
- [`KT-59381`](https://youtrack.jetbrains.com/issue/KT-59381) K2:
Missing CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEM
- [`KT-59384`](https://youtrack.jetbrains.com/issue/KT-59384) K2:
Missing DYNAMIC_NOT_ALLOWED
- [`KT-59406`](https://youtrack.jetbrains.com/issue/KT-59406) K2:
Missing PROPERTY_DELEGATION_BY_DYNAMIC
- [`KT-60247`](https://youtrack.jetbrains.com/issue/KT-60247) K2: order
of data class generated member differs in IR
- [`KT-57223`](https://youtrack.jetbrains.com/issue/KT-57223) K2:
false-negative INAPPLICABLE_JVM_NAME on non-final properties outside
interfaces
- [`KT-60183`](https://youtrack.jetbrains.com/issue/KT-60183) K2:
INAPPLICABLE_JVM_NAME on private methods with all-open plugin
- [`KT-60120`](https://youtrack.jetbrains.com/issue/KT-60120) K2 can't
get a default parameter value of expect annotation
- [`KT-57240`](https://youtrack.jetbrains.com/issue/KT-57240) K2 MPP:
Actualization doesn't work for flexible types
- [`KT-60436`](https://youtrack.jetbrains.com/issue/KT-60436) K2:
investigate possible FirJavaTypeRef equals parameter in
FirDataFlowAnalyzer.hasEqualsOverride
- [`KT-60299`](https://youtrack.jetbrains.com/issue/KT-60299) K2: when a
typealias to `Unit` is returned, an explicit `return` is now required
- [`KT-58005`](https://youtrack.jetbrains.com/issue/KT-58005) K2:
Unsupported compile-time value BLOCK for Repeatable annotations
- [`KT-60223`](https://youtrack.jetbrains.com/issue/KT-60223) K2: Wrong
import with import alias
- [`KT-54854`](https://youtrack.jetbrains.com/issue/KT-54854) K2.
Unresolved reference for not imported declaration when it is already
imported as an import alias is absent in K2
- [`KT-59738`](https://youtrack.jetbrains.com/issue/KT-59738) K2:
NoSuchElementException from JvmValueClassLoweringDispatcher in MPP
environment
- [`KT-59708`](https://youtrack.jetbrains.com/issue/KT-59708) K2:
"Property must be initialized or be abstract" occurs due to constructors
order
- [`KT-58483`](https://youtrack.jetbrains.com/issue/KT-58483) K2.
-Xmulti-platform flag isn't working
- [`KT-53490`](https://youtrack.jetbrains.com/issue/KT-53490) FIR:
Refactor augmented assignment resolving code - fix lhs-related problems
and combine similar code in array and assign operator handling
- [`KT-59673`](https://youtrack.jetbrains.com/issue/KT-59673) K2:
incorrect error message
- [`KT-58578`](https://youtrack.jetbrains.com/issue/KT-58578) K2:
Commonize expect-actual logic between FIR and IR actualizer
- [`KT-54989`](https://youtrack.jetbrains.com/issue/KT-54989) FIR2IR:
fragile code in postfix op detection
- [`KT-59464`](https://youtrack.jetbrains.com/issue/KT-59464) K2:
Investigate cases of implicit type refs in Fir2IrImplicitCastInserter
- [`KT-53898`](https://youtrack.jetbrains.com/issue/KT-53898) K2: False
negative VAL_REASSIGNMENT on member vals
- [`KT-57641`](https://youtrack.jetbrains.com/issue/KT-57641) K2:
"java.lang.NoSuchFieldException: INSTANCE" in kotlin-reflect for
`KClass.objectInstance` on an anonymous object
- [`KT-59299`](https://youtrack.jetbrains.com/issue/KT-59299) \[K2] ISE
in IrBindablePublicSymbolBase.bind on equals function from companion of
serializable class
- [`KT-58844`](https://youtrack.jetbrains.com/issue/KT-58844) Incorrect
type mismatch error: "actual type is kotlin/Int but kotlin/Int was
expected"
- [`KT-59413`](https://youtrack.jetbrains.com/issue/KT-59413) K2:
Missing VALUE_CLASS_CANNOT_HAVE_CONTEXT_RECEIVERS
- [`KT-56173`](https://youtrack.jetbrains.com/issue/KT-56173) FIR:
IrGenerationExtensions cannot see default values from expect
declarations
- [`KT-59611`](https://youtrack.jetbrains.com/issue/KT-59611) FIR2IR:
Unsupported callable reference for enum entry with clashing name
- [`KT-59858`](https://youtrack.jetbrains.com/issue/KT-59858) Kotlin
Native: Compilation failed: Sequence contains more than one matching
element,
org.jetbrains.kotlin.backend.konan.lower.FunctionReferenceLowering$FunctionReferenceBuilder.buildClass(FunctionReferenceLowering.kt:644)
- [`KT-58539`](https://youtrack.jetbrains.com/issue/KT-58539) \[K2] Ir
actualization fails to match expect/actual declarations that use custom
function types
- [`KT-59775`](https://youtrack.jetbrains.com/issue/KT-59775)
'toString()' on Object returns different result with concatenation
- [`KT-59737`](https://youtrack.jetbrains.com/issue/KT-59737) K2: Actual
class 'actual class FastArrayList<E> : AbstractMutableList<E>,
MutableListEx<E>, RandomAccess' has no corresponding members for
expected class members because of different parameter names in Java
- [`KT-59613`](https://youtrack.jetbrains.com/issue/KT-59613) K2:
Unhandled intrinsic in ExpressionCodegen exception in for expect
function with default value in parameter
- [`KT-59216`](https://youtrack.jetbrains.com/issue/KT-59216) K2.
Unhelpful unresolved reference when inheriting from interface with
constructor call (K1 reports NO_CONSTRUCTOR instead)
- [`KT-59057`](https://youtrack.jetbrains.com/issue/KT-59057) Revise
muted tests for native backend
- [`KT-57377`](https://youtrack.jetbrains.com/issue/KT-57377) K2/MPP:
internal declarations from common module are inivisible for intermediate
modules during metadata compilation
- [`KT-59693`](https://youtrack.jetbrains.com/issue/KT-59693) MPP:
linkReleaseExecutableLinux fails with IllegalStateException: Drains have
not been painted properly
- [`KT-59362`](https://youtrack.jetbrains.com/issue/KT-59362) K2/MPP:
`.toByte()` conversion for const val causes SourceCodeAnalysisException:
java.lang.NullPointerException: null
- [`KT-51670`](https://youtrack.jetbrains.com/issue/KT-51670) FIR:
questionable behavior for deprecated String constructors
- [`KT-35314`](https://youtrack.jetbrains.com/issue/KT-35314)
StackOverflowError with nested try-finally and function with contracts
- [`KT-53460`](https://youtrack.jetbrains.com/issue/KT-53460) False
positive smartcast warning in if block after if block
- [`KT-40851`](https://youtrack.jetbrains.com/issue/KT-40851) False
MUST_BE_INITIALIZED_OR_BE_ABSTRACT error for a property which is
initialised in the init block
- [`KT-59695`](https://youtrack.jetbrains.com/issue/KT-59695) K2: false
negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE
- [`KT-41198`](https://youtrack.jetbrains.com/issue/KT-41198) False
positive “Variable must be initialized” with assignment in scope
function and safe call
- [`KT-58901`](https://youtrack.jetbrains.com/issue/KT-58901) K2. Value
parameter default values are not checked for type mismatch
- [`KT-48115`](https://youtrack.jetbrains.com/issue/KT-48115) Member
functions with type parameter and contract don't produce smartcasts
- [`KT-59541`](https://youtrack.jetbrains.com/issue/KT-59541) K2: Type
checking has run into a recursive problem on code that was compiling
with Language 1.9
- [`KT-58943`](https://youtrack.jetbrains.com/issue/KT-58943) K2:
Incorrect with K1 priority of "invokeExtension + implicit receiver"
candidate
- [`KT-37375`](https://youtrack.jetbrains.com/issue/KT-37375) \[FIR]
Incorrect invoke resolution
- [`KT-59789`](https://youtrack.jetbrains.com/issue/KT-59789) K2:
self-reference does not compile anymore
- [`KT-59286`](https://youtrack.jetbrains.com/issue/KT-59286) JVM IR
inline: local property not found
- [`KT-58823`](https://youtrack.jetbrains.com/issue/KT-58823) K2:
Android app crashes right after start: java.lang.NoSuchMethodError: No
virtual method findViewById(I)Landroid/view/View
- [`KT-57754`](https://youtrack.jetbrains.com/issue/KT-57754) K2: No
public signature built for the synthesized delegate field
- [`KT-58533`](https://youtrack.jetbrains.com/issue/KT-58533) K2: "Not
enough information to infer type variable T" for generic call in throw
expression
- [`KT-34846`](https://youtrack.jetbrains.com/issue/KT-34846) FIR Java:
enhance type parameter bounds properly
- [`KT-52043`](https://youtrack.jetbrains.com/issue/KT-52043) FIR:
FirValueParameter with SubstitutionOverride does not reference the
original FIR declaration
- [`KT-59291`](https://youtrack.jetbrains.com/issue/KT-59291) JVM IR
inline: unexpected result of `apiVersionIsAtLeast` invocation
- [`KT-59550`](https://youtrack.jetbrains.com/issue/KT-59550) K2:
synthetic property isn't seen through Java
- [`KT-59038`](https://youtrack.jetbrains.com/issue/KT-59038) \[K2]
IllegalStateException in mixed Java/Kotlin inheritance
- [`KT-59489`](https://youtrack.jetbrains.com/issue/KT-59489) K2: builld
spring-petclinic-kotlin
- [`KT-58908`](https://youtrack.jetbrains.com/issue/KT-58908) K2.
Internal error "kotlin.UninitializedPropertyAccessException: lateinit
property firType has not been initialized" on incomplete `is`
- [`KT-56755`](https://youtrack.jetbrains.com/issue/KT-56755) K2:
Investigate failures related to line numbers with LT compilation enabled
- [`KT-56139`](https://youtrack.jetbrains.com/issue/KT-56139) K2:
consider adding source element for implicit receivers
- [`KT-57489`](https://youtrack.jetbrains.com/issue/KT-57489) K2:
Incorrectly generated line numbers in companion object access inside
class
- [`KT-58947`](https://youtrack.jetbrains.com/issue/KT-58947) Run all
existing codegen box tests with kapt stub generation
- [`KT-58827`](https://youtrack.jetbrains.com/issue/KT-58827) K2 reports
ACTUAL_WITHOUT_EXPECT on the whole class
- [`KT-54917`](https://youtrack.jetbrains.com/issue/KT-54917) K2: ILT
leak from a completed generic call
- [`KT-56187`](https://youtrack.jetbrains.com/issue/KT-56187) K2: type
parameter's upper bound is ignored in callable references
- [`KT-56186`](https://youtrack.jetbrains.com/issue/KT-56186) K2: lack
of type arguments in type constructor is ignored in callable references
- [`KT-59356`](https://youtrack.jetbrains.com/issue/KT-59356) K2:
Restrict rules for matching of expect supertypes for actual class
- [`KT-57217`](https://youtrack.jetbrains.com/issue/KT-57217) K2:
NoSuchMethodError on `toChar` call on java inheritor of java.lang.Number
- [`KT-58356`](https://youtrack.jetbrains.com/issue/KT-58356) K2:
StackOverflowError with OptIn and Deprecated, while compiling Kotlin
project
- [`KT-57954`](https://youtrack.jetbrains.com/issue/KT-57954) K2.
Auto-generated "entries" member of enum class has higher priority than
user-declared companion object with same name when language version is
set to 2.0
- [`KT-59508`](https://youtrack.jetbrains.com/issue/KT-59508) K2: Make
sure that warnings-severity nullability annotations are not perceived as
reasons for nullability errors
- [`KT-53820`](https://youtrack.jetbrains.com/issue/KT-53820) FIR:
mismatching error message for invisible reference/member
- [`KT-58641`](https://youtrack.jetbrains.com/issue/KT-58641) K2:
PublishedApi has no effect when internal fun used in the test source set
- [`KT-59461`](https://youtrack.jetbrains.com/issue/KT-59461) K2:
Erroneous null check when returning not-null typealias to nullable type
- [`KT-58980`](https://youtrack.jetbrains.com/issue/KT-58980) K2: Import
of java field from companion's base breaks the compiler
- [`KT-59140`](https://youtrack.jetbrains.com/issue/KT-59140) K2:
"Symbol public final static field is invisible" caused by java static
field called in kotlin code
- [`KT-59501`](https://youtrack.jetbrains.com/issue/KT-59501) Escape
analysis constructs arrays of negative size
- [`KT-59452`](https://youtrack.jetbrains.com/issue/KT-59452)
apiVersionIsAtLeast calls in body of stdlib inline function may be
evaluated on compile-time
- [`KT-53967`](https://youtrack.jetbrains.com/issue/KT-53967) \[PL]
Classifiers: Turning interface from fun to non-fun + adding member
function causes Kotlin/JS fail: IAE: "Sequence contains more than one
matching element"
- [`KT-59346`](https://youtrack.jetbrains.com/issue/KT-59346) Not
working breakpoints on not initialized variables
- [`KT-55993`](https://youtrack.jetbrains.com/issue/KT-55993) Wrong
current pointer: strange behaviour of debugger or compiler when two IFs
and an uninitialized variable between them
- [`KT-58335`](https://youtrack.jetbrains.com/issue/KT-58335) K2:
Exposed typealias from implementation dependency produces type mismatch
in dependent module
- [`KT-58719`](https://youtrack.jetbrains.com/issue/KT-58719) K2:
false-positive INVISIBLE_REFERENCE error in case of importing an
internal abstract class
- [`KT-57694`](https://youtrack.jetbrains.com/issue/KT-57694) K2: False
positive \[NOTHING_TO_OVERRIDE] for a class overriding 'sort' method
from the List collection
- [`KT-58460`](https://youtrack.jetbrains.com/issue/KT-58460) K2. return
without argument became allowed for functions with return type Any
- [`KT-49249`](https://youtrack.jetbrains.com/issue/KT-49249) Incorrect
nullability inferred for Throwable
- [`KT-57429`](https://youtrack.jetbrains.com/issue/KT-57429) K2: Fix
computing a mangled name for members of a generic class that reference
the class's type parameters in their signature
- [`KT-57566`](https://youtrack.jetbrains.com/issue/KT-57566) K2: Fix
name mangling for functions that have dynamic type in their signature
- [`KT-57818`](https://youtrack.jetbrains.com/issue/KT-57818) K2: Fix
FirMangleComputer to not include the "special" package name into mangled
names of property accessors on non-JVM platforms
- [`KT-57777`](https://youtrack.jetbrains.com/issue/KT-57777) K2: Fix
computing a mangled name for the synthesized `entries` property getter
of an enum class
- [`KT-57433`](https://youtrack.jetbrains.com/issue/KT-57433) K2: Fix
computing a mangled name for top-level functions and properties
- [`KT-58553`](https://youtrack.jetbrains.com/issue/KT-58553) k2:
Annotation type arguments are lost in FIR2IR
- [`KT-58184`](https://youtrack.jetbrains.com/issue/KT-58184) K2: False
negative INVISIBLE_MEMBER on destructuring declaration
- [`KT-58637`](https://youtrack.jetbrains.com/issue/KT-58637) K2: False
negative ABSTRACT_MEMBER_NOT_IMPLEMENTED on Entry of Enum with abstract
member declaration
- [`KT-54952`](https://youtrack.jetbrains.com/issue/KT-54952)
JvmSerializationBindings does not work with K2
- [`KT-54844`](https://youtrack.jetbrains.com/issue/KT-54844)
FIR/Analysis API: create stubs for equals/hashCode/toString for data
classes in FIR
- [`KT-58555`](https://youtrack.jetbrains.com/issue/KT-58555) K2:
Generic property reference inside delegation misses type argument
- [`KT-57648`](https://youtrack.jetbrains.com/issue/KT-57648) FIR: move
deprecation calculation on COMPILER_REQUIRED_ANNOTATIONS phase
- [`KT-57049`](https://youtrack.jetbrains.com/issue/KT-57049) K2
generates duplicates of symbols/declarations
- [`KT-55723`](https://youtrack.jetbrains.com/issue/KT-55723) K2:
deprecations for enum entries are not resolved on the TYPES phase
- [`KT-59033`](https://youtrack.jetbrains.com/issue/KT-59033) Doesn’t
support vararg parameter in annotation instantiation with empty
arguments
- [`KT-58780`](https://youtrack.jetbrains.com/issue/KT-58780) JVM IR
inline: local property delegation is not working for K2
- [`KT-58779`](https://youtrack.jetbrains.com/issue/KT-58779) JVM IR
inline: correctly process special inlined block in value class lowering
- [`KT-58720`](https://youtrack.jetbrains.com/issue/KT-58720) Generate
full InnerClass attributes for the standard library
- [`KT-58215`](https://youtrack.jetbrains.com/issue/KT-58215) K2: JVM IR
produces line numbers for delegation bridges that ar

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzcuMzEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 11:16:52 +01:00
Nik Clayton f8877909ca
refactor: Log with Timber (#218)
Use Timber instead of `android.util.Log`. Removes the need for `TAG`
statics in companion objects, slightly simplifying the code. Opens the
door for some production logging in the future.
2023-11-04 22:22:44 +01:00
Nik Clayton 6b12ecfd7a
fix(deps): update androidx.room to v2.6.0 (#198)
Enable Kotlin code generation, and use the new room plugin to generate
schemas in a reproducible/cacheable way.
2023-10-25 18:39:31 +02:00
Nik Clayton 0730c0190b
refactor: Use ksp instead of kapt for Hilt (#181)
This removes all use of kapt from the project.
2023-10-18 15:02:17 +02:00
renovate[bot] 949faae051
chore(deps): update plugin ktlint to v11.6.1 (#166)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| org.jlleitschuh.gradle.ktlint | `11.6.0` -> `11.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jlleitschuh.gradle.ktlint/11.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jlleitschuh.gradle.ktlint/11.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jlleitschuh.gradle.ktlint/11.6.0/11.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jlleitschuh.gradle.ktlint/11.6.0/11.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuMTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-15 19:06:10 +02:00
renovate[bot] 277f19dbda
chore(deps): update hilt to v2.48.1 (#165)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.dagger.hilt.android](https://togithub.com/google/dagger) |
`2.48` -> `2.48.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger.hilt.android/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger.hilt.android/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger.hilt.android/2.48/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger.hilt.android/2.48/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.dagger:hilt-android-testing](https://togithub.com/google/dagger)
| `2.48` -> `2.48.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-android-testing/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-android-testing/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-android-testing/2.48/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-android-testing/2.48/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.google.dagger:hilt-compiler](https://togithub.com/google/dagger)
| `2.48` -> `2.48.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-compiler/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-compiler/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-compiler/2.48/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-compiler/2.48/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.google.dagger:hilt-android](https://togithub.com/google/dagger) |
`2.48` -> `2.48.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-android/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-android/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-android/2.48/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-android/2.48/2.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuMTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-15 18:56:57 +02:00
renovate[bot] ca06d46d32
fix(deps): update glide to v4.16.0 (#123)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.github.bumptech.glide:okhttp3-integration](https://togithub.com/bumptech/glide)
| `4.15.1` -> `4.16.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.github.bumptech.glide:okhttp3-integration/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.github.bumptech.glide:okhttp3-integration/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.github.bumptech.glide:okhttp3-integration/4.15.1/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.github.bumptech.glide:okhttp3-integration/4.15.1/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.github.bumptech.glide:glide](https://togithub.com/bumptech/glide)
| `4.15.1` -> `4.16.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.github.bumptech.glide:glide/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.github.bumptech.glide:glide/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.github.bumptech.glide:glide/4.15.1/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.github.bumptech.glide:glide/4.15.1/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.github.bumptech.glide:ksp](https://togithub.com/bumptech/glide) |
`4.15.1` -> `4.16.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.github.bumptech.glide:ksp/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.github.bumptech.glide:ksp/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.github.bumptech.glide:ksp/4.15.1/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.github.bumptech.glide:ksp/4.15.1/4.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>bumptech/glide
(com.github.bumptech.glide:okhttp3-integration)</summary>

###
[`v4.16.0`](https://togithub.com/bumptech/glide/releases/tag/v4.16.0):
Glide 4.16.0

This release focuses on some build improvements and Compose. The two
major Compose improvements are adding support for Compose specific
transitions (e.g. cross fade) and supporting recomposition based on
request state using `GlideSubcomposition`. There's also been a bunch of
internal refactoring to move away from Painters to Modifier nodes based
on feedback from the Compose team. This is still an alpha release of
Compose, but barring unexpectedly negative feedback, the next release
should be beta.

This should be the last release of Glide that targets Java 7. That
probably means our next release will be a major version change.

##### Features

- Allow passing an executor into ChromiumRequestSerializer in
[https://github.com/bumptech/glide/pull/5077](https://togithub.com/bumptech/glide/pull/5077)
- Allow host app to provide a way to clear all resources onStop() by
[@&#8203;osamaaftab](https://togithub.com/osamaaftab) in
[https://github.com/bumptech/glide/pull/5145](https://togithub.com/bumptech/glide/pull/5145)

##### Compose

- Add a Transition API and a CrossFade Transition for Compose by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5235](https://togithub.com/bumptech/glide/pull/5235)

- Influence layout using intrinsics in GlideNode by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5240](https://togithub.com/bumptech/glide/pull/5240)
\* Log instead of throwing parsing manifests to fix compose previews by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5167](https://togithub.com/bumptech/glide/pull/5167)

- Launch no more than one request per onRemembered by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5062](https://togithub.com/bumptech/glide/pull/5062)

- Remove GlidePainter in favor of Modifier nodes / Flows by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5230](https://togithub.com/bumptech/glide/pull/5230)

- Replace flows in GlideSubcomposition with a listener on GlideNode by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5238](https://togithub.com/bumptech/glide/pull/5238)

##### Bugs

- Read library glide module names from Java indexes by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5052](https://togithub.com/bumptech/glide/pull/5052)
- Fix typo. anay -> any in GlideSymbolProcessor.kt. by
[@&#8203;trevorhackman](https://togithub.com/trevorhackman) in
[https://github.com/bumptech/glide/pull/5029](https://togithub.com/bumptech/glide/pull/5029)
- Include URL in error log by
[@&#8203;paulsowden](https://togithub.com/paulsowden) in
[https://github.com/bumptech/glide/pull/5164](https://togithub.com/bumptech/glide/pull/5164)
- Add `isInitialized` visible for testing method by
[@&#8203;paulsowden](https://togithub.com/paulsowden) in
[https://github.com/bumptech/glide/pull/5163](https://togithub.com/bumptech/glide/pull/5163)
- Use onIdle to avoid a race in FlowTests by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5202](https://togithub.com/bumptech/glide/pull/5202)
- Add a isEquivalentTo method to correctly check equality by
[@&#8203;mori-atsushi](https://togithub.com/mori-atsushi) in
[https://github.com/bumptech/glide/pull/5232](https://togithub.com/bumptech/glide/pull/5232)
- Add
[@&#8203;RequiresPermission](https://togithub.com/RequiresPermission) to
NotificationTarget by
[@&#8203;TWiStErRob](https://togithub.com/TWiStErRob) in
[https://github.com/bumptech/glide/pull/5220](https://togithub.com/bumptech/glide/pull/5220)

##### Deprecations

- `placeholderOf(@&#8203;Composable)` in `GlideImage` is deprecated, use
`GlideSubcomposition` instead. Keep in mind that using either forces a
recomposition each time the state of the image load changes.
Recomposition will have a significant performance penalty in scrolling
lists and should be avoided.

##### Behavior Changes

- Hard code disabling hardware bitmaps on O/OMR1. by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5115](https://togithub.com/bumptech/glide/pull/5115)
- Do not set requireOriginal on Android photo picker uris. by
[@&#8203;phoenixli](https://togithub.com/phoenixli) in
[https://github.com/bumptech/glide/pull/5162](https://togithub.com/bumptech/glide/pull/5162)

##### Breaking Changes

##### Build Changes

- Add integration tests for ksp library modules. by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5054](https://togithub.com/bumptech/glide/pull/5054)
- Update README.md to use https by
[@&#8203;simoarpe](https://togithub.com/simoarpe) in
[https://github.com/bumptech/glide/pull/5058](https://togithub.com/bumptech/glide/pull/5058)
- Use dokka to build scripts/update_javadocs.sh by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5104](https://togithub.com/bumptech/glide/pull/5104)
- avif integration: Update libavif dependency by
[@&#8203;vigneshvg](https://togithub.com/vigneshvg) in
[https://github.com/bumptech/glide/pull/5128](https://togithub.com/bumptech/glide/pull/5128)
- Disable java 7 source obsolete warning. by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5168](https://togithub.com/bumptech/glide/pull/5168)
- Update mockito version to fix j16 compilation. by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5169](https://togithub.com/bumptech/glide/pull/5169)
- Switch Glide's dependencies to a version catalog. by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5183](https://togithub.com/bumptech/glide/pull/5183)
- Remove jetifier by [@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5184](https://togithub.com/bumptech/glide/pull/5184)
- Add an updated proguard plugin to compile on Java 17. by
[@&#8203;sjudd](https://togithub.com/sjudd) in
[https://github.com/bumptech/glide/pull/5185](https://togithub.com/bumptech/glide/pull/5185)
- Configure Renovate in
[https://github.com/bumptech/glide/pull/5186](https://togithub.com/bumptech/glide/pull/5186)
- Increment ROBOLECTRIC_SDK to 19 from 18. by
[@&#8203;brettchabot](https://togithub.com/brettchabot) in
[https://github.com/bumptech/glide/pull/5208](https://togithub.com/bumptech/glide/pull/5208)
and
[https://github.com/bumptech/glide/pull/5207](https://togithub.com/bumptech/glide/pull/5207)
- AGP: Upgrade AndroidManifest.xml's package to build.gradle's
namespace. by [@&#8203;TWiStErRob](https://togithub.com/TWiStErRob) in
[https://github.com/bumptech/glide/pull/5221](https://togithub.com/bumptech/glide/pull/5221)

##### New Contributors

- [@&#8203;trevorhackman](https://togithub.com/trevorhackman) made their
first contribution in
[https://github.com/bumptech/glide/pull/5029](https://togithub.com/bumptech/glide/pull/5029)
- [@&#8203;simoarpe](https://togithub.com/simoarpe) made their first
contribution in
[https://github.com/bumptech/glide/pull/5058](https://togithub.com/bumptech/glide/pull/5058)
- [@&#8203;paulsowden](https://togithub.com/paulsowden) made their first
contribution in
[https://github.com/bumptech/glide/pull/5164](https://togithub.com/bumptech/glide/pull/5164)
- [@&#8203;phoenixli](https://togithub.com/phoenixli) made their first
contribution in
[https://github.com/bumptech/glide/pull/5162](https://togithub.com/bumptech/glide/pull/5162)
- [@&#8203;osamaaftab](https://togithub.com/osamaaftab) made their first
contribution in
[https://github.com/bumptech/glide/pull/5145](https://togithub.com/bumptech/glide/pull/5145)
- [@&#8203;brettchabot](https://togithub.com/brettchabot) made their
first contribution in
[https://github.com/bumptech/glide/pull/5207](https://togithub.com/bumptech/glide/pull/5207)
- [@&#8203;mori-atsushi](https://togithub.com/mori-atsushi) made their
first contribution in
[https://github.com/bumptech/glide/pull/5232](https://togithub.com/bumptech/glide/pull/5232)

**Full Changelog**:
https://github.com/bumptech/glide/compare/v4.15.0...v4.16.0

Note - there's been a change in the gpg key used to sign these releases.
The new public key is attached

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjguMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2023-10-13 14:59:45 +02:00
renovate[bot] be78a7894b
fix(deps): update dependency androidx.browser:browser to v1.6.0 (#114)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.browser:browser](https://developer.android.com/jetpack/androidx/releases/browser#1.6.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.5.0` -> `1.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.browser:browser/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.browser:browser/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.browser:browser/1.5.0/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.browser:browser/1.5.0/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjguMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-13 14:45:02 +02:00
renovate[bot] b7e90dc313
fix(deps): update dependency androidx.core:core-ktx to v1.12.0 (#115)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.core:core-ktx](https://developer.android.com/jetpack/androidx/releases/core#1.12.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.10.1` -> `1.12.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.core:core-ktx/1.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.core:core-ktx/1.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.core:core-ktx/1.10.1/1.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.core:core-ktx/1.10.1/1.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjguMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-13 14:23:17 +02:00
renovate[bot] 33332cfc39
fix(deps): update dependency androidx.paging:paging-runtime-ktx to v3.2.1 (#102)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.paging:paging-runtime-ktx](https://developer.android.com/jetpack/androidx/releases/paging#3.2.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `3.2.0` -> `3.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.paging:paging-runtime-ktx/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.paging:paging-runtime-ktx/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.paging:paging-runtime-ktx/3.2.0/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.paging:paging-runtime-ktx/3.2.0/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjguMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-13 13:46:53 +02:00
renovate[bot] 7e9304869c
fix(deps): update androidx.lifecycle to v2.6.2 (#100)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.lifecycle:lifecycle-viewmodel-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.6.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.1` -> `2.6.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.6.1/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.6.1/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-reactivestreams-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.6.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.1` -> `2.6.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.6.1/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.6.1/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-livedata-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.6.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.1` -> `2.6.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.6.1/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.6.1/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-common-java8](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.6.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.1` -> `2.6.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-common-java8/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-common-java8/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-common-java8/2.6.1/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-common-java8/2.6.1/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjguMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-13 12:46:06 +02:00
renovate[bot] 4ca79e7844
chore(deps): update dependency com.android.application to v8.1.2 (#109)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.android.application](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.1.1` -> `8.1.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.application/8.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.application/8.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.application/8.1.1/8.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.application/8.1.1/8.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjAuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2023-10-13 12:28:17 +02:00
Nik Clayton 86de3be50d
chore(deps): update kotlin to v1.9.10 (#158) 2023-10-13 12:03:36 +02:00
Nik Clayton 38214648dd
refactor: Migrate from Dagger to Hilt (#143)
- Remove `Injectable` interface, use `@AndroidEntryPoint`
- Remove `DispatchingAndroidInjector`
- Remove `viewModelFactory`, use `@HiltViewModel`
- Create providers for the different DAOs, and inject those instead of
  `AppDatabase`
- Create provider for a database transaction, inject that instead of
  `AppDatabase`
- Update tests
2023-10-07 19:30:11 +02:00
Nik Clayton 50d9aedad9
chore(deps): Update to AGP 8.1.1 (#130) 2023-09-27 18:06:14 +02:00
renovate[bot] ad167bf293
chore(deps): update dependency androidx.preference:preference-ktx to v1.2.1 (#103)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.preference:preference-ktx](https://developer.android.com/jetpack/androidx/releases/preference#1.2.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.preference:preference-ktx/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.preference:preference-ktx/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.preference:preference-ktx/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.preference:preference-ktx/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM2LjEwNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 15:38:28 +02:00
renovate[bot] 334d5b9704
chore(deps): update dependency gradle to v8.3 (#110)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [gradle](https://gradle.org)
([source](https://togithub.com/gradle/gradle)) | minor | `8.1.1` ->
`8.3` |

---

### Release Notes

<details>
<summary>gradle/gradle (gradle)</summary>

### [`v8.3`](https://togithub.com/gradle/gradle/releases/tag/v8.3.0):
8.3

[Compare
Source](https://togithub.com/gradle/gradle/compare/v8.2.1...v8.3.0)

The Gradle team is excited to announce Gradle 8.3.

[Read the Release Notes](https://docs.gradle.org/8.3/release-notes.html)

We would like to thank the following community members for their
contributions to this release of Gradle:
[Adam](https://togithub.com/aSemy),
[Ahmed Ehab](https://togithub.com/ahmedehabb),
[Aurimas](https://togithub.com/liutikas),
[Baptiste Decroix](https://togithub.com/bdecroix-spiria),
[Björn Kautler](https://togithub.com/Vampire),
[Borewit](https://togithub.com/Borewit),
[Korov](https://togithub.com/Korov),
[Mohammed Thavaf](https://togithub.com/mthavaf),
[Patrick Brückner](https://togithub.com/madmuffin1),
[Philip Wedemann](https://togithub.com/hfhbd),
[Róbert Papp](https://togithub.com/TWiStErRob),
[Shi Chen](https://togithub.com/CsCherrYY),
[Tony Robalik](https://togithub.com/autonomousapps)

#### Upgrade instructions

Switch your build to use Gradle 8.3 by updating your wrapper:

    ./gradlew wrapper --gradle-version=8.3

#### Reporting problems

If you find a problem with this release, please file a bug on [GitHub
Issues](https://togithub.com/gradle/gradle/issues) adhering to our issue
guidelines.
If you're not sure you're encountering a bug, please use the
[forum](https://discuss.gradle.org/c/help-discuss).

We hope you will build happiness with Gradle, and we look forward to
your feedback via [Twitter](https://twitter.com/gradle) or on
[GitHub](https://togithub.com/gradle).

###
[`v8.2.1`](https://togithub.com/gradle/gradle/compare/v8.2.0...v8.2.1)

[Compare
Source](https://togithub.com/gradle/gradle/compare/v8.2.0...v8.2.1)

### [`v8.2`](https://togithub.com/gradle/gradle/releases/tag/v8.2.0):
8.2

[Compare
Source](https://togithub.com/gradle/gradle/compare/v8.1.1...v8.2.0)

The Gradle team is excited to announce Gradle 8.2.

Amongst other improvements, this release addresses two security
vulnerabilities:

- [Dependency cache path
traversal](https://togithub.com/gradle/gradle/security/advisories/GHSA-2h6c-rv6q-494v)
- [Path traversal vulnerabilities in handling of Tar
archives](https://togithub.com/gradle/gradle/security/advisories/GHSA-84mw-qh6q-v842)

[Read the Release Notes](https://docs.gradle.org/8.2/release-notes.html)

We would like to thank the following community contributors for their
contributions to this release of Gradle:

[Bruno Didot](https://togithub.com/didot),
[Eric Vantillard](https://togithub.com/evantill),
[esfomeado](https://togithub.com/esfomeado),
[Jendrik Johannes](https://togithub.com/jjohannes),
[Jonathan Leitschuh](https://togithub.com/JLLeitschuh),
[Lee Euije](https://togithub.com/euije),
[Stefan Oehme](https://togithub.com/oehme),
[Todor Dinev](https://togithub.com/tdinev),
[Yanshun Li](https://togithub.com/Chaoba)

#### Upgrade instructions

Switch your build to use Gradle 8.2 by updating your wrapper:

`./gradlew wrapper --gradle-version=8.2`

#### Reporting problems

If you find a problem with this release, please file a bug on [GitHub
Issues](https://togithub.com/gradle/gradle/issues) adhering to our issue
guidelines.
If you're not sure you're encountering a bug, please use the
[forum](https://discuss.gradle.org/c/help-discuss).

We hope you will build happiness with Gradle, and we look forward to
your feedback via [Twitter](https://twitter.com/gradle) or on
[GitHub](https://togithub.com/gradle).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM2LjEwNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 15:03:20 +02:00
renovate[bot] 4a42e40099
chore(deps): update plugin ktlint to v11.6.0 (#111)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| org.jlleitschuh.gradle.ktlint | `11.5.1` -> `11.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jlleitschuh.gradle.ktlint/11.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jlleitschuh.gradle.ktlint/11.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jlleitschuh.gradle.ktlint/11.5.1/11.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jlleitschuh.gradle.ktlint/11.5.1/11.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM2LjEwNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 14:52:56 +02:00
renovate[bot] 26a82d1df8
chore(deps): update autodispose to v2.2.1 (#112)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.uber.autodispose2:autodispose](https://togithub.com/uber/AutoDispose)
| `2.1.1` -> `2.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.uber.autodispose2:autodispose/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.uber.autodispose2:autodispose/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.uber.autodispose2:autodispose/2.1.1/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.uber.autodispose2:autodispose/2.1.1/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.uber.autodispose2:autodispose-androidx-lifecycle](https://togithub.com/uber/AutoDispose)
| `2.1.1` -> `2.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.uber.autodispose2:autodispose-androidx-lifecycle/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.uber.autodispose2:autodispose-androidx-lifecycle/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.uber.autodispose2:autodispose-androidx-lifecycle/2.1.1/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.uber.autodispose2:autodispose-androidx-lifecycle/2.1.1/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>uber/AutoDispose (com.uber.autodispose2:autodispose)</summary>

###
[`v2.2.1`](https://togithub.com/uber/AutoDispose/blob/HEAD/CHANGELOG.md#Version-221)

[Compare
Source](https://togithub.com/uber/AutoDispose/compare/2.2.0...2.2.1)

*2023-07-25*

- **Fix**: Don't hold a reference to the view if detach happens before
`DetachEventCompletable` is disposed.

###
[`v2.2.0`](https://togithub.com/uber/AutoDispose/blob/HEAD/CHANGELOG.md#Version-220)

[Compare
Source](https://togithub.com/uber/AutoDispose/compare/2.1.1...2.2.0)

*2023-07-23*

- **Fix**: Dispose the handle returned by `Job.invokeOnCompletion` when
Rx subscription is disposed.
- **Fix**: The `withScope()` lint now correctly handles different named
arguments order.
- **Fix**: Support kotlin if/when/lambda expressions in lint lenient
mode.
-   Update AndroidX Lifecycle to `2.6.1`.
-   Update Kotlin to `1.9.0`.
-   Update RxJava to `3.1.6`.
-   Update RxAndroid to `3.0.2`.
-   Update lint to `8.0.2`/`31.0.2`.
-   Update error-prone to `2.20.0`.
- Update dokka + fresh coat of paint on API docs on the project site:
https://uber.github.io/AutoDispose/api/2.x/

Special thanks to [@&#8203;alexfu](https://togithub.com/alexfu),
[@&#8203;sanggggg](https://togithub.com/sanggggg), and
[@&#8203;psteiger](https://togithub.com/@&#8203;psteiger) for
contributing to this release!

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM2LjEwNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 14:51:27 +02:00
renovate[bot] 09317fd89d
chore(deps): update dependency io.reactivex.rxjava3:rxjava to v3.1.7 (#107)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [io.reactivex.rxjava3:rxjava](https://togithub.com/ReactiveX/RxJava) |
`3.1.6` -> `3.1.7` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.reactivex.rxjava3:rxjava/3.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.reactivex.rxjava3:rxjava/3.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.reactivex.rxjava3:rxjava/3.1.6/3.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.reactivex.rxjava3:rxjava/3.1.6/3.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>ReactiveX/RxJava (io.reactivex.rxjava3:rxjava)</summary>

###
[`v3.1.7`](https://togithub.com/ReactiveX/RxJava/releases/tag/v3.1.7)


[Maven](http://search.maven.org/#artifactdetails%7Cio.reactivex.rxjava3%7Crxjava%7C3.1.7%7C)
[JavaDocs](http://reactivex.io/RxJava/3.x/javadoc/3.1.7)

##### API changes

- Add `onDropped` callback for `onBackpressureLatest`. (<a
href='https://github.com/ReactiveX/RxJava/issues/7542'>[#&#8203;7542](https://togithub.com/ReactiveX/RxJava/issues/7542)</a>)
- Add `onDropped` callback to `onBackpressureBuffer`. (<a
href='https://github.com/ReactiveX/RxJava/issues/7567'>[#&#8203;7567](https://togithub.com/ReactiveX/RxJava/issues/7567)</a>)

##### Documentation

- Change summary to caption, because summary is obsolete in HTML5. (<a
href='https://github.com/ReactiveX/RxJava/issues/7534'>[#&#8203;7534](https://togithub.com/ReactiveX/RxJava/issues/7534)</a>)
- Try using https to access the reactive streams javadoc. (<a
href='https://github.com/ReactiveX/RxJava/issues/7535'>[#&#8203;7535](https://togithub.com/ReactiveX/RxJava/issues/7535)</a>)
-   Improve Javadoc of `Disposable`.

##### Other

- Add minimum GitHub token permissions for workflows. (<a
href='https://github.com/ReactiveX/RxJava/issues/7541'>[#&#8203;7541](https://togithub.com/ReactiveX/RxJava/issues/7541)</a>)
- Create SECURITY.md (<a
href='https://github.com/ReactiveX/RxJava/issues/7546'>[#&#8203;7546](https://togithub.com/ReactiveX/RxJava/issues/7546)</a>)
- Add copyright and license to jar. (<a
href='https://github.com/ReactiveX/RxJava/issues/7520'>[#&#8203;7520](https://togithub.com/ReactiveX/RxJava/issues/7520)</a>)
- Convert `CompletableOnErrorComplete$onError` inner class to static.
(<a
href='https://github.com/ReactiveX/RxJava/issues/7575'>[#&#8203;7575](https://togithub.com/ReactiveX/RxJava/issues/7575)</a>)
- Allow null accumulator type in the `collect(Collector)` operators. (<a
href='https://github.com/ReactiveX/RxJava/issues/7590'>[#&#8203;7590](https://togithub.com/ReactiveX/RxJava/issues/7590)</a>)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM2LjEwNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 14:45:19 +02:00
renovate[bot] c0ae24ead1
chore(deps): update androidx.media3 to v1.1.1 (#101)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [androidx.media3:media3-ui](https://togithub.com/androidx/media) |
`1.1.0` -> `1.1.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-ui/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-ui/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-ui/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-ui/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-datasource-okhttp](https://togithub.com/androidx/media)
| `1.1.0` -> `1.1.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-datasource-okhttp/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-datasource-okhttp/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-datasource-okhttp/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-datasource-okhttp/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-rtsp](https://togithub.com/androidx/media)
| `1.1.0` -> `1.1.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-rtsp/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-rtsp/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-rtsp/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-rtsp/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-hls](https://togithub.com/androidx/media)
| `1.1.0` -> `1.1.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-hls/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-hls/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-hls/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-hls/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-dash](https://togithub.com/androidx/media)
| `1.1.0` -> `1.1.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-dash/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-dash/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-dash/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-dash/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer](https://togithub.com/androidx/media)
| `1.1.0` -> `1.1.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>androidx/media (androidx.media3:media3-ui)</summary>

###
[`v1.1.1`](https://togithub.com/androidx/media/blob/HEAD/RELEASENOTES.md#111-2023-08-14)

[Compare
Source](https://togithub.com/androidx/media/compare/1.1.0...1.1.1)

This release corresponds to the
[ExoPlayer 2.19.1
release](https://togithub.com/google/ExoPlayer/releases/tag/r2.19.1).

This release includes the following changes since the
[1.1.0 release](#&#8203;110-2023-07-05):

-   Common Library:
    -   Remove accidentally added `multidex` dependency from all modules
        ([#&#8203;499](https://togithub.com/androidx/media/issues/499)).
-   ExoPlayer:
- Fix issue in `PlaybackStatsListener` where spurious `PlaybackStats`
are
        created after the playlist is cleared.
- Add additional fields to Common Media Client Data (CMCD) logging:
streaming format (sf), stream type (st), version (v), top birate (tb),
object duration (d), measured throughput (mtp) and object type (ot)
([#&#8203;8699](https://togithub.com/google/ExoPlayer/issues/8699)).
-   Audio:
- Fix a bug where `Player.getState()` never transitioned to
`STATE_ENDED`
        when playing very short files
        ([#&#8203;538](https://togithub.com/androidx/media/issues/538)).
-   Audio Offload:
    -   Prepend Ogg ID Header and Comment Header Pages to bitstream for
        offloaded Opus playback in accordance with RFC 7845.
-   Video:
- H.265/HEVC: Fix parsing SPS short and long term reference picture
info.
-   Text:
- CEA-608: Change cue truncation logic to only consider visible text.
Previously indent and tab offset were included when limiting the cue
length to 32 characters (which was technically correct by the spec)
([#&#8203;11019](https://togithub.com/google/ExoPlayer/issues/11019)).
-   IMA extension:
    -   Bump IMA SDK version to 3.30.3.
-   Session:
- Add custom layout to the state of the controller and provide a getter
to
        access it. When the custom layout changes,
`MediaController.Listener.onCustomLayoutChanged` is called. Apps that
want to send different custom layouts to different Media3 controller can
        do this in `MediaSession.Callback.onConnect` by using an
`AcceptedResultBuilder` to make sure the custom layout is available to
        the controller when connection completes.
- Fix cases where `MediaLibraryServiceLegacyStub` sent an error to a
        `Result` that didn't support this which produced an
        `UnsupportedOperationException`
        ([#&#8203;78](https://togithub.com/androidx/media/issues/78)).
    -   Fix the way `PlayerWrapper` creates a `VolumeProviderCompat` by
        determining `volumeControlType` through both legacy commands
(`COMMAND_ADJUST_DEVICE_VOLUME` and `COMMAND_SET_DEVICE_VOLUME`) and new
        commands (`COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS` and
        `COMMAND_SET_DEVICE_VOLUME_WITH_FLAGS`)
        ([#&#8203;554](https://togithub.com/androidx/media/issues/554)).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM2LjEwNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 14:42:41 +02:00
renovate[bot] a2640230bd
chore(deps): update dependency com.github.mikeortiz:touchimageview to v3.6 (#117)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.github.MikeOrtiz:TouchImageView](https://togithub.com/MikeOrtiz/TouchImageView)
| `3.5` -> `3.6` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.github.MikeOrtiz:TouchImageView/3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.github.MikeOrtiz:TouchImageView/3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.github.MikeOrtiz:TouchImageView/3.5/3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.github.MikeOrtiz:TouchImageView/3.5/3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>MikeOrtiz/TouchImageView
(com.github.MikeOrtiz:TouchImageView)</summary>

###
[`v3.6`](https://togithub.com/MikeOrtiz/TouchImageView/releases/tag/3.6)

[Compare
Source](https://togithub.com/MikeOrtiz/TouchImageView/compare/3.5...3.6)

<!-- Release notes generated using configuration in .github/release.yml
at 3.6 -->

#### What's Changed

##### Exciting New Features 🎉

- api34 by [@&#8203;hannesa2](https://togithub.com/hannesa2) in
[https://github.com/MikeOrtiz/TouchImageView/pull/555](https://togithub.com/MikeOrtiz/TouchImageView/pull/555)

##### Other Changes

- Bump androidx.recyclerview:recyclerview from 1.3.0 to 1.3.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/MikeOrtiz/TouchImageView/pull/546](https://togithub.com/MikeOrtiz/TouchImageView/pull/546)
- Bump Kotlin 1.9 by [@&#8203;hannesa2](https://togithub.com/hannesa2)
in
[https://github.com/MikeOrtiz/TouchImageView/pull/548](https://togithub.com/MikeOrtiz/TouchImageView/pull/548)
- Bump com.github.bumptech.glide:glide from 4.15.1 to 4.16.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/MikeOrtiz/TouchImageView/pull/549](https://togithub.com/MikeOrtiz/TouchImageView/pull/549)
- Bump kotlin_version from 1.9.0 to 1.9.10 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/MikeOrtiz/TouchImageView/pull/551](https://togithub.com/MikeOrtiz/TouchImageView/pull/551)
- Bump actions/checkout from 3 to 4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/MikeOrtiz/TouchImageView/pull/553](https://togithub.com/MikeOrtiz/TouchImageView/pull/553)
- Fix compileSdk deprecation by
[@&#8203;hannesa2](https://togithub.com/hannesa2) in
[https://github.com/MikeOrtiz/TouchImageView/pull/556](https://togithub.com/MikeOrtiz/TouchImageView/pull/556)
- Remove Froyo method by
[@&#8203;hannesa2](https://togithub.com/hannesa2) in
[https://github.com/MikeOrtiz/TouchImageView/pull/557](https://togithub.com/MikeOrtiz/TouchImageView/pull/557)
- Bump com.android.tools.build:gradle from 8.1.0 to 8.1.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/MikeOrtiz/TouchImageView/pull/550](https://togithub.com/MikeOrtiz/TouchImageView/pull/550)
- Bump androidx.core:core-ktx from 1.10.1 to 1.12.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/MikeOrtiz/TouchImageView/pull/552](https://togithub.com/MikeOrtiz/TouchImageView/pull/552)

**Full Changelog**:
https://github.com/MikeOrtiz/TouchImageView/compare/3.5...3.6

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM2LjEwNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2023-09-27 12:10:49 +02:00
Nik Clayton c5a5540467
refactor: Remove rxjava3 from Mastodon API spec (#128)
Remove the rxjava3 `Single` type from the MastodonAPI definition,
replacing with `Response` or `NetworkResult` as appropriate.

Update callsites and tests as appropriate.

This removes the need for `com.squareup.retrofit2:adapter-rxjava3`
2023-09-27 11:35:55 +02:00
Nik Clayton 811856a3b6
fix: Fix crash on entering MainActivity on Pixel C devices (#25)
First crash appeared to be caused by a failure to find the
`attr/colorBackgroundAccent` colour from the theme.

It wasn't clear why the attribute could not be found, so to fix it was
simpler to remove the color and attribute entirely, and replace it with
something more appropriate from the Material 3 tokens.

- Preview cards are stroked with `colorOutline`
- Poll options use `colorPrimary` (user's vote) or `colorSecondary`
  (other choices) with appropriate text colours.
- Links in link preview cards use `android:attr/textColorLink`
- The placeholder icon in preview cards uses `?android/textColorLink`
- Remove it from `help_message_background`, and stroke with
  `?colorOutline`

Doing this I discovered several places where a colour was being
specified unnecessarily, those have been removed.

To make it easier to understand the theme hierarchy that has been
collapsed and renamed to follow Android conventions.

- AppTheme -> Base.Theme.Pachli
- BaseTheme -> Theme.Pachli
- DefaultTheme has been removed as unnecessary

This unearthed a second crash, where `attr/actionBarSizeWithSubtitle`
was not found.

To fix that create an explicit style for toolbars that need it, and
apply the style (`Pachli.Widget.Toolbar`).

This also surfaced a third problem, where the `fragment_timeline*`
layouts had not been updated in `layout-sw640dp`, so those have been
updated to reflect the same views/IDs as the default `fragment_timeline`
layout.

These changes caused a small chain of "unused resource" lint errors,
which have been fixed by removing the unused colours.

The Android Material libraries were also being implicitly depended on
through other library imports instead of being explicit. So include
them as an explicit dependency.

Fixes #18
2023-09-11 13:54:29 +02:00
Nik Clayton dfc16c0351
fix: Ensure third party code is properly credited
The previous code did not credit all third party code used in the app,
or provide access to the licenses.

Fix this by adopting the "aboutlibraries" library, which processes
dependencies at build time and generates a list of dependencies,
versions, and license information to display to the user.

Use this to also ensure that the non-source dependencies (artwork,
emoji) are given appropriate credit.
2023-09-04 20:22:07 +02:00
renovate[bot] 13399d8737
Update dependency org.mockito.kotlin:mockito-kotlin to v5.1.0 (#3947)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[org.mockito.kotlin:mockito-kotlin](https://togithub.com/mockito/mockito-kotlin)
| `5.0.0` -> `5.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.mockito.kotlin:mockito-kotlin/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.mockito.kotlin:mockito-kotlin/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.mockito.kotlin:mockito-kotlin/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.mockito.kotlin:mockito-kotlin/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>mockito/mockito-kotlin
(org.mockito.kotlin:mockito-kotlin)</summary>

###
[`v5.1.0`](https://togithub.com/mockito/mockito-kotlin/releases/tag/5.1.0)

[Compare
Source](https://togithub.com/mockito/mockito-kotlin/compare/5.0.0...5.1.0)

<sup><sup>*Changelog generated by [Shipkit Changelog Gradle
Plugin](https://togithub.com/shipkit/shipkit-changelog)*</sup></sup>

##### 5.1.0

- 2023-08-09 - [3
commit(s)](https://togithub.com/mockito/mockito-kotlin/compare/5.0.0...5.1.0)
by Hunter Werlla, Lukáš Křečan, Tim van der Lippe
- Also run release job on 5.x tags
[(#&#8203;491)](https://togithub.com/mockito/mockito-kotlin/pull/491)
- [#&#8203;474](https://togithub.com/mockito/mockito-kotlin/issues/474)
Fix vararg argument matcher
[(#&#8203;490)](https://togithub.com/mockito/mockito-kotlin/pull/490)
- Fix issue
[#&#8203;480](https://togithub.com/mockito/mockito-kotlin/issues/480) by
widening the allowed types for lenient().whenever()
[(#&#8203;485)](https://togithub.com/mockito/mockito-kotlin/pull/485)
- lenient().whenever() reports type mismatch TypeVariable(T) was
expected
[(#&#8203;480)](https://togithub.com/mockito/mockito-kotlin/issues/480)
- Mockito 5.0 breaks vararg argument capture in Kotlin
[(#&#8203;474)](https://togithub.com/mockito/mockito-kotlin/issues/474)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40MC4zIiwidXBkYXRlZEluVmVyIjoiMzYuNDAuMyIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-13 23:35:19 +02:00
Nik Clayton 8529f309ff
Migrate to androidx-media3 video player (#3857)
Behaviour is consistent with previous player except that:

- Swapping apps while a video is playing, and then returning to Tusky,
will keep the seek position in the video instead of returning to the
start
- The controls/media description can be shown by tapping anywhere, not
just on the video itself
- The media description is on-screen for the same duration as the player
controls (5 seconds here, 3 seconds in the previous code)
- The user has options to control the playback speed
- Rotating the device does not squash/stretch the video
- Show the media preview when playing audio-only files

Fixes https://github.com/tuskyapp/Tusky/issues/3329,
https://github.com/tuskyapp/Tusky/issues/3141,
https://github.com/tuskyapp/Tusky/issues/3126,
https://github.com/tuskyapp/Tusky/issues/2753,
https://github.com/tuskyapp/Tusky/issues/3508,
https://github.com/tuskyapp/Tusky/issues/3291

---------

Co-authored-by: mcc <andi.m.mcclure@gmail.com>
2023-08-10 19:31:55 +02:00
renovate[bot] 468de28ac6
Update plugin ktlint to v11.5.1 (#3941)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| org.jlleitschuh.gradle.ktlint | `11.5.0` -> `11.5.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jlleitschuh.gradle.ktlint/11.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jlleitschuh.gradle.ktlint/11.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jlleitschuh.gradle.ktlint/11.5.0/11.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jlleitschuh.gradle.ktlint/11.5.0/11.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yNy4xIiwidXBkYXRlZEluVmVyIjoiMzYuMjcuMSIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-08 01:56:00 +02:00
renovate[bot] 2e6ddbcbee
Update plugin google-ksp to v1.9.0-1.0.13 (#3913)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `1.9.0-1.0.12` ->
`1.9.0-1.0.13` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/1.9.0-1.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/1.9.0-1.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/1.9.0-1.0.12/1.9.0-1.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/1.9.0-1.0.12/1.9.0-1.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>google/ksp (com.google.devtools.ksp)</summary>

###
[`v1.9.0-1.0.13`](https://togithub.com/google/ksp/releases/tag/1.9.0-1.0.13)

[Compare
Source](https://togithub.com/google/ksp/compare/1.9.0-1.0.12...1.9.0-1.0.13)

##### Issues fixed

- Fixed an issue in KSP Gradle plugin where KMP source set is not set
correctly.
- Fixed an issue in incremental building where timestamp for generated
java sources are incorrect.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yNy4xIiwidXBkYXRlZEluVmVyIjoiMzYuMjcuMSIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-04 13:08:04 +02:00
renovate[bot] 561af5f105
Update dependency com.github.MikeOrtiz:TouchImageView to v3.5 (#3914)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.github.MikeOrtiz:TouchImageView](https://togithub.com/MikeOrtiz/TouchImageView)
| `3.4` -> `3.5` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.github.MikeOrtiz:TouchImageView/3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.github.MikeOrtiz:TouchImageView/3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.github.MikeOrtiz:TouchImageView/3.4/3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.github.MikeOrtiz:TouchImageView/3.4/3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>MikeOrtiz/TouchImageView
(com.github.MikeOrtiz:TouchImageView)</summary>

###
[`v3.5`](https://togithub.com/MikeOrtiz/TouchImageView/releases/tag/3.5)

[Compare
Source](https://togithub.com/MikeOrtiz/TouchImageView/compare/3.4...3.5)

<!-- Release notes generated using configuration in .github/release.yml
at 3.5 -->

#### What's Changed

##### Exciting New Features 🎉

- Java 17 by [@&#8203;hannesa2](https://togithub.com/hannesa2) in
[https://github.com/MikeOrtiz/TouchImageView/pull/541](https://togithub.com/MikeOrtiz/TouchImageView/pull/541)
- Android Studio Flamingo by
[@&#8203;hannesa2](https://togithub.com/hannesa2) in
[https://github.com/MikeOrtiz/TouchImageView/pull/542](https://togithub.com/MikeOrtiz/TouchImageView/pull/542)
- Android Studio Giraffe by
[@&#8203;hannesa2](https://togithub.com/hannesa2) in
[https://github.com/MikeOrtiz/TouchImageView/pull/547](https://togithub.com/MikeOrtiz/TouchImageView/pull/547)

##### Other Changes

- Bump gradle/wrapper-validation-action from 1.0.6 to 1.1.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/MikeOrtiz/TouchImageView/pull/544](https://togithub.com/MikeOrtiz/TouchImageView/pull/544)

**Full Changelog**:
https://github.com/MikeOrtiz/TouchImageView/compare/3.4...3.5

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yNy4xIiwidXBkYXRlZEluVmVyIjoiMzYuMjcuMSIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-03 12:19:50 +02:00
Goooler 40bd95d752
Kotlin 1.9.0 (#3835)
Update to Kotlin 1.9.0 and migrate to newer language idioms.

- Remove unnecessary @OptIn for features migrated to mainstream
- Use `data object` where appropriate
- Use new enum `entries` property
2023-08-02 09:04:24 +02:00
Nik Clayton 79ee2dc32c
Fix image zoom / pan / scroll / swipe (#3894)
Migrate to touchimageview from photoview, and adjust the touch logic to correctly handle single finger drag, two finger pinch/stretch, flings, taps, and swipes.

As before, the features are:

- Single tap, show/hide controls and media description
- Double tap, zoom in/out
- Single finger drag up/down, scale/translate image, dismiss if scrolled too far
- Single finger drag left/right
  - When not zoomed, swipe to next image if multiple images present
- When zoomed, scroll to edge of image, then to next image if multiple images present
- Two finger pinch/zoom, zoom in/out on the image

Behaviour differences to previous code

1. Bug fix: The image can't get "stuck" when zoomed, and impossible to scroll
2. Bug fix: Pinching is not mis-interpreted as a fling, closing the image
3. Bug fix: The zoom state of images is not lost or misinterpreted when the user swipes through multiple images
4. Bug fix: Double-tap zooms all the way, instead of stopping
5. Tapping outside the image does not dismiss it, controls and description show/hide

Fixes https://github.com/tuskyapp/Tusky/issues/3562, https://github.com/tuskyapp/Tusky/issues/2297
2023-07-31 12:44:01 +02:00
Nik Clayton 839d8bcc04
Migrate to AGP 8.0.2 / Android Studio Flamingo / Java 17 (#3541)
- Update AGP in version catalog to 8.0.2
- Set Java version to 17
- Enable non-final resource IDs
2023-07-30 15:50:04 +02:00
renovate[bot] 41fc480ef7
Update androidx.room to v2.5.2 (#3768)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.room:room-testing](https://developer.android.com/jetpack/androidx/releases/room#2.5.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.5.1` -> `2.5.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.room:room-testing/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.room:room-testing/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.room:room-testing/2.5.1/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.room:room-testing/2.5.1/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.room:room-ktx](https://developer.android.com/jetpack/androidx/releases/room#2.5.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.5.1` -> `2.5.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.room:room-ktx/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.room:room-ktx/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.room:room-ktx/2.5.1/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.room:room-ktx/2.5.1/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.room:room-paging](https://developer.android.com/jetpack/androidx/releases/room#2.5.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.5.1` -> `2.5.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.room:room-paging/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.room:room-paging/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.room:room-paging/2.5.1/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.room:room-paging/2.5.1/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.room:room-compiler](https://developer.android.com/jetpack/androidx/releases/room#2.5.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.5.1` -> `2.5.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.room:room-compiler/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.room:room-compiler/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.room:room-compiler/2.5.1/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.room:room-compiler/2.5.1/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMzEuMCIsInVwZGF0ZWRJblZlciI6IjM2LjguMTEiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-29 15:55:54 +02:00
renovate[bot] 8d612375e5
Update dependency androidx.paging:paging-runtime-ktx to v3.2.0 (#3887)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.paging:paging-runtime-ktx](https://developer.android.com/jetpack/androidx/releases/paging#3.2.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `3.1.1` -> `3.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.paging:paging-runtime-ktx/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.paging:paging-runtime-ktx/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.paging:paging-runtime-ktx/3.1.1/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.paging:paging-runtime-ktx/3.1.1/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMS4wIiwidXBkYXRlZEluVmVyIjoiMzYuMTEuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-26 23:30:41 +02:00
renovate[bot] 0694764b33
Update dependency androidx.fragment:fragment-ktx to v1.6.1 (#3884)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.fragment:fragment-ktx](https://developer.android.com/jetpack/androidx/releases/fragment#1.6.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.6.0` -> `1.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.fragment:fragment-ktx/1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.fragment:fragment-ktx/1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.fragment:fragment-ktx/1.6.0/1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.fragment:fragment-ktx/1.6.0/1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMS4wIiwidXBkYXRlZEluVmVyIjoiMzYuMTEuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-26 22:55:31 +02:00
renovate[bot] 0b01efed5e
Update coroutines to v1.7.3 (#3879)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-test](https://togithub.com/Kotlin/kotlinx.coroutines)
| `1.7.2` -> `1.7.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.7.2/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.7.2/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-rx3](https://togithub.com/Kotlin/kotlinx.coroutines)
| `1.7.2` -> `1.7.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-rx3/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-rx3/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-rx3/1.7.2/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-rx3/1.7.2/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-android](https://togithub.com/Kotlin/kotlinx.coroutines)
| `1.7.2` -> `1.7.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.7.2/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.7.2/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>Kotlin/kotlinx.coroutines
(org.jetbrains.kotlinx:kotlinx-coroutines-test)</summary>

###
[`v1.7.3`](https://togithub.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-173)

[Compare
Source](https://togithub.com/Kotlin/kotlinx.coroutines/compare/1.7.2...1.7.3)

- Disabled the publication of the multiplatform library metadata for the
old (1.6 and earlier) KMP Gradle plugin
([#&#8203;3809](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3809)).
- Fixed a bug introduced in 1.7.2 that disabled the coroutine debugger
in IDEA
([#&#8203;3822](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3822)).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMS4wIiwidXBkYXRlZEluVmVyIjoiMzYuMTEuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-26 15:52:28 +02:00
renovate[bot] 669c336215
Update dagger to v2.47 (#3851)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.dagger:dagger](https://togithub.com/google/dagger) |
`2.46.1` -> `2.47` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:dagger/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:dagger/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:dagger/2.46.1/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:dagger/2.46.1/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.dagger:dagger-compiler](https://togithub.com/google/dagger)
| `2.46.1` -> `2.47` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:dagger-compiler/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:dagger-compiler/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:dagger-compiler/2.46.1/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:dagger-compiler/2.46.1/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.dagger:dagger-android-support](https://togithub.com/google/dagger)
| `2.46.1` -> `2.47` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:dagger-android-support/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:dagger-android-support/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:dagger-android-support/2.46.1/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:dagger-android-support/2.46.1/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.dagger:dagger-android-processor](https://togithub.com/google/dagger)
| `2.46.1` -> `2.47` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:dagger-android-processor/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:dagger-android-processor/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:dagger-android-processor/2.46.1/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:dagger-android-processor/2.46.1/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.google.dagger:dagger-android](https://togithub.com/google/dagger)
| `2.46.1` -> `2.47` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:dagger-android/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:dagger-android/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:dagger-android/2.46.1/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:dagger-android/2.46.1/2.47?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41LjMiLCJ1cGRhdGVkSW5WZXIiOiIzNi44LjExIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-19 09:41:53 +02:00
Goooler 060513508d
Migrate Glide compiler to KSP (#3791) 2023-07-11 15:34:14 +02:00
renovate[bot] a71ed0a813 Update plugin ktlint to v11.5.0 2023-07-05 10:48:56 +02:00
renovate[bot] 481bd513a3 Update coroutines to v1.7.2 2023-07-05 10:48:32 +02:00
renovate[bot] 2b1d707810 Update dependency app.cash.turbine:turbine to v1 2023-07-05 10:47:31 +02:00
Nik Clayton 22a95d927a
Remove obsolete comment re truth 1.1.4 (#3785) 2023-07-02 21:35:28 +02:00
Nik Clayton 25376170c2
Migrate "room" from "kapt" to "ksp" (#3777)
- Add ksp plugin
- Switch room to use ksp instead of kapt
- `ArrayList` -> `List` in a few places to fix errors about unbound generics
2023-06-29 18:37:46 +02:00
renovate[bot] 93cc1e6410 Update dependency com.google.truth:truth to v1.1.5 2023-06-29 10:26:36 +02:00
renovate[bot] 99a04da845 Update plugin ktlint to v11.4.2 2023-06-29 10:24:21 +02:00
renovate[bot] d57673d921
Update plugin ktlint to v11.4.1 (#3766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-22 17:13:05 +02:00
Nik Clayton 4025ab35ff
Move cache pruning to a WorkManager worker (#3649)
- Extend what was `NotificationWorkerFactory` to `WorkerFactory`. This
  can construct arbitrary Workers as long as they provide their own
  Factory for construction.

  The per-Worker factory contains any injected components just for that
  worker type, keeping `WorkerFactory` clean.

- Move `NotificationWorkerFactory` to the new model.

- Implement `PruneCacheWorker`, and remove the code from
 `CachedTimelineViewModel`.

- Create the periodic worker in `TuskyApplication`, ensuring that the
  database is only pruned when the device is idle.
2023-06-11 13:17:30 +02:00
Nik Clayton 8e87b5d465
Downgrade Truth library to 1.1.3 (#3733)
It bundles Guava 32.0.0 which has a bug on Windows where temporary directories can't be created, causing tests to fail.

See https://github.com/google/truth/issues/1137 and https://github.com/google/guava/issues/6535
2023-06-10 22:31:59 +02:00
renovate[bot] dd1020e48a
Update dependency org.mockito.kotlin:mockito-kotlin to v5 (#3724)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-10 16:25:43 +02:00
renovate[bot] 020d427f0a
Update dependency androidx.fragment:fragment-ktx to v1.6.0 (#3722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-10 15:44:25 +02:00
renovate[bot] 1d3e781f14
Update dependency com.google.truth:truth to v1.1.4 (#3721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-10 15:06:36 +02:00
renovate[bot] 1278c5e0ec
Update dependency androidx.core:core-ktx to v1.10.1 (#3704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-09 22:26:52 +02:00
renovate[bot] 129d07c49b
Update dependency androidx.activity:activity-ktx to v1.7.2 (#3703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-09 21:14:15 +02:00
renovate[bot] b5c9fefda8
Update dependency app.cash.turbine:turbine to v0.13.0 (#3677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-09 20:20:21 +02:00
renovate[bot] e4fc80db54
Update coroutines to v1.7.1 (#3627)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-09 19:54:03 +02:00
renovate[bot] 8a8c587979
Update dependency com.google.android.material:material to v1.9.0 (#3624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-09 17:23:09 +02:00
renovate[bot] cd2e3038aa
Update dependency org.robolectric:robolectric to v4.10.3 (#3613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-09 15:47:35 +02:00
renovate[bot] bf35c0e36f
Update dagger to v2.46.1 (#3592)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-09 15:12:00 +02:00
renovate[bot] 192c6979c6
Update plugin ktlint to v11.4.0 (#3573)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-09 14:21:17 +02:00
renovate[bot] c78c06c30b
Update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v1.8.22 (#3569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-09 14:19:05 +02:00
Konrad Pozniak 7a832836d4
Downgrade apng library to 2.23.0 (#3676)
Fixes https://github.com/tuskyapp/Tusky/issues/3631
2023-05-19 13:30:57 +02:00
renovate[bot] 683bdeaeab
fix(deps): update okhttp to v4.11.0 2023-04-23 02:39:55 +00:00
renovate[bot] 3d67e6a9ff
chore(deps): update dependency gradle to v8.1.1 2023-04-21 13:48:29 +00:00
renovate[bot] 3cb9acfae8
fix(deps): update dependency androidx.core:core-ktx to v1.10.0 (#3515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-20 19:51:01 +02:00
renovate[bot] 3557a314bc
fix(deps): update dependency org.robolectric:robolectric to v4.10 (#3522)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-20 19:50:51 +02:00
renovate[bot] 1988c36c4d
chore(deps): update dependency gradle to v8.1 (#3528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-20 19:13:37 +02:00
renovate[bot] cdbf7a2843
fix(deps): update dependency androidx.activity:activity-ktx to v1.7.1 (#3547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-20 19:11:24 +02:00
renovate[bot] 8570e61eb7
fix(deps): update dependency androidx.core:core-splashscreen to v1.0.1 (#3548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-20 19:11:13 +02:00
renovate[bot] 290b91aaf6
fix(deps): update dependency androidx.fragment:fragment-ktx to v1.5.7 (#3549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-20 19:10:23 +02:00
renovate[bot] 85afdeed2d
chore(deps): update dependency org.jetbrains.kotlin.android to v1.8.20 (#3500)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-08 11:15:15 +02:00
renovate[bot] c4c171f4a3
fix(deps): update dependency app.cash.turbine:turbine to v0.12.3 (#3496)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 19:31:08 +02:00
renovate[bot] 57ed98f305
fix(deps): update emoji2 to v1.3.0 (#3484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 19:24:05 +02:00
renovate[bot] 5b6389d4ae
fix(deps): update dependency androidx.activity:activity-ktx to v1.7.0 (#3483)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 18:52:53 +02:00
renovate[bot] de5b72e472
fix(deps): update androidx-work to v2.8.1 (#3482)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-24 18:21:05 +01:00
renovate[bot] 057d38bc5f
fix(deps): update androidx-room to v2.5.1 (#3481)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-24 16:58:14 +01:00
renovate[bot] 444a1c0e48
fix(deps): update dependency androidx.lifecycle:lifecycle-reactivestreams-ktx to v2.6.1 (#3479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-22 22:01:21 +01:00
renovate[bot] 2e138dbbe3
fix(deps): update dependency androidx.fragment:fragment-ktx to v1.5.6 (#3478)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-22 22:01:12 +01:00
renovate[bot] 7f7afb3e46
fix(deps): update dependency androidx.recyclerview:recyclerview to v1.3.0 (#3424)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-21 20:08:43 +01:00
renovate[bot] 84188ed10f
fix(deps): update glide to v4.15.1 (#3449)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-18 10:12:07 +01:00
Konrad Pozniak bab178166d
update AndroidX lifecycle to 2.6.0, fix deprecation (#3443) 2023-03-13 13:16:49 +01:00
Konrad Pozniak d839f18267
update ktlint plugin to 11.3.1, format code (#3442) 2023-03-13 13:16:39 +01:00
renovate[bot] f309c7750f
fix(deps): update dependency org.mockito:mockito-inline to v5.2.0 (#3428)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-13 10:20:08 +01:00
Nik Clayton 81116f2df3
Update Robolectric to 4.9.2 (#3422) 2023-03-13 10:18:41 +01:00
Nik Clayton b9be125c95
Show the difference between edited statuses (#3314)
* Show the difference between edited statuses

Diff each status against the previous version, comparing the different
HTML as XML to produce a structured diff.

Mark new content with `<ins>`, deleted content with `<del>`.

Convert these to styled spans in `ViewEditsAdapter`.

* Update diffx to 1.1.1

Fixes issue with diffs splitting on accented characters

* Style edited strings with Android spans

Don't use HTML spans and try and format them, create real Android spans.

Do this with a custom tag handler that can add custom spans that set the
text paint appropriately.

* Lint

* Move colors in to theme_colors.xml

* Draw a roundrect for the backoround, add start/end padding

Make the background slightlysofter by drawing it as a roundrect.

Make the spans easier to understand by padding the start/end of each one with
the width of a " " character. This is visual only, the underlying text is not
changed.

* Catch exceptions when parsing XML

* Move sorting in to Dispatchers.Default coroutine

* Scope the loader type

* Remove alpha
2023-03-10 20:30:55 +01:00
Nik Clayton 4d401c7878
Convert NotificationsFragment and related code to Kotlin, use the Paging library (#3159)
* Unmodified output from "Convert Java to Kotlin" on NotificationsFragment.java

* Bare minimum changes to get this to compile and run

- Use `lateinit` for `eventhub`, `adapter`, `preferences`, and `scrolllistener`
- Removed override for accountManager, it can be used from the superclass
- Add `?.` where non-nullity could not (yet) be guaranteed
- Remove `?` from type lists where non-nullity is guaranteed
- Explicitly convert lists to mutable where necessary
- Delete unused function `findReplyPosition`

* Remove all unnecessary non-null (!!) assertions

The previous change meant some values are no longer nullable. Remove the
non-null assertions.

* Lint ListStatusAccessibilityDelegate call

- Remove redundant constructor
- Move block outside of `()`

* Use `let` when handling compose button visibility on scroll

* Replace a `requireNonNull` with `!!`

* Remove redundant return values

* Remove or rename unused lambda parameters

* Remove unnecessary type parameters

* Remove unnecessary null checks

* Replace cascading-if statement with `when`

* Simplify calculation of `topId`

* Use more appropriate list properties and methods

- Access the last value with `.last()`
- Access the last index with `.lastIndex`
- Replace logical-chain with `asRightOrNull` and `?.`
- `.isNotEmpty()`, not `!...isEmpty()`

* Inline unnecessary variable

* Use PrefKeys constants instead of bare strings

* Use `requireContext()` instead of `context!!`

* Replace deprecated `onActivityCreated()` with `onViewCreated()`

* Remove unnecessary variable setting

* Replace `size == 0` check with `isEmpty()`

* Format with ktlint, no functionality changes

* Convert NotifcationsAdapter to Kotlin

Does not compile, this is the unchanged output of the "Convert to Kotlin"
function

* Minimum changes to get NotificationsAdapter to compile

* Remove unnecessary visibility modifiers

* Use `isNotEmpty()`

* Remove unused lambda parameters

* Convert cascading-if to `when`

* Simplifiy assignment op

* Use explicit argument names with `copy()`

* Use `.firstOrNull()` instead of `if`

* Mark as lateinit to avoid unnecessary null checks

* Format with ktlint, whitespace changes only

* Bare minimum necessary to demonstrate paging in notifications

Create `NotificationsPagingSource`. This uses a new `notifications2()` API
call, which will exist until all the code has been adapted. Instead of
using placeholders,

Create `NotificationsPagingAdapter` (will replace `NotificationsAdapater`)
to consume this data.

Expose the paging source view a new `NotificationsViewModel` `flow`, and
submit new pages to the adapter as they are available in
`NotificationsFragment`.

Comment out any other code in `NotificationsFragment` that deals with
loading data from the network. This will be updated as necessary, either
here, or in the view model.

Lots of functionality is missing, including:

- Different views for different notification types
- Starting at the remembered notification position
- Interacting with notifications
- Adjusting the UI state to match the loading state

These will be added incrementally.

* Migrate StatusNotificationViewHolder impl. to NotificationsPagingAdapter

With this change `NotificationsPagingAdapter` shows notifications about a
status correctly.

- Introduce a `ViewHolder` abstract class that all Notification view holders
  derive from. Modify the fallback view holder to use this.

- Implement `StatusNotificationViewHolder`. Much of the code is from the
  existing implementation in the `NotificationAdapater`.

- The original code split the code that binds values to views between the
  adapter's `bindViewHolder` method and the view holder's methods.

  In this code, all of the binding code is in the view holder, in a `bind`
  method. This is called by the adapter's `bindViewHolder` method. This keeps
  all the binding logic in the view holder, where it belongs.

- The new `StatusNotificationViewHolder` uses view binding to access its views
  instead of `findViewById`.

- Logically, information about whether to show sensitive media, or open
  content warnings should be part of the `StatusDisplayOptions`. So add those
  as fields, and populate them appropriately.

  This affects code outside notification handling, which will be adjusted
  later.

* Note some TODOs to complete before the PR is finished

* Extract StatusNotificationViewHolder to a new file

* Add TODO for NotificationViewData.Concrete

* Convert the adapter to take NotificationViewData.Concrete

* Add a view holder for regular status notifications

* Migrate Follow and FollowRequest notifications

* Migrate report notifications

* Convert onViewThread to use the adapter data

* Convert onViewMedia to use the adapter data

* Convert onMore to use the adapter data

* Convert onReply to use the adapter data

* Convert NotificationViewData to Kotlin

* Re-implement the reblog functionality

- Move reblogging in to the view model
- Update the UI via the adapter's `snapshot()` and `notifyItemChanged()`
  methods

* Re-implement the favourite functionality

Same approach as reblog

* Re-implement the bookmark functionality

Same approach as reblog

* Add TODO re StatusActionListener interface

* Add TODO re event handling

* Re-implementing the voting functionality

* Re-implement viewing hidden content

- Hidden media
- Content behind a content warning

* Add a TODO re pinning

* Re-implement "Show more" / "Show less"

* Delete unused updateStatus() function

* Comment out the scroll listener for the moment

* Re-implement applying filters to notifications

Introduce `NotificationsRepository`, to provide access to the notifications
stream.

When changing the filters the flow is as follows:

- User clicks "Apply" in the fragment.

- Fragment calls `viewModel.accept()` with a `UiAction.ApplyFilter` (new
  class).

- View model maintains a private flow of incoming UI actions. The new action
  is emitted to that flow.

- In view model, `notificationFilter` waits for `.ApplyFilter` actions, and
  ensures the filter is saved, then emits it.

- In view model, `pagingDataFlow` waits for new items from
  `notificationsFilter` and fetches the notifications from the repository in
  response. The repository provides `Notification`, so the model maps them to
  `NotificationViewData.Concrete` for display by the adapter.

- In view model the UI state also waits for new items from
  `notificationsFilter` and emits a new `UiState` every time the filter is
  changed.

When opening the fragment for the first time:

- All of the above machinery, but `notificationFilter` also fetches the filter
  from the active account and emits that first. This triggers the first fetch
  and the first update of `uiState`.

Also:

- Add TODOs for functionality that is not implemented yet

- Delete a lot of dead code from NotificationsFragment

* Include important preference values in `uiState`

Listen to the flow of eventHub events, filtered to preference changes that
are relevant to the notification view.

When preferences change (or when the view model starts), fetch the current
values, and include them in `uiState`.

Remove preference handling from `NotificationsFragment`, and just use
the values from `uiState`.

Adjust how the `useAbsoluteTime` preference is handled. The previous code
loaded new content (via a diffutil) in to the adapter, which would trigger
a re-binding of the timestamp.

As the adapter content is immutable, the new code simply triggers a
re-binding of the views that are currently visible on screen.

* Update UI in response to different load states

Notifications can be loaded at the top and bottom of the timeline. Add a
new layout to show the progress of these loads, and any errors that can
occur.

Catch network errors in `NotificationsPagingSource` and convert to
`LoadState.Error`.

Add a header/footer to the notifications list to show the load state.

Collect the load state from the adapter, use this to drive the visibility
of different views.

* Save and restore the last read notification ID

Use this when fetching notifications, to centre the list around the
notification that was last read.

* Call notifyItemRangeChanged with the correct parameters

* Don't try and save list position if there are no items in the list

* Show/hide the "Nothing to see" view appropriately

* Update comments

* Handle the case where the notification key no longer exists

* Re-implement support for showMediaPreview and other settings

* Re-implement "hide FAB when scrolling" preference

* Delete dead code

* Delete Notifications Adapater and Placeholder types

* Remove NotificationViewData.Concrete subclass

Now there's no Placeholder, everything is a NotificationViewData.

* Improve how notification pages are loaded if the first notification is missing or filtered

* Re-implement clear notifications, show errors

* s/default/from/

* Add missing headers

* Don't process bookmarking via EventHub

- Initiating a bookmark is triggered by the fragment sending a
  StatusUiAction.Bookmark
- View model receives this, makes API call, waits for response, emits either
  a success or failure state
- Fragment collects success/failure states, updates the UI accordingly

* Don't process favourites via EventHub

* Don't process reblog via EventHub

* Don't process poll votes with EventHub

This removes EventHub from the fragment

* Respond to follow requests via the view model

* Docs and cleanup

* Typo and editing pass

* Minor edits for clarity

* Remove newline in diagram

* Reorder sequence diagram

* s/authorize/accept/

* s/pagingDataFlow/pagingData/

* Add brief KDoc

* Try and fetch a full first page of notifications

* Call the API method `notifications` again

* Log UI errors at the point of handling

* Remove unused variable

* Replace String.format() with interpolation

* Convert NotificationViewData to data class

* Rename copy() to make(), to avoid confusion with default copy() method

* Lint

* Update app/src/main/res/layout/simple_list_item_1.xml

* Update app/src/main/java/com/keylesspalace/tusky/components/notifications/NotificationsPagingAdapter.kt

* Update app/src/main/java/com/keylesspalace/tusky/components/notifications/NotificationsViewModel.kt

* Update app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.kt

* Update app/src/main/java/com/keylesspalace/tusky/viewdata/NotificationViewData.kt

* Initial NotificationsViewModel tests

* Add missing import

* More tests, some cleanup

* Comments, re-order some code

* Set StateRestorationPolicy.PREVENT_WHEN_EMPTY

* Mark clearNotifications() as "suspend"

* Catch exceptions from clearNotifications and emit

* Update TODOs with explanations

* Ensure initial fetch uses a null ID

* Stop/start collecting pagingData based on the lifecycle

* Don't hide the list while refreshing

* Refresh notifications on mutes and blocks

* Update tests now clearNotifications is a suspend fun

* Add "Refresh" menu to NotificationsFragment

* Use account.name over account.displayName

* Update app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.kt

Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>

* Mark layoutmanager as lateinit

* Mark layoutmanager as lateinit

* Refactor generating UI text

* Add Copyright header

* Correctly apply notification filters

* Show follow request header in notifications

* Wait for follow request actions to complete, so the reqeuest is sent

* Remove duplicate copyright header

* Revert copyright change in unmodified file

* Null check response body

* Move NotificationsFragment to component.notifications

* Use viewlifecycleowner.lifecyclescope

* Show notification filter as a dialog rather than a popup window

The popup window:

- Is inconsistent UI
- Requires a custom layout
- Didn't play nicely with viewbinding

* Refresh adapter on block/mute

* Scroll up slightly when new content is loaded

* Restore progressbar

* Lint

* Update app/src/main/res/layout/simple_list_item_1.xml

---------

Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
2023-03-10 20:12:33 +01:00
renovate[bot] ce6a350267
chore(deps): update dependency gradle to v8.0.2 (#3372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-05 16:56:19 +01:00
renovate[bot] e98925b426
chore(deps): update dependency com.android.application to v7.4.2 (#3395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-28 22:05:32 +01:00
renovate[bot] e46e2720a4
Update dependency androidx.arch.core:core-testing to v2.2.0 (#3378)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-28 21:35:31 +01:00
Konrad Pozniak 9340e7a6f4
update Glide to 4.15.0 (#3384) 2023-02-27 08:54:26 +01:00
renovate[bot] b3f173b2b0
fix(deps): update dependency org.mockito:mockito-inline to v5 (#3373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-27 08:54:07 +01:00
renovate[bot] 92bd2153e9
Update dependency org.mockito:mockito-inline to v4.11.0 (#3365)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 21:28:09 +01:00
Goooler c6f7ecdb5b
Gradle 8.0.1 (#3338)
https://docs.gradle.org/8.0/release-notes.html
2023-02-25 20:59:39 +01:00
renovate[bot] 9eec1ab5c0
Update emoji2 to v1.2.0 (#3368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 20:38:14 +01:00
renovate[bot] a0ee3072f0
Update dependency org.mockito.kotlin:mockito-kotlin to v4.1.0 (#3364)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 20:37:40 +01:00
renovate[bot] 77dbf3c1a9
Update dependency com.google.android.material:material to v1.8.0 (#3361)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 20:36:18 +01:00
renovate[bot] 60fd9cf0e7
Update dependency com.google.code.gson:gson to v2.10.1 (#3362)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 17:34:04 +01:00
renovate[bot] 142fe4b743
Update dependency io.reactivex.rxjava3:rxandroid to v3.0.2 (#3348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-21 20:17:45 +01:00
renovate[bot] 62c7d63131
Update dependency com.github.CanHub:Android-Image-Cropper to v4.3.2 (#3347)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-21 19:43:51 +01:00
renovate[bot] b35cc1fd6b
Update dependency com.github.penfeizhou.android.animation:glide-plugin to v2.24.0 (#3358)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-21 19:41:53 +01:00
renovate[bot] fc71e398d5
Update dependency com.github.UnifiedPush:android-connector to v2.1.1 (#3357)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-21 19:39:49 +01:00
renovate[bot] 01eefd94a0
Update dependency androidx.browser:browser to v1.5.0 (#3356)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-21 19:39:39 +01:00
renovate[bot] b62fc9bf07
Update dagger to v2.45 (#3355)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-21 19:37:44 +01:00
renovate[bot] 53f7afd9ee
Update androidx-work to v2.8.0 (#3354)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-21 19:37:33 +01:00
renovate[bot] aa14013adc
Update dependency io.reactivex.rxjava3:rxjava to v3.1.6 (#3353)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-21 19:37:07 +01:00
renovate[bot] 8f3869d42e
Update dependency androidx.exifinterface:exifinterface to v1.3.6 (#3344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-20 20:36:22 +01:00
renovate[bot] ac87482e7a
Update dependency androidx.appcompat:appcompat to v1.6.1 (#3343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-20 20:36:11 +01:00
Goooler cfea5700b0
Code cleanups (#3264)
* Kotlin 1.8.10

https://github.com/JetBrains/kotlin/releases/tag/v1.8.10

* Migrate onActivityCreated to onViewCreated

* More final modifiers

* Java Cleanups

* Kotlin cleanups

* More final modifiers

* Const value TOOLBAR_HIDE_DELAY_MS

* Revert
2023-02-20 19:58:37 +01:00
Konrad Pozniak 006f0de05c
Upgrade AndroidX dependencies (#3169)
* upgrade AndroidX dependencies

* use new @Upsert in InstanceDao

* fix crash because of new Room nullchecks

* make TimelineStatusEntity.reblogAccount a val as well
2023-02-04 20:22:29 +01:00
Goooler 3592318dc1
Modernize a bit (#3171)
* Remove redundant ignore file

* Add .gitattributes

* Generate new wrapper

* Apply plugins in `plugins`

* Adopt new dsl

* Enable stable config cache

* Ignore all build folders

* Enable build scan

* Disable buildFeatures flags by default

* Migrate to nonTransitive R class

* Tweak flags

* Bump AGP to 7.4.0

* Bump deps

* Run `ktlintFormat`

* Add an icon for IDEA to display

* Revert "Bump deps"

This reverts commit bc0d5b69d59f70289d5d5c4887a85e6af23cc662.

* Revert "Enable build scan"

This reverts commit 1568e5e84f1ee51064b3f426b1da0cf35fb67856.

* Remove com.android.library

* Enable Gradle cache

* Enable room incremental build

* Cleanups

* Cleanups

* Add .editorconfig

* Defer clean task

* Migrate `flavorDimensions`

* Merge instance-build.gradle into app's build.gradle

* Declare compileOptions & kotlinOptions

* Bump jvmTarget to 17

* Fix conflicts

* Xmx4g

* Rename output apks

* Revert "Bump jvmTarget to 17"

This reverts commit e4d1543bda65b6d2979ae0712bceee33fa8298a6.
2023-02-04 19:58:53 +01:00
Constantin A ca01776847
Update FilemojiCompat to version 3.2.7 (#3151) 2023-01-09 21:06:47 +01:00
Konrad Pozniak 157f4adfa1
Upgrade gradle to 7.6 and AGP to 7.3.1 (#2977) 2022-12-05 19:10:55 +01:00
Konrad Pozniak c96a81571c
support Android 13 per-app languages (#2829)
* support Android 13 per-app languages

* fix tests

* fix language ids in locales_config.xml

* fix language setting default in ComposeActivity
2022-11-16 19:45:18 +01:00
Eva Tatarka b39cb06748
Navigate to the Follow Requests page from notification (#2757)
* Navigate to the Follow Requests page from notification

Fixes #2655

* Fix lock status
2022-11-07 20:04:07 +01:00
Constantin A b17823137b
Update FilemojiCompat to version 3.2.6 (#2733) 2022-11-07 19:56:13 +01:00
Colin Lee 3fb1173d3f
Introduce Gradle version catalogs for versioning (#2745)
* Introduce Gradle version catalogs for versioning

* Correct some versions for version catalogs
2022-11-04 20:10:26 +01:00
Konrad Pozniak 8ae3e4e173
update Gradle to 7.5.1 (#2640)
* update Gradle to 7.5

* update gradle to 7.5.1
2022-08-07 19:13:44 +02:00
Konrad Pozniak 90ceb9514e
update Gradle and Android Gradle Plugin (#2380) 2022-03-13 16:08:15 +01:00
Konrad Pozniak 1586817c3d
Update gradle, kotlin and other dependencies (#2291)
* update gradle, kotlin and other dependencies

* fix new warnings

* remove unused import

* update Proguard rules

* add explicit dependency on Gson to get the newest version

* remove debug flag from proguard rules again

* fix typo
2022-01-20 21:10:32 +01:00
Konrad Pozniak 9c9f8ebf2c
upgrade gradle to 7.0.2 (#2161) 2021-05-19 07:40:56 +02:00
Konrad Pozniak 3e135b0480
upgrade gradle to 6.8.1 (#2057) 2021-01-31 19:35:53 +01:00
Konrad Pozniak e572e653ee
upgrade gradle and android gradle plugin (#1957) 2020-10-19 14:47:40 +02:00
Konrad Pozniak b5bf78a19e
upgrade gradle wrapper, materialdrawer and AndroidX fragment (#1837) 2020-06-21 18:27:07 +02:00
Konrad Pozniak df5490b5b9
upgrade gradle, AGP and dependencies (#1818)
* upgrade gradle, AGP and dependencies

* fix new layout related warnings
2020-06-04 20:16:48 +02:00
Konrad Pozniak c80fa68dbe
upgrade dependencies, fix some warnings (#1747)
* upgrade dependencies, fix some warnings

* fix tests
2020-04-06 11:46:38 +02:00
Konrad Pozniak 0c159e587d
upgrade Gradle and Android plugin (#1709)
* upgrade Gradle and Android plugin

* upgrade Android Gradle plugin to 3.6.1
2020-03-02 19:58:15 +01:00
Frieder Bluemle ef470bcdb6
Update Gradle Wrapper to 6.1.1 2020-02-01 11:14:31 -08:00
Konrad Pozniak e67d608bb8
upgrade dependencies (#1596) 2019-12-20 21:31:41 +01:00
Frieder Bluemle bd7f0dfe62 Update Gradle wrapper to 5.4.1 (#1233) 2019-05-09 19:21:06 +02:00
Bernd d0ca965cc8 Update Deps (#1176)
* Update Deps

* Update Deps

* Update Deps

* Update build.gradle

* Update build.gradle
2019-04-07 19:37:04 +02:00
Bernd 0db1a23c4f Update Deps + Cleanup (#1158)
* Fix Typo

* Update build.gradle

* Update Deps

* Update Tests

* Fixes Tests

Without this some tests fail on my PC...

+ also:
"Put this in your gradle.properties:

android.enableUnitTestBinaryResources=true"
from http://robolectric.org/migrating/#project-configuration

* Make everything private

* Fix Warning

* Update TimelineFragment.java

* Update build.gradle

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

* Fix Compile Errors

e.g.

Type inference failed. Expected type mismatch: inferred type is Preference? but Preference was expected

Type inference failed. Please try to specify type arguments explicitly.

* fix crash

* Grandle Wrapper 5.3

* Revert "Fix Compile Errors"

This reverts commit 4a774a4fe3ce82c84bd7b4d78e1a1c64af97cd0d.

* requirePreference

* oops

* Cleanup

* Update gradle-wrapper.properties
2019-03-30 15:18:16 +01:00
Frieder Bluemle 53aae1b3da Update Gradle wrapper to 4.10.3 2019-02-26 18:34:29 +01:00
Conny Duck cdfc8a713d update gradle and build tools 2019-01-15 20:50:50 +01:00
Conny Duck 26b0ad521e upgrade gradle and build tools 2018-09-25 19:05:37 +02:00
HellPie 4759783d10 Add support for collapsible statuses when they exceed 500 characters (#825)
* Update Gradle plugin to work with Android Studio 3.3 Canary

Android Studio 3.1.4 Stable doesn't render layout previews in this project
for whatever reason. Switching to the latest 3.3 Canary release fixes the
issue without affecting Gradle scripts but requires the new Android Gradle
plugin to match the new Android Studio release.

This commit will be reverted once development on the feature is done.

* Update gradle build script to allow installing debug builds alongside store version

This will allow developers, testers, etc to work on Tusky will not having to worry
about overwriting, uninstalling, fiddling with a preinstalled application which would
mean having to login again every time the development cycle starts/finishes and
manually reinstalling the app.

* Add UI changes to support collapsing statuses

The button uses subtle styling to not be distracting like the CW button on the timeline
The button is toggleable, full width to match the status textbox hitbox width and also
is shorter to not be too intrusive between the status text and images, or the post below

* Update status data model to store whether the message has been collapsed

* Update status action listener to notify of collapsed state changing

Provide stubs in all implementing classes and mark as TODO the stubs that
require a proper implementation for the feature to work.

* Add implementation code to handle status collapse/expand in timeline

Code has not been added elsewhere to simplify testing.
Once the code will be considered stable it will be also included in other
status action listener implementers.

* Add preferences so that users can toggle the collapsing of long posts

This is currently limited to a simple toggle, it would be nice to implement
a more advanced UI to offer the user more control over the feature.

* Update Gradle plugin to work with latest Android Studio 3.3 Canary 8

Just like the other commit, this will be reverted once the feature is working.
I simply don't want to deal with what changes in my installation of Android
Studio 3.1.4 Stable which breaks the layout preview rendering.

* Update data models and utils for statuses to better handle collapsing

I forgot that data isn't available from the API and can't really be built
from scratch using existing data due to preferences.
A new, extra boolean should fix the issue.

* Fix search breaking due to newly introduced variables in utils classes

* Fix timeline breaking due to newly introduced variables in utils classes

* Fix item status text for collapsed toggle being shown in the wrong state

* Update timeline fragment to refresh the list when collapsed settings change

* Add support for status content collapse in timeline viewholder

* Fix view holder truncating posts using temporary debug settings at 50 chars

* Add toggle support to notification layout as well

* Add support for collapsed statuses to search results

* Add support for expandable content to notifications too

* Update codebase with some suggested changes by @charlang

* Update more code with more suggestions and move null-safety into view data

* Update even more code with even more suggested code changes

* Revert a0a41ca and 0ee004d (Android Studio 3.1 to Android Studio 3.3 updates)

* Add an input filter utility class to reuse code for trimming statuses

* Update UI of statuses to show a taller collapsible button

* Update notification fragment logging to simplify null checks

* Add smartness to SmartLengthInputFilter such as word trimming and runway

* Fix posts with show more button even if bad ratio didn't collapse

* Fix thread view showing button but not collapsing by implementing the feature

* Fix spannable losing spans when collapsed and restore length to 500 characters

* Remove debug build suffix as per request

* Fix all the merging happened in f66d689, 623cad2 and 7056ba5

* Fix notification button spanning full width rather than content width

* Add a way to access a singleton to smart filter and use clearer code

* Update view holders using smart input filters to use more singletons

* Fix code style lacking spaces before boolean checks in ifs and others

* Remove all code related to collapsibility preferences, strings included

* Update style to match content warning toggle button

* Update strings to give cleaner differentiation between CW and collapse

* Update smart filter code to use fully qualified names to avoid confusion
2018-09-19 19:51:20 +02:00
Ivan Kupalov 3756a1fd20
Add EventHub, add fav, reblog events, improve timelines (#562)
* Add AppStore, add fav, reblog events

* Add events, add handling to Timeline

* Add event handling to Notifications

* Mostly finish events

* Fix unsubscribing

* Cleanup timeline

* Fix newStatusEvent in thread, fix deleteEvent

* Insert new toots only in specific timelines

* Add missing else

* Rename AppStore to EventHub

* Fix tests

* Use DiffUtils for timeline

* Fix empty timeline bug. Improve loading placeholder

* Fix AsyncListDiff, loading indicator, "load more"

* Timeline fixes & improvements.

Fix infinite loading. Remove spinner correctly.
Don't refresh timeline without need.
2018-05-27 11:22:12 +03:00
Conny Duck 92d688523b upgrade gradle & dependencies 2018-03-27 20:12:43 +02:00
Conny Duck 9dc9ee2ef0 upgrade gradle version for android studio 3, fix some lint warnings 2017-10-25 21:56:58 +02:00
Eugen Rochko 7a752be83f Prettify profiles, add floating follow/unfollow button to them 2017-03-06 20:48:31 +01:00
Vavassor ce88450ee6 added README.md and missing files 2017-01-02 20:37:38 -05:00