Skip to content

Commit 460d528

Browse files
author
Mihai-Cristian Condrea
committed
refactor: Introduce EdgeToEdgeHelper to centralize logic
A new `EdgeToEdgeHelper` class has been created to encapsulate the edge-to-edge display logic. This helper is now used across all activities to replace direct calls to `WindowCompat.enableEdgeToEdge`, simplifying the implementation and improving maintainability. Additionally, `fitsSystemWindows="true"` has been added to `activity_main.xml` and `activity_help.xml` to ensure proper layout behavior with the new helper.
1 parent 5631aac commit 460d528

File tree

65 files changed

+151
-76
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+151
-76
lines changed

app/src/main/java/com/d4rk/androidtutorials/java/data/model/AndroidVersion.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ public record AndroidVersion(
66
String codeName,
77
String codenameLiteral,
88
String year
9-
) {
10-
}
9+
) { }

app/src/main/java/com/d4rk/androidtutorials/java/data/model/PromotedApp.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@
33
/**
44
* Model representing a promoted application fetched from the remote API.
55
*/
6-
public record PromotedApp(String name, String packageName, String iconUrl) {
7-
}
6+
public record PromotedApp(String name, String packageName, String iconUrl) { }

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/CodeActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.d4rk.androidtutorials.java.ui.screens.android.tabs.CodeFragment;
1616
import com.d4rk.androidtutorials.java.ui.screens.android.tabs.LayoutFragment;
1717
import com.d4rk.androidtutorials.java.ui.screens.android.tabs.NoCodeFragment;
18+
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeHelper;
1819
import com.google.android.material.tabs.TabLayoutMediator;
1920

