diff --git a/app/src/main/java/com/hmh/hamyeonham/di/NavigatorModule.kt b/app/src/main/java/com/hmh/hamyeonham/di/NavigatorModule.kt new file mode 100644 index 000000000..02f1a12aa --- /dev/null +++ b/app/src/main/java/com/hmh/hamyeonham/di/NavigatorModule.kt @@ -0,0 +1,17 @@ +package com.hmh.hamyeonham.di + +import com.hmh.hamyeonham.common.navigation.NavigationProvider +import com.hmh.hamyeonham.navigation.DefaultNavigationProvider +import dagger.Binds +import dagger.Module +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +interface NavigatorModule { + @Binds + @Singleton + fun bindNavigator(navigator: DefaultNavigationProvider): NavigationProvider +} diff --git a/app/src/main/java/com/hmh/hamyeonham/navigation/DefaultNavigation.kt b/app/src/main/java/com/hmh/hamyeonham/navigation/DefaultNavigationProvider.kt similarity index 94% rename from app/src/main/java/com/hmh/hamyeonham/navigation/DefaultNavigation.kt rename to app/src/main/java/com/hmh/hamyeonham/navigation/DefaultNavigationProvider.kt index bfc69e6d3..7f067392d 100644 --- a/app/src/main/java/com/hmh/hamyeonham/navigation/DefaultNavigation.kt +++ b/app/src/main/java/com/hmh/hamyeonham/navigation/DefaultNavigationProvider.kt @@ -10,7 +10,7 @@ import com.hmh.hamyeonham.statistics.StaticsActivity import dagger.hilt.android.qualifiers.ApplicationContext import javax.inject.Inject -class DefaultNavigation @Inject constructor( +class DefaultNavigationProvider @Inject constructor( @ApplicationContext private val context: Context ) : NavigationProvider { override fun toOnboarding(): Intent { diff --git a/feature/login/src/main/java/com/hmh/hamyeonham/feature/login/LoginActivity.kt b/feature/login/src/main/java/com/hmh/hamyeonham/feature/login/LoginActivity.kt index d05c34e79..4f0595d0e 100644 --- a/feature/login/src/main/java/com/hmh/hamyeonham/feature/login/LoginActivity.kt +++ b/feature/login/src/main/java/com/hmh/hamyeonham/feature/login/LoginActivity.kt @@ -1,6 +1,7 @@ package com.hmh.hamyeonham.feature.login import android.os.Bundle +import android.util.Log import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import com.hmh.hamyeonham.common.context.toast @@ -11,8 +12,10 @@ import com.kakao.sdk.auth.model.OAuthToken import com.kakao.sdk.common.model.ClientError import com.kakao.sdk.common.model.ClientErrorCause import com.kakao.sdk.user.UserApiClient +import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject +@AndroidEntryPoint class LoginActivity : AppCompatActivity() { private lateinit var binding: ActivityLoginBinding diff --git a/feature/onboarding/src/main/AndroidManifest.xml b/feature/onboarding/src/main/AndroidManifest.xml index a2fcd80d7..1d23c4a79 100644 --- a/feature/onboarding/src/main/AndroidManifest.xml +++ b/feature/onboarding/src/main/AndroidManifest.xml @@ -5,6 +5,7 @@ + @@ -25,5 +26,9 @@ android:name="android.accessibilityservice" android:resource="@xml/accessibility_service_config" /> + + diff --git a/feature/onboarding/src/main/java/com/hmh/hamyeonham/feature/onboarding/LockActivity.kt b/feature/onboarding/src/main/java/com/hmh/hamyeonham/feature/onboarding/LockActivity.kt new file mode 100644 index 000000000..2b56f0b1c --- /dev/null +++ b/feature/onboarding/src/main/java/com/hmh/hamyeonham/feature/onboarding/LockActivity.kt @@ -0,0 +1,20 @@ +package com.hmh.hamyeonham.feature.onboarding + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import com.hmh.hamyeonham.common.context.toast +import com.hmh.hamyeonham.common.view.viewBinding +import com.hmh.hamyeonham.feature.onboarding.databinding.ActivityLockBinding + +class LockActivity : AppCompatActivity() { + private val binding by viewBinding(ActivityLockBinding::inflate) + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(binding.root) + + binding.btnLock.setOnClickListener { + toast("유튜브 잠금 설정 완료") + } + } +} diff --git a/feature/onboarding/src/main/java/com/hmh/hamyeonham/feature/onboarding/OnBoardingAccessibilityService.kt b/feature/onboarding/src/main/java/com/hmh/hamyeonham/feature/onboarding/OnBoardingAccessibilityService.kt index 5cc0cc69a..42d8bf158 100644 --- a/feature/onboarding/src/main/java/com/hmh/hamyeonham/feature/onboarding/OnBoardingAccessibilityService.kt +++ b/feature/onboarding/src/main/java/com/hmh/hamyeonham/feature/onboarding/OnBoardingAccessibilityService.kt @@ -1,6 +1,7 @@ package com.hmh.hamyeonham.feature.onboarding import android.accessibilityservice.AccessibilityService +import android.content.Intent import android.util.Log import android.view.accessibility.AccessibilityEvent @@ -8,10 +9,13 @@ class OnBoardingAccessibilityService : AccessibilityService() { override fun onAccessibilityEvent(event: AccessibilityEvent) { if (event.eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) { val packageName = event.packageName ?: return - Log.d("AccessibilityService", "현재 실행 중인 앱 패키지: $packageName") + Log.d("OnBoardingAccessibilityService", "onAccessibilityEvent: $packageName") + if (packageName != "com.google.android.youtube") return + val intent = Intent(this, LockActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + startActivity(intent) } } - override fun onInterrupt() { - } + override fun onInterrupt() {} } diff --git a/feature/onboarding/src/main/res/layout/activity_lock.xml b/feature/onboarding/src/main/res/layout/activity_lock.xml new file mode 100644 index 000000000..7077206f6 --- /dev/null +++ b/feature/onboarding/src/main/res/layout/activity_lock.xml @@ -0,0 +1,17 @@ + + + +