Skip to content

Commit 5631aac

Browse files
Refactor: Remove EdgeToEdgeDelegate and simplify edge-to-edge handling
This commit removes the custom `EdgeToEdgeDelegate` class and replaces its usage throughout the application with a direct call to `WindowCompat.enableEdgeToEdge(getWindow())`. This change simplifies the edge-to-edge implementation by leveraging the standard AndroidX library feature, reducing custom code and improving maintainability. The version code has also been incremented.
1 parent 601df6c commit 5631aac

File tree

67 files changed

+265
-572
lines changed

Some content is hidden

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

67 files changed

+265
-572
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ android {
1313
applicationId 'com.d4rk.androidtutorials.java'
1414
minSdk 23
1515
targetSdk 36
16-
versionCode 54
16+
versionCode 55
1717
versionName '5.0.3'
1818
vectorDrawables.useSupportLibrary = true
1919
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'

app/src/main/AndroidManifest.xml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
android:resizeableActivity="true"
3737
android:roundIcon="@mipmap/ic_launcher"
3838
android:supportsRtl="true"
39-
android:theme="@style/AppThemeActionBar"
39+
android:theme="@style/FitSystemWindowsTheme"
4040
tools:targetApi="33">
4141

4242
<activity
@@ -300,8 +300,7 @@
300300
android:name=".ui.screens.android.lessons.start.AndroidStartProjectActivity"
301301
android:exported="false"
302302
android:label="@string/android_start"
303-
android:parentActivityName=".ui.screens.main.MainActivity"
304-
android:theme="@style/AppTheme" />
303+
android:parentActivityName=".ui.screens.main.MainActivity" />
305304
<activity
306305
android:name=".ui.screens.android.lessons.basics.sdk.AndroidSDK"
307306
android:exported="false"
@@ -361,7 +360,8 @@
361360
android:name=".ui.screens.settings.SettingsActivity"
362361
android:exported="false"
363362
android:label="@string/settings"
364-
android:parentActivityName=".ui.screens.settings.SettingsActivity">
363+
android:parentActivityName=".ui.screens.settings.SettingsActivity"
364+
android:theme="@style/FitSystemWindowsTheme">
365365
<intent-filter>
366366
<action android:name="android.intent.action.APPLICATION_PREFERENCES" />
367367
</intent-filter>
@@ -371,6 +371,7 @@
371371
android:exported="false"
372372
android:label="@string/support_us"
373373
android:parentActivityName=".ui.screens.support.SupportActivity" />
374+
374375
<service
375376
android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
376377
android:enabled="false"

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import android.os.Bundle;
44

55
import androidx.annotation.NonNull;
6+
import androidx.core.view.WindowCompat;
67
import androidx.fragment.app.Fragment;
78
import androidx.lifecycle.ViewModelProvider;
89
import androidx.viewpager2.adapter.FragmentStateAdapter;
@@ -14,7 +15,6 @@
1415
import com.d4rk.androidtutorials.java.ui.screens.android.tabs.CodeFragment;
1516
import com.d4rk.androidtutorials.java.ui.screens.android.tabs.LayoutFragment;
1617
import com.d4rk.androidtutorials.java.ui.screens.android.tabs.NoCodeFragment;
17-
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeDelegate;
1818
import com.google.android.material.tabs.TabLayoutMediator;
1919

2020
import dagger.hilt.android.AndroidEntryPoint;
@@ -29,8 +29,7 @@ protected void onCreate(Bundle savedInstanceState) {
2929

3030
binding = ActivityTabLayoutBinding.inflate(getLayoutInflater());
3131
setContentView(binding.getRoot());
32-
33-
EdgeToEdgeDelegate.apply(this, binding.tabLayout);
32+
WindowCompat.enableEdgeToEdge(getWindow());
3433

3534
CodeViewModel viewModel = new ViewModelProvider(this).get(CodeViewModel.class);
3635

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
import android.os.Handler;
66
import android.os.Looper;
77

8+
import androidx.core.view.WindowCompat;
9+
810
import com.d4rk.androidtutorials.java.R;
911
import com.d4rk.androidtutorials.java.databinding.ActivityAlertDialogBinding;
1012
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
1113
import com.d4rk.androidtutorials.java.ui.screens.android.CodeActivity;
12-
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeDelegate;
1314
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
1415

1516
public class AlertDialogActivity extends UpNavigationActivity {
@@ -21,9 +22,7 @@ protected void onCreate(Bundle savedInstanceState) {
2122
super.onCreate(savedInstanceState);
2223
binding = ActivityAlertDialogBinding.inflate(getLayoutInflater());
2324
setContentView(binding.getRoot());
24-
25-
EdgeToEdgeDelegate.apply(this, binding.container);
26-
25+
WindowCompat.enableEdgeToEdge(getWindow());
2726
MaterialAlertDialogBuilder alertDialog = createAlertDialog();
2827
binding.button.setOnClickListener(v -> alertDialog.show());
2928

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
import android.os.Handler;
66
import android.os.Looper;
77

8+
import androidx.core.view.WindowCompat;
9+
810
import com.d4rk.androidtutorials.java.R;
911
import com.d4rk.androidtutorials.java.databinding.ActivitySnackBarBinding;
1012
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
1113
import com.d4rk.androidtutorials.java.ui.screens.android.CodeActivity;
12-
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeDelegate;
1314
import com.google.android.material.snackbar.Snackbar;
1415

1516
public class SnackBarActivity extends UpNavigationActivity {
@@ -21,9 +22,7 @@ protected void onCreate(Bundle savedInstanceState) {
2122
super.onCreate(savedInstanceState);
2223
binding = ActivitySnackBarBinding.inflate(getLayoutInflater());
2324
setContentView(binding.getRoot());
24-
25-
EdgeToEdgeDelegate.apply(this, binding.container);
26-
25+
WindowCompat.enableEdgeToEdge(getWindow());
2726
binding.button.setOnClickListener(v -> {
2827
Snackbar snackbar = Snackbar.make(binding.getRoot(), R.string.snack_this_is_a_snackbar, Snackbar.LENGTH_INDEFINITE);
2928
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: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
import android.os.Looper;
77
import android.widget.Toast;
88

9+
import androidx.core.view.WindowCompat;
10+
911
import com.d4rk.androidtutorials.java.R;
1012
import com.d4rk.androidtutorials.java.databinding.ActivityToastBinding;
1113
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
1214
import com.d4rk.androidtutorials.java.ui.screens.android.CodeActivity;
13-
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeDelegate;
1415

1516
public class ToastActivity extends UpNavigationActivity {
1617
private final Handler handler = new Handler(Looper.getMainLooper());
@@ -21,8 +22,7 @@ protected void onCreate(Bundle savedInstanceState) {
2122
super.onCreate(savedInstanceState);
2223
binding = ActivityToastBinding.inflate(getLayoutInflater());
2324
setContentView(binding.getRoot());
24-
25-
EdgeToEdgeDelegate.apply(this, binding.container);
25+
WindowCompat.enableEdgeToEdge(getWindow());
2626

2727
binding.button.setOnClickListener(v ->
2828
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: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
import android.os.Bundle;
44

5+
import androidx.core.view.WindowCompat;
6+
57
import com.d4rk.androidtutorials.java.ads.AdUtils;
68
import com.d4rk.androidtutorials.java.databinding.ActivityAndroidHistoryBinding;
79
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
8-
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeDelegate;
910

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

@@ -15,8 +16,7 @@ protected void onCreate(Bundle savedInstanceState) {
1516
super.onCreate(savedInstanceState);
1617
ActivityAndroidHistoryBinding binding = ActivityAndroidHistoryBinding.inflate(getLayoutInflater());
1718
setContentView(binding.getRoot());
18-
EdgeToEdgeDelegate.apply(this, binding.scrollView);
19-
19+
WindowCompat.enableEdgeToEdge(getWindow());
2020
AdUtils.loadBanner(binding.adView);
2121
AdUtils.loadBanner(binding.adViewBottom);
2222
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
import android.net.Uri;
55
import android.os.Bundle;
66

7+
import androidx.core.view.WindowCompat;
8+
79
import com.d4rk.androidtutorials.java.ads.AdUtils;
810
import com.d4rk.androidtutorials.java.databinding.ActivityPermissionsTutorialBinding;
911
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
10-
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeDelegate;
1112

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

@@ -17,8 +18,7 @@ protected void onCreate(Bundle savedInstanceState) {
1718
super.onCreate(savedInstanceState);
1819
com.d4rk.androidtutorials.java.databinding.ActivityPermissionsTutorialBinding binding = ActivityPermissionsTutorialBinding.inflate(getLayoutInflater());
1920
setContentView(binding.getRoot());
20-
EdgeToEdgeDelegate.apply(this, binding.scrollView);
21-
21+
WindowCompat.enableEdgeToEdge(getWindow());
2222
AdUtils.loadBanner(binding.adViewBottom);
2323
AdUtils.loadBanner(binding.adViewLarge);
2424
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
import android.widget.TableRow;
88
import android.widget.TextView;
99

10+
import androidx.core.view.WindowCompat;
11+
1012
import com.d4rk.androidtutorials.java.ads.AdUtils;
1113
import com.d4rk.androidtutorials.java.data.model.AndroidVersion;
1214
import com.d4rk.androidtutorials.java.databinding.ActivityAndroidSdkBinding;
1315
import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity;
14-
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeDelegate;
1516

1617
import java.util.Arrays;
1718
import java.util.List;
@@ -64,8 +65,7 @@ protected void onCreate(Bundle savedInstanceState) {
6465
super.onCreate(savedInstanceState);
6566
binding = ActivityAndroidSdkBinding.inflate(getLayoutInflater());
6667
setContentView(binding.getRoot());
67-
EdgeToEdgeDelegate.apply(this, binding.scrollView);
68-
68+
WindowCompat.enableEdgeToEdge(getWindow());
6969
AdUtils.loadBanner(binding.adViewBottom);
7070
AdUtils.loadBanner(binding.adView);
7171
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
@@ -4,6 +4,7 @@
44
import android.net.Uri;
55
import android.os.Bundle;
66

7+
import androidx.core.view.WindowCompat;
78
import androidx.preference.PreferenceFragmentCompat;
89

910
import com.d4rk.androidtutorials.java.R;
@@ -17,7 +18,7 @@ protected void onCreate(Bundle savedInstanceState) {
1718
super.onCreate(savedInstanceState);
1819
ActivityShortcutsBinding binding = ActivityShortcutsBinding.inflate(getLayoutInflater());
1920
setContentView(binding.getRoot());
20-
21+
WindowCompat.enableEdgeToEdge(getWindow());
2122
AdUtils.loadBanner(binding.adViewBottom);
2223

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

0 commit comments

Comments
 (0)