2021
import dagger.hilt.android.AndroidEntryPoint;
@@ -29,7 +30,7 @@ protected void onCreate(Bundle savedInstanceState) {
2930

3031
binding = ActivityTabLayoutBinding.inflate(getLayoutInflater());
3132
setContentView(binding.getRoot());
32-
WindowCompat.enableEdgeToEdge(getWindow());
33+
EdgeToEdgeHelper.applyEdgeToEdge(getWindow(), binding.getRoot());
3334

3435
CodeViewModel viewModel = new ViewModelProvider(this).get(CodeViewModel.class);
3536

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/alerts/alertdialog/AlertDialogActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.d4rk.androidtutorials.java.databinding.ActivityAlertDialogBinding;
1212
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
1313
import com.d4rk.androidtutorials.java.ui.screens.android.CodeActivity;
14+
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeHelper;
1415
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
1516

1617
public class AlertDialogActivity extends UpNavigationActivity {
@@ -22,7 +23,7 @@ protected void onCreate(Bundle savedInstanceState) {
2223
super.onCreate(savedInstanceState);
2324
binding = ActivityAlertDialogBinding.inflate(getLayoutInflater());
2425
setContentView(binding.getRoot());
25-
WindowCompat.enableEdgeToEdge(getWindow());
26+
EdgeToEdgeHelper.applyEdgeToEdge(getWindow(), binding.getRoot());
2627
MaterialAlertDialogBuilder alertDialog = createAlertDialog();
2728
binding.button.setOnClickListener(v -> alertDialog.show());
2829

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/alerts/snackbar/SnackBarActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.d4rk.androidtutorials.java.databinding.ActivitySnackBarBinding;
1212
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
1313
import com.d4rk.androidtutorials.java.ui.screens.android.CodeActivity;
14+
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeHelper;
1415
import com.google.android.material.snackbar.Snackbar;
1516

1617
public class SnackBarActivity extends UpNavigationActivity {
@@ -22,7 +23,7 @@ protected void onCreate(Bundle savedInstanceState) {
2223
super.onCreate(savedInstanceState);
2324
binding = ActivitySnackBarBinding.inflate(getLayoutInflater());
2425
setContentView(binding.getRoot());
25-
WindowCompat.enableEdgeToEdge(getWindow());
26+
EdgeToEdgeHelper.applyEdgeToEdge(getWindow(), binding.getRoot());
2627
binding.button.setOnClickListener(v -> {
2728
Snackbar snackbar = Snackbar.make(binding.getRoot(), R.string.snack_this_is_a_snackbar, Snackbar.LENGTH_INDEFINITE);
2829
snackbar.setAction(android.R.string.ok, v1 -> snackbar.dismiss());

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/alerts/toast/ToastActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.d4rk.androidtutorials.java.databinding.ActivityToastBinding;
1313
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
1414
import com.d4rk.androidtutorials.java.ui.screens.android.CodeActivity;
15+
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeHelper;
1516

1617
public class ToastActivity extends UpNavigationActivity {
1718
private final Handler handler = new Handler(Looper.getMainLooper());
@@ -22,7 +23,7 @@ protected void onCreate(Bundle savedInstanceState) {
2223
super.onCreate(savedInstanceState);
2324
binding = ActivityToastBinding.inflate(getLayoutInflater());
2425
setContentView(binding.getRoot());
25-
WindowCompat.enableEdgeToEdge(getWindow());
26+
EdgeToEdgeHelper.applyEdgeToEdge(getWindow(), binding.getRoot());
2627

2728
binding.button.setOnClickListener(v ->
2829
Toast.makeText(this, R.string.toast_this_is_a_toast, Toast.LENGTH_SHORT).show()

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/basics/history/AndroidHistory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.d4rk.androidtutorials.java.ads.AdUtils;
88
import com.d4rk.androidtutorials.java.databinding.ActivityAndroidHistoryBinding;
99
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
10+
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeHelper;
1011

1112
import me.zhanghai.android.fastscroll.FastScrollerBuilder;
1213

@@ -16,7 +17,7 @@ protected void onCreate(Bundle savedInstanceState) {
1617
super.onCreate(savedInstanceState);
1718
ActivityAndroidHistoryBinding binding = ActivityAndroidHistoryBinding.inflate(getLayoutInflater());
1819
setContentView(binding.getRoot());
19-
WindowCompat.enableEdgeToEdge(getWindow());
20+
EdgeToEdgeHelper.applyEdgeToEdge(getWindow(), binding.getRoot());
2021
AdUtils.loadBanner(binding.adView);
2122
AdUtils.loadBanner(binding.adViewBottom);
2223
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/basics/permissions/PermissionsTutorialActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.d4rk.androidtutorials.java.ads.AdUtils;
1010
import com.d4rk.androidtutorials.java.databinding.ActivityPermissionsTutorialBinding;
1111
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
12+
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeHelper;
1213

1314
import me.zhanghai.android.fastscroll.FastScrollerBuilder;
1415

@@ -18,7 +19,7 @@ protected void onCreate(Bundle savedInstanceState) {
1819
super.onCreate(savedInstanceState);
1920
com.d4rk.androidtutorials.java.databinding.ActivityPermissionsTutorialBinding binding = ActivityPermissionsTutorialBinding.inflate(getLayoutInflater());
2021
setContentView(binding.getRoot());
21-
WindowCompat.enableEdgeToEdge(getWindow());
22+
EdgeToEdgeHelper.applyEdgeToEdge(getWindow(), binding.getRoot());
2223
AdUtils.loadBanner(binding.adViewBottom);
2324
AdUtils.loadBanner(binding.adViewLarge);
2425
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/basics/sdk/AndroidSDK.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import com.d4rk.androidtutorials.java.data.model.AndroidVersion;
1414
import com.d4rk.androidtutorials.java.databinding.ActivityAndroidSdkBinding;
1515
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
16+
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeHelper;
1617

1718
import java.util.Arrays;
1819
import java.util.List;
@@ -65,7 +66,7 @@ protected void onCreate(Bundle savedInstanceState) {
6566
super.onCreate(savedInstanceState);
6667
binding = ActivityAndroidSdkBinding.inflate(getLayoutInflater());
6768
setContentView(binding.getRoot());
68-
WindowCompat.enableEdgeToEdge(getWindow());
69+
EdgeToEdgeHelper.applyEdgeToEdge(getWindow(), binding.getRoot());
6970
AdUtils.loadBanner(binding.adViewBottom);
7071
AdUtils.loadBanner(binding.adView);
7172
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/basics/shortcuts/ShortcutsActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@
1111
import com.d4rk.androidtutorials.java.ads.AdUtils;
1212
import com.d4rk.androidtutorials.java.databinding.ActivityShortcutsBinding;
1313
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
14+
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeHelper;
1415

1516
public class ShortcutsActivity extends UpNavigationActivity {
1617
@Override
1718
protected void onCreate(Bundle savedInstanceState) {
1819
super.onCreate(savedInstanceState);
1920
ActivityShortcutsBinding binding = ActivityShortcutsBinding.inflate(getLayoutInflater());
2021
setContentView(binding.getRoot());
21-
WindowCompat.enableEdgeToEdge(getWindow());
22+
EdgeToEdgeHelper.applyEdgeToEdge(getWindow(), binding.getRoot());
2223
AdUtils.loadBanner(binding.adViewBottom);
2324

2425
getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout_shortcuts, new SettingsFragment()).commit();

0 commit comments

Comments
 (0)