Skip to content
Open

v055u #2169

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
204 commits
Select commit Hold shift + click to select a range
a10f015
rmv pause check for wgs, add cache for all transports
hussainmohd-a Aug 25, 2025
31d33cf
wg: force update tun on wg-config changes
hussainmohd-a Aug 25, 2025
6d9cbab
fix: only add cache when there is sec transport
hussainmohd-a Aug 25, 2025
51e3629
fix: DB schema and entity constructor mismatch
hussainmohd-a Aug 25, 2025
d1f9029
wg: prevent duplicate WGs
hussainmohd-a Aug 25, 2025
83cf3aa
bump gradle version to 8.12.1
hussainmohd-a Aug 25, 2025
239b8f1
ui: increase space for msg in nw log btm sht
hussainmohd-a Aug 25, 2025
bfb7161
rmv unused check from tunnel settings screen
hussainmohd-a Aug 25, 2025
256f4cd
Merge branch 'v055n' of https://github.com/hussainmohd-a/rethink-app …
hussainmohd-a Aug 26, 2025
152456a
fix: minor improvements for app not in use
hussainmohd-a Aug 26, 2025
a35c586
ui: rmv unused code from conn tracker btm sht
hussainmohd-a Aug 26, 2025
8c50e82
fix: #2131: counter for rule in universal firewall rules
hussainmohd-a Aug 26, 2025
dd16dbd
fix: rmv redundant wifi check in cellular check
hussainmohd-a Aug 26, 2025
e13cf0c
ui: multi-line support for allowed-ips on wg peer
hussainmohd-a Aug 26, 2025
1e2fb91
Fix #2132: incorrect counter for metered/unmetered in stats
hussainmohd-a Aug 26, 2025
589cfc5
ui: proxy stats on home screen sometimes shown as inactive
hussainmohd-a Aug 26, 2025
56820fd
gradle: bump compile sdk version to 36
hussainmohd-a Aug 26, 2025
618e076
tun: minor; no need to skip cached response logging
hussainmohd-a Aug 26, 2025
1d535c0
ui: dns log search filter resets on resume (#2067)
hussainmohd-a Aug 26, 2025
b2cc8be
Fix: #1664; add state flow to handle search with delay
hussainmohd-a Aug 26, 2025
7320acf
vpn: add log stmt when handling expiring conns
hussainmohd-a Aug 26, 2025
823f110
stat: add wireguard stats in about screen
hussainmohd-a Aug 26, 2025
adecb2f
ui: show always-on, lockdown, mobile only as chip
hussainmohd-a Aug 26, 2025
70c23a8
ui: update stroke color on dns failure
hussainmohd-a Aug 26, 2025
139c1fd
ui: new advanced settings for debug mode
hussainmohd-a Aug 26, 2025
3f68138
wg: resume paused wg on mobile-only config change
hussainmohd-a Aug 26, 2025
d4b5bbc
ui: fix spacing issue on dns settings screen
hussainmohd-a Aug 26, 2025
2c0f951
rule-set: re-order the bypass list for readability
hussainmohd-a Aug 26, 2025
af9642a
close-conn: add reason for manual close
hussainmohd-a Aug 26, 2025
ab76f48
db-stat: dump only selected db stats
hussainmohd-a Aug 26, 2025
d96fc62
stats: remove extra line-break from wg stats
hussainmohd-a Aug 26, 2025
7f38d53
minor alignments and TextView -> AppTextView
hussainmohd-a Aug 26, 2025
4a83e44
optimize imports, rmv extra spacing in logs
hussainmohd-a Aug 26, 2025
2896917
db-stat: add right toast msg in db stats
hussainmohd-a Aug 27, 2025
b8cd055
Merge branch 'celzero:main' into v055n
hussainmohd-a Aug 28, 2025
d3952d3
Merge branch 'v055n' of https://github.com/hussainmohd-a/rethink-app …
hussainmohd-a Aug 28, 2025
69e56b2
vpn: rmv unused method from BraveVpnService
hussainmohd-a Aug 28, 2025
a9dfb03
Fix #2173, add quad9 to fallback dns
hussainmohd-a Aug 28, 2025
c0cbb92
ui: rename const's in both wg adapters
hussainmohd-a Aug 28, 2025
119acc5
ui: inc max lines for message in dns btm sht
hussainmohd-a Aug 28, 2025
1f9ba67
batcher: inc lsn before any suspend or delay
hussainmohd-a Aug 29, 2025
1a527d9
wg proxies based on WiFi SSIDs, pass 1
hussainmohd-a Sep 1, 2025
3a852a5
ui: rearrange the settings in network screen
hussainmohd-a Sep 1, 2025
1a79a3d
fix: 2195; proxy tile in home screen is incorrect
hussainmohd-a Sep 1, 2025
713a0dc
ui: show correct policy selected in desc
hussainmohd-a Sep 1, 2025
7b24478
Merge branch 'celzero:main' into v055n
hussainmohd-a Sep 1, 2025
6fc798d
apps: handle inaccessible apps gracefully
hussainmohd-a Sep 1, 2025
fc502d7
logger: rmv ful-trace from warning log
hussainmohd-a Sep 1, 2025
49e7e1c
daemons: impl monitor cancellation
hussainmohd-a Sep 1, 2025
9ddb227
batcher: rename tag for looper, consoleLogLooper
hussainmohd-a Sep 1, 2025
3cf577c
logging: rmv exception objects from log stmts
hussainmohd-a Sep 1, 2025
d04d0d7
proxy: removal of proxy app mappings from cache
hussainmohd-a Sep 1, 2025
b50bf50
ip-domain cache: rmv unnecessary entries from trie
hussainmohd-a Sep 1, 2025
54f3530
worker: work policy to KEEP for data usage job
hussainmohd-a Sep 1, 2025
cd3e381
ui: restrict edit when wg is part of mpr or relay
hussainmohd-a Sep 3, 2025
d83b0f2
log: only update close conns when summary not rcvd
hussainmohd-a Sep 3, 2025
f090dc9
fix: rmv cids from tracked sets onSocketClosed()
hussainmohd-a Sep 3, 2025
41c7392
logger: handle the user level which is not shown in ui
hussainmohd-a Sep 4, 2025
5e13b02
nw-callback: handle the location flag based on build version
hussainmohd-a Sep 4, 2025
3b26983
ui: fix incorrect mpr and relay chips in hop adapter
hussainmohd-a Sep 4, 2025
3fe6f2f
ui: use logger level strings instead of enum
hussainmohd-a Sep 4, 2025
f55c33f
ui: show ssid in home screen btm sht
hussainmohd-a Sep 4, 2025
2bbc462
ui: make use of betterypermissionhelper lib
hussainmohd-a Sep 4, 2025
cc5e8cb
Fix: #2201; reset the blocklists selection on discard btn
hussainmohd-a Sep 5, 2025
7d50130
ui: show symbol chip for ssid enabled wgs
hussainmohd-a Sep 5, 2025
dc1fa48
ui: show wg-props chip, do not add relay for ssid/mobile enabled wgs
hussainmohd-a Sep 5, 2025
d22d14f
wg: do not add default id for one-wg dns requests
hussainmohd-a Sep 5, 2025
085e60d
ui: revert unused toast from wg detail activity
hussainmohd-a Sep 5, 2025
2ebd03d
ui: show proxied chip if proxy id available
hussainmohd-a Sep 5, 2025
831db58
battery-stats-pass1: use fb battery metrics
hussainmohd-a Sep 5, 2025
456e877
ui: treat dns rules as firewall rules now needs advanced dns filterin…
hussainmohd-a Sep 5, 2025
de0c87c
ui: show toast if rethink is disabled on local blocklist
hussainmohd-a Sep 9, 2025
e078e69
impl: configurable firebase integration in play & website flavor
hussainmohd-a Sep 9, 2025
6924c61
impl: persistent state for firebase crashlytics
hussainmohd-a Sep 9, 2025
f642391
impl: global exception handler for uncaught exceptions
hussainmohd-a Sep 9, 2025
bcf5a2d
fix: log the battery metrics in i/o thread
hussainmohd-a Sep 9, 2025
06408ac
impl: global exception handler for uncaught exceptions
hussainmohd-a Sep 9, 2025
1144dac
ui: battery stats option in about screen
hussainmohd-a Sep 9, 2025
21ce69f
auto-start: handle package replaced event on app-update, fix#1493
hussainmohd-a Sep 11, 2025
96b8c4d
app: tombstone apps feature behind a setting
hussainmohd-a Sep 13, 2025
d570cd0
impl: crashlytics for automatic error reporting
hussainmohd-a Sep 13, 2025
bbd3c1b
fix: handle exceptions in tombstoneApp method
hussainmohd-a Sep 13, 2025
d5f52de
impl: global exception handler, battery stats improvements
hussainmohd-a Sep 13, 2025
4aac849
fix: defensive check to avoid tombstone again and again
hussainmohd-a Sep 13, 2025
98d50ae
impl: ssid based wg conf; support for wildcard ssid
hussainmohd-a Sep 13, 2025
55c0a7d
ui: hide recycler when on no data
hussainmohd-a Sep 13, 2025
6d8a34c
ui: tie treat dns as firewall rules with alg setting
hussainmohd-a Sep 13, 2025
fe478be
ui: fix proxy status update in home screen
hussainmohd-a Sep 13, 2025
9e71a73
fix logic for package deletion and tombstoning
hussainmohd-a Sep 15, 2025
aa4f397
ui: improve WgSsidDialog UI and window handling
hussainmohd-a Sep 15, 2025
9d702f6
ui: init tombstone switch state on view creation
hussainmohd-a Sep 15, 2025
d7ab312
fix: correct uid while updating the proxy mappings
hussainmohd-a Sep 16, 2025
2c20c6a
fix: #2230; handle encode socks5 proxy url construction
hussainmohd-a Sep 17, 2025
8dee00c
fix: handle uid updates with conflict resolution
hussainmohd-a Sep 17, 2025
2329e46
show notification on ssid permission removal
hussainmohd-a Sep 17, 2025
97445e4
fix: handle exceptions when unregistering network callbacks
hussainmohd-a Sep 22, 2025
c6c263c
rmv unused code from ssid dialog ui
hussainmohd-a Sep 22, 2025
409a56b
ui: show default msg on no battery stats
hussainmohd-a Sep 22, 2025
a6e63df
improve locale selection and fix Indonesian locale code
hussainmohd-a Sep 22, 2025
5f341d0
fix battery stats logging and update error reporting
hussainmohd-a Sep 22, 2025
dbe4ff7
glide: fix ModelLoaders registered for model class exception
hussainmohd-a Sep 22, 2025
94616cd
ui: show correct desc for biometric setting
hussainmohd-a Sep 22, 2025
611eafc
fix: rmv check for empty ssids; as empty considered as all SSIDs
hussainmohd-a Sep 22, 2025
a6ac826
fix: rmv notif from vpn-service, handled in conn-monitor
hussainmohd-a Sep 22, 2025
d8eea64
add wg handling in notif-handler for SSIDs
hussainmohd-a Sep 22, 2025
d26d614
bump dependency versions in build.gradle
hussainmohd-a Sep 22, 2025
0cb3e33
enable jetfier to handle androidX issue
hussainmohd-a Sep 22, 2025
a45c1d8
ui: optimize imports
hussainmohd-a Sep 23, 2025
3c4a4e8
ui: fix time issue on stats -> country selection
hussainmohd-a Sep 23, 2025
56ee0fd
ui: minor ui and literals fix for ssid dialog
hussainmohd-a Sep 23, 2025
9d24b32
conn-monitor: rmv unused objs from code
hussainmohd-a Sep 23, 2025
ae04088
fix#2245; version in backup file name
hussainmohd-a Sep 24, 2025
42a7237
Merge branch 'celzero:main' into v055n
hussainmohd-a Sep 24, 2025
c3e5715
ui: additional supported locales to locale_config.xml
hussainmohd-a Sep 24, 2025
c631eac
Merge branch 'celzero:main' into v055n
hussainmohd-a Sep 25, 2025
2415d10
Merge branch 'v055n' of https://github.com/hussainmohd-a/rethink-app …
hussainmohd-a Sep 25, 2025
88a6580
Merge branch 'celzero:main' into v055n
hussainmohd-a Sep 25, 2025
742c139
impl: add new protocol option for IP settings (IPv4+v6)
hussainmohd-a Sep 25, 2025
be86576
ui: show ssid based on permission in home screen btm sht
hussainmohd-a Sep 25, 2025
2b3728a
impl: throttle connectivity checks on network events
hussainmohd-a Sep 25, 2025
06bbe15
ui: re-arrange the radio button on ssid dialog
hussainmohd-a Sep 25, 2025
301afac
ui: add material 3 color system and custom switch styles
hussainmohd-a Sep 25, 2025
59d1df4
ktfmt: home screen fragment, glide module
hussainmohd-a Sep 25, 2025
809b2e5
Merge branch 'v055n' of https://github.com/hussainmohd-a/rethink-app …
hussainmohd-a Sep 25, 2025
b94773e
ui: set wildcard to be default in ssid dialog
hussainmohd-a Sep 25, 2025
17ce19c
ssid: check for wifi nw on ssid based pause/resume
hussainmohd-a Sep 25, 2025
87a2d88
ui: add total bytes on country based summary stats
hussainmohd-a Sep 25, 2025
622d4a1
manifest: meta-data to support lockdown vpn
hussainmohd-a Sep 25, 2025
178265d
Merge branch 'celzero:main' into v055n
hussainmohd-a Sep 25, 2025
cc96136
fix: handle null data usage in DataUsageUpdater
hussainmohd-a Sep 26, 2025
50d0e39
ktfmt data usage updater class
hussainmohd-a Sep 26, 2025
87eb3a5
bump firestack version
hussainmohd-a Sep 26, 2025
ac6c349
change firestack repo to ossrh
hussainmohd-a Sep 26, 2025
b96979c
use REPLACE policy for periodic work scheduling
hussainmohd-a Sep 26, 2025
c7b43eb
test: add unit tests for WelcomeActivity
hussainmohd-a Sep 26, 2025
e09c218
test: add unit tests for FirewallManager
hussainmohd-a Sep 27, 2025
0c78a78
test: add new test dependencies to build.gradle
hussainmohd-a Sep 27, 2025
ccc69ff
test: add comprehensive WireguardManager unit tests
hussainmohd-a Sep 29, 2025
1a8bb9e
rmv unused ctxt parameter from initialize() in FirebaseErrorReporting
hussainmohd-a Sep 29, 2025
bd91ddc
delete dummy google-services.json
hussainmohd-a Sep 29, 2025
a8c2228
add google-services.json to .gitignore
hussainmohd-a Sep 29, 2025
98361cb
test: add comprehensive unit tests for WgHopManager
hussainmohd-a Sep 29, 2025
7eaeafd
ui: #2227 truncated naming fix in wireguard ui
hussainmohd-a Sep 30, 2025
62648db
ui: fix#2259 domain status for wildcard and minor variable fix
hussainmohd-a Sep 30, 2025
839a5b4
fix usage of uninitialized appInfo and correct uid ref
hussainmohd-a Sep 30, 2025
a3eb28e
test: add unit tests for FirewallAppListAdapter
hussainmohd-a Sep 30, 2025
e999257
test: add unit tests for WgConfigAdapter
hussainmohd-a Oct 1, 2025
f1f60b5
test: add HomeScreenFragment unit tests
hussainmohd-a Oct 2, 2025
ef1b271
test: add UI and unit tests for AppInfoActivity
hussainmohd-a Oct 2, 2025
5a67fd5
move SsidAdapter.kt to full source set
hussainmohd-a Oct 4, 2025
d4b6509
ui: rmv custom switch styles from app themes
hussainmohd-a Oct 4, 2025
63cb762
rmv: changes related to rethink plus
hussainmohd-a Oct 4, 2025
9bf2293
firebase: record go errors as RuntimeException
hussainmohd-a Oct 4, 2025
dbc776a
use property access instead of setter method
hussainmohd-a Oct 4, 2025
99b288b
ui: new settings badge logic and update ui
hussainmohd-a Oct 4, 2025
6b3d63f
Merge branch 'celzero:main' into v055n
hussainmohd-a Oct 4, 2025
211c8fc
ui: replace TextView with AppCompatTextView in layouts
hussainmohd-a Oct 4, 2025
d7b4e38
ui: update marking of seen settings in WgConfigDetailActivity
hussainmohd-a Oct 4, 2025
813b8f6
Merge branch 'v055n' of https://github.com/hussainmohd-a/rethink-app …
hussainmohd-a Oct 4, 2025
5250707
bump version to v055u and update firestack
hussainmohd-a Oct 4, 2025
be22997
temp disable unused activities in AndroidManifest
hussainmohd-a Oct 4, 2025
4e2fd5f
fix: improve wg-proxy pause logic and logging
hussainmohd-a Oct 4, 2025
c3c47ab
rename var for exception handling in GlobalExceptionHandler
hussainmohd-a Oct 4, 2025
4934e43
ui: new setting 'Block Incoming WG Packets' experimental setting
hussainmohd-a Oct 4, 2025
5d6594a
fix: improve wg-proxy pause logic and logging
hussainmohd-a Oct 4, 2025
4cd365b
Merge branch 'celzero:main' into v055n
hussainmohd-a Oct 6, 2025
0357317
ui: consistent spacing for err msg in wg screen
hussainmohd-a Oct 6, 2025
63e62d5
ui: more comment in new badge init call
hussainmohd-a Oct 6, 2025
6250e3a
revert: as core requires version 36 or later (compile-sdk)
hussainmohd-a Oct 6, 2025
ebdb59b
ui:rename 'block incoming WG packets' to 'allow incoming WG packets'
hussainmohd-a Oct 6, 2025
b235bf2
Merge branch 'celzero:main' into v055n
hussainmohd-a Oct 6, 2025
581d640
impl: enable happy eyeballs for always-v4v6 mode
hussainmohd-a Oct 6, 2025
07eb745
build: conditionally apply firebase plugins
hussainmohd-a Oct 7, 2025
3fe44e1
ui: diff identifier for default dns in logs
hussainmohd-a Oct 7, 2025
87addbc
dns53: support multiple ips for dns proxy endpoints
hussainmohd-a Oct 7, 2025
46b8fff
ui: dns failure notifications and improve error handling
hussainmohd-a Oct 8, 2025
f66fd07
Merge branch 'main' into v055n
hussainmohd-a Oct 8, 2025
ae39160
Merge branch 'v055n' of https://github.com/hussainmohd-a/rethink-app …
hussainmohd-a Oct 8, 2025
98e9acf
ui: format DNS error notification title
hussainmohd-a Oct 8, 2025
7307c84
fix#2281 use lazy initialization for dispatcher properties
hussainmohd-a Oct 8, 2025
e5e57f0
ui: ip protocol selection order in settings dialog
hussainmohd-a Oct 8, 2025
ac4ed4b
refactor getUidQ retry logic and protocol handling
hussainmohd-a Oct 8, 2025
78b291f
ui: show recycler view when connection logs are enabled
hussainmohd-a Oct 8, 2025
5e4d47f
tun: dns proxy to append port to each IP address
hussainmohd-a Oct 8, 2025
7faed5f
build: enable crashlytics ndk and native symbol upload
hussainmohd-a Oct 8, 2025
d515bc3
ui: show neutral color for error firewall rules
hussainmohd-a Oct 9, 2025
414264d
ui: tablet layouts for home and other dns screens
hussainmohd-a Oct 9, 2025
b37fc43
Merge branch 'celzero:main' into v055n
hussainmohd-a Oct 9, 2025
700b7e3
build: bump firestack version for v055u
hussainmohd-a Oct 9, 2025
bbf10e2
Merge branch 'v055n' of https://github.com/hussainmohd-a/rethink-app …
hussainmohd-a Oct 9, 2025
bab9e42
ui: new icon for accept incoming wg conns setting
hussainmohd-a Oct 9, 2025
c53840b
tun: enable happy eyeballs based on user setting
hussainmohd-a Oct 9, 2025
cfdf376
build: bump firestack version for v055u
hussainmohd-a Oct 9, 2025
1cb8cc2
impl: add dnssec status in logs
hussainmohd-a Oct 10, 2025
c879741
refactor getUidQ params and improve logging
hussainmohd-a Oct 10, 2025
3cb03ad
vpn: refactor ip:port parsing for flow, inflow, preflow
hussainmohd-a Oct 10, 2025
b53a4b6
ui: disable battery optimization check on home screen
hussainmohd-a Oct 10, 2025
c9812a7
ui: fix logic for showing key for proxied connections
hussainmohd-a Oct 10, 2025
5f91814
impl: add persistent firebase user token management
hussainmohd-a Oct 13, 2025
948c027
impl: add flight recording feature in debug builds
hussainmohd-a Oct 13, 2025
1023ac6
impl: #162 sort app lists by VPN permission in dialogs
hussainmohd-a Oct 13, 2025
f50890b
impl: skip apps without internet or tombstoned in VPN check
hussainmohd-a Oct 13, 2025
99a1cc5
delete unused .md file
hussainmohd-a Oct 13, 2025
2e77522
impl#593: cancellation for android download mgr
hussainmohd-a Oct 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,4 @@ app/src/headless/assets
/platforms
/tools
/.kotlin/sessions
app/google-services.json
96 changes: 76 additions & 20 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,24 @@ plugins {
id 'kotlin-android'
}

// apply Google Services and Firebase Crashlytics plugins conditionally
// strategy: For command-line builds, check task names. For IDE, always apply plugins
// but they'll only process play/website variants (Firebase deps are scoped to those variants)
def taskNames = gradle.startParameter.taskNames.join(',').toLowerCase()
def isFdroidBuild = taskNames.contains("fdroid")

println("app-task names: '$taskNames'")
println("app; is fdroid build? $isFdroidBuild")

// don't apply firebase plugins for fdroid CLI builds
if (!isFdroidBuild) {
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
println("app firebase plugins applied")
} else {
println("app firebase plugins SKIPPED")
}

def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()

Expand Down Expand Up @@ -44,13 +62,13 @@ try {
}

android {
compileSdk 35
compileSdkVersion(36)
// https://developer.android.com/studio/build/configure-app-module
namespace 'com.celzero.bravedns'

defaultConfig {
applicationId "com.celzero.bravedns"
minSdkVersion 23
minSdkVersion(23)
targetSdkVersion 35
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Expand Down Expand Up @@ -120,6 +138,15 @@ android {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
if (!isFdroidBuild) {
firebaseCrashlytics {
// Enable processing and uploading of native symbols to Firebase servers.
// By default, this is disabled to improve build speeds.
// This flag must be enabled to see properly-symbolicated native
// stack traces in the Crashlytics dashboard.
nativeSymbolUploadEnabled true
}
}
}
leakCanary {
matchingFallbacks = ['debug']
Expand Down Expand Up @@ -201,18 +228,18 @@ def firestackDependency = { suffix = "" ->
}

dependencies {
def room_version = "2.7.2"
def room_version = "2.8.1"
def paging_version = "3.3.6"

implementation 'com.google.guava:guava:33.4.8-android'
implementation 'com.google.guava:guava:33.5.0-android'

// https://developer.android.com/studio/write/java8-support
// included to fix issues with Android 6 support, issue#563
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")

fullImplementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.1.20'
fullImplementation 'androidx.appcompat:appcompat:1.7.1'
fullImplementation 'androidx.core:core-ktx:1.17.0'
fullImplementation 'androidx.core:core-ktx:1.16.0'
implementation 'androidx.preference:preference-ktx:1.2.1'
fullImplementation 'androidx.constraintlayout:constraintlayout:2.2.1'
fullImplementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
Expand All @@ -221,22 +248,22 @@ dependencies {
fullImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2'

// LiveData
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.9.2'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.9.4'

implementation 'com.google.code.gson:gson:2.13.1'
implementation 'com.google.code.gson:gson:2.13.2'

implementation "androidx.room:room-runtime:$room_version"
ksp "androidx.room:room-compiler:$room_version"
implementation "androidx.room:room-ktx:$room_version"
implementation "androidx.room:room-paging:$room_version"

fullImplementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.2'
fullImplementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.9.2'
fullImplementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.4'
fullImplementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.9.4'

// Pagers Views
implementation "androidx.paging:paging-runtime-ktx:$paging_version"
fullImplementation 'androidx.fragment:fragment-ktx:1.8.9'
implementation 'com.google.android.material:material:1.12.0'
implementation 'com.google.android.material:material:1.13.0'
fullImplementation 'androidx.viewpager2:viewpager2:1.1.0'

fullImplementation 'com.squareup.okhttp3:okhttp:5.1.0'
Expand All @@ -247,25 +274,25 @@ dependencies {

implementation 'com.squareup.okio:okio-jvm:3.16.0'
// Glide
fullImplementation('com.github.bumptech.glide:glide:4.16.0') {
fullImplementation('com.github.bumptech.glide:glide:5.0.5') {
exclude group: 'glide-parent'
}
fullImplementation('com.github.bumptech.glide:okhttp3-integration:4.16.0') {
fullImplementation('com.github.bumptech.glide:okhttp3-integration:5.0.5') {
exclude group: 'glide-parent'
}

// Ref: https://stackoverflow.com/a/46638213
kspFull 'com.github.bumptech.glide:compiler:4.16.0'
kspFull 'com.github.bumptech.glide:compiler:5.0.5'

// Swipe button animation
fullImplementation 'com.facebook.shimmer:shimmer:0.5.0'

// Koin core
download 'io.insert-koin:koin-core:4.1.0'
implementation 'io.insert-koin:koin-core:4.1.0'
download 'io.insert-koin:koin-core:4.1.1'
implementation 'io.insert-koin:koin-core:4.1.1'
// Koin main (Scope, ViewModel ...)
download 'io.insert-koin:koin-android:4.1.0'
implementation 'io.insert-koin:koin-android:4.1.0'
download 'io.insert-koin:koin-android:4.1.1'
implementation 'io.insert-koin:koin-android:4.1.1'

download 'hu.autsoft:krate:2.0.0'
implementation 'hu.autsoft:krate:2.0.0'
Expand All @@ -281,7 +308,7 @@ dependencies {
playImplementation firestackDependency()

// Work manager
implementation('androidx.work:work-runtime-ktx:2.10.3') {
implementation('androidx.work:work-runtime-ktx:2.10.5') {
modules {
module("com.google.guava:listenablefuture") {
replacedBy("com.google.guava:guava", "listenablefuture is part of guava")
Expand All @@ -298,11 +325,23 @@ dependencies {
androidTestImplementation 'androidx.test.ext:junit:1.3.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.7.0'
androidTestImplementation 'androidx.test:rules:1.7.0'
testImplementation 'org.robolectric:robolectric:4.16'
testImplementation 'androidx.test:core:1.7.0'
testImplementation 'androidx.test.ext:junit:1.3.0'
testImplementation 'org.mockito:mockito-core:5.20.0'
// Added test dependencies for comprehensive testing
testImplementation 'io.mockk:mockk:1.14.5'
testImplementation 'io.mockk:mockk-android:1.14.5'
testImplementation 'androidx.arch.core:core-testing:2.2.0'
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2'
testImplementation 'io.insert-koin:koin-test:4.1.1'
testImplementation 'io.insert-koin:koin-test-junit4:4.1.1'
androidTestImplementation 'io.mockk:mockk-android:1.14.5'

leakCanaryImplementation 'com.squareup.leakcanary:leakcanary-android:2.14'

fullImplementation 'androidx.navigation:navigation-fragment-ktx:2.9.3'
fullImplementation 'androidx.navigation:navigation-ui-ktx:2.9.3'
fullImplementation 'androidx.navigation:navigation-fragment-ktx:2.9.5'
fullImplementation 'androidx.navigation:navigation-ui-ktx:2.9.5'

fullImplementation 'androidx.biometric:biometric:1.1.0'

Expand All @@ -328,4 +367,21 @@ dependencies {
//fdroidImplementation 'com.stripe:stripe-android:21.21.0'

lintChecks 'com.android.security.lint:lint:1.0.3'

// battery optimization permission helper
implementation 'com.waseemsabir:betterypermissionhelper:1.0.3'

// Facebook battery metrics
implementation 'com.facebook.battery:metrics:1.0.0'
implementation 'com.facebook.battery:reporters:1.0.0'
implementation 'com.facebook.battery:serializers:1.0.0'

// Firebase dependencies for error reporting (website and play variants only)
websiteImplementation platform('com.google.firebase:firebase-bom:34.3.0')
websiteImplementation 'com.google.firebase:firebase-crashlytics'
websiteImplementation 'com.google.firebase:firebase-crashlytics-ndk'

playImplementation platform('com.google.firebase:firebase-bom:34.3.0')
playImplementation 'com.google.firebase:firebase-crashlytics'
playImplementation 'com.google.firebase:firebase-crashlytics-ndk'
}
Loading
Loading