diff --git a/app/src/main/kotlin/bums/lunatic/launcher/LauncherActivity.kt b/app/src/main/kotlin/bums/lunatic/launcher/LauncherActivity.kt index 4cea1805..72d5471e 100644 --- a/app/src/main/kotlin/bums/lunatic/launcher/LauncherActivity.kt +++ b/app/src/main/kotlin/bums/lunatic/launcher/LauncherActivity.kt @@ -68,6 +68,8 @@ import bums.lunatic.launcher.workers.TorrentService import bums.lunatic.launcher.workers.UsageLogType import bums.lunatic.launcher.workers.UsageUpdateType import bums.lunatic.launcher.workers.WorkersDb +import com.google.android.gms.wearable.MessageClient +import com.google.android.gms.wearable.Wearable import com.google.android.material.color.DynamicColors import io.realm.kotlin.UpdatePolicy import io.realm.kotlin.ext.query @@ -635,7 +637,7 @@ open class LauncherActivity : CommonActivity() { override fun onPause() { super.onPause() - + Wearable.getMessageClient(this).removeListener(messageListener) } // 위젯 선택기 실행 fun selectWidget() { @@ -946,6 +948,23 @@ open class LauncherActivity : CommonActivity() { field = value } + + private val messageListener = MessageClient.OnMessageReceivedListener { messageEvent -> + when (messageEvent.path) { + "/gesture/next" -> { + // 시계에서 오른쪽으로 휘둘렀을 때: 예) 다음 배경화면으로 변경 + val intent = Intent("ACTION_NEXT_WALLPAPER").setPackage(packageName) + sendBroadcast(intent) + showToast("시계 제스처: 다음 배경화면") + } + "/gesture/prev" -> { + // 시계에서 왼쪽으로 휘둘렀을 때: 예) 앱 서랍 열기 + showAppDrawer() + showToast("시계 제스처: 앱 서랍") + } + } + } + @RequiresApi(Build.VERSION_CODES.O_MR1) override fun onResume() { super.onResume() @@ -956,6 +975,7 @@ open class LauncherActivity : CommonActivity() { requestPermission() } resumeCount += 1 + Wearable.getMessageClient(this).addListener(messageListener) } private fun openSearch() { diff --git a/app/src/main/kotlin/bums/lunatic/launcher/player/PlayerActivity.kt b/app/src/main/kotlin/bums/lunatic/launcher/player/PlayerActivity.kt index dcf6e610..209860c6 100644 --- a/app/src/main/kotlin/bums/lunatic/launcher/player/PlayerActivity.kt +++ b/app/src/main/kotlin/bums/lunatic/launcher/player/PlayerActivity.kt @@ -149,6 +149,7 @@ class PlayerActivity : AppCompatActivity(), TextureView.SurfaceTextureListener { nativePlayer?.setSpeed(1.0f) } true + } // 3. 왼쪽: 롱프레스 주기적 뒤로가기 diff --git a/lun_launcher/src/main/AndroidManifest.xml b/lun_launcher/src/main/AndroidManifest.xml index 16b10e0c..8cea7c97 100644 --- a/lun_launcher/src/main/AndroidManifest.xml +++ b/lun_launcher/src/main/AndroidManifest.xml @@ -4,6 +4,7 @@ + - val x = event.values[0] + override fun onSensorChanged(event: SensorEvent?) { + event?.let { + if (it.sensor.type == Sensor.TYPE_ACCELEROMETER) { + val x = it.values[0] - // 아주 단순한 Threshold 예시 (나중에 DTW로 교체) - if (x > 15f) { // 오른쪽으로 강하게 휘둘렀을 때 - sendGestureToLauncher("/gesture/next") - } else if (x < -15f) { - sendGestureToLauncher("/gesture/prev") + // 임계값(Threshold)을 약간 높여 오작동 방지 + if (x > 20f) { + sendGestureToLauncher("/gesture/next") + } else if (x < -20f) { + sendGestureToLauncher("/gesture/prev") + } } - lastX = x } } private fun sendGestureToLauncher(path: String) {