Commit Graph

191 Commits

Author SHA1 Message Date
Nik Clayton dc23ea23d1
refactor: Remove last vestiges of rxJava (#492) 2024-03-03 17:38:32 +01:00
renovate[bot] 72ef8cfe4a
fix(deps): update dependency com.google.truth:truth to v1.4.2 (#484)
[![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.4.1`
-> `1.4.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.truth:truth/1.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.truth:truth/1.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.truth:truth/1.4.1/1.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.truth:truth/1.4.1/1.4.2?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.4.2`](https://togithub.com/google/truth/releases/tag/v1.4.2):
1.4.2

[Compare
Source](https://togithub.com/google/truth/compare/v1.4.1...v1.4.2)

This release is the final step of copying all our methods from `Truth8`
to `Truth`. If you have not already migrated your usages from `Truth8`
to `Truth`, you may see build errors:

OptionalSubjectTest.java:39: error: reference to assertThat is ambiguous
        assertThat(Optional.of("foo")).isPresent();
        ^
both method
assertThat(@&#8203;org.checkerframework.checker.nullness.qual.Nullable
Optional<?>) in Truth8 and method
assertThat(@&#8203;org.checkerframework.checker.nullness.qual.Nullable
Optional<?>) in Truth match

In most cases, you can migrate your whole project mechanically: `git
grep -l Truth8 | xargs perl -pi -e 's/\bTruth8\b/Truth/g;'`. (You can
make that change before upgrading to Truth 1.4.2 or as part of the same
commit.)

If you instead need to migrate your project incrementally (for example,
because it is very large), you may want to upgrade your version of Truth
incrementally, too, following our instructions for
[1.3.0](https://togithub.com/google/truth/releases/tag/v1.3.0) and
[1.4.0](https://togithub.com/google/truth/releases/tag/v1.4.0).

#### For help

Please feel welcome to [open an
issue](https://togithub.com/google/truth/issues/new) to report problems
or request help.

#### Changelog

- Removed temporary type parameters from `Truth.assertThat(Stream)` and
`Truth.assertThat(Optional)`. This can create build errors, which you
can fix by replacing all your references to `Truth8` with references to
`Truth`.
([`45782bd`](https://togithub.com/google/truth/commit/45782bd0e))

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-01 23:08:02 +01:00
Nik Clayton 72e5ca887d
fix(deps): update agp to v8.3.0, lint to 31.3.0 (#483)
New lint rules highlighted a potential crash; the use of named match
groups (used here when extracting server versions) requires API >= 26 or
throws an exception.

Use the group numbers instead of names when extracting the value, but
keep the group names in the regular expressions for readability.
2024-03-01 23:07:14 +01:00
renovate[bot] 96c7799539
fix(deps): update dependency com.google.truth:truth to v1.4.1 (#451)
[![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.4.0`
-> `1.4.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.truth:truth/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.truth:truth/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.truth:truth/1.4.0/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.truth:truth/1.4.0/1.4.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>google/truth (com.google.truth:truth)</summary>

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

This release deprecates `Truth8`.

All its methods have become available on the main `Truth` class. In most
cases, you can migrate your whole project mechanically: `git grep -l
Truth8 | xargs perl -pi -e 's/\bTruth8\b/Truth/g;'`

While we do not plan to delete `Truth8`, we recommend migrating off it,
at least if you static import `assertThat`: If you do not migrate, such
static imports will become ambiguous in Truth 1.4.2, breaking your
build.

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-16 20:33:32 +01:00
renovate[bot] b7368fd62e
fix(deps): update androidx.work to v2.9.0 (#297)
[![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.work:work-testing](https://developer.android.com/jetpack/androidx/releases/work#2.9.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.8.1` -> `2.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.work:work-testing/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.work:work-testing/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.work:work-testing/2.8.1/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.work:work-testing/2.8.1/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.work:work-runtime-ktx](https://developer.android.com/jetpack/androidx/releases/work#2.9.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.8.1` -> `2.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.work:work-runtime-ktx/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.work:work-runtime-ktx/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.work:work-runtime-ktx/2.8.1/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.work:work-runtime-ktx/2.8.1/2.9.0?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:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-14 12:38:43 +01:00
Nik Clayton a3d45ca9ec
refactor: Convert from Gson to Moshi (#428)
Moshi is faster to decode JSON at runtime, is actively maintained, has a
smaller memory and method footprint, and a slightly smaller APK size.
Moshi also correctly creates default constructor arguments instead of
leaving them null, which was a source of `NullPointerExceptions` when
using Gson.

The conversion broadly consisted of:

- Adding `@JsonClass(generateAdapter = true)` to data classes that
marshall to/from JSON.

- Replacing `@SerializedName(value = ...)` with `@Json(name = ...)`.

- Replacing Gson instances with Moshi in Retrofit, Hilt, and tests.

- Using Moshi adapters to marshall to/from JSON instead of Gson `toJson`
/ `fromJson`.

- Deleting `Rfc3339DateJsonAdapter` and related code, and using the
equivalent adapter bundled with Moshi.

- Rewriting `GuardedBooleanAdapter` as a more generic `GuardedAdapter`.

- Deleting unused ProGuard rules; Moshi generates adapters using code
generation, not runtime reflection.

The conversion surfaced some bugs which have been fixed.

- Not all audio attachments have attachment size metadata. Don't show
the attachment preview if the metadata is missing.

- Some `throwable` were not being logged correctly.

- The wrong type was being used when parsing the response when sending a
scheduled status.

- Exceptions other than `HttpException` or `IoException` would also
cause a status to be resent. If there's a JSON error parsing a response
the status would be repeatedly sent.

- In tests strings containing error responses were not valid JSON.

- Workaround Mastodon a bug and ensure `filter.keywords` is populated,
https://github.com/mastodon/mastodon/issues/29142
2024-02-09 12:41:13 +01:00
renovate[bot] b88fe9a59e
fix(deps): update dependency com.android.tools:desugar_jdk_libs to v2.0.4 (#417)
[![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.tools:desugar_jdk_libs](https://togithub.com/google/desugar_jdk_libs)
| `2.0.3` -> `2.0.4` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools:desugar_jdk_libs/2.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools:desugar_jdk_libs/2.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools:desugar_jdk_libs/2.0.3/2.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools:desugar_jdk_libs/2.0.3/2.0.4?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/desugar_jdk_libs
(com.android.tools:desugar_jdk_libs)</summary>

###
[`v2.0.4`](https://togithub.com/google/desugar_jdk_libs/blob/HEAD/CHANGELOG.md#Version-204--2023-11-01-)

-   Better support for "stand-alone" month names ("LLLL" format).
    See ([issue 160113376](https://issuetracker.google.com/160113376))
    for details.
-   Added support for `java.util.Base64` introduced in API level 26
-   Workaround for some non ASCII characters
    ([issue 293388944](https://issuetracker.google.com/293388944))

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-04 21:44:56 +01:00
renovate[bot] 34cbf1c6c1
chore(deps): update dependency com.gaelmarhic.quadrant to v1.9.1 (#395)
[![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.9` -> `1.9.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.gaelmarhic.quadrant/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.gaelmarhic.quadrant/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.gaelmarhic.quadrant/1.9/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.gaelmarhic.quadrant/1.9/1.9.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 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-04 21:09:45 +01:00
Nik Clayton 54d7888316
feat: Include extra logs in error reports from orange release builds (#414)
Release builds normally strip out all logging to reduce the number of
disk writes and reduce UI jank.

These logs would still be useful in user error reports from orange
builds. To preseve them:

- Implement a simple `RingBuffer`.

- Create `TreeRing`, a `Timber` `Tree` logger that logs to a
`RingBuffer` instance in orange release builds.

- Create `TreeRingCollector`, called when ACRA reports are generated,
which includes the contents of the ring buffer in the report.

- Enable desugaring to allow the use of java.time libraries on older
Android versions.

- Disable ProGuard obfuscation of class names as the obfuscation adds
additional de-obfuscation steps when handling error reports from users.
2024-02-04 15:17:46 +01:00
renovate[bot] 36646b2e38
fix(deps): update dependency com.google.truth:truth to v1.4.0 (#412)
[![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.3.0`
-> `1.4.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.truth:truth/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.truth:truth/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.truth:truth/1.3.0/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.truth:truth/1.3.0/1.4.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.4.0`](https://togithub.com/google/truth/releases/tag/v1.4.0):
1.4.0

[Compare
Source](https://togithub.com/google/truth/compare/v1.3.0...v1.4.0)

In this release, our assertions on Java 8 types continue to move from
the `Truth8` class to the main `Truth` class. This change should not
break compatibility for any supported JDK or Android version, even users
who test under old versions of Android without [API
desugaring](https://developer.android.com/studio/write/java8-support#library-desugaring).
Additionally, we will never break binary compatibility, though some
users will have to make changes to their source code in order for it to
compile against newer versions.

This release is likely to lead to more **build failures** than
[1.3.0](https://togithub.com/google/truth/releases/tag/v1.3.0) did.
However, those failures should be **straightforward to fix**.

#### Example build failure

    Foo.java:152: error: reference to assertThat is ambiguous
        assertThat(repo.findFileWithName("foo")).isNull();
        ^
both method assertThat(@&#8203;org.jspecify.nullness.Nullable Path) in
Truth8 and method assertThat(@&#8203;org.jspecify.nullness.Nullable
Path) in Truth match

#### Simplest upgrade strategy (if you can update all your code
atomically in the same commit as the Truth upgrade)

In the same commit:

1.  Upgrade Truth to 1.4.0.
2. Replace `import static com.google.common.truth.Truth8.assertThat;`
with `import static com.google.common.truth.Truth.assertThat;`.
- If you use Kotlin, replace `import
com.google.common.truth.Truth8.assertThat` with `import
com.google.common.truth.Truth.assertThat`.
3. Replace `import com.google.common.truth.Truth8;` with `import
com.google.common.truth.Truth;`.
    -   again, similarly for Kotlin if needed
4.  Replace remaining references to `Truth8` with references to `Truth`.
- For example, replace `Truth8.assertThat(optional).isPresent()` with
`Truth.assertThat(optional).isPresent()`.

If you're feeling lucky, you can try this one-liner for the code
updates:

```sh
git grep -l Truth8 | xargs perl -pi -e 's/import static com.google.common.truth.Truth8.assertThat;/import static com.google.common.truth.Truth.assertThat;/g; s/import com.google.common.truth.Truth8.assertThat/import com.google.common.truth.Truth.assertThat/g; s/import com.google.common.truth.Truth8/import com.google.common.truth.Truth/g; s/\bTruth8[.]/Truth./g;'
```

After that process, it is possible that you'll still see build errors
from ambiguous usages of `assertThat` static imports. If so, you can
find a workaround in the section about overload ambiguity in the release
notes for
[1.3.0](https://togithub.com/google/truth/releases/tag/v1.3.0).
Alternatively, you can wait to upgrade until after a future Truth
release, which will eliminate the ambiguity by changing the signatures
of some `Truth.assertThat` overloads.

#### Incremental upgrade strategy

If you have a very large repo or you have other reasons to prefer to
upgrade incrementally, you can use the approach that we used inside
Google. Roughly, that approach was:

1. Make the optional changes discussed in the release notes for
[1.3.0](https://togithub.com/google/truth/releases/tag/v1.3.0).
2. For any remaining calls to `Truth8.assertThat`, change them to
*avoid* static import.
- That is, replace `assertThat(optional).isPresent()` with
`Truth8.assertThat(optional).isPresent()`.
3.  Upgrade Truth to 1.4.0.
4. Optionally replace references to `Truth8` with references to `Truth`
(including restoring static imports if desired), as discussed in section
about the simple upgrade strategy above.

#### Optional additional changes

- If you use `assertWithMessage(...).about(intStreams()).that(...)`,
`expect.about(optionalLongs()).that(...)`, or similar, you can remove
your call to `about`. This change will never be necessary; it is just a
simplification.
- This is similar to a previous optional change from
[1.3.0](https://togithub.com/google/truth/releases/tag/v1.3.0), except
that 1.3.0 solved this problem for `streams` and `optionals`, whereas
1.4.0 solves it for the other `Truth8` types.

#### For help

Please feel welcome to [open an
issue](https://togithub.com/google/truth/issues/new) to report problems
or request help.

#### Changelog

- Added the remaining `Truth8.assertThat` overloads to the main `Truth`
class. ([`9be8e77`](https://togithub.com/google/truth/commit/9be8e774c),
[`1f81827`](https://togithub.com/google/truth/commit/1f81827f1))
- Added more `that` overloads to make it possible to write type-specific
assertions when using the remaining Java 8 types.
([`7c65fc6`](https://togithub.com/google/truth/commit/7c65fc611))

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-03 15:27:59 +01:00
Nik Clayton b1c388e9b4
chore(deps): update dependency gradle to v8.6 (#411)
Use new simple property assignment syntax in build files where
appropriate.
2024-02-03 15:05:43 +01:00
Nik Clayton 4750ad78a7
chore(deps): update dependency com.gaelmarhic.quadrant to v1.9 (#400)
1.9 no longer needs the hardcoded "app.pachli" in the class names.
2024-01-30 16:40:11 +01:00
renovate[bot] 947e5c215c
fix(deps): update dependency com.google.truth:truth to v1.3.0 (#387)
[![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.2.0`
-> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.truth:truth/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.truth:truth/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.truth:truth/1.2.0/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.truth:truth/1.2.0/1.3.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.3.0`](https://togithub.com/google/truth/releases/tag/v1.3.0):
1.3.0

In this release, our assertions on Java 8 types begin to move from the
`truth-java8-extensions` artifact and the `Truth8` class to the main
`truth` artifact and the `Truth` class. This change should not break
compatibility for anyone, even users who test under old versions of
Android without [API
desugaring](https://developer.android.com/studio/write/java8-support#library-desugaring).
Additionally, we will never break binary compatibility, though some
users will have to make changes to their source code in order for it to
compile against newer versions.

This change will be routine for most users, but we're providing as much
information as we can for any users who do encounter problems.

We will post fuller instructions for migration later on, once we've
learned more from our internal migration efforts. For now, you may find
that you need to make one kind of change, and you may elect to make
others. (If we missed anything, please [open an
issue](https://togithub.com/google/truth/issues/new) to report problems
or request help.)

The change you might need to make:

- By adding new overloads of `Truth.assertThat`, we cause some code to
fail to compile because of an overload ambiguity. This is rare, but it
can happen if you static import both `Truth.assertThat` and some other
`assertThat` method that includes overloads for `Optional` or `Stream`.
(It does *not* happen for `Truth8.assertThat`, though, except with the
Eclipse compiler. Nor it does *necessarily* happen for other
`assertThat(Stream)` and `assertThat(Optional)` methods.) If this
happens to you, you'll need to remove one of the static imports,
changing the corresponding call sites from "`assertThat`" to
"`FooSubject.assertThat`."
- Alternatively, you may choose to wait until we make further changes to
the new `Truth.assertThat` overloads. Once we make those further
changes, you may be able to simultaneously replace all your imports of
`Truth8.assertThat` with imports of `Truth.assertThat` as you upgrade to
the new version, likely without introducing overload ambiguities.

The changes you might elect to make:

- If you use `Truth8.assertThat(Stream)` or
`Truth8.assertThat(Optional)`, you can migrate to the new overloads in
`Truth`. If you static import `Truth8.assertThat`, you can usually make
this change simply by replacing that static import with a static import
of `Truth.assertThat`—or, if you already have an import of
`Truth.assertThat`, by just removing the import of `Truth8.assertThat`.
(If you additionally use less common assertion methods, like
`assertThat(OptionalInt)`, you'll want to use *both* imports for now.
Later, we'll move `assertThat(OptionalInt)` and friends, too.) We
recommend making this change now, since your calls to
`Truth8.assertThat` will fail to compile against some future version of
Truth, unless you plan to wait to update your Truth dependency until
we've made all our changes for Java 8 types.

- If you use `assertWithMessage(...).about(streams()).that(...)`,
`expect.about(optionals()).that(...)`, or similar, you can remove your
call to `about`. This change will never be necessary; it is just a
simplification.

- If you depend on `truth-java8-extension`, you may remove it. All its
classes are now part of the main `truth` artifact. This change, too, is
not necessary; it is just a simplification. (OK, if your build system
has a concept of [strict
deps](https://blog.bazel.build/2017/06/28/sjd-unused_deps.html), there
is a chance that you'll *need* to add deps on `truth` to replace your
deps on `truth-java8-extension`.)

Finally, the changelog for this release:

- Made `StreamSubject` avoid collecting the `Stream` until necessary,
and made its `isEqualTo` and `isNotEqualTo` methods no longer always
throw. ([`f8ecaec`](https://togithub.com/google/truth/commit/f8ecaec69))
- Added `assertThat` overloads for `Optional` and `Stream` to the main
`Truth` class.
([`37fd8be`](https://togithub.com/google/truth/commit/37fd8bea9))
- Added `that` overloads to make it possible to write type-specific
assertions when using `expect.that(optional)` and `expect.that(stream)`.
([`ca7e8f4`](https://togithub.com/google/truth/commit/ca7e8f4c5))
- Moved the `truth-java8-extension` classes into the main `truth`
artifact. There is no longer any need to depend on
`truth-java8-extension`, which is now empty. (We've also removed the
`Truth8` [GWT](https://www.gwtproject.org/) module.)
([`eb0426e`](https://togithub.com/google/truth/commit/eb0426eb7))

Again, if you have any problems, please [let us
know](https://togithub.com/google/truth/issues/new).

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-25 18:38:23 +01:00
renovate[bot] 53e0c90d01
chore(deps): update agp to v8.2.2, lint to 31.2.2 (#383)
[![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.lint](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.2.1` -> `8.2.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.lint/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.lint/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.lint/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.lint/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.library](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.2.1` -> `8.2.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.library/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.library/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.library/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.library/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.application](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.2.1` -> `8.2.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.application/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.application/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.application/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.application/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.android.tools.build:gradle](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.2.1` -> `8.2.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.build:gradle/8.2.2?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.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.build:gradle/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.build:gradle/8.2.1/8.2.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 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>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2024-01-25 18:27:50 +01:00
renovate[bot] 056e03e9c4
fix(deps): update androidx.media3 to v1.2.1 (#363)
[![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.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-ui/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-ui/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-ui/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.media3:media3-ui/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-datasource-okhttp](https://togithub.com/androidx/media)
| `1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-datasource-okhttp/1.2.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.2.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.2.0/1.2.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.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-rtsp](https://togithub.com/androidx/media)
| `1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-rtsp/1.2.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.2.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.2.0/1.2.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.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-hls](https://togithub.com/androidx/media)
| `1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-hls/1.2.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.2.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.2.0/1.2.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.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-dash](https://togithub.com/androidx/media)
| `1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-dash/1.2.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.2.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.2.0/1.2.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.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer](https://togithub.com/androidx/media)
| `1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer/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.media3:media3-exoplayer/1.2.0/1.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>androidx/media (androidx.media3:media3-ui)</summary>

###
[`v1.2.1`](https://togithub.com/androidx/media/blob/HEAD/RELEASENOTES.md#121-2024-01-09)

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

This release includes the following changes since the
[1.2.0 release](#&#8203;120-2023-11-15):

-   ExoPlayer:
    -   Fix issue where manual seeks outside of the
`LiveConfiguration.min/maxOffset` range keep adjusting the offset back
        to `min/maxOffset`.
- Fix issue that OPUS and VORBIS channel layouts are wrong for 3, 5, 6,
7
        and 8 channels
([#&#8203;8396](https://togithub.com/google/ExoPlayer/issues/8396)).
- Fix issue where track selections after seek to zero in a live stream
        incorrectly let the stream start at its default position
([#&#8203;9347](https://togithub.com/google/ExoPlayer/issues/9347)).
- Fix the issue where new instances of `CmcdData.Factory` were receiving
negative values for `bufferedDurationUs` from chunk sources, resulting
        in an `IllegalArgumentException`
        ([#&#8203;888](https://togithub.com/androidx/media/issues/888)).
-   Transformer:
- Work around an issue where the encoder would throw at configuration
time
        due to setting a high operating rate.
-   Extractors:
    -   Mark secondary (unplayable) HEVC tracks in JPEG motion photos as
`ROLE_FLAG_ALTERNATE` to prevent them being automatically selected for
        playback because of their higher resolution.
    -   Fix wrong keyframe detection for TS H264 streams
        ([#&#8203;864](https://togithub.com/androidx/media/pull/864)).
- Fix duration estimation of TS streams that are longer than 47721
seconds
        ([#&#8203;855](https://togithub.com/androidx/media/issues/855)).
-   Audio:
- Fix handling of EOS for `SilenceSkippingAudioProcessor` when called
multiple times
([#&#8203;712](https://togithub.com/androidx/media/issues/712)).
-   Video:
- Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with
Google TV, and Lenovo M10 FHD Plus that causes 60fps AVC streams to be
        marked as unsupported
        ([#&#8203;693](https://togithub.com/androidx/media/issues/693)).
-   Metadata:
- Fix bug where `MediaMetadata` was only populated from Vorbis comments
        with upper-case keys
        ([#&#8203;876](https://togithub.com/androidx/media/issues/876)).
- Catch `OutOfMemoryError` when parsing very large ID3 frames, meaning
playback can continue without the tag info instead of playback failing
        completely.
-   DRM:
- Extend workaround for spurious ClearKey `https://default.url` license
        URL to API 33+ (previously the workaround only applied on API 33
exactly) ([#&#8203;837](https://togithub.com/androidx/media/pull/837)).
- Fix `ERROR_DRM_SESSION_NOT_OPENED` when switching from encrypted to
clear content without a surface attached to the player. The error was
due to incorrectly using a secure decoder to play the clear content.
-   Session:
    -   Put the custom keys and values in `MediaMetadataCompat` to
        `MediaMetadata.extras` and `MediaMetadata.extras` to
        `MediaMetadataCompat`
        ([#&#8203;756](https://togithub.com/androidx/media/issues/756),
        [#&#8203;802](https://togithub.com/androidx/media/issues/802)).
    -   Fix broadcasting `notifyChildrenChanged` for legacy controllers
        ([#&#8203;644](https://togithub.com/androidx/media/issues/644)).
- Fix a bug where setting a negative time for a disabled `setWhen` timer
        of the notification caused a crash on some devices
        ([#&#8203;903](https://togithub.com/androidx/media/issues/903)).
- Fix `IllegalStateException` when the media notification controller
hasn't completed connecting when the first notification update is
requested
([#&#8203;917](https://togithub.com/androidx/media/issues/917)).
-   UI:
- Fix issue where forward and rewind buttons are not visible when used
        with Material Design in a BottomSheetDialogFragment
        ([#&#8203;511](https://togithub.com/androidx/media/issues/511)).
    -   Fix issue where the numbers in the fast forward button of the
        `PlayerControlView` were misaligned
        ([#&#8203;547](https://togithub.com/androidx/media/issues/547)).
-   DASH Extension:
    -   Parse "f800" as channel count of 5 for Dolby in DASH manifest
        ([#&#8203;688](https://togithub.com/androidx/media/issues/688)).
-   Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
- MIDI: Fix issue where seeking forward skips the Program Change events
        ([#&#8203;704](https://togithub.com/androidx/media/issues/704)).
    -   Migrate to FFmpeg 6.0 and update supported NDK to `r26b`
        ([#&#8203;707](https://togithub.com/androidx/media/pull/707),
        [#&#8203;867](https://togithub.com/androidx/media/pull/867)).
-   Cast Extension:
- Sanitize creation of a `Timeline` to not crash the app when loading
        media fails on the cast device
        ([#&#8203;708](https://togithub.com/androidx/media/issues/708)).

</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 18:06:58 +01:00
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