Skip to content
Snippets Groups Projects
Unverified Commit e1a94be9 authored by Hee Tatt Ooi's avatar Hee Tatt Ooi Committed by GitHub
Browse files

Prevent screenshot of the app for all activities (#108)


* Prevent screenshot of the app for all activities

* fix ktlint

* code smell fix

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
parent cafc42d5
No related branches found
No related tags found
No related merge requests found
package de.rki.coronawarnapp package de.rki.coronawarnapp
import android.app.Activity
import android.app.Application import android.app.Application
import android.content.Context import android.content.Context
import android.os.Bundle
import android.util.Log import android.util.Log
import android.view.WindowManager
import androidx.lifecycle.Lifecycle import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleObserver import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.OnLifecycleEvent import androidx.lifecycle.OnLifecycleEvent
import androidx.lifecycle.ProcessLifecycleOwner import androidx.lifecycle.ProcessLifecycleOwner
import de.rki.coronawarnapp.notification.NotificationHelper import de.rki.coronawarnapp.notification.NotificationHelper
class CoronaWarnApplication : Application(), LifecycleObserver { class CoronaWarnApplication : Application(), LifecycleObserver,
Application.ActivityLifecycleCallbacks {
companion object { companion object {
val TAG: String? = CoronaWarnApplication::class.simpleName val TAG: String? = CoronaWarnApplication::class.simpleName
...@@ -31,6 +35,7 @@ class CoronaWarnApplication : Application(), LifecycleObserver { ...@@ -31,6 +35,7 @@ class CoronaWarnApplication : Application(), LifecycleObserver {
NotificationHelper.createNotificationChannel() NotificationHelper.createNotificationChannel()
super.onCreate() super.onCreate()
ProcessLifecycleOwner.get().lifecycle.addObserver(this) ProcessLifecycleOwner.get().lifecycle.addObserver(this)
registerActivityLifecycleCallbacks(this)
} }
/** /**
...@@ -50,4 +55,36 @@ class CoronaWarnApplication : Application(), LifecycleObserver { ...@@ -50,4 +55,36 @@ class CoronaWarnApplication : Application(), LifecycleObserver {
isAppInForeground = true isAppInForeground = true
Log.v(TAG, "App foregrounded") Log.v(TAG, "App foregrounded")
} }
override fun onActivityPaused(activity: Activity) {
// does not override function. Empty on intention
}
override fun onActivityStarted(activity: Activity) {
// does not override function. Empty on intention
}
override fun onActivityDestroyed(activity: Activity) {
// does not override function. Empty on intention
}
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {
// does not override function. Empty on intention
}
override fun onActivityStopped(activity: Activity) {
// does not override function. Empty on intention
}
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
// prevents screenshot of the app for all activities
activity.window.setFlags(
WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE
)
}
override fun onActivityResumed(activity: Activity) {
// does not override function. Empty on intention
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment