Skip to content

Commit 9a66255

Browse files
committed
Merge pull request livecode#3515 from livecodeian/bugfix-16772
[[ Bug 16772 ]] Fix Android working screenrect offset
2 parents ee83234 + d3d39e2 commit 9a66255

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
@@ -1145,10 +1145,13 @@ private Rect getWorkarea(boolean p_update, int p_new_width, int p_new_height)
11451145

11461146
boolean t_portrait = t_viewport.height() > t_viewport.width();
11471147

1148+
int[] t_origin = new int[2];
1149+
getLocationOnScreen(t_origin);
1150+
11481151
// We have new values and the keyboard isn't showing so update any sizes we don't already know
11491152
if (p_update && !m_keyboard_visible)
11501153
{
1151-
t_working_rect = new Rect(0, 0, p_new_width, p_new_height);
1154+
t_working_rect = new Rect(t_origin[0], t_origin[1], t_origin[0] + p_new_width, t_origin[1] + p_new_height);
11521155

11531156
if (t_portrait && !m_know_portrait_size)
11541157
{
@@ -1182,6 +1185,7 @@ else if (!t_portrait && m_know_landscape_size)
11821185
t_working_rect = new Rect(t_viewport);
11831186
if (m_know_statusbar_size)
11841187
t_working_rect.bottom -= m_statusbar_size;
1188+
t_working_rect.offsetTo(t_origin[0], t_origin[1]);
11851189
}
11861190

11871191
return t_working_rect;

0 commit comments

Comments
 (0)