Commit Graph

5125 Commits

Author SHA1 Message Date
chaoscalm 34e37f9ebb
fix(l10n): Update Italian translations (#204) 2023-10-28 13:43:41 +02:00
Nik Clayton 3705a29dd0
fix: Use the correct name for filters affecting threads (#203)
Previous code called filters that affect threads "Conversations".
Correct this to "Threads", to distinguish from "Direct Messages" which
can also be known as "conversations" (in the API in particular).
2023-10-26 23:34:04 +02:00
Nik Clayton ca8c1d9181
chore: Update copyright notice to refer to Pachli for the license (#201)
Previous copyright notice mentioned that the license should have been
distributed with Tusky. Correct that to Pachli.

This does not change the copyright assignment, only the instructions
as to where to find the license.
2023-10-26 16:41:12 +02:00
Nik Clayton 2f3851acee
refactor: Convert Java viewholders to Kotlin (#200) 2023-10-26 16:22:18 +02:00
Nik Clayton 0598c0e667
chore: Remove unused DAO functions (#199) 2023-10-26 12:23:10 +02:00
Nik Clayton 6b12ecfd7a
fix(deps): update androidx.room to v2.6.0 (#198)
Enable Kotlin code generation, and use the new room plugin to generate
schemas in a reproducible/cacheable way.
2023-10-25 18:39:31 +02:00
Nik Clayton 9c4ea13d23
chore: Prepare release 1.3.0 (versionCode 6) (#197) 2023-10-25 09:52:25 +02:00
sanao 00bde27eb3 fix(l10n): Update Japanese translations
Currently translated at 100.0% (632 of 632 strings)

Translation: Pachli/UI strings
Translate-URL: https://hosted.weblate.org/projects/pachli/ui-strings/ja/
2023-10-25 09:05:27 +02:00
sanao 1f2f4d51b5
feat: Add a preference to hide "self-boosts"
A "self-boost" is someone boosting their own post. Some people are
particularly prolific at this, and it can clutter the timeline. Provide
a new preference that allows the user to show/hide these boosts from
their timeline.
2023-10-23 22:47:11 +02:00
Nik Clayton 42b09f4f1e
fix: Show full display and username in profile view (#195)
Most parts of the UI will truncate the display of long names (display
and user), but it makes sense to show them untruncated on the account's
profile screen.
2023-10-23 13:20:23 +02:00
Nik Clayton 5a41cbd40f
fix: Improve display of "obscured" links (#194)
The previous code (a) used an emoji as the prefix character when showing
the destination of an obscured link, and (b) made the destination part
of the link anchor text.

Using an emoji was a problem because the user can use different emoji
sets and it can give strange results. Making the destination part of the
link text made it difficult to distinguish at a glance where one link
ends and another starts.

Fix the emoji problem by replacing the emoji with a drawable.

Fix the destination problem by changing the string resource so it only
includes the destination part, and inserting it at the end of the link
instead of replacing the whole link. This means the disclosed
destination is not clickable, does not look like part of the link, and
stands out more.
2023-10-23 13:20:09 +02:00
Nik Clayton 566b23ed06
fix: Ensure empty timeline message is visible (#191)
Previously was showing pale text on a pale background, so effectively
invisible.

Use `colorPrimary` and `colorOnPrimary` to ensure the text can be seen.
2023-10-20 13:29:35 +02:00
Nik Clayton 514b295fe1
refactor: Use sealed interfaces for lighterweight code (#190)
Using a sealed interface (instead of a sealed class) at the root of the
hierarchy avoids the overhead of having to create and initialise the
class (visible in the generated bytecode).

It also makes the instantiation code slightly less cumbersome because
the code doesn't need to pass parameters to the root's constructor.
2023-10-20 13:00:36 +02:00
Nik Clayton d39eb3b642
refactor: Extract PreviewCard display code to `PreviewCardView` (#184) 2023-10-19 12:54:58 +02:00
Nik Clayton 3157f8d946
fix: Adjust video playback UX behaviour (#186)
Previously, playing a video would show the controls and associated
overlay for five seconds before fading them out. This obscures the video
for too long.

Fix this by:

- Only showing the media description on start, and remove after two
seconds
- Show the controls (and media description) if the user taps, removing
after two seconds
- Pausing the video (with the pause control, or tapping on the media
description) keeps the controls and description on-screen indefinitely
so they are easier to read

Fixes #144
2023-10-19 12:43:10 +02:00
renovate[bot] 8a4ce7f7da
fix(deps): update dependency com.android.tools.build:gradle to v8.1.2 (#167)
[![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.build:gradle](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.1.1` -> `8.1.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.build:gradle/8.1.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.1.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.1.1/8.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.build:gradle/8.1.1/8.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

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

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

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

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

---

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

---

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

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-18 22:07:22 +02:00
Nik Clayton 0730c0190b
refactor: Use ksp instead of kapt for Hilt (#181)
This removes all use of kapt from the project.
2023-10-18 15:02:17 +02:00
Nik Clayton e59eebc5e4
fix: Use Pachli blue and orange for notification icons (#182)
Fixes #178
2023-10-17 20:35:15 +02:00
sanao 95d4fd2d74 fix(l10n): Update Japanese translations
Currently translated at 99.5% (627 of 630 strings)

Translation: Pachli/UI strings
Translate-URL: https://hosted.weblate.org/projects/pachli/ui-strings/ja/
2023-10-17 20:33:48 +02:00
Nik Clayton 2ca279a37c
fix: Update timeline when link preview setting changes (#180)
The previous code didn't include SHOW_CARDS_IN_TIMELINES in the list of
prefkeys that change `StatusDisplayOptions`, so changing the preference
wouldn't update the timeline display; you had to close/restart the app.
2023-10-16 21:49:11 +02:00
sanao 3cfb7a0d1e
feat: Show announcement dates (#35) (#151)
Display the time that an announcement was posted, as well as the
most recent update to the announcement (if there is one). Time display
honours the user's "use absolute time" preference.

Fixes #35
2023-10-16 20:04:30 +02:00
Nik Clayton db2bd3199e
refactor: Create repositories for preferences and StatusDisplayOptions (#149)
Previously, code for handling shared preferences, and how those
preferences affect `StatusDisplayOptions`, was scattered through the
code base with duplicate implementations.

Bring it together in to a `SharedPreferencesRepository` and a
`StatusDisplayOptionsRepository`.

`SharedPreferencesRepository` is a thin wrapper over`SharedPreferences`
that delegates most work to `SharedPreferences`. It configures a
listener for preference changes, and exposes those changes as a flow.

`StatusDisplayOptions` now contains explicit defaults to ensure they
are in one place.

`StatusDisplayOptionsRepository` exposes a `StatusDisplayOptions` flow
that updates whenever the active account changes or a relevant
preference changes.

The viewmodels expose `StatusDisplayOptionsRepository.flow` to the
activities and fragments so they can pass the current value to the
adapter.

This obsoletes `PreferenceChangedEvent`. An event is still fired when
filters change, `FilterChangedEvent`.

This allowed many of the mocks in tests to be replaced with either the
real type (because a fake is injected in to it, or one of its
dependencies) or a custom fake that provides a mock.
2023-10-15 22:52:47 +02:00
Nik Clayton 24fa26c126
refactor: Simplify View{Image,Media,Video}Fragment creation (#175)
Previous code had to distinguish between showing an attachment or
showing an image by URL.

Simplify this by -- in the image URL case -- creating a fake attachment
that references the image URL.

Move the code that unmarshalls the Bundle arguments to
`ViewMediaFragment` to share between `ViewImageFragment` and
`ViewVideoFragment`.
2023-10-15 22:29:18 +02:00
Nik Clayton c50f10a989
refactor: Extract Poll display code to `PollView` (#177) 2023-10-15 22:26:34 +02:00
Nik Clayton 24e195f5b9
chore: Update .gitignore for gradle-profiler (#176)
Ignore directories created by `gradle-profiler`.
2023-10-15 22:18:13 +02:00
renovate[bot] 949faae051
chore(deps): update plugin ktlint to v11.6.1 (#166)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Configuration

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

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

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

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

---

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

---

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

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-15 19:06:10 +02:00
renovate[bot] c03935cccf
fix(deps): update dependency com.ibm.icu:icu4j to v73.2 (#120)
[![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.ibm.icu:icu4j](https://icu.unicode.org/)
([source](https://togithub.com/unicode-org/icu)) | `73.1` -> `73.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.ibm.icu:icu4j/73.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.ibm.icu:icu4j/73.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.ibm.icu:icu4j/73.1/73.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.ibm.icu:icu4j/73.1/73.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>unicode-org/icu (com.ibm.icu:icu4j)</summary>

###
[`v73.2`](https://togithub.com/unicode-org/icu/compare/release-73-1...release-73-2)

[Compare
Source](https://togithub.com/unicode-org/icu/compare/release-73-1...release-73-2)

</details>

---

### Configuration

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

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

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

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

---

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

---

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

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

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

This PR contains the following updates:

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

---

### Configuration

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

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

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

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

---

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

---

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

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-15 18:56:57 +02:00
Nik Clayton 9cb41d6353
fix: Show media when resuming ViewMediaFragment (#174)
Previous code finalised the view setup in `onViewCreated`, so if you
opened some media, switched away from the app, and switched back you'd
get a blank screen.

Fix this by doing the finalisation in `onResume()`, so the media is
displayed correctly when returning to the fragment.

Fixes #161
2023-10-15 14:45:41 +02:00
Nik Clayton 99dd15ea89
fix: Add foregroundServiceType/onTimeout() to prevent crash (#163)
Android 14 (SDK 34) requires a `foregroundServiceType` and `onTimeout()`
implementation for foreground services, otherwise creating the service
will crash.

Do this. If `SendStatusService` does timeout then any pending statuses
are marked as failed, saved to drafts, and the user is informed.

Fixes #162
2023-10-15 13:07:35 +02:00
Weblate (bot) 34c53a67e0
fix(l10n): Translations update from Weblate (#159)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/).


It also includes following components:

* [Pachli/UI
strings](https://hosted.weblate.org/projects/pachli/ui-strings/)



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg)

---------

Co-authored-by: sanao <jinsei@sanao.dev>
Co-authored-by: Eryk Michalak <gnu.ewm@protonmail.com>
2023-10-15 11:48:52 +02:00
renovate[bot] ca06d46d32
fix(deps): update glide to v4.16.0 (#123)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

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

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

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

##### Features

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

##### Compose

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

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

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

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

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

##### Bugs

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

##### Deprecations

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

##### Behavior Changes

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

##### Breaking Changes

##### Build Changes

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

##### New Contributors

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

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

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

</details>

---

### Configuration

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

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

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

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

---

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

---

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

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

---------

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

This PR contains the following updates:

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

---

### Configuration

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

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

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

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

---

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

---

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

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-13 14:45:02 +02:00
Nik Clayton d84ab2b2a3
change: Mark markdown-plugin as a distinct project (#160)
Create a settings.gradle file so it is treated as a separate project.
2023-10-13 14:23:28 +02:00
renovate[bot] b7e90dc313
fix(deps): update dependency androidx.core:core-ktx to v1.12.0 (#115)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Configuration

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

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

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

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

---

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

---

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

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

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

This PR contains the following updates:

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

---

### Configuration

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

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

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

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

---

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

---

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

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

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

This PR contains the following updates:

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

---

### Configuration

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

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

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

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

---

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

---

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

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

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

This PR contains the following updates:

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

---

### Configuration

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

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

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

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

---

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

---

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

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2023-10-13 12:28:17 +02:00
Nik Clayton 86de3be50d
chore(deps): update kotlin to v1.9.10 (#158) 2023-10-13 12:03:36 +02:00
Nik Clayton 71df6254ef
fix: Show thread indicators and other dividers using Material colours (#157)
Use the Material colour for `conversation_thread_line` (which is
`colorOutlineVariant`) instead of a custom attribute.

Elsewhere, use the Material attribute directly (in code), or replace the
custom divider with a `MaterialDivider`.

This makes some colour definitions unused, so remove them.

Fixes #148
2023-10-13 11:36:05 +02:00
Nik Clayton ff5d7f1d27
refactor: Update ViewThreadViewModel to use FiltersRepository (#156)
Instead of calling the filters API directly use `FiltersRepository` to
handle the v1/v2 filter differences.
2023-10-12 12:47:27 +02:00
Nik Clayton 0902b0ba49
refactor: Replace test preference mocks with InMemorySharedPreferences (#155)
Previously the tests mocked shared preferences with a map and a mock
that had to be implemented for each test that needed it.

Replace this with `InMemorySharedPreferences`, which provides the normal
`SharedPreferences` interface so can be used as a drop-in replacement.
2023-10-12 11:22:41 +02:00
Nik Clayton 628b5a7db5
refactor: Inject Gson in FakeDatabaseModule (#153) 2023-10-11 21:27:28 +02:00
Nik Clayton f88599908b
refactor: Extract FakeMastodonApiModule (#152)
Extract `FakeMastodonApiModule` from `ComposeActivityTest` to make it
usable in other tests. Update `MainActivityTest` to use the extracted
code.
2023-10-11 15:39:51 +02:00
Nik Clayton 53e7842439
change: Increase compileSdk and targetSdk to 34 (#150)
Associated changes:

- Handle new null/non-null type signatures in overriden methods
- Configure Robolectric to use SDK 33 (current highest supported
version)
2023-10-11 12:28:45 +02:00
Nik Clayton 8fd536b77f
ci: Fetch all revisions to calculate correct versionCode (#147)
Previous configuration only fetched the most recent revision. Since the
`orangeRelease` `versionCode` is calculated from the number of previous
revisions this always set the `versionCode` to 1.

Fetch all revisions to avoid this.
2023-10-09 17:49:15 +02:00
Nik Clayton 38214648dd
refactor: Migrate from Dagger to Hilt (#143)
- Remove `Injectable` interface, use `@AndroidEntryPoint`
- Remove `DispatchingAndroidInjector`
- Remove `viewModelFactory`, use `@HiltViewModel`
- Create providers for the different DAOs, and inject those instead of
  `AppDatabase`
- Create provider for a database transaction, inject that instead of
  `AppDatabase`
- Update tests
2023-10-07 19:30:11 +02:00
Nik Clayton 1161875014
ci: Upload Pachli Current to the production track (#142) 2023-10-07 14:59:20 +02:00
Nik Clayton f4c0d3525b
chore: Prepare release 1.2.2 (versionCode 5) (#140) 2023-10-03 13:21:53 +02:00
Nik Clayton 802cdd4c46
feat: Embed the privacy policy in the app (#139)
Instead of linking to the privacy policy embed it in the app as a string
of HTML.

The string is created with a new `markdown2resource` plugin, which
converts `PRIVACY.md` to HTML and generates a Java class with the HTML
content.

Create `PrivacyPolicyActivity` to display the HTML in a `WebView`, and
link to it from `AboutActivity`.
2023-10-03 12:56:30 +02:00