Add data type screens to Android example app#1191
Draft
jkmassel wants to merge 13 commits intoadd/wpcom-oauth-loginfrom
Draft
Add data type screens to Android example app#1191jkmassel wants to merge 13 commits intoadd/wpcom-oauth-loginfrom
jkmassel wants to merge 13 commits intoadd/wpcom-oauth-loginfrom
Conversation
45ca4a8 to
d464811
Compare
9d527ca to
8cc368f
Compare
d464811 to
672f801
Compare
8cc368f to
52a0ea4
Compare
672f801 to
515ed2e
Compare
52a0ea4 to
7a5a5dd
Compare
515ed2e to
4dac102
Compare
7a5a5dd to
e9012f6
Compare
4dac102 to
70b622a
Compare
4121579 to
c0c5a51
Compare
ea6253e to
e42e964
Compare
c0c5a51 to
2afdce4
Compare
1737088 to
bfb70ed
Compare
2afdce4 to
68fc01e
Compare
bfb70ed to
921ceb4
Compare
68fc01e to
9c77848
Compare
921ceb4 to
518cbe1
Compare
9c77848 to
bf781f0
Compare
Migrate Kotlin example app to AccountRepository with encrypted credential storage. Add WP.com OAuth login flow, swipe-to-delete for saved sites, and remove hardcoded site URL from login screen. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Me, Site, Bot Conversations, and Support Conversations screens for WP.com-authenticated sites. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add screens and view models for categories, tags, pages, comments, media, themes, site settings, search, and site health. Wire them into the site screen navigation and update App.kt to use a shared WpApiClient instance. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract a reusable LoadingIndicator component and add isLoading StateFlow to UserListViewModel and PluginListViewModel. Each screen shows a centered spinner while data is being fetched. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ViewModels now accumulate items across pages using nextPageParams from the API response. Screens detect when the user scrolls near the bottom and automatically trigger the next page load. A shared LoadingMoreIndicator component shows a footer spinner during pagination. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Mirrors the iOS app's entity grouping pattern with section headers. Also extracts repeated ListItem boilerplate into SectionHeader and NavigationItem composables. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fetches post types from the API and filters to those visible in nav menus that support title, author, and custom fields – matching the iOS app's behaviour. Each discovered post type appears under the Posts section header and navigates to a generic post list screen with infinite-scroll pagination. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hardcoded Categories/Tags screens with dynamic taxonomy discovery (filtered by showInNavMenus) and a generic TermListByTypeScreen. Add Navigation section with screens for Navigations, Menus, Menu Items, and Menu Locations, bringing the Android app to parity with iOS. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pages are covered by dynamic post type discovery. Add Application Passwords screen under System section, fetching the current user ID via retrieveMe before listing their passwords. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… load Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add shared ErrorMessage and EmptyState composables with a WpRequestResult.errorDescription() extension for human-readable messages. Surface API errors and empty-but-successful results across all 16 screens via a new error StateFlow in each view model. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…sage.kt The errorDescription() extension function referenced requestMethod and requestUrl properties that do not exist on WpRequestResult variants. These fields were added on a separate branch (add/request-context-in-errors) but are not yet available here. Remove the references so the Android example app compiles successfully. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
518cbe1 to
a5c3ea3
Compare
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.
Summary
Build out the Android example app's site screen with screens for all major WordPress data types, including error handling and empty states.
ErrorMessageandEmptyStatecomposables withWpRequestResult.errorDescription()for human-readable error messagesDepends on #1190.
Test plan
./gradlew :example:composeApp:assembleDebug)🤖 Generated with Claude Code