soul-browser/sources
KaKi87 721fabdba4
Replace Desktop menu with Tab/Site/Default user-agent dropdowns (#126)
* Replace Desktop menu with Tab/Site/Default user-agent dropdowns.

Desktop becomes a selectable system UA; tab/site/default scopes resolve via WebTabItem, DbBookUa, and PrefZtwo with %version expansion.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix UA sheet rows stuck greyed out.

SettingItem.s true means locked; the Tab/Site/Default rows were built with true so none were clickable.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Apply site UA across open tabs and polish agent Details/Edit.

Refresh every open WebNestView via UserAgentHelper when Tab/Site/Default changes, resolve site overrides on navigation, and add Details-only overflow plus Preview/%version edit labels for system and custom agents.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix WebNestView$1 VerifyError from UA resolve register clash.

Keep v8 typed as WebSettings across the site-UA resolve path instead of overwriting it with an int.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix DialogEditMemo$4 VerifyError on custom UA Edit.

Keep v7 as the select-all boolean across the type-36 hint insert path.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix Apply crash from wrong WebTabItem.p field type.

applyOpenTabs used an Object-typed iget that ART rejects; use WebNestFrame and fix the compile stub.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix system UA Details: open dialog without VerifyError.

ChildItem construction and onClick register width were crashing MainListAgent; open Details directly on the overflow tap.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix custom UA Edit %version hint never showing.

The ViewGroup parent check used if-nez and skipped the hint in the normal case.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix Apply NPE when a tab has no WebNestFrame yet.

applyOpenTabs used if-nez on tab.p, so getPageValid ran on null
frames (common for unloaded background tabs on device).

Co-authored-by: Cursor <cursoragent@cursor.com>

* Use flat corners on Site and Default UA sheet rows.

Those rows sit in the middle of the sheet, so round modes 1/2 were wrong.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Force Site UA to iPhone on gemini.google.com.

Hard-code that host to iPhone, grey out the Site row, and skip
persisting a site override for it.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Remove obsolete AgentOverflow$2 after dismiss listener renumber.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix cog UA list crash from stale DialogSetDesk.h0 type.

WebViewActivity.k0 still treated h0 as MainSelectAdapter; refresh
Default via SettingListAdapter after MainListAgent returns instead.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix Apply NoSuchMethodError on WebNestView.K return type.

Compiled helper called void K; the real method returns boolean.

* Distinguish Tab UA Default (no override) from Soul (type 0).

Tab storage already uses type+1; decode/encode it in the sheet and resolver so unset tabs show Default while Soul is an explicit choice.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Show Details in a dropdown for built-in user agents.

System agent overflow used to open DialogInfo directly; use a one-item MyPopupMenu like custom rows.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Prune dead UA helper paths left from intermediate steps.

Drop unused DbBookTab.C, previewFor, legacy DialogSetDesk ctor, and duplicate Apply resolve in WebViewActivity$417.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Honor Tab UA on navigation for same-host tabs.

WebNestView$1 was resolving with a null tab, so Site/Default overwrote per-tab overrides after reload; look up the frame's WebTabItem and keep M in sync.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix WebNestView$1 VerifyError from tab lookup register clash.

Keep v6 as null/String for later merges; store the WebTabItem in v12 instead.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Apply Tab→Site→Default when setting the real WebView UA.

WebView init/resume paths were forcing PrefZtwo (or desk) and ignored per-tab overrides, so the sheet looked right while the request header followed Site/Default.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Prune more intermediate UA wiring from the dropdown work.

Drop unused applyOpenTabs hostFilter, redundant DialogSetDesk tabUa args, and the unused template() wrapper.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 20:38:15 +02:00
..
java Replace Desktop menu with Tab/Site/Default user-agent dropdowns (#126) 2026-10-05 20:38:15 +02:00
ocr-runtime/com/mycompany/app/ocr Fix PDF translation stuck on "Updating the text module" (#22) 2026-08-12 16:53:38 +02:00
resources Add Search in preview and Find in page to text selection. 2026-10-05 16:02:04 +02:00
warp-runtime/com/mycompany/app/warp Add Cloudflare WARP (#58) 2026-08-17 02:07:27 +02:00
warp-runtime-stubs Add Cloudflare WARP (#58) 2026-08-17 02:07:27 +02:00