Skip to content

Commit 54733e6

Browse files
author
Woohyeok Choi
committed
Merge branch 'v0.9.8-b'
2 parents fae4b86 + aebd597 commit 54733e6

File tree

506 files changed

+613
-889
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

506 files changed

+613
-889
lines changed

app/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ android {
2828
applicationId 'kaist.iclab.abclogger'
2929
minSdkVersion 23
3030
targetSdkVersion 29
31-
versionCode 20
32-
versionName "0.9.8-a"
31+
versionCode 21
32+
versionName "0.9.8-b"
3333
setProperty('archivesBaseName', applicationId + "-v" + versionName)
3434
buildConfigField("String", "DB_NAME", "\"abc-logger\"")
3535
buildConfigField("String", "PREF_NAME", "\"abc-logger-pref\"")
3636
buildConfigField("Long", "DB_MAX_SIZE", "3145728L")
37-
buildConfigField("Boolean", "IS_TEST_MODE", "false")
37+
buildConfigField("Boolean", "IS_TEST_MODE", "true")
3838
buildConfigField("String", "SERVER_ADDRESS", "\"143.248.100.24:50052\"")
3939
buildConfigField("String", "TEST_SERVER_ADDRESS", "\"143.248.90.87:50055\"")
4040
}

app/src/main/kotlin/kaist/iclab/abclogger/AbcApplication.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import org.koin.android.ext.koin.androidContext
88
import org.koin.android.ext.koin.androidLogger
99
import org.koin.core.context.startKoin
1010

11-
class AbcApplication : Application(){
11+
class AbcApplication : Application() {
1212
override fun onCreate() {
1313
super.onCreate()
1414
AppLog.d(TAG, "onCreate()")

app/src/main/kotlin/kaist/iclab/abclogger/AbcCollector.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ class AbcCollector(vararg collector: BaseCollector<*>) {
8484
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
8585
})
8686
}, Random.nextLong(3000))
87-
} catch (e: PackageManager.NameNotFoundException) { }
87+
} catch (e: PackageManager.NameNotFoundException) {
88+
}
8889

8990
start(context)
9091
AbcEvent.post(timestamp, AbcEvent.BOOT_COMPLETED)
@@ -93,12 +94,12 @@ class AbcCollector(vararg collector: BaseCollector<*>) {
9394

9495
companion object {
9596
fun start(context: Context) {
96-
if(!checkServiceRunning<LoggerService>(context) && FirebaseAuth.getInstance().currentUser != null)
97+
if (!checkServiceRunning<LoggerService>(context) && FirebaseAuth.getInstance().currentUser != null)
9798
ContextCompat.startForegroundService(context, Intent(context, LoggerService::class.java))
9899
}
99100

100101
fun stop(context: Context) {
101-
if(checkServiceRunning<LoggerService>(context))
102+
if (checkServiceRunning<LoggerService>(context))
102103
context.stopService(Intent(context, LoggerService::class.java))
103104
}
104105

app/src/main/kotlin/kaist/iclab/abclogger/AbcEvent.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ data class AbcEvent(
6363
const val PHONE_STATE_OFFHOOK = "PHONE_STATE_OFFHOOK"
6464
const val PHONE_STATE_RINGING = "PHONE_STATE_RINGING"
6565
const val NOTIFICATION_POSTED = "NOTIFICATION_POSTED"
66-
const val NOTIFICATION_REMOVED= "NOTIFICATION_REMOVED"
66+
const val NOTIFICATION_REMOVED = "NOTIFICATION_REMOVED"
6767
const val BOOT_COMPLETED = "BOOT_COMPLETED"
6868
const val BLUETOOTH_ACTIVATE = "BLUETOOTH_ACTIVATE"
6969
const val BLUETOOTH_DEACTIVATE = "BLUETOOTH_DEACTIVATE"

app/src/main/kotlin/kaist/iclab/abclogger/Debug.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ object Debug {
173173
Log.d("ZXCV", "${ObjBox.boxFor<PhysicalActivityTransitionEntity>()?.count()}")
174174
}
175175

176-
fun generateSurveyEntities (size: Int) {
176+
fun generateSurveyEntities(size: Int) {
177177
ObjBox.boxFor<SurveyEntity>()?.removeAll()
178178
val time = System.currentTimeMillis()
179179
(0..size).map {

app/src/main/kotlin/kaist/iclab/abclogger/Modules.kt

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
11
package kaist.iclab.abclogger
22

3-
import android.os.Bundle
43
import androidx.appcompat.app.AppCompatActivity
54
import kaist.iclab.abclogger.collector.activity.ActivityCollector
65
import kaist.iclab.abclogger.collector.appusage.AppUsageCollector
76
import kaist.iclab.abclogger.collector.battery.BatteryCollector
87
import kaist.iclab.abclogger.collector.bluetooth.BluetoothCollector
98
import kaist.iclab.abclogger.collector.call.CallLogCollector
109
import kaist.iclab.abclogger.collector.event.DeviceEventCollector
10+
import kaist.iclab.abclogger.collector.externalsensor.polar.PolarH10Collector
11+
import kaist.iclab.abclogger.collector.externalsensor.polar.setting.PolarH10Navigator
12+
import kaist.iclab.abclogger.collector.externalsensor.polar.setting.PolarH10ViewModel
1113
import kaist.iclab.abclogger.collector.install.InstalledAppCollector
14+
import kaist.iclab.abclogger.collector.internalsensor.InternalSensorCollector
1215
import kaist.iclab.abclogger.collector.keylog.KeyLogCollector
16+
import kaist.iclab.abclogger.collector.keylog.setting.KeyLogNavigator
1317
import kaist.iclab.abclogger.collector.keylog.setting.KeyLogViewModel
1418
import kaist.iclab.abclogger.collector.location.LocationCollector
1519
import kaist.iclab.abclogger.collector.media.MediaCollector
1620
import kaist.iclab.abclogger.collector.message.MessageCollector
1721
import kaist.iclab.abclogger.collector.notification.NotificationCollector
1822
import kaist.iclab.abclogger.collector.physicalstat.PhysicalStatCollector
19-
import kaist.iclab.abclogger.collector.externalsensor.polar.PolarH10Collector
20-
import kaist.iclab.abclogger.collector.externalsensor.polar.setting.PolarH10Navigator
21-
import kaist.iclab.abclogger.collector.externalsensor.polar.setting.PolarH10ViewModel
22-
import kaist.iclab.abclogger.collector.internalsensor.InternalSensorCollector
23-
import kaist.iclab.abclogger.collector.keylog.setting.KeyLogNavigator
2423
import kaist.iclab.abclogger.collector.survey.SurveyCollector
2524
import kaist.iclab.abclogger.collector.survey.setting.SurveyPreviewNavigator
2625
import kaist.iclab.abclogger.collector.survey.setting.SurveyPreviewViewModel
@@ -31,12 +30,11 @@ import kaist.iclab.abclogger.collector.wifi.WifiCollector
3130
import kaist.iclab.abclogger.ui.config.ConfigNavigator
3231
import kaist.iclab.abclogger.ui.config.ConfigViewModel
3332
import kaist.iclab.abclogger.ui.main.MainViewModel
34-
import kaist.iclab.abclogger.ui.question.SurveyResponseActivity
3533
import kaist.iclab.abclogger.ui.question.SurveyResponseNavigator
36-
import kaist.iclab.abclogger.ui.surveylist.SurveyListViewModel
3734
import kaist.iclab.abclogger.ui.question.SurveyResponseViewModel
3835
import kaist.iclab.abclogger.ui.splash.SplashNavigator
3936
import kaist.iclab.abclogger.ui.splash.SplashViewModel
37+
import kaist.iclab.abclogger.ui.surveylist.SurveyListViewModel
4038
import org.koin.android.ext.koin.androidContext
4139
import org.koin.androidx.viewmodel.dsl.viewModel
4240
import org.koin.dsl.module

app/src/main/kotlin/kaist/iclab/abclogger/ObjBox.kt

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import io.objectbox.BoxStore
55
import io.objectbox.kotlin.boxFor
66
import kaist.iclab.abclogger.collector.Base
77
import kaist.iclab.abclogger.collector.MyObjectBox
8-
import kaist.iclab.abclogger.commons.AppLog
98
import kaist.iclab.abclogger.commons.firstNotNullResult
109
import org.apache.commons.io.FileUtils
1110
import java.io.File
@@ -60,42 +59,63 @@ object ObjBox {
6059
@JvmStatic
6160
fun maxSizeInBytes() = Prefs.maxDbSize * 1000L
6261

63-
inline fun <reified T : Base> boxFor() = try { boxStore.get()?.boxFor<T>() } catch (e: Exception) { null }
62+
inline fun <reified T : Base> boxFor() = try {
63+
boxStore.get()?.boxFor<T>()
64+
} catch (e: Exception) {
65+
null
66+
}
6467

65-
inline fun <reified T : Base> put(entity: T?) : Long {
68+
inline fun <reified T : Base> put(entity: T?): Long {
6669
entity ?: return 0
6770
if (boxStore.get()?.isClosed != false) return 0
6871

69-
return try { boxFor<T>()?.put(entity) } catch (e: Exception) { null } ?: 0
72+
return try {
73+
boxFor<T>()?.put(entity)
74+
} catch (e: Exception) {
75+
null
76+
} ?: 0
7077
}
7178

7279
inline fun <reified T : Base> put(entity: Collection<T>?) {
7380
entity ?: return
7481
if (boxStore.get()?.isClosed != false) return
7582

76-
try { boxFor<T>()?.put(entity) } catch (e: Exception) { }
83+
try {
84+
boxFor<T>()?.put(entity)
85+
} catch (e: Exception) {
86+
}
7787
}
7888

79-
inline fun <reified T: Base> query() = boxFor<T>()?.query()
89+
inline fun <reified T : Base> query() = boxFor<T>()?.query()
8090

81-
inline fun <reified T: Base> remove(entity: T?) {
91+
inline fun <reified T : Base> remove(entity: T?) {
8292
entity ?: return
8393
if (boxStore.get()?.isClosed != false) return
8494

85-
try { boxFor<T>()?.remove(entity) } catch (e: Exception) { }
95+
try {
96+
boxFor<T>()?.remove(entity)
97+
} catch (e: Exception) {
98+
}
8699
}
87100

88-
inline fun <reified T: Base> remove(entity: Collection<T>?) {
101+
inline fun <reified T : Base> remove(entity: Collection<T>?) {
89102
entity ?: return
90103
if (boxStore.get()?.isClosed != false) return
91104

92-
try { boxFor<T>()?.remove(entity) } catch (e: Exception) { }
105+
try {
106+
boxFor<T>()?.remove(entity)
107+
} catch (e: Exception) {
108+
}
93109
}
94110

95-
inline fun <reified T : Base> get(id: Long?) : T?{
111+
inline fun <reified T : Base> get(id: Long?): T? {
96112
id ?: return null
97113
if (boxStore.get()?.isClosed != false) return null
98-
return try { boxFor<T>()?.get(id) } catch (e: Exception) { null }
114+
return try {
115+
boxFor<T>()?.get(id)
116+
} catch (e: Exception) {
117+
null
118+
}
99119
}
100120
}
101121

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package kaist.iclab.abclogger
22

33
import github.agustarc.koap.PreferenceHolder
4-
import github.agustarc.koap.delegator.*
5-
import kaist.iclab.abclogger.BuildConfig
4+
import github.agustarc.koap.delegator.ReadWriteBoolean
5+
import github.agustarc.koap.delegator.ReadWriteInt
6+
import github.agustarc.koap.delegator.ReadWriteLong
67

78

89
object Prefs : PreferenceHolder(name = BuildConfig.PREF_NAME) {
@@ -11,11 +12,11 @@ object Prefs : PreferenceHolder(name = BuildConfig.PREF_NAME) {
1112
*/
1213
var lastTimeDataSync: Long by ReadWriteLong(default = 0)
1314
var canUploadMeteredNetwork: Boolean by ReadWriteBoolean(default = false)
14-
var maxDbSize : Long by ReadWriteLong(default = 0)
15+
var maxDbSize: Long by ReadWriteLong(default = 0)
1516
var isAutoSync: Boolean by ReadWriteBoolean(default = false)
1617

1718
/**
1819
* Belows are not presented to a user
1920
*/
20-
var dbVersion : Int by ReadWriteInt(default = 0)
21+
var dbVersion: Int by ReadWriteInt(default = 0)
2122
}

app/src/main/kotlin/kaist/iclab/abclogger/SyncWorker.kt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class SyncWorker(context: Context, params: WorkerParameters) : CoroutineWorker(c
9292
val size = ids.size
9393

9494
(0 until size step N_UPLOADS).forEach { offset ->
95-
while(isLowMemory()) {
95+
while (isLowMemory()) {
9696
Log.d("SyncWorker", "isLowMemory...")
9797
System.runFinalization()
9898
System.gc()
@@ -105,24 +105,26 @@ class SyncWorker(context: Context, params: WorkerParameters) : CoroutineWorker(c
105105
async {
106106
try {
107107
val id = ids[index]
108-
val entity = ObjBox.get<T>(id) ?: throw Exception("No corresponding entity.")
108+
val entity = ObjBox.get<T>(id)
109+
?: throw Exception("No corresponding entity.")
109110
val proto = toProto(entity) ?: throw Exception("No corresponding protobuf.")
110111

111112
deadlineStub.createDatum(proto)
112113
ObjBox.remove(entity)
113-
} catch (e: Exception) { }
114+
} catch (e: Exception) {
115+
}
114116
}
115117
}.awaitAll()
116118
}
117119
}
118120

119-
private fun isLowMemory() : Boolean {
121+
private fun isLowMemory(): Boolean {
120122
val manager = applicationContext.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
121123
val maxHeapSize = manager.largeMemoryClass
122124
val runtime = Runtime.getRuntime()
123125
val usedMemory = runtime.totalMemory() - runtime.freeMemory()
124126
val usedPercentage = usedMemory.toFloat() / (maxHeapSize * 1e6).toFloat()
125-
Log.d("SyncWorker", "usedPercentage: $usedPercentage / maxHeapSize: $maxHeapSize" )
127+
Log.d("SyncWorker", "usedPercentage: $usedPercentage / maxHeapSize: $maxHeapSize")
126128

127129
return usedPercentage > 0.5F
128130
}
@@ -341,7 +343,7 @@ class SyncWorker(context: Context, params: WorkerParameters) : CoroutineWorker(c
341343
}?.build()
342344
}
343345

344-
class CancelIntentService: IntentService(CancelIntentService::class.java.name) {
346+
class CancelIntentService : IntentService(CancelIntentService::class.java.name) {
345347
override fun onHandleIntent(intent: Intent?) {
346348
Log.d("CancelIntentService", "onHandleIntent()")
347349
requestStop(this)

app/src/main/kotlin/kaist/iclab/abclogger/collector/Base.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package kaist.iclab.abclogger.collector
22

33
import io.objectbox.annotation.BaseEntity
44
import io.objectbox.annotation.Id
5-
import io.objectbox.annotation.Index
65

76
@BaseEntity
87
abstract class Base(

0 commit comments

Comments
 (0)