Prepare 1.7.0 release#128
Merged
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Append installed-only apps as soon as the database page reaches its end and keep paging counts undefined when on-device items are enabled. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Bump versionCode for the next Play open-testing artifact and regenerate release baseline profiles. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR prepares the 1.7.0 release branch while also landing several functional fixes around watchlist preference propagation, paging determinism, notification launch semantics, and Crashlytics noise filtering. It also adds new unit/Robolectric coverage for the updated behaviors.
Changes:
- Bump app
versionCodeto17008and add Robolectric + androidx.test:core test dependencies. - Rework watchlist preference handling so list config changes propagate without recreating the activity, and fix show-on-device paging behavior + deterministic ordering.
- Improve exception filtering/logging for Crashlytics + Drive sync/upload flows, and add targeted tests for regressions.
Reviewed changes
Copilot reviewed 24 out of 26 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
gradle/libs.versions.toml |
Adds version catalog entries for Robolectric + androidx.test:core. |
app/build.gradle.kts |
Bumps versionCode and wires in new unit test dependencies. |
app/src/main/java/com/anod/appwatcher/watchlist/WatchListStateViewModel.kt |
Introduces WatchListPreferences, preference update event, list config invalidation, and preference-change state handling. |
app/src/main/java/com/anod/appwatcher/watchlist/WatchListScreen.kt |
Keys pager/refresh behavior off listConfigChange to ensure preference changes refresh data. |
app/src/main/java/com/anod/appwatcher/watchlist/WatchListPagingSource.kt |
Changes show-on-device loading behavior and count/key calculations; extracts on-device load into helper. |
app/src/main/java/com/anod/appwatcher/watchlist/MainViewModel.kt |
Emits WatchListPreferences in MainViewState by observing preference key changes. |
app/src/main/java/com/anod/appwatcher/watchlist/MainScreen.kt |
Passes preferences via MainViewState and pushes updates into the watchlist VM. |
app/src/main/java/com/anod/appwatcher/preferences/SettingsViewModel.kt |
Removes recreate flag handling; improves Drive sync error handling; refactors list preference update events. |
app/src/main/java/com/anod/appwatcher/preferences/SettingsScreen.kt |
Stops activity recreation path; routes list preference toggles through preference-key constants. |
app/src/main/java/com/anod/appwatcher/preferences/Preferences.kt |
Centralizes several preference keys as constants and uses them in getters/setters. |
app/src/main/java/com/anod/appwatcher/database/AppListTable.kt |
Makes app list ordering deterministic and switches tag filtering to EXISTS/NOT EXISTS semantics; exposes query builder for tests. |
app/src/main/java/com/anod/appwatcher/CrashlyticsExceptionFilter.kt |
Adds centralized “should ignore” logic with bounded root-cause traversal. |
app/src/main/java/com/anod/appwatcher/backup/gdrive/UploadService.kt |
Preserves cancellation and improves recoverable-auth logging. |
app/src/main/java/com/anod/appwatcher/backup/gdrive/GDriveSync.kt |
Preserves cancellation to avoid wrapping it as a sync failure. |
app/src/main/java/com/anod/appwatcher/AppWatcherApplication.kt |
Uses CrashlyticsExceptionFilter for exception suppression. |
app/src/main/java/com/anod/appwatcher/AppWatcherActivity.kt |
Marks updates viewed when launched from notification (including onNewIntent) and adds unit-testable helper. |
app/src/test/java/com/anod/appwatcher/watchlist/WatchListStateViewModelTest.kt |
Tests preference-change state updates and recently-installed clearing. |
app/src/test/java/com/anod/appwatcher/watchlist/WatchListPagingSourceRoomTest.kt |
Robolectric/Room tests for show-on-device paging behavior. |
app/src/test/java/com/anod/appwatcher/NotificationActivityTest.kt |
Adds coverage for notification launch “mark viewed” behavior. |
app/src/test/java/com/anod/appwatcher/database/AppListTableRoomTest.kt |
Robolectric/Room coverage for tag/title filtering and duplicate tag-row behavior. |
app/src/test/java/com/anod/appwatcher/database/AppListTableQueriesTest.kt |
Verifies query-builder SQL shape (join strategy and EXISTS semantics). |
app/src/test/java/com/anod/appwatcher/CrashlyticsExceptionFilterTest.kt |
Covers ignore rules and bounded/cyclic root-cause traversal. |
.github/copilot-instructions.md |
Clarifies submodule workflow specifically for lib changes. |
Bump the release versionCode to 17009 and address settings review feedback by passing list switch state explicitly and restoring immediate theme rebirth. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepared branch for Play open testing:
This branch also includes the Crashlytics, notification timestamp, settings/watchlist preference, and show-on-device paging fixes.