mirror of
https://github.com/greenart7c3/Amber.git
synced 2026-10-05 19:08:23 +00:00
Introduces embedded Tor functionality as an alternative to the existing Orbot proxy integration, so users no longer need an external app to route traffic through the Tor network. Key changes: - Add TorMode enum (DISABLED, ORBOT, BUILTIN) replacing the useProxy boolean - Create TorManager (free-flavor only) using io.matthewnelson.kmp-tor:runtime and resource-exec-tor to manage the Tor daemon lifecycle - Offline flavor gets a no-op TorManager stub to maintain build compatibility - AmberSettings: replace useProxy field with torMode enum; useProxy becomes a computed property (torMode != DISABLED) for backward compatibility - LocalPreferences: migrate old use_proxy boolean to TorMode on first load, save/load torMode, update proxy config per mode - Amber: start built-in Tor on app launch when torMode == BUILTIN; isSocksProxyAlive returns TorManager.isRunning for built-in mode - ConnectOrbotDialog: add Built-in Tor section above the Orbot section - SettingsScreen: show mode-specific disconnect label (built-in vs orbot) - HttpClientManager: add clearProxy() public method - AndroidManifest: add INTERNET permission explicitly - gradle: add kmptor 2.6.0 + resource-exec-tor 408.19.0 dependencies, enable jniLibs.useLegacyPackaging for native binary extraction https://claude.ai/code/session_01JwcwxdYrDnr3QyHqTBz33a
27 lines
1.5 KiB
Properties
27 lines
1.5 KiB
Properties
# Project-wide Gradle settings.
|
|
# IDE (e.g. Android Studio) users:
|
|
# Gradle settings configured through the IDE *will override*
|
|
# any settings specified in this file.
|
|
# For more details on how to configure your build environment visit
|
|
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
|
# Specifies the JVM arguments used for the daemon process.
|
|
# The setting is particularly useful for tweaking memory settings.
|
|
org.gradle.jvmargs=-Xms1024m -Xmx4096m -Dfile.encoding=UTF-8
|
|
# When configured, Gradle will run in incubating parallel mode.
|
|
# This option should only be used with decoupled projects. More details, visit
|
|
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
|
# org.gradle.parallel=true
|
|
# AndroidX package structure to make it clearer which packages are bundled with the
|
|
# Android operating system, and which are packaged with your app's APK
|
|
# https://developer.android.com/topic/libraries/support-library/androidx-rn
|
|
android.useAndroidX=true
|
|
# Kotlin code style for this project: "official" or "obsolete":
|
|
kotlin.code.style=official
|
|
# Enables namespacing of each library's R class so that its R class includes only the
|
|
# resources declared in the library itself and none from the library's dependencies,
|
|
# thereby reducing the size of the R class for that library
|
|
android.nonTransitiveRClass=true
|
|
android.enableR8.fullMode=true
|
|
org.gradle.configuration-cache=true
|
|
android.bundle.enableUncompressedNativeLibs=false
|