From: Braden Farmer Date: Fri, 20 Nov 2020 05:42:29 +0000 (-0700) Subject: Fix instances where startHeight or endHeight could be less than 0 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=b28c28b6b7984310738691143999e9b07f630612;p=android-x86%2Fpackages-apps-Taskbar.git Fix instances where startHeight or endHeight could be less than 0 --- diff --git a/app/src/main/java/com/farmerbb/taskbar/ui/TaskbarController.java b/app/src/main/java/com/farmerbb/taskbar/ui/TaskbarController.java index e8be6d26..9cc53037 100644 --- a/app/src/main/java/com/farmerbb/taskbar/ui/TaskbarController.java +++ b/app/src/main/java/com/farmerbb/taskbar/ui/TaskbarController.java @@ -1025,12 +1025,25 @@ public class TaskbarController extends UIController { int height = maxScreenSize - recentsSize; if(pref.getBoolean(PREF_CENTERED_ICONS, false)) { + int startHeight = (height / 2) + (diff / (startIsBigger ? -2 : 2)); + int endHeight = (height / 2) + (diff / (startIsBigger ? 2 : -2)); + + if(startHeight < 0) { + startHeight = 0; + endHeight = height; + } + + if(endHeight < 0) { + startHeight = height; + endHeight = 0; + } + ViewGroup.LayoutParams startParams = whitespaceStart.getLayoutParams(); - startParams.height = (height / 2) + (diff / (startIsBigger ? -2 : 2)); + startParams.height = startHeight; whitespaceStart.setLayoutParams(startParams); ViewGroup.LayoutParams endParams = whitespaceEnd.getLayoutParams(); - endParams.height = (height / 2) + (diff / (startIsBigger ? 2 : -2)); + endParams.height = endHeight; whitespaceEnd.setLayoutParams(endParams); } else { ViewGroup.LayoutParams endParams = whitespaceEnd.getLayoutParams(); @@ -1052,12 +1065,25 @@ public class TaskbarController extends UIController { int width = maxScreenSize - recentsSize; if(pref.getBoolean(PREF_CENTERED_ICONS, false)) { + int startWidth = (width / 2) + (diff / (startIsBigger ? -2 : 2)); + int endWidth = (width / 2) + (diff / (startIsBigger ? 2 : -2)); + + if(startWidth < 0) { + startWidth = 0; + endWidth = width; + } + + if(endWidth < 0) { + startWidth = width; + endWidth = 0; + } + ViewGroup.LayoutParams startParams = whitespaceStart.getLayoutParams(); - startParams.width = (width / 2) + (diff / (startIsBigger ? -2 : 2)); + startParams.width = startWidth; whitespaceStart.setLayoutParams(startParams); ViewGroup.LayoutParams endParams = whitespaceEnd.getLayoutParams(); - endParams.width = (width / 2) + (diff / (startIsBigger ? 2 : -2)); + endParams.width = endWidth; whitespaceEnd.setLayoutParams(endParams); } else { ViewGroup.LayoutParams endParams = whitespaceEnd.getLayoutParams();