Conversation
3b6709e to
3f191ad
Compare
3f191ad to
509d932
Compare
There was a problem hiding this comment.
Pull request overview
Migrates the Proxy screen UI implementation from the legacy View/XML-based design to Jetpack Compose, in line with the “Rewrite UI in Compose” effort.
Changes:
- Replaced
ProxyDesignUI with a Compose-based pager + grid layout and a bottom-sheet menu. - Removed the legacy Proxy XML layout and associated custom view/RecyclerView adapter infrastructure.
- Refactored Access Control bottom sheet usage (and previews) to use
ModalBottomSheetcontent directly; updatedProxyActivitymanifest entry.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| design/src/main/res/layout/design_proxy.xml | Removed the legacy DataBinding-based proxy layout. |
| design/src/main/java/com/github/kr328/clash/design/component/ProxyView.kt | Removed the legacy custom View-based proxy card renderer. |
| design/src/main/java/com/github/kr328/clash/design/component/ProxyPageFactory.kt | Removed the legacy ViewPager/RecyclerView page factory. |
| design/src/main/java/com/github/kr328/clash/design/component/ProxyMenu.kt | Removed the legacy PopupMenu-based proxy menu implementation. |
| design/src/main/java/com/github/kr328/clash/design/adapter/ProxyPageAdapter.kt | Removed the legacy paging adapter tying groups to RecyclerViews. |
| design/src/main/java/com/github/kr328/clash/design/adapter/ProxyAdapter.kt | Removed the legacy per-group proxy list adapter. |
| design/src/main/java/com/github/kr328/clash/design/ProxyDesign.kt | New Compose-based Proxy screen (pager, grid cards, bottom-sheet menu, URL test action). |
| design/src/main/java/com/github/kr328/clash/design/AccessControlDesign.kt | Adjusted bottom-sheet composition approach + previews to fit ColumnScope content. |
| app/src/main/AndroidManifest.xml | Updated ProxyActivity manifest attributes (removed label/configChanges). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…olDesign.kt Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@copilot apply changes based on the comments in this thread |
Agent-Logs-Url: https://github.com/Goooler/MihomoForAndroid/sessions/0803198a-2cdb-4086-979b-3f9cab618f5c Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com>
Implemented the requested thread updates in commit Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Agent-Logs-Url: https://github.com/Goooler/MihomoForAndroid/sessions/51f03a89-2494-40cd-a017-9c1ffba7fbbb Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Goooler/MihomoForAndroid/sessions/51f03a89-2494-40cd-a017-9c1ffba7fbbb Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Goooler/MihomoForAndroid/sessions/51f03a89-2494-40cd-a017-9c1ffba7fbbb Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Goooler/MihomoForAndroid/sessions/51f03a89-2494-40cd-a017-9c1ffba7fbbb Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Goooler/MihomoForAndroid/sessions/51f03a89-2494-40cd-a017-9c1ffba7fbbb Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Goooler/MihomoForAndroid/sessions/51f03a89-2494-40cd-a017-9c1ffba7fbbb Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Goooler/MihomoForAndroid/sessions/51f03a89-2494-40cd-a017-9c1ffba7fbbb Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| LazyVerticalGrid( | ||
| columns = GridCells.Fixed(columnsForProxyLine(proxyLine)), | ||
| state = rememberLazyGridState(), | ||
| modifier = Modifier.fillMaxSize(), |
There was a problem hiding this comment.
LazyVerticalGrid uses a fresh rememberLazyGridState() inside each pager page. With HorizontalPager (default beyondViewportPageCount = 0), off-screen pages are typically disposed, so when users switch tabs and come back, the grid scroll position will reset. Consider hoisting a LazyGridState per group/page (e.g., keep a List<LazyGridState> in ProxyPagerContent via remember/rememberSaveable and pass it down, or store it in ProxyGroupUiState) to preserve per-tab scroll state.
Refs #65.