mirror of
https://github.com/revanced/revanced-patches
synced 2025-02-19 17:26:49 +01:00
47 lines
1.6 KiB
Java
47 lines
1.6 KiB
Java
package app.revanced.tudortmund.lockscreen;
|
|
|
|
import android.content.Context;
|
|
import android.hardware.display.DisplayManager;
|
|
import android.os.Build;
|
|
import android.view.Display;
|
|
import android.view.Window;
|
|
import androidx.appcompat.app.AppCompatActivity;
|
|
|
|
import static android.view.WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
|
|
import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
|
|
|
|
public class ShowOnLockscreenPatch {
|
|
/**
|
|
* @noinspection deprecation
|
|
*/
|
|
public static Window getWindow(AppCompatActivity activity, float brightness) {
|
|
Window window = activity.getWindow();
|
|
|
|
if (brightness >= 0) {
|
|
// High brightness set, therefore show on lockscreen.
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) activity.setShowWhenLocked(true);
|
|
else window.addFlags(FLAG_SHOW_WHEN_LOCKED | FLAG_DISMISS_KEYGUARD);
|
|
} else {
|
|
// Ignore brightness reset when the screen is turned off.
|
|
DisplayManager displayManager = (DisplayManager) activity.getSystemService(Context.DISPLAY_SERVICE);
|
|
|
|
boolean isScreenOn = false;
|
|
for (Display display : displayManager.getDisplays()) {
|
|
if (display.getState() == Display.STATE_OFF) continue;
|
|
|
|
isScreenOn = true;
|
|
break;
|
|
}
|
|
|
|
if (isScreenOn) {
|
|
// Hide on lockscreen.
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) activity.setShowWhenLocked(false);
|
|
else window.clearFlags(FLAG_SHOW_WHEN_LOCKED | FLAG_DISMISS_KEYGUARD);
|
|
}
|
|
}
|
|
|
|
return window;
|
|
}
|
|
|
|
}
|