# yunuseeeeeeee/yunze-browser-android architecture

> Architecture diagram of the GitHub repository yunuseeeeeeee/yunze-browser-android, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/yunuseeeeeeee/yunze-browser-android
- Repository: https://github.com/yunuseeeeeeee/yunze-browser-android

## Overview

Yunze Browser is an Android WebView browser. Users enter or choose a URL/search suggestion, then browse in normal or incognito tabs; the browser applies privacy and security controls while managing bookmarks, history, and site permissions. Settings and dedicated screens manage these features through persistent preferences. The graph includes README-documented capabilities whose implementation details were not sampled; those links are cited to the README rather than implying unsampled code was inspected.

Main entry points: [`MainActivity.kt`](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/MainActivity.kt) (Browser runtime), [`DataStore.kt`](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/DataStore.kt) (Browser data store), [`SettingsActivity.kt`](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/SettingsActivity.kt) (Browser settings), [`BookmarksActivity.kt`](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/BookmarksActivity.kt) (Bookmarks screen)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_browsing["Browsing"]
  node_browser["Browser runtime<br/>[MainActivity.kt]"]
  node_tabs["Tab switcher<br/>[TabAdapter.kt]"]
  node_webview["Android WebView"]
  node_download_manager["Android DownloadManager"]
end

subgraph group_privacy["Privacy and security"]
  node_adblock["Ad and tracker blocking<br/>[AdBlocker.kt]"]
  node_blocklist["Domain blocklist<br/>[blocklist.txt]"]
  node_focus["Focus mode"]
end

subgraph group_library["Browser library"]
  node_bookmark_shortcuts["Bookmark shortcuts"]
  node_bookmarks["Bookmarks screen"]
  node_history["History screen<br/>[HistoryActivity.kt]"]
  node_store[("Browser data store<br/>[DataStore.kt]")]
end

subgraph group_preferences["Settings and permissions"]
  node_settings["Browser settings"]
  node_permissions["Site permissions"]
end

subgraph group_suggestions["Search suggestions"]
  node_suggestions["Remote suggestions"]
  node_suggestion_service["Google suggestions service"]
end

node_user(("Browser user"))

node_user -->|"opens and navigates"| node_browser
node_browser -->|"loads web pages"| node_webview
node_browser -->|"updates tab grid"| node_tabs
node_browser -->|"reads and writes"| node_store
node_browser -->|"checks requests"| node_adblock
node_adblock -->|"loads domains"| node_blocklist
node_browser -->|"blocks configured sites"| node_focus
node_browser -->|"shows shortcuts"| node_bookmark_shortcuts
node_browser -->|"opens screen"| node_bookmarks
node_browser -->|"opens screen"| node_history
node_bookmarks -->|"reads and updates"| node_store
node_history -->|"reads and updates"| node_store
node_bookmarks -->|"opens selected URL"| node_browser
node_history -->|"opens selected URL"| node_browser
node_browser -->|"fetches suggestions"| node_suggestions
node_suggestions -->|"requests suggestions"| node_suggestion_service
node_browser -->|"opens settings"| node_settings
node_settings -->|"reads and updates"| node_store
node_settings -->|"opens focus settings"| node_focus
node_settings -->|"opens permissions"| node_permissions
node_permissions -->|"reads and updates"| node_store
node_browser -->|"downloads files"| node_download_manager
node_browser -->|"applies browser protections"| node_webview

click node_browser "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/MainActivity.kt"
click node_tabs "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/TabAdapter.kt"
click node_adblock "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/AdBlocker.kt"
click node_blocklist "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/blocklist.txt"
click node_focus "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/FocusModeActivity.kt"
click node_bookmark_shortcuts "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/BookmarkShortcutAdapter.kt"
click node_bookmarks "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/BookmarksActivity.kt"
click node_history "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/HistoryActivity.kt"
click node_store "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/DataStore.kt"
click node_settings "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/SettingsActivity.kt"
click node_permissions "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/PermissionsActivity.kt"
click node_suggestions "https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/RemoteSuggestions.kt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_browser,node_tabs,node_webview,node_download_manager,node_user toneBlue
class node_adblock,node_blocklist,node_focus toneAmber
class node_bookmark_shortcuts,node_bookmarks,node_history,node_store toneMint
class node_settings,node_permissions toneRose
class node_suggestions,node_suggestion_service toneIndigo
```

## Components

### Browsing

- [Browser runtime](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/MainActivity.kt): `MainActivity.kt`
- [Tab switcher](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/TabAdapter.kt): `TabAdapter.kt`
- **Android WebView**
- **Android DownloadManager**

### Privacy and security

- [Ad and tracker blocking](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/AdBlocker.kt): `AdBlocker.kt`
- [Domain blocklist](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/blocklist.txt): `blocklist.txt`
- [Focus mode](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/FocusModeActivity.kt): `FocusModeActivity.kt`

### Browser library

- [Bookmark shortcuts](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/BookmarkShortcutAdapter.kt): `BookmarkShortcutAdapter.kt`
- [Bookmarks screen](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/BookmarksActivity.kt): `BookmarksActivity.kt`
- [History screen](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/HistoryActivity.kt): `HistoryActivity.kt`
- [Browser data store](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/DataStore.kt): `DataStore.kt`

### Settings and permissions

- [Browser settings](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/SettingsActivity.kt): `SettingsActivity.kt`
- [Site permissions](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/PermissionsActivity.kt): `PermissionsActivity.kt`

### Search suggestions

- [Remote suggestions](https://github.com/yunuseeeeeeee/yunze-browser-android/blob/main/RemoteSuggestions.kt): `RemoteSuggestions.kt`
- **Google suggestions service**

### Other components

- **Browser user**

## Connections

- Browser user → Browser runtime: opens and navigates (evidence: `README.md`)
- Browser runtime → Android WebView: loads web pages (evidence: `README.md`)
- Browser runtime → Tab switcher: updates tab grid (evidence: `MainActivity.kt`)
- Browser runtime → Browser data store: reads and writes (evidence: `MainActivity.kt`)
- Browser runtime → Ad and tracker blocking: checks requests (evidence: `MainActivity.kt`)
- Ad and tracker blocking → Domain blocklist: loads domains (evidence: `AdBlocker.kt`)
- Browser runtime → Focus mode: blocks configured sites (evidence: `MainActivity.kt`)
- Browser runtime → Bookmark shortcuts: shows shortcuts (evidence: `MainActivity.kt`)
- Browser runtime → Bookmarks screen: opens screen (evidence: `MainActivity.kt`)
- Browser runtime → History screen: opens screen (evidence: `MainActivity.kt`)
- Bookmarks screen → Browser data store: reads and updates (evidence: `BookmarksActivity.kt`)
- History screen → Browser data store: reads and updates (evidence: `HistoryActivity.kt`)
- Bookmarks screen → Browser runtime: opens selected URL (evidence: `BookmarksActivity.kt`)
- History screen → Browser runtime: opens selected URL (evidence: `HistoryActivity.kt`)
- Browser runtime → Remote suggestions: fetches suggestions (evidence: `MainActivity.kt`)
- Remote suggestions → Google suggestions service: requests suggestions (evidence: `RemoteSuggestions.kt`)
- Browser runtime → Browser settings: opens settings (evidence: `MainActivity.kt`)
- Browser settings → Browser data store: reads and updates (evidence: `SettingsActivity.kt`)
- Browser settings → Focus mode: opens focus settings (evidence: `SettingsActivity.kt`)
- Browser settings → Site permissions: opens permissions (evidence: `SettingsActivity.kt`)
- Site permissions → Browser data store: reads and updates (evidence: `PermissionsActivity.kt`)
- Browser runtime → Android DownloadManager: downloads files (evidence: `README.md`)
- Browser runtime → Android WebView: applies browser protections (evidence: `README.md`)
