Skip to content

Commit 6a39c12

Browse files
committed
[MOB-11844] - Support edge to edge to InApps
1 parent bbd9404 commit 6a39c12

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

iterableapi/src/main/java/com/iterable/iterableapi/IterableInAppFragmentHTMLNotification.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import android.content.Context;
66
import android.content.DialogInterface;
77
import android.graphics.Color;
8+
import android.graphics.Insets;
89
import android.graphics.Point;
910
import android.graphics.Rect;
1011
import android.graphics.drawable.ColorDrawable;
@@ -31,6 +32,7 @@
3132
import androidx.annotation.NonNull;
3233
import androidx.annotation.Nullable;
3334
import androidx.core.graphics.ColorUtils;
35+
import androidx.core.view.ViewCompat;
3436
import androidx.fragment.app.DialogFragment;
3537

3638
public class IterableInAppFragmentHTMLNotification extends DialogFragment implements IterableWebView.HTMLNotificationCallbacks {
@@ -199,6 +201,33 @@ public void run() {
199201
return relativeLayout;
200202
}
201203

204+
@Override
205+
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
206+
super.onViewCreated(view, savedInstanceState);
207+
// Use ViewCompat to handle insets dynamically
208+
ViewCompat.setOnApplyWindowInsetsListener(view, (v, insets) -> {
209+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
210+
// For API 30 and above: Use WindowInsetsCompat to handle insets
211+
Insets systemBarsInsets = insets.getSystemGestureInsets().toPlatformInsets();
212+
v.setPadding(
213+
0,
214+
systemBarsInsets.top, // Padding for status bar and cutout
215+
0,
216+
systemBarsInsets.bottom // Padding for navigation bar
217+
);
218+
} else {
219+
// For older Android versions: Use legacy methods
220+
v.setPadding(
221+
0,
222+
insets.getSystemWindowInsetTop(), // Padding for status bar and cutout
223+
0,
224+
insets.getSystemWindowInsetBottom() // Padding for navigation bar
225+
);
226+
}
227+
return insets;
228+
});
229+
}
230+
202231
public void setLoaded(boolean loaded) {
203232
this.loaded = loaded;
204233
}

0 commit comments

Comments
 (0)