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

Commit 646174c9 authored by Mark Renouf's avatar Mark Renouf
Browse files

Mitigate CropView invalid Range crash

Bug: 232633995
Flag: com.android.systemui.screenshot_scroll_crop_view_crash_fix
Change-Id: I9c836c2e77eb5bff6152d27620383c22e83ae17f
parent d30667a5
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -479,6 +479,15 @@ flag {
    }
}

flag {
    name: "screenshot_scroll_crop_view_crash_fix"
    namespace: "systemui"
    description: "Mitigate crash on invalid computed range in CropView"
    bug: "232633995"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "screenshot_private_profile_behavior_fix"
+9 −2
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import androidx.customview.widget.ExploreByTouchHelper;
import androidx.interpolator.view.animation.FastOutSlowInInterpolator;

import com.android.internal.graphics.ColorUtils;
import com.android.systemui.Flags;
import com.android.systemui.res.R;

import java.util.List;
@@ -378,8 +379,14 @@ public class CropView extends View {
                upper = 1;
                break;
        }
        Log.i(TAG, "getAllowedValues: " + boundary + ", "
                + "result=[lower=" + lower + ", upper=" + upper + "]");
        if (lower >= upper) {
            Log.wtf(TAG, "getAllowedValues computed an invalid range "
                    + "[" + lower + ", " + upper + "]");
            if (Flags.screenshotScrollCropViewCrashFix()) {
                lower = Math.min(lower, upper);
                upper = lower;
            }
        }
        return new Range<>(lower, upper);
    }