Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
9ae47a8
Updated UI to fit new figma design. This also contains the new search…
sande11 Aug 27, 2025
cc87e88
updated from API 34 to 35 and added edge-to-edge opt option
sande11 Aug 27, 2025
8771552
search functionality, bookmark page, search page
sande11 Sep 9, 2025
235dceb
added feedback cards in body fragment, added bottom modal for notes w…
sande11 Sep 15, 2025
a9c1bbc
implemented new design for the floating button
sande11 Sep 18, 2025
572a902
fixed searchview responsiveness for small devices, fixed clear text l…
sande11 Sep 19, 2025
6a56836
fixed night mode crashes and implemented other night mode designs
sande11 Sep 23, 2025
95fac3e
fixed dismiss() keyboard and stacking card dialogs on top of each oth…
sande11 Sep 23, 2025
d14f618
Implemented Pendo tracking for note submission, added theme colors to…
sande11 Sep 26, 2025
3663540
bookmark card item margin start correction
sande11 Sep 26, 2025
86a6749
Bug fixes: added new subchapters to fix missing content, fixed search…
sande11 Oct 2, 2025
4400916
implemented: hide Note Floating button when note.size = 0
sande11 Oct 3, 2025
63a64ab
text accessibility
sande11 Oct 8, 2025
5b6ec2c
adjusted CSS to make tables 9,12,17,19 appear in the same font as the…
sande11 Oct 9, 2025
e2cbc24
fixed highlighting in bookmark success pop up
sande11 Oct 9, 2025
e360b2d
incremented BUILD_VERSION to 12 and Sept-24- to Oct-25-
sande11 Oct 9, 2025
ea725bd
Merge branch '131-update-tb-guide-android-app-ui-with-new-figma-desig…
sande11 Oct 10, 2025
8c3ed6b
Merge pull request #136 from AppHatchery/133-update-android-app-to-ta…
sande11 Oct 10, 2025
46d6a01
Revert "updated from API 34 to 35 in TB Guide android UI Updates"
sande11 Oct 10, 2025
919fb6b
Merge pull request #137 from AppHatchery/revert-136-133-update-androi…
sande11 Oct 10, 2025
c14de7a
improved bookmark and bookmark deletion card
sande11 Oct 10, 2025
516e783
Merge pull request #138 from AppHatchery/131-update-tb-guide-android-…
sande11 Oct 13, 2025
2170ca3
Update project configuration to API 36 and 16kb page compatibility
sande11 Oct 14, 2025
44530a0
Refactor tab styles and structure
sande11 Oct 16, 2025
d305bf5
Expand sections containing search results in BodyFragment
sande11 Oct 16, 2025
ead594e
Update floating notes button layout constraints moving it to the bottom
sande11 Oct 16, 2025
0b7d6ee
Merge pull request #146 from AppHatchery/131-update-tb-guide-android-…
sande11 Oct 31, 2025
78b0165
Refactor recent search removal logic
sande11 Oct 31, 2025
ac83e12
Refactor recent search removal logic
sande11 Oct 31, 2025
8416b9c
Merge pull request #147 from AppHatchery/133-update-android-app-to-ta…
sande11 Nov 10, 2025
decc58f
Update app launcher icons and background assets
sande11 Nov 10, 2025
6b866ec
Update external links and chapter references in HTML pages
sande11 Nov 10, 2025
80c746d
Update chapter links in HIV/TB therapy tables
sande11 Nov 10, 2025
e7340f5
Merge pull request #148 from AppHatchery/144-chapter-link-error
sande11 Nov 11, 2025
be24ca8
Improve bottom navigation behavior and layout padding
sande11 Nov 11, 2025
656b432
Update TB HTML pages for improved formatting and accuracy
sande11 Nov 12, 2025
4ac26ff
Merge pull request #149 from AppHatchery/142-guide-nav-button-on-book…
sande11 Nov 12, 2025
3388e45
Comment out onZoomOut() call in WebView setup
sande11 Nov 13, 2025
2b7a558
Dynamically scale chapter icons with font size
sande11 Nov 14, 2025
9c4b5ab
Scale decorative line in paragraphs with text zoom
sande11 Nov 14, 2025
daff949
Fix font scaling and update bookmark dialog layout
sande11 Nov 17, 2025
e67a226
Merge branch '141-bookmark-container-doesnt-expand-with-content' into…
sande11 Dec 16, 2025
ea29bd6
Update tables, charts, and UI for TB guide
sande11 Jan 9, 2026
3f21d94
139 large font error: WebView Font Persistence & Chapter 5C Layout S…
sande11 Jan 14, 2026
8ee9830
Fix font scaling and update bookmark dialog layout (#152)
sande11 Jan 14, 2026
b2191ca
updated html content , home screen font size and word wrap fixes, sea…
sande11 Jan 16, 2026
1171bed
Add font size settings and privacy policy support
sande11 Jan 19, 2026
19fed6b
Improve subchapter navigation and toolbar sync
sande11 Jan 19, 2026
361c945
Update TB/HIV treatment guidelines and chart references
sande11 Jan 20, 2026
e7a8632
Merge branch '131-update-tb-guide-android-app-ui-with-new-figma-desig…
sande11 Jan 20, 2026
c7c2352
Improve tooltip styling and positioning in LTBI tables
sande11 Jan 20, 2026
e590fb6
Adjust info icon size and fix section reference
sande11 Jan 28, 2026
c935c89
Update content for tables and guidelines
sande11 Jan 30, 2026
879f421
Add toolbar back handling for WebView in BodyFragment
sande11 Jan 30, 2026
8e1710d
Sanitize search input for SQLite FTS queries
sande11 Jan 30, 2026
533e219
Remove injected highlights on WebView search clear
sande11 Jan 30, 2026
e2425f5
Remove redundant DOM-injection search highlighting
sande11 Jan 30, 2026
f7fad04
Update HIV/TB guideline source links to clinicalinfo.hiv.gov
sande11 Feb 2, 2026
31a9ac0
Enable full debug symbols for debug NDK builds
sande11 Feb 2, 2026
ba9b162
Improve WebView in-page search robustness
sande11 Feb 4, 2026
1508dde
Bump BUILD_VERSION to 13
sande11 Feb 5, 2026
ca7bfc2
crash fixes due to database version, Add GuideContentUpdater and Lega…
sande11 Feb 10, 2026
2548c6b
Enhance bookmark handling with redirect repairs and conflict resoluti…
sande11 Feb 10, 2026
a433011
Implement note target migration and enhance DAO queries for notes and…
sande11 Feb 10, 2026
568d555
Add initialization flags to prevent navigation during data seeding
sande11 Feb 10, 2026
bb57d63
Set windowBackground on layouts (#159)
sande11 Mar 6, 2026
56e668c
Fix incorrect Home “Chapters” and “Tables” button navigation (index m…
sande11 Mar 6, 2026
3a00720
Serialize app init and atomic DB seeding (#157)
sande11 Mar 6, 2026
b48f7a3
Use fresh lists for adapter submissions
sande11 Mar 6, 2026
0cb98b7
Update content, CSS and assets for TB guide (#160)
sande11 Apr 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .idea/AndroidProjectSystem.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions .idea/appInsightsSettings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.agent.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.ask.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.ask2agent.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.edit.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .idea/deploymentTargetSelector.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions .idea/deviceManager.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/render.experimental.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions .idea/runConfigurations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

116 changes: 71 additions & 45 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,129 +11,155 @@ plugins {
}

android {
compileSdk 34
compileSdk 36

defaultConfig {
applicationId "org.apphatchery.gatbreferenceguide"
minSdk 24
targetSdk 34
versionCode 34
versionName "1.13"
targetSdk 36
versionCode 54
versionName "2.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

// 16KB page size support
ndk {
abiFilters 'arm64-v8a', 'x86_64'
}
}

buildFeatures {
viewBinding true
}

buildTypes {
debug {
buildConfigField "String", "DYNAMIC_LINK_DOMAIN", '"https://gatbreferenceguide.page.link"'
}

release {
minifyEnabled false
buildConfigField "String", "DYNAMIC_LINK_DOMAIN", '"https://apphatcherygatbreferenceguide.page.link"'
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
ndk {
debugSymbolLevel 'FULL'
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '1.8'
jvmTarget = "17"
}
namespace 'org.apphatchery.gatbreferenceguide'
buildToolsVersion '36.0.0'
ndkVersion '28.2.13676358'
}

// 16KB page size configuration
//configurations.configureEach {
//resolutionStrategy {
// Force compatible versions for 16KB page size
//force 'androidx.core:core:1.15.0+'
// force 'androidx.appcompat:appcompat:1.8.0+'
// }
//}

dependencies {
implementation 'androidx.core:core-ktx:1.13.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
// Core AndroidX libraries
implementation 'androidx.core:core-ktx:1.18.0'
implementation 'androidx.appcompat:appcompat:1.7.1'
implementation 'com.google.android.material:material:1.13.0'
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
implementation 'androidx.preference:preference-ktx:1.2.1'
implementation 'com.google.ai.client.generativeai:generativeai:0.9.0'
implementation 'com.google.firebase:firebase-crashlytics-buildtools:3.0.6'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
androidTestImplementation 'androidx.test.ext:junit:1.3.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.7.0'

//BOM

// Firebase
implementation 'com.google.firebase:firebase-core:21.1.1'
implementation 'com.google.firebase:firebase-database-ktx:21.0.0'
implementation 'com.google.firebase:firebase-crashlytics:19.0.2'
implementation 'com.google.firebase:firebase-analytics:22.1.2'
implementation 'com.google.firebase:firebase-crashlytics:20.0.4'
implementation 'com.google.firebase:firebase-analytics:23.2.0'
implementation 'com.google.firebase:firebase-dynamic-links-ktx:22.1.0'
implementation 'com.google.firebase:firebase-storage:21.0.0'
implementation("com.google.firebase:firebase-config:22.0.1")
implementation 'com.google.firebase:firebase-storage:22.0.1'
implementation("com.google.firebase:firebase-config:23.0.1")
//implementation 'com.google.firebase:firebase-config-ktx:23.0.0'

// Retrofit + GSON
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
implementation("com.squareup.retrofit2:converter-scalars:2.9.0")
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
implementation "com.squareup.retrofit2:retrofit:3.0.0"
implementation "com.squareup.retrofit2:converter-gson:3.0.0"
implementation("com.squareup.retrofit2:converter-scalars:3.0.0")
implementation 'com.squareup.okhttp3:logging-interceptor:5.2.1'

// Glide
implementation "com.github.bumptech.glide:glide:4.14.2"
implementation "com.github.bumptech.glide:glide:5.0.5"

// Dagger Hilt
implementation 'com.google.dagger:hilt-android:2.51.1'
kapt 'com.google.dagger:hilt-android-compiler:2.51.1'
kapt "androidx.hilt:hilt-compiler:1.2.0"
implementation 'com.google.dagger:hilt-android:2.57.2'
kapt 'com.google.dagger:hilt-android-compiler:2.57.2'
kapt "androidx.hilt:hilt-compiler:1.3.0"

// Pendo
implementation group:'sdk.pendo.io' , name:'pendoIO', version:'3.3.0.6597', changing:true
implementation group:'sdk.pendo.io' , name:'pendoIO', version:'3.11.3.8950', changing:true

// Coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2'

// Retrofit + GSON
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
implementation "com.squareup.retrofit2:retrofit:3.0.0"
implementation "com.squareup.retrofit2:converter-gson:3.0.0"

// Room
implementation "androidx.room:room-runtime:2.6.1"
kapt "androidx.room:room-compiler:2.6.1"
implementation "androidx.room:room-ktx:2.6.1"
implementation "androidx.room:room-runtime:2.8.2"
kapt "androidx.room:room-compiler:2.8.2"
implementation "androidx.room:room-ktx:2.8.2"

// LiveData
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.8.3"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.9.4"

// Fragment
implementation 'androidx.fragment:fragment-ktx:1.8.1'
implementation 'androidx.fragment:fragment-ktx:1.8.9'

// Navigation components
implementation "androidx.navigation:navigation-fragment-ktx:2.7.7"
implementation "androidx.navigation:navigation-ui-ktx:2.7.7"
implementation "androidx.navigation:navigation-fragment-ktx:2.9.5"
implementation "androidx.navigation:navigation-ui-ktx:2.9.5"

// Architectural Components
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.3"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.4"

// Coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2'

// Coroutine Lifecycle Scopes
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.8.3"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.9.4"

// Lifecycle
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"

// Activity KTX for viewModels()
implementation "androidx.activity:activity-ktx:1.9.0"
implementation "androidx.activity:activity-ktx:1.11.0"

//DataStore
implementation "androidx.datastore:datastore-preferences:1.1.1"
implementation "androidx.datastore:datastore-preferences:1.1.7"

//Gson
implementation 'com.google.code.gson:gson:2.10.1'
implementation 'com.google.code.gson:gson:2.13.2'

implementation 'org.jsoup:jsoup:1.15.4'
implementation 'org.jsoup:jsoup:1.21.2'

//RecyclerViewSwipeDecorator
/*A simple utility class to add a background, an icon and a label to a RecyclerView item while swiping it left or right.*/
implementation 'it.xabaras.android:recyclerview-swipedecorator:1.4'

implementation 'androidx.webkit:webkit:1.11.0'
implementation 'androidx.webkit:webkit:1.14.0'

}
Binary file added app/src/main/assets/assets/Chevron.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/chapter_1_image_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/chapter_1_image_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/chapter_1_image_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions app/src/main/assets/assets/ic_chapter.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions app/src/main/assets/assets/ic_chart.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions app/src/main/assets/assets/ic_title_icon.SVG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/image_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/image_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/image_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading