A fork of Simple Time Tracker with WearOS support. (Now integrated upstream)
0

Configure Feed

Select the types of activity you want to include in your feed.

refactor(wear): Standardize nomenclature

Use `query` consistently instead of occasionally switching to `get`.

Joseph Hale (Feb 26, 2024, 10:23 PM -0700) 70fdb856 c1a2ba8f

+22 -16
+5 -4
wearrpc/src/main/java/com/example/util/simpletimetracker/wearrpc/Request.kt
··· 7 7 8 8 object Request { 9 9 val PING = "/stt//GET/ping" 10 - val GET_ACTIVITIES = "/stt//GET/activities" 11 - val GET_CURRENT_ACTIVITIES = "/stt//GET/activities/current" 12 - val START_ACTIVITIES = "/stt//POST/activities/current" 13 - val GET_TAGS_FOR_ACTIVITY = "/stt//GET/activities/:ID/tags" 10 + val QUERY_ACTIVITIES = "/stt//GET/activities" 11 + val QUERY_CURRENT_ACTIVITIES = "/stt//GET/activities/current" 12 + val SET_CURRENT_ACTIVITIES = "/stt//POST/activities/current" 13 + val QUERY_TAGS_FOR_ACTIVITY = "/stt//GET/activities/:ID/tags" 14 + val QUERY_SETTINGS = "/stt//GET/settings" 14 15 }
+1 -1
wearrpc/src/main/java/com/example/util/simpletimetracker/wearrpc/WearRPCClient.kt
··· 20 20 } 21 21 22 22 override suspend fun queryActivities(): Array<Activity> { 23 - val response = messenger.sendMessage(Request.GET_ACTIVITIES) 23 + val response = messenger.sendMessage(Request.QUERY_ACTIVITIES) 24 24 if (response != null) { 25 25 Log.i(TAG, String(response)) 26 26 val collectionType = object : TypeToken<Array<Activity>>() {}.type
+13 -8
wearrpc/src/main/java/com/example/util/simpletimetracker/wearrpc/WearRPCServer.kt
··· 14 14 if (path.startsWith("/stt")) { 15 15 when (path) { 16 16 Request.PING -> return onPing(request) 17 - Request.GET_ACTIVITIES -> return onGetActivities() 18 - Request.GET_CURRENT_ACTIVITIES -> return onGetCurrentActivities() 19 - Request.START_ACTIVITIES -> return onStartActivities(request) 20 - Request.GET_TAGS_FOR_ACTIVITY -> return onGetTagsForActivity(request) 17 + Request.QUERY_ACTIVITIES -> return onQueryActivities() 18 + Request.QUERY_CURRENT_ACTIVITIES -> return onQueryCurrentActivities() 19 + Request.SET_CURRENT_ACTIVITIES -> return onSetCurrentActivities(request) 20 + Request.QUERY_TAGS_FOR_ACTIVITY -> return onQueryTagsForActivity(request) 21 + Request.QUERY_SETTINGS -> return onQuerySettings() 21 22 else -> throw WearRPCException("$path is an invalid RPC call") 22 23 } 23 24 } else return null 24 25 } 25 26 26 - private suspend fun onGetTagsForActivity(request: ByteArray): ByteArray? { 27 + private suspend fun onQueryTagsForActivity(request: ByteArray): ByteArray? { 27 28 TODO("Not yet implemented") 28 29 } 29 30 30 - private suspend fun onStartActivities(request: ByteArray): ByteArray? { 31 + private suspend fun onSetCurrentActivities(request: ByteArray): ByteArray? { 31 32 TODO("Not yet implemented") 32 33 } 33 34 ··· 35 36 return request 36 37 } 37 38 38 - private suspend fun onGetActivities(): ByteArray? { 39 + private suspend fun onQueryActivities(): ByteArray? { 39 40 return Gson().toJson(api.queryActivities()).toByteArray() 40 41 } 41 42 42 - private suspend fun onGetCurrentActivities(): ByteArray? { 43 + private suspend fun onQueryCurrentActivities(): ByteArray? { 43 44 return Gson().toJson(api.queryCurrentActivities()).toByteArray() 45 + } 46 + 47 + private suspend fun onQuerySettings(): ByteArray? { 48 + TODO("Not yet implemented") 44 49 } 45 50 }
+3 -3
wearrpc/src/test/java/com/example/util/simpletimetracker/wearrpc/WearRPCServerTest.kt
··· 55 55 56 56 class GetActivitiesTest: WearRPCServerTestBase() { 57 57 @Test fun returns_no_activities_when_none_are_available() = runTest { 58 - val response = rpc.onRequest(Request.GET_ACTIVITIES, ByteArray(0)) 58 + val response = rpc.onRequest(Request.QUERY_ACTIVITIES, ByteArray(0)) 59 59 assertResponseEquals("[]", response) 60 60 } 61 61 62 62 @Test fun returns_one_activity_when_one_exists() = runTest { 63 63 api.mock_queryActivities(arrayOf(Activity(42, "Chores"))) 64 - val response = rpc.onRequest(Request.GET_ACTIVITIES, ByteArray(0)) 64 + val response = rpc.onRequest(Request.QUERY_ACTIVITIES, ByteArray(0)) 65 65 assertResponseEquals("[{\"id\":42,\"name\":\"Chores\"}]", response) 66 66 } 67 67 68 68 @Test fun returns_all_existing_activities() = runTest { 69 69 api.mock_queryActivities(arrayOf(Activity(13, "Singing"), Activity(24, "Homework"))) 70 - val response = rpc.onRequest(Request.GET_ACTIVITIES, ByteArray(0)) 70 + val response = rpc.onRequest(Request.QUERY_ACTIVITIES, ByteArray(0)) 71 71 assertResponseEquals("[{\"id\":13,\"name\":\"Singing\"},{\"id\":24,\"name\":\"Homework\"}]", response) 72 72 } 73 73 }