Skip to content

Commit fafaee0

Browse files
Merge pull request #173 from iLabsEvan/apply-window-insets
Apply window insets on SDK-owned activities
2 parents 1ea308a + 2c31279 commit fafaee0

4 files changed

Lines changed: 26 additions & 0 deletions

File tree

‎affirm/src/main/java/com/affirm/android/AffirmActivity.java‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import android.app.Activity;
1111
import android.content.Intent;
12+
import android.os.Bundle;
1213

1314
import androidx.annotation.NonNull;
1415
import androidx.annotation.Nullable;
@@ -20,6 +21,12 @@
2021

2122
abstract class AffirmActivity extends AppCompatActivity {
2223

24+
@Override
25+
protected void onCreate(@Nullable Bundle savedInstanceState) {
26+
super.onCreate(savedInstanceState);
27+
AffirmUtils.applyWindowInsets(findViewById(android.R.id.content));
28+
}
29+
2330
static void startForResult(@NonNull Activity originalActivity,
2431
@NonNull Intent intent,
2532
int requestCode) {

‎affirm/src/main/java/com/affirm/android/AffirmUtils.java‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
import androidx.annotation.NonNull;
2727
import androidx.annotation.Nullable;
28+
import androidx.core.view.ViewCompat;
2829

2930
import static com.affirm.android.AffirmColor.AFFIRM_COLOR_TYPE_BLUE;
3031
import static com.affirm.android.AffirmColor.AFFIRM_COLOR_TYPE_BLUE_BLACK;
@@ -40,6 +41,22 @@ public final class AffirmUtils {
4041
private AffirmUtils() {
4142
}
4243

44+
static void applyWindowInsets(@NonNull View root) {
45+
final int left = root.getPaddingLeft();
46+
final int top = root.getPaddingTop();
47+
final int right = root.getPaddingRight();
48+
final int bottom = root.getPaddingBottom();
49+
ViewCompat.setOnApplyWindowInsetsListener(root, (v, insets) -> {
50+
v.setPadding(
51+
left + insets.getSystemWindowInsetLeft(),
52+
top + insets.getSystemWindowInsetTop(),
53+
right + insets.getSystemWindowInsetRight(),
54+
bottom + insets.getSystemWindowInsetBottom());
55+
return insets.consumeSystemWindowInsets();
56+
});
57+
ViewCompat.requestApplyInsets(root);
58+
}
59+
4360
public static int decimalDollarsToIntegerCents(BigDecimal amount) {
4461
return amount.movePointRight(2).intValue();
4562
}

‎affirm/src/main/java/com/affirm/android/LoanAmountActivity.java‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
6868
}
6969
super.onCreate(savedInstanceState);
7070
setContentView(R.layout.activity_loan_amount);
71+
AffirmUtils.applyWindowInsets(findViewById(android.R.id.content));
7172

7273
Toolbar toolbar = findViewById(R.id.toolbar);
7374
setSupportActionBar(toolbar);

‎affirm/src/main/java/com/affirm/android/VcnDisplayActivity.java‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
7070

7171
super.onCreate(savedInstanceState);
7272
setContentView(R.layout.activity_vcn_display);
73+
AffirmUtils.applyWindowInsets(findViewById(android.R.id.content));
7374

7475
Toolbar toolbar = findViewById(R.id.toolbar);
7576
toolbar.setTitleTextColor(getResources().getColor(R.color.affirm_color_primary));

0 commit comments

Comments
 (0)