Files
docs/android/PROJECT_TREE.md
wtclaude 3ae4d1c3db docs(tree): add per-repo PROJECT_TREE snapshots + index them
Add auto-generated project-tree snapshots for the website, link, and
Android-app repos under docs/<repo>/PROJECT_TREE.md, and link them from
the README (adding a previously-missing android/ section). These files
are maintained going forward by the sync-project-tree CI workflow in each
source repo, which opens a PR here whenever the tracked layout changes.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-22 16:14:52 -05:00

20 KiB

Android App — Project Tree

Auto-generated. This file is maintained by the sync-project-tree CI workflow in the RunicGateway/Android-app repository, which opens a pull request here whenever the tracked file layout on main changes. Do not edit by hand — changes will be overwritten by the next sync.

A snapshot of the tracked files in the repository (build output, dependencies, and other git-ignored paths are excluded).

Android-app-main/
└── android-app/
    ├── .gitea/
    │   └── workflows/
    │       ├── pr-checks.yml
    │       ├── release.yml
    │       └── sonarqube.yml
    ├── app/
    │   ├── licenses/
    │   │   └── Cinzel-OFL.txt
    │   ├── src/
    │   │   ├── debug/
    │   │   │   └── res/
    │   │   │       └── xml/
    │   │   │           └── network_security_config.xml
    │   │   ├── main/
    │   │   │   ├── java/
    │   │   │   │   └── com/
    │   │   │   │       └── runicgateway/
    │   │   │   │           └── app/
    │   │   │   │               ├── core/
    │   │   │   │               │   ├── auth/
    │   │   │   │               │   │   ├── sso/
    │   │   │   │               │   │   │   ├── EncryptedPendingSsoStore.kt
    │   │   │   │               │   │   │   ├── PendingSsoStore.kt
    │   │   │   │               │   │   │   ├── Pkce.kt
    │   │   │   │               │   │   │   └── SsoAuthManager.kt
    │   │   │   │               │   │   ├── DeviceNameProvider.kt
    │   │   │   │               │   │   ├── EncryptedTokenStore.kt
    │   │   │   │               │   │   ├── EncryptedTrustTokenStore.kt
    │   │   │   │               │   │   ├── Session.kt
    │   │   │   │               │   │   ├── SessionManager.kt
    │   │   │   │               │   │   ├── TokenStore.kt
    │   │   │   │               │   │   └── TrustTokenStore.kt
    │   │   │   │               │   ├── net/
    │   │   │   │               │   │   ├── AuthInterceptor.kt
    │   │   │   │               │   │   ├── BaseUrlHolder.kt
    │   │   │   │               │   │   ├── HostSelectionInterceptor.kt
    │   │   │   │               │   │   ├── Http.kt
    │   │   │   │               │   │   ├── ServerUrl.kt
    │   │   │   │               │   │   ├── ShardStreamClient.kt
    │   │   │   │               │   │   ├── ShardStreamEvent.kt
    │   │   │   │               │   │   ├── TokenAuthenticator.kt
    │   │   │   │               │   │   └── UserAgentInterceptor.kt
    │   │   │   │               │   ├── prefs/
    │   │   │   │               │   │   └── ServerPreferences.kt
    │   │   │   │               │   ├── push/
    │   │   │   │               │   │   ├── NtfyStreamClient.kt
    │   │   │   │               │   │   ├── NtfyTopic.kt
    │   │   │   │               │   │   ├── PushManager.kt
    │   │   │   │               │   │   ├── PushNotifier.kt
    │   │   │   │               │   │   ├── PushPreferences.kt
    │   │   │   │               │   │   ├── PushService.kt
    │   │   │   │               │   │   ├── PushStreams.kt
    │   │   │   │               │   │   └── PushTickle.kt
    │   │   │   │               │   ├── result/
    │   │   │   │               │   │   └── ApiResult.kt
    │   │   │   │               │   ├── web/
    │   │   │   │               │   │   ├── WebHandoff.kt
    │   │   │   │               │   │   └── WebsiteUrls.kt
    │   │   │   │               │   └── AppConfig.kt
    │   │   │   │               ├── data/
    │   │   │   │               │   ├── api/
    │   │   │   │               │   │   ├── dto/
    │   │   │   │               │   │   │   ├── AccountDto.kt
    │   │   │   │               │   │   │   ├── AdminDto.kt
    │   │   │   │               │   │   │   ├── AuthDto.kt
    │   │   │   │               │   │   │   ├── ContactDto.kt
    │   │   │   │               │   │   │   ├── NotificationsDto.kt
    │   │   │   │               │   │   │   ├── PageDto.kt
    │   │   │   │               │   │   │   ├── PlayerShardDto.kt
    │   │   │   │               │   │   │   ├── PostDto.kt
    │   │   │   │               │   │   │   ├── PublicDto.kt
    │   │   │   │               │   │   │   ├── ShardDto.kt
    │   │   │   │               │   │   │   ├── SsoDto.kt
    │   │   │   │               │   │   │   └── WikiDto.kt
    │   │   │   │               │   │   ├── AdminApi.kt
    │   │   │   │               │   │   ├── AuthApi.kt
    │   │   │   │               │   │   ├── AuthRefreshApi.kt
    │   │   │   │               │   │   ├── MeApi.kt
    │   │   │   │               │   │   ├── NotificationsApi.kt
    │   │   │   │               │   │   ├── PlayerShardApi.kt
    │   │   │   │               │   │   ├── PublicApi.kt
    │   │   │   │               │   │   └── SsoApi.kt
    │   │   │   │               │   └── repository/
    │   │   │   │               │       ├── AccountRepository.kt
    │   │   │   │               │       ├── AdminRepository.kt
    │   │   │   │               │       ├── AuthRepository.kt
    │   │   │   │               │       ├── ConnectionRepository.kt
    │   │   │   │               │       ├── ContactRepository.kt
    │   │   │   │               │       ├── ContentRepository.kt
    │   │   │   │               │       ├── NotificationsRepository.kt
    │   │   │   │               │       ├── PlayerShardRepository.kt
    │   │   │   │               │       ├── SettingsRepository.kt
    │   │   │   │               │       ├── ShardRepository.kt
    │   │   │   │               │       └── WikiRepository.kt
    │   │   │   │               ├── di/
    │   │   │   │               │   ├── AppModule.kt
    │   │   │   │               │   ├── NetworkModule.kt
    │   │   │   │               │   └── StorageModule.kt
    │   │   │   │               ├── ui/
    │   │   │   │               │   ├── admin/
    │   │   │   │               │   │   ├── AdminContentScreen.kt
    │   │   │   │               │   │   ├── AdminContentViewModel.kt
    │   │   │   │               │   │   ├── AdminDashboardScreen.kt
    │   │   │   │               │   │   ├── AdminDashboardViewModel.kt
    │   │   │   │               │   │   ├── AdminModerationScreen.kt
    │   │   │   │               │   │   ├── AdminModerationViewModel.kt
    │   │   │   │               │   │   ├── AdminSupportScreen.kt
    │   │   │   │               │   │   └── AdminSupportViewModel.kt
    │   │   │   │               │   ├── auth/
    │   │   │   │               │   │   ├── AccountScreen.kt
    │   │   │   │               │   │   ├── AccountViewModel.kt
    │   │   │   │               │   │   ├── LoginScreen.kt
    │   │   │   │               │   │   ├── LoginViewModel.kt
    │   │   │   │               │   │   ├── RecoveryCodesScreen.kt
    │   │   │   │               │   │   ├── RecoveryCodesViewModel.kt
    │   │   │   │               │   │   ├── TrustedDevicesScreen.kt
    │   │   │   │               │   │   └── TrustedDevicesViewModel.kt
    │   │   │   │               │   ├── components/
    │   │   │   │               │   │   ├── HtmlText.kt
    │   │   │   │               │   │   ├── StateViews.kt
    │   │   │   │               │   │   └── ThemeComponents.kt
    │   │   │   │               │   ├── connect/
    │   │   │   │               │   │   ├── ConnectScreen.kt
    │   │   │   │               │   │   └── ConnectViewModel.kt
    │   │   │   │               │   ├── contact/
    │   │   │   │               │   │   ├── ContactScreen.kt
    │   │   │   │               │   │   └── ContactViewModel.kt
    │   │   │   │               │   ├── home/
    │   │   │   │               │   │   ├── HomeScreen.kt
    │   │   │   │               │   │   └── HomeViewModel.kt
    │   │   │   │               │   ├── navigation/
    │   │   │   │               │   │   ├── Menu.kt
    │   │   │   │               │   │   └── Routes.kt
    │   │   │   │               │   ├── news/
    │   │   │   │               │   │   ├── NewsScreen.kt
    │   │   │   │               │   │   ├── NewsViewModel.kt
    │   │   │   │               │   │   ├── PostScreen.kt
    │   │   │   │               │   │   └── PostViewModel.kt
    │   │   │   │               │   ├── notifications/
    │   │   │   │               │   │   ├── NotificationsScreen.kt
    │   │   │   │               │   │   └── NotificationsViewModel.kt
    │   │   │   │               │   ├── page/
    │   │   │   │               │   │   ├── BlockRenderer.kt
    │   │   │   │               │   │   ├── PageScreen.kt
    │   │   │   │               │   │   └── PageViewModel.kt
    │   │   │   │               │   ├── player/
    │   │   │   │               │   │   ├── CharacterSheetScreen.kt
    │   │   │   │               │   │   ├── CharactersScreen.kt
    │   │   │   │               │   │   ├── CharactersViewModel.kt
    │   │   │   │               │   │   ├── CharacterViewModel.kt
    │   │   │   │               │   │   ├── MyHousesScreen.kt
    │   │   │   │               │   │   ├── MyHousesViewModel.kt
    │   │   │   │               │   │   ├── VendorsScreen.kt
    │   │   │   │               │   │   └── VendorsViewModel.kt
    │   │   │   │               │   ├── session/
    │   │   │   │               │   │   └── SessionViewModel.kt
    │   │   │   │               │   ├── shard/
    │   │   │   │               │   │   ├── ChampsScreen.kt
    │   │   │   │               │   │   ├── ChampsViewModel.kt
    │   │   │   │               │   │   ├── FrameFields.kt
    │   │   │   │               │   │   ├── GovernorsScreen.kt
    │   │   │   │               │   │   ├── GovernorsViewModel.kt
    │   │   │   │               │   │   ├── GuildsScreen.kt
    │   │   │   │               │   │   ├── GuildsViewModel.kt
    │   │   │   │               │   │   ├── HousesScreen.kt
    │   │   │   │               │   │   ├── HousesViewModel.kt
    │   │   │   │               │   │   ├── LiveBoard.kt
    │   │   │   │               │   │   ├── ShardComponents.kt
    │   │   │   │               │   │   ├── ShardEventText.kt
    │   │   │   │               │   │   ├── ShardScreen.kt
    │   │   │   │               │   │   └── ShardViewModel.kt
    │   │   │   │               │   ├── theme/
    │   │   │   │               │   │   ├── BrandColor.kt
    │   │   │   │               │   │   ├── Color.kt
    │   │   │   │               │   │   ├── Font.kt
    │   │   │   │               │   │   ├── Theme.kt
    │   │   │   │               │   │   └── Type.kt
    │   │   │   │               │   ├── wiki/
    │   │   │   │               │   │   ├── WikiPageScreen.kt
    │   │   │   │               │   │   ├── WikiPageViewModel.kt
    │   │   │   │               │   │   ├── WikiScreen.kt
    │   │   │   │               │   │   └── WikiViewModel.kt
    │   │   │   │               │   ├── AppViewModel.kt
    │   │   │   │               │   ├── LocalAssetResolver.kt
    │   │   │   │               │   ├── RunicApp.kt
    │   │   │   │               │   └── UiState.kt
    │   │   │   │               ├── MainActivity.kt
    │   │   │   │               └── RunicGatewayApp.kt
    │   │   │   ├── res/
    │   │   │   │   ├── drawable/
    │   │   │   │   │   └── ic_launcher_background.xml
    │   │   │   │   ├── drawable-anydpi/
    │   │   │   │   │   └── ic_stat_name.xml
    │   │   │   │   ├── drawable-hdpi/
    │   │   │   │   │   └── ic_stat_name.png
    │   │   │   │   ├── drawable-mdpi/
    │   │   │   │   │   └── ic_stat_name.png
    │   │   │   │   ├── drawable-xhdpi/
    │   │   │   │   │   └── ic_stat_name.png
    │   │   │   │   ├── drawable-xxhdpi/
    │   │   │   │   │   └── ic_stat_name.png
    │   │   │   │   ├── font/
    │   │   │   │   │   └── cinzel_variable.ttf
    │   │   │   │   ├── mipmap-anydpi-v26/
    │   │   │   │   │   ├── ic_launcher_round.xml
    │   │   │   │   │   └── ic_launcher.xml
    │   │   │   │   ├── mipmap-hdpi/
    │   │   │   │   │   ├── ic_launcher_foreground.webp
    │   │   │   │   │   ├── ic_launcher_round.webp
    │   │   │   │   │   └── ic_launcher.webp
    │   │   │   │   ├── mipmap-mdpi/
    │   │   │   │   │   ├── ic_launcher_foreground.webp
    │   │   │   │   │   ├── ic_launcher_round.webp
    │   │   │   │   │   └── ic_launcher.webp
    │   │   │   │   ├── mipmap-xhdpi/
    │   │   │   │   │   ├── ic_launcher_foreground.webp
    │   │   │   │   │   ├── ic_launcher_round.webp
    │   │   │   │   │   └── ic_launcher.webp
    │   │   │   │   ├── mipmap-xxhdpi/
    │   │   │   │   │   ├── ic_launcher_foreground.webp
    │   │   │   │   │   ├── ic_launcher_round.webp
    │   │   │   │   │   └── ic_launcher.webp
    │   │   │   │   ├── mipmap-xxxhdpi/
    │   │   │   │   │   ├── ic_launcher_foreground.webp
    │   │   │   │   │   ├── ic_launcher_round.webp
    │   │   │   │   │   └── ic_launcher.webp
    │   │   │   │   ├── values/
    │   │   │   │   │   ├── colors.xml
    │   │   │   │   │   ├── strings.xml
    │   │   │   │   │   └── themes.xml
    │   │   │   │   └── xml/
    │   │   │   │       ├── backup_rules.xml
    │   │   │   │       ├── data_extraction_rules.xml
    │   │   │   │       └── network_security_config.xml
    │   │   │   ├── AndroidManifest.xml
    │   │   │   └── ic_launcher-playstore.png
    │   │   └── test/
    │   │       └── java/
    │   │           └── com/
    │   │               └── runicgateway/
    │   │                   └── app/
    │   │                       ├── core/
    │   │                       │   ├── auth/
    │   │                       │   │   ├── sso/
    │   │                       │   │   │   ├── PkceTest.kt
    │   │                       │   │   │   └── SsoAuthManagerTest.kt
    │   │                       │   │   └── SessionManagerTest.kt
    │   │                       │   ├── net/
    │   │                       │   │   ├── HostRewriteTest.kt
    │   │                       │   │   ├── ServerUrlTest.kt
    │   │                       │   │   └── ShardStreamClientTest.kt
    │   │                       │   ├── push/
    │   │                       │   │   ├── NtfyTopicTest.kt
    │   │                       │   │   └── PushTickleTest.kt
    │   │                       │   └── result/
    │   │                       │       └── ApiResultTest.kt
    │   │                       ├── data/
    │   │                       │   ├── api/
    │   │                       │   │   └── dto/
    │   │                       │   │       ├── AccountDtoTest.kt
    │   │                       │   │       ├── AuthDtoTest.kt
    │   │                       │   │       ├── NotificationsDtoTest.kt
    │   │                       │   │       ├── PlayerShardDtoTest.kt
    │   │                       │   │       └── ShardDtoTest.kt
    │   │                       │   └── repository/
    │   │                       │       ├── AccountTrustedDevicesTest.kt
    │   │                       │       └── ConnectionVersionGuardTest.kt
    │   │                       ├── ui/
    │   │                       │   ├── navigation/
    │   │                       │   │   └── MenuAccessTest.kt
    │   │                       │   ├── notifications/
    │   │                       │   │   └── NotificationRoutingTest.kt
    │   │                       │   ├── player/
    │   │                       │   │   └── CharacterSheetHelpersTest.kt
    │   │                       │   ├── shard/
    │   │                       │   │   ├── LiveBoardTest.kt
    │   │                       │   │   └── ShardEventTextTest.kt
    │   │                       │   ├── theme/
    │   │                       │   │   └── BrandColorTest.kt
    │   │                       │   └── UiStateTest.kt
    │   │                       └── ScaffoldSanityTest.kt
    │   ├── build.gradle.kts
    │   └── proguard-rules.pro
    ├── gradle/
    │   ├── wrapper/
    │   │   ├── gradle-wrapper.jar
    │   │   └── gradle-wrapper.properties
    │   └── libs.versions.toml
    ├── .gitattributes
    ├── .gitignore
    ├── build.gradle.kts
    ├── CODE_OF_CONDUCT.md
    ├── CONTRIBUTING.md
    ├── CONTRIBUTORS.md
    ├── gradle.properties
    ├── gradlew
    ├── gradlew.bat
    ├── LICENSE.md
    ├── README.md
    ├── SECURITY.md
    ├── settings.gradle.kts
    └── sonar-project.properties