Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41a85e91 authored by Jesse Chan's avatar Jesse Chan Committed by LuK1337
Browse files

Implement click to take partial screenshot [1/3]



Change-Id: I702ac298f9149c12959a3d49b7fd5cdd32371bff
Signed-off-by: default avatarJesse Chan <jc@lineageos.org>
parent 0a0f6179
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -536,6 +536,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {

    boolean mVolumeAnswerCall;

    // Click volume down + power for partial screenshot
    boolean mClickPartialScreenshot;

    private boolean mPendingKeyguardOccluded;
    private boolean mKeyguardOccludedChanged;

@@ -917,6 +920,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            resolver.registerContentObserver(LineageSettings.System.getUriFor(
                    LineageSettings.System.VOLUME_ANSWER_CALL), false, this,
                    UserHandle.USER_ALL);
            resolver.registerContentObserver(LineageSettings.System.getUriFor(
                    LineageSettings.System.CLICK_PARTIAL_SCREENSHOT), false, this,
                    UserHandle.USER_ALL);

            updateSettings();
        }
@@ -2393,6 +2399,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            mCameraLaunch = LineageSettings.System.getIntForUser(resolver,
                    LineageSettings.System.CAMERA_LAUNCH, 0,
                    UserHandle.USER_CURRENT) == 1;
            mClickPartialScreenshot = LineageSettings.System.getIntForUser(resolver,
                    LineageSettings.System.CLICK_PARTIAL_SCREENSHOT, 0,
                    UserHandle.USER_CURRENT) == 1;

            // Configure wake gesture.
            boolean wakeGestureEnabledSetting = Settings.Secure.getIntForUser(resolver,
@@ -4230,6 +4239,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                        mScreenshotChordVolumeDownKeyTriggered = false;
                        cancelPendingScreenshotChordAction();
                        cancelPendingAccessibilityShortcutAction();

                        if (mClickPartialScreenshot && mScreenshotChordVolumeDownKeyConsumed) {
                            mScreenshotRunnable.setScreenshotType(TAKE_SCREENSHOT_SELECTED_REGION);
                            mHandler.post(mScreenshotRunnable);
                        }
                    }
                } else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
                    if (down) {