Hide overlay windows

This commit is contained in:
vvb2060 2021-07-18 13:12:23 +08:00 committed by John Wu
parent c0a2e3674c
commit 605189bc6e
3 changed files with 9 additions and 0 deletions

View File

@ -7,6 +7,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.HIDE_OVERLAY_WINDOWS" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="29"

View File

@ -89,6 +89,10 @@ class SettingsViewModel(
// Re-authenticate is not feasible on 8.0+
list.add(Reauthenticate)
}
if (Build.VERSION.SDK_INT >= 31) {
// Can hide overlay windows on 12.0+
list.remove(Tapjack)
}
}
return list

View File

@ -3,6 +3,7 @@ package com.topjohnwu.magisk.ui.surequest
import android.content.Intent
import android.content.pm.ActivityInfo
import android.content.res.Resources
import android.os.Build
import android.os.Bundle
import android.view.Window
import android.view.WindowManager
@ -29,6 +30,9 @@ open class SuRequestActivity : BaseUIActivity<SuRequestViewModel, ActivityReques
lockOrientation()
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
window.addFlags(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
window.setHideOverlayWindows(true)
}
super.onCreate(savedInstanceState)
fun showRequest() {