Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 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
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
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.

2 changes: 1 addition & 1 deletion .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.

102 changes: 60 additions & 42 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,21 @@ plugins {
}

android {
compileSdk 34
compileSdk 36

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

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

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

buildFeatures {
Expand All @@ -35,105 +40,118 @@ android {
}
}
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.17.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.3'
implementation 'com.google.firebase:firebase-analytics:23.0.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

// 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.
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