Skip to content

Commit 1936603

Browse files
committed
Merge pull request #41 from Leanplum/feature/fix-LP-4717
fix(HTML-banner) fix for UI elements covered by HTML Banner are click…
1 parent 01b1de7 commit 1936603

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

AndroidSDK/src/com/leanplum/messagetemplates/HTMLTemplate.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.leanplum.callbacks.ActionCallback;
3333
import com.leanplum.callbacks.PostponableAction;
3434
import com.leanplum.callbacks.VariablesChangedCallback;
35+
import com.leanplum.utils.SizeUtil;
3536

3637
/**
3738
* Registers a Leanplum action that displays a HTML message.
@@ -50,10 +51,12 @@ public HTMLTemplate(Activity activity, HTMLOptions htmlOptions) {
5051
@Override
5152
public boolean dispatchTouchEvent(@NonNull MotionEvent ev) {
5253
if (!htmlOptions.isFullScreen()) {
54+
int height = SizeUtil.dpToPx(Leanplum.getContext(), htmlOptions.getHtmlHeight());
55+
int statusBarHeight = SizeUtil.getStatusBarHeight(Leanplum.getContext());
5356
if (htmlOptions.getHtmlAlign().equals(MessageTemplates.Args.HTML_ALIGN_TOP) && ev.getY()
54-
> htmlOptions.getHtmlHeight() ||
57+
> height + statusBarHeight ||
5558
htmlOptions.getHtmlAlign().equals(MessageTemplates.Args.HTML_ALIGN_BOTTOM) && ev.getY()
56-
< dialogView.getHeight() - htmlOptions.getHtmlHeight()) {
59+
< dialogView.getHeight() + statusBarHeight - height) {
5760
activity.dispatchTouchEvent(ev);
5861
}
5962
}

AndroidSDK/src/com/leanplum/utils/SizeUtil.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,4 +114,17 @@ public static int getStatusBarHeight(Activity activity) {
114114
}
115115
return result;
116116
}
117+
118+
public static int getStatusBarHeight(Context context) {
119+
init(context);
120+
int result = 0;
121+
try {
122+
int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
123+
if (resourceId > 0) {
124+
result = context.getResources().getDimensionPixelSize(resourceId);
125+
}
126+
} catch (Throwable ignored) {
127+
}
128+
return result;
129+
}
117130
}

0 commit comments

Comments
 (0)