Skip to content
Draft
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
b052df8
initial transition to jetpack
kalynstricklin Jul 8, 2026
ba2a8ad
transitioned ble bleacon to use android x dependencies
kalynstricklin Jul 8, 2026
ffdf09c
Added compose to app gradle
kalynstricklin Jul 8, 2026
63e010c
create theme, and reusable components: button, topappbar, and switch
kalynstricklin Jul 8, 2026
3526d29
removed unneeded appbar
kalynstricklin Jul 8, 2026
bee030d
Create different types of cards
kalynstricklin Jul 8, 2026
bc9d561
created FAB component for start/stop smarthub :0
kalynstricklin Jul 8, 2026
f5d1c29
Added secondary button option
kalynstricklin Jul 8, 2026
f13ff14
Add single select segmented buttons
kalynstricklin Jul 8, 2026
2a4a81d
Add 3 main screens
kalynstricklin Jul 8, 2026
78dd6f0
Added navbar with screens :)
kalynstricklin Jul 9, 2026
d4be1eb
added nav host and compose main activity, started settings screen wit…
kalynstricklin Jul 9, 2026
d65ddd1
added dialog components
kalynstricklin Jul 9, 2026
474b680
added shape and typography to theme
kalynstricklin Jul 9, 2026
7e0f783
fixed
kalynstricklin Jul 9, 2026
2b3b1b7
refactor settings to servers
kalynstricklin Jul 9, 2026
4bd6702
Merge pull request #95 from Botts-Innovative-Research/88-add-componen…
kalynstricklin Jul 9, 2026
807f30a
updated servers screen with string resources
kalynstricklin Jul 9, 2026
ab8a6b9
update the home/sensors
kalynstricklin Jul 9, 2026
e7d1773
removed bottom navbar from each of the screens and made composemainac…
kalynstricklin Jul 9, 2026
427d927
changed dashboard title to osh
kalynstricklin Jul 9, 2026
6bd09db
help faq screen using components. need to wire it up to pull from the…
kalynstricklin Jul 9, 2026
27362d0
added expandable card for the help/faq
kalynstricklin Jul 9, 2026
adea9b9
added string resource title
kalynstricklin Jul 9, 2026
0d453cf
updated addons
kalynstricklin Jul 9, 2026
369fcad
init for app status
kalynstricklin Jul 9, 2026
bac2b24
Added initial scaffolding for app status
kalynstricklin Jul 9, 2026
5d648ad
fixed imports
kalynstricklin Jul 9, 2026
becbbcc
update title
kalynstricklin Jul 9, 2026
fa62c33
Merge pull request #96 from Botts-Innovative-Research/89-build-helpfa…
kalynstricklin Jul 9, 2026
305ac9a
Merge branch 'merge-screens' into 90-build-appstatusscreen
kalynstricklin Jul 9, 2026
293bbba
Merge pull request #97 from Botts-Innovative-Research/90-build-appsta…
kalynstricklin Jul 9, 2026
b2286a2
initial commit of server profiles screen
kalynstricklin Jul 9, 2026
67ad922
Added initial server profile cards and fab to screen. working on gett…
kalynstricklin Jul 9, 2026
71a667c
fixed issues
kalynstricklin Jul 9, 2026
fae5394
Merge pull request #98 from Botts-Innovative-Research/91-build-server…
kalynstricklin Jul 9, 2026
350849f
Added initial app preferences screen
kalynstricklin Jul 9, 2026
480e9af
added cards and dialogs to app prefs screen
kalynstricklin Jul 9, 2026
ec0d2ff
update to use string resources rather than hardcoding
kalynstricklin Jul 9, 2026
573f08f
Fix formatting in AppPreferencesScreen.kt
kalynstricklin Jul 9, 2026
87233a0
Merge pull request #99 from Botts-Innovative-Research/94-build-app-pr…
kalynstricklin Jul 9, 2026
238438b
Move rows to their own file, added navcontroller to navigate between …
kalynstricklin Jul 9, 2026
4271a15
changed onClick functions, and updated to use OSHClickableCard
kalynstricklin Jul 9, 2026
a873217
adding server form
kalynstricklin Jul 9, 2026
2b8d29d
fixed broken click function for fab
kalynstricklin Jul 9, 2026
ce88e1a
Added optional subtitle, and updated server profiles screen
kalynstricklin Jul 13, 2026
fa9252e
updated buttons
kalynstricklin Jul 13, 2026
a1d374b
removed unusued imports and added filter chip
kalynstricklin Jul 13, 2026
2f0708d
added filter chips to sensors page
kalynstricklin Jul 13, 2026
f6c043f
create chips, cards for sensors page
kalynstricklin Jul 13, 2026
17c3177
update sensors screen to include expansion cards for configurable sen…
kalynstricklin Jul 14, 2026
f3b2e7f
Added app status page with status dot and status row
kalynstricklin Jul 14, 2026
ddce63c
Update AppStatusScreen.kt
kalynstricklin Jul 15, 2026
d8b3853
Update AppPreferencesScreen.kt
kalynstricklin Jul 20, 2026
ba5ce0e
adding status info for app status screen
kalynstricklin Jul 20, 2026
3f4f507
migrated app status to compose
kalynstricklin Jul 28, 2026
2efa30a
add functions for app preferences lang/devicename/ version and ip and…
kalynstricklin Jul 29, 2026
c5a0db5
updated server profiles and forms
kalynstricklin Jul 29, 2026
0830ba5
added bluetooth scanner and dialog to delete server profile
kalynstricklin Jul 29, 2026
cd22b23
update to use androidx PreferenceManager
kalynstricklin Jul 29, 2026
015335b
refactor ui arch
kalynstricklin Jul 29, 2026
35b335e
Update Dialog.kt
kalynstricklin Jul 29, 2026
e5fe5c3
removed dead files + added view model for home/dashboard screen
kalynstricklin Jul 29, 2026
2159e7a
add server form contract for state
kalynstricklin Jul 29, 2026
00d3b34
remove navcontroller from screens, remove duplicate serverprofile con…
kalynstricklin Jul 30, 2026
d4d702e
function name updates
kalynstricklin Jul 30, 2026
0536adb
moved ServerProfile to serverprofilecontract and updated screens and …
kalynstricklin Jul 30, 2026
650b414
add stubs to compose main activity, and added form view model for ser…
kalynstricklin Jul 30, 2026
4394371
cleaned up server form screen to use viewModel
kalynstricklin Jul 30, 2026
91cfff8
Merge pull request #102 from Botts-Innovative-Research/cleanout-layou…
kalynstricklin Jul 30, 2026
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: 4 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
ext.oshCoreVersion = '2.0.0-beta'
ext.compileSdkVersion = 34
ext.minSdkVersion = 33
ext.targetSdkVersion = 30
ext.targetSdkVersion = 34
ext.buildToolsVersion = "34.0.0"
version = '4.0.2'

buildscript {
ext.kotlin_version = '1.9.22'
repositories {
google()
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
classpath 'com.android.tools.build:gradle:8.2.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
android.nonTransitiveRClass=true
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
19 changes: 14 additions & 5 deletions sensorhub-android-app/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.sensorhub.android"
android:hardwareAccelerated="true">

<uses-feature android:name="android.hardware.location" />
Expand All @@ -28,6 +27,9 @@
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE"/>

<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
Expand All @@ -50,12 +52,12 @@
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity
android:name=".AppStatusActivity"
android:name=".ui.AppStatusActivity"
android:configChanges="orientation|screenSize"
android:screenOrientation="portrait"
android:exported="false" />
Expand All @@ -71,15 +73,22 @@
android:windowSoftInputMode="adjustResize"
android:exported="false" />
<activity
android:name=".AppPreferencesActivity"
android:name=".ui.HelpFaqActivity"
android:configChanges="orientation|screenSize"
android:screenOrientation="portrait"
android:exported="false" />
<activity
android:name=".HelpFaqActivity"
android:name=".ui.AppPreferencesActivity"
android:configChanges="orientation|screenSize"
android:screenOrientation="portrait"
android:exported="false" />
<activity
android:name=".ComposeMainActivity"
android:configChanges="orientation|screenSize"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:exported="false"
android:theme="@style/AppTheme" />
<!-- <activity android:name=".spotreport.SpotReportActivity" -->
<!-- android:configChanges="orientation|screenSize"> -->

Expand Down
42 changes: 30 additions & 12 deletions sensorhub-android-app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

description = 'OSH Android App'
ext.details = 'OSH app for Android'
Expand Down Expand Up @@ -35,6 +36,18 @@ dependencies {
implementation 'org.slf4j:slf4j-api:2.0.9'
implementation 'com.github.tony19:logback-android:3.0.0'

// compose deps
implementation platform('androidx.compose:compose-bom:2024.02.02')
implementation 'androidx.compose.ui:ui'
implementation 'androidx.compose.ui:ui-tooling-preview'
implementation 'androidx.compose.material3:material3'
implementation 'androidx.compose.material:material-icons-extended'
implementation 'androidx.activity:activity-compose:1.8.2'
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0'
debugImplementation 'androidx.compose.ui:ui-tooling'
debugImplementation 'androidx.compose.ui:ui-test-manifest'
implementation("androidx.navigation:navigation-compose:2.8.4")

}

allprojects {
Expand All @@ -44,9 +57,9 @@ allprojects {
exclude group: 'ch.qos.logback', module: 'logback-core'

resolutionStrategy {
force "org.jetbrains.kotlin:kotlin-stdlib:1.8.10"
force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.10"
force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10"
force "org.jetbrains.kotlin:kotlin-stdlib:1.9.22"
force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.22"
force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.22"
}
}
}
Expand All @@ -69,10 +82,14 @@ android {
targetCompatibility JavaVersion.VERSION_17
}

packagingOptions {
exclude 'META-INF/LICENSE'
exclude '**/empty'
exclude 'META-INF/rxjava.properties'
kotlinOptions {
jvmTarget = '17'
}

packaging {
resources {
excludes += ['META-INF/LICENSE', '**/empty', 'META-INF/rxjava.properties', 'META-INF/INDEX.LIST']
}
}


Expand All @@ -85,17 +102,18 @@ android {
}
}

lintOptions {
lint {
abortOnError false
}

buildFeatures {
viewBinding true
compose true
buildConfig true
}

packagingOptions {
resources {
excludes += ["META-INF/INDEX.LIST"]
}
composeOptions {
kotlinCompilerExtensionVersion = '1.5.10'
}

}
Expand Down
Loading