Skip to content

Commit e737d31

Browse files
committed
fix: fixes for only showing onboarding on first run, debug-workaround for Unknown app name
1 parent 6d3b06d commit e737d31

4 files changed

Lines changed: 6 additions & 3 deletions

File tree

mobile/src/main/java/net/activitywatch/android/AWPreferences.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ class AWPreferences(context: Context) {
88
context.getSharedPreferences("AWPreferences", Context.MODE_PRIVATE)
99

1010
// To check if it is the first time the app is being run
11+
// Set to false when user finishes onboarding
1112
fun isFirstTime(): Boolean {
1213
return sharedPreferences.getBoolean("isFirstTime", true)
1314
}

mobile/src/main/java/net/activitywatch/android/MainActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
4646

4747
// If first time, or usage not allowed, show onboarding activity
4848
val prefs = AWPreferences(this)
49-
if (prefs.isFirstTime() || UsageStatsWatcher.isUsageAllowed(this)) {
49+
if (prefs.isFirstTime() || !UsageStatsWatcher.isUsageAllowed(this)) {
5050
Log.i(TAG, "First time or usage not allowed, starting onboarding activity")
5151
val intent = Intent(this, OnboardingActivity::class.java)
5252
startActivity(intent)

mobile/src/main/java/net/activitywatch/android/OnboardingActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ class OnboardingActivity : AppCompatActivity() {
5252
// Handle finish button click (e.g., navigate to the main activity)
5353
// First, check if the user has granted the usage permission
5454
if(UsageStatsWatcher.isUsageAllowed(this)) {
55+
AWPreferences(this).setFirstTimeRunFlag()
5556
finish()
5657
} else {
5758
// Show a snackbar and don't finish the activity

mobile/src/main/java/net/activitywatch/android/models/Event.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package net.activitywatch.android.models
33
import android.app.usage.UsageEvents
44
import android.content.Context
55
import android.content.pm.PackageManager
6+
import android.util.Log
67
import org.json.JSONObject
78
import org.threeten.bp.DateTimeUtils
89
import org.threeten.bp.Instant
@@ -13,9 +14,9 @@ data class Event(val timestamp: Instant, val duration: Double = 0.0, val data: J
1314
val timestamp = DateTimeUtils.toInstant(java.util.Date(usageEvent.timeStamp))
1415
val pm = context.packageManager
1516
val appName = try {
16-
pm.getApplicationLabel(pm.getApplicationInfo(usageEvent.packageName, PackageManager.GET_META_DATA))
17+
pm.getApplicationLabel(pm.getApplicationInfo(usageEvent.packageName, PackageManager.GET_META_DATA or PackageManager.MATCH_UNINSTALLED_PACKAGES))
1718
} catch(e: PackageManager.NameNotFoundException) {
18-
"Unknown"
19+
"Unknown (${usageEvent.packageName})"
1920
}
2021

2122
// Construct the data object in an exception-safe manner

0 commit comments

Comments
 (0)