Skip to content

Commit d3d39e2

Browse files
committed
[[ Bug 16772 ]] Fix Android working screenrect offset
1 parent f2fb23f commit d3d39e2

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

docs/notes/bugfix-16772.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Android: fix incorrect offset of the working screenrect

engine/src/java/com/runrev/android/Engine.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1130,10 +1130,13 @@ private Rect getWorkarea(boolean p_update, int p_new_width, int p_new_height)
11301130

11311131
boolean t_portrait = t_viewport.height() > t_viewport.width();
11321132

1133+
int[] t_origin = new int[2];
1134+
getLocationOnScreen(t_origin);
1135+
11331136
// We have new values and the keyboard isn't showing so update any sizes we don't already know
11341137
if (p_update && !m_keyboard_visible)
11351138
{
1136-
t_working_rect = new Rect(0, 0, p_new_width, p_new_height);
1139+
t_working_rect = new Rect(t_origin[0], t_origin[1], t_origin[0] + p_new_width, t_origin[1] + p_new_height);
11371140

11381141
if (t_portrait && !m_know_portrait_size)
11391142
{
@@ -1167,6 +1170,7 @@ else if (!t_portrait && m_know_landscape_size)
11671170
t_working_rect = new Rect(t_viewport);
11681171
if (m_know_statusbar_size)
11691172
t_working_rect.bottom -= m_statusbar_size;
1173+
t_working_rect.offsetTo(t_origin[0], t_origin[1]);
11701174
}
11711175

11721176
return t_working_rect;

0 commit comments

Comments
 (0)