Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
f98f878
Merge pull request #31 from sameerasw/develop
sameerasw Sep 18, 2025
273e75e
Change Google Play badge link in README
sameerasw Sep 18, 2025
a72d213
Merge pull request #35 from sameerasw/develop
sameerasw Sep 21, 2025
d210697
#115 Addressing open source licensing
sameerasw Sep 28, 2025
1ae2254
Delete COMMERCIAL-EULA.txt (unrelated to the Android app)
sameerasw Sep 28, 2025
4a2dddd
Merge pull request #39 from sameerasw/develop
sameerasw Sep 30, 2025
295e1c6
Merge pull request #40 from sameerasw/develop
sameerasw Sep 30, 2025
5d3b412
Merge pull request #41 from sameerasw/develop
sameerasw Oct 13, 2025
8b427af
working on remote connect
Oct 26, 2025
243654e
Fixed
sameerasw Oct 11, 2025
ad306d7
Expand networking
sameerasw Oct 15, 2025
e455cde
Added smartspacer target
sameerasw Oct 15, 2025
e1d092e
Display battery and media playback with smartspacer
sameerasw Oct 15, 2025
1587d7b
Remove reconnect from smartspacer
sameerasw Oct 15, 2025
cd79209
Option to hide when disconnected in smartspacer
sameerasw Oct 15, 2025
f4e0c04
Version upgrade
sameerasw Oct 15, 2025
081c96a
Data import and export
sameerasw Oct 19, 2025
1afc929
backup muted apps list
sameerasw Oct 19, 2025
77e1293
Added haptics for buttons,switches, actions and connecting status
sameerasw Oct 19, 2025
23c7e79
Merge pull request #44 from sameerasw/haptics
sameerasw Oct 19, 2025
79150a6
updated
Oct 26, 2025
0d3bd64
feat: Add file transfer with SHA-256 checksum, fix notification issue…
Oct 30, 2025
4082980
fix: Remove folder share, fix file picker to send files individually …
Oct 30, 2025
e74e55e
fix: Add detailed logging for health data debugging
Oct 30, 2025
363fa73
feat: Add send button for file transfer and background sync service
Oct 30, 2025
8d1ec16
Fix file transfer checksum mismatch and add Mac media control handler
Oct 30, 2025
9d7bd88
Fix critical issues: Mac media controls, threading crashes, mirroring…
Oct 30, 2025
45546e7
Hotfix: screen capture, file transfer rate limiting
Oct 30, 2025
6ad7427
Fix file transfer screen crash and update changelog
Oct 30, 2025
cce8101
Update changelog with all latest fixes
Oct 30, 2025
a523960
Merge pull request #48 from sameerasw/develop
sameerasw Nov 1, 2025
dab6fee
Fix: Add screen curtain overlay, improve mirroring, fix input handling
Nov 1, 2025
4753d45
Merge pull request #51 from sameerasw/develop
sameerasw Nov 3, 2025
302b81c
Merge pull request #59 from sameerasw/develop
sameerasw Dec 20, 2025
ff42e72
Merge pull request #60 from sameerasw/develop
sameerasw Dec 20, 2025
fea154a
Merge pull request #61 from sameerasw/develop
sameerasw Dec 20, 2025
ede446d
Merge pull request #62 from sameerasw/develop
sameerasw Dec 21, 2025
9f60e90
Merge pull request #64 from sameerasw/develop
sameerasw Dec 24, 2025
2362da5
Merge upstream/main with local changes - resolve conflicts
shantanunautiyal Dec 24, 2025
53ab23c
fix: Resolve Kotlin compilation errors
shantanunautiyal Dec 24, 2025
4531f03
fix: add shell command fallback for keyboard input injection
shantanunautiyal Dec 24, 2025
fcf76c8
perf: improve frame capture for smoother mirroring
shantanunautiyal Dec 24, 2025
824119b
fix: throttle audio capture to prevent blocking mirror frames
shantanunautiyal Dec 24, 2025
fa1609d
chore: sync remaining UI and feature changes
shantanunautiyal Dec 24, 2025
ca13ca1
fix: only send call events when connected to Mac, remove Android call…
shantanunautiyal Dec 25, 2025
8b44c13
Fix file transfer reliability, checksums, and stream handling
shantanunautiyal Dec 25, 2025
f3a42d2
Refactor FileReceiver: Use Kotlin Channels for sequential chunk proce…
shantanunautiyal Dec 25, 2025
5f489a1
Support (>2GB) large file transfers: Refactor FileReceiver and Messag…
shantanunautiyal Dec 25, 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
93 changes: 93 additions & 0 deletions ADD_TO_MAINACTIVITY.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
// ============================================
// HOW TO ADD HEALTH SCREEN TO YOUR MAINACTIVITY
// ============================================

// Step 1: Add this import at the top of MainActivity.kt
import com.sameerasw.airsync.health.SimpleHealthScreen

// Step 2: In your NavHost, add this route:
composable("health") {
SimpleHealthScreen(
onNavigateBack = { navController.popBackStack() }
)
}

// Step 3: Add a button somewhere in your UI to navigate to it
// Example 1: Simple Button
Button(
onClick = { navController.navigate("health") },
modifier = Modifier.fillMaxWidth()
) {
Icon(Icons.Default.FavoriteBorder, contentDescription = null)
Spacer(modifier = Modifier.width(8.dp))
Text("Health & Fitness")
}

// Example 2: Card with Icon
Card(
modifier = Modifier
.fillMaxWidth()
.clickable { navController.navigate("health") }
) {
Row(
modifier = Modifier.padding(16.dp),
verticalAlignment = Alignment.CenterVertically
) {
Icon(
Icons.Default.FavoriteBorder,
contentDescription = null,
modifier = Modifier.size(32.dp),
tint = MaterialTheme.colorScheme.primary
)
Spacer(modifier = Modifier.width(16.dp))
Column {
Text(
"Health & Fitness",
style = MaterialTheme.typography.titleMedium
)
Text(
"View your health data from Google Fit and Samsung Health",
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
}
Spacer(modifier = Modifier.weight(1f))
Icon(
Icons.Default.ChevronRight,
contentDescription = null
)
}
}

// Example 3: ListItem (for settings screen)
ListItem(
headlineContent = { Text("Health & Fitness") },
supportingContent = { Text("Sync health data with Mac") },
leadingContent = {
Icon(Icons.Default.FavoriteBorder, contentDescription = null)
},
trailingContent = {
Icon(Icons.Default.ChevronRight, contentDescription = null)
},
modifier = Modifier.clickable {
navController.navigate("health")
}
)

// Example 4: TopAppBar Action Button
TopAppBar(
title = { Text("AirSync") },
actions = {
IconButton(onClick = { navController.navigate("health") }) {
Icon(Icons.Default.FavoriteBorder, contentDescription = "Health")
}
}
)

// ============================================
// THAT'S IT! Just add the route and a button.
// The Health screen will handle everything else:
// - Checking if Health Connect is installed
// - Requesting permissions
// - Fetching and displaying health data
// ============================================
Loading