Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reorganize the app file tree for clarity #1160

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

meenbeese
Copy link
Contributor

I have only recently gotten used to the file tree of Orbot, and even then, sometimes the location of files throws me off. Some of the nesting seems weird, and unrelated files are in the root directory. I don't think the app structure was ever organized to make sense, but as new features were added, new files were just tucked into existing directories.

This PR aims to make the file tree clearer by organizing files into logical groups, such as more, kindness, and connection.
It obviously takes some time to get used to, but navigating it has become much easier in my experience.

I didn't change all of the directories or touch other packages other than app.
There is probably room for improvement, and I am open to feedback if I have made an unintuitive change.

The new file tree looks like this:

C:.
│   OrbotActivity.kt
│   OrbotApp.kt
│
├───circumvention
│       BuiltInBridgesResponse.kt
│       CircumventionApi.kt
│       MeekAuthenticator.kt
│       SettingsRequest.kt
│       SettingsResponse.kt
│
├───connection
│       ConfigConnectionBottomSheet.kt
│       ConnectFragment.kt
│       ConnectionHelperCallbacks.kt
│       CustomBridgeBottomSheet.kt
│       ExitNodeDialogFragment.kt
│       MoatBottomSheet.kt
│
├───kindness
│       KindessConfigBottomSheet.kt
│       KindnessFragment.kt
│
├───more
│       AboutDialogFragment.kt
│       MoreActionAdapter.kt
│       MoreFragment.kt
│
├───onboarding
│       CustomBridgesActivity.java
│       ProxiedHurlStack.kt
│
├───ui
│       AppManagerActivity.kt
│       LogBottomSheet.kt
│       OrbotBottomSheetDIalogFragment.kt
│       OrbotMenuAction.kt
│       OrbotMenuActionAdapter.kt
│       OrbotTileService.kt
│
└───v3onionservice
    │   OnionServiceActionsDialogFragment.java
    │   OnionServiceActivity.java
    │   OnionServiceContentProvider.java
    │   OnionServiceCreateDialogFragment.java
    │   OnionServiceDatabase.java
    │   OnionServiceDeleteDialogFragment.kt
    │   OnionV3ListAdapter.java
    │   PermissionManager.kt
    │   V3BackupUtils.java
    │   ZipUtilities.java
    │
    └───clientauth
            ClientAuthActionsDialogFragment.java
            ClientAuthActivity.java
            ClientAuthBackupDialogFragment.java
            ClientAuthContentProvider.java
            ClientAuthCreateDialogFragment.java
            ClientAuthDatabase.java
            ClientAuthDeleteDialogFragment.java
            ClientAuthListAdapter.java

or graphically like this:
Screenshot 2024-07-17 185621

@meenbeese meenbeese marked this pull request as draft August 10, 2024 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant