Skip to content

Commit 60b395c

Browse files
Fix compilation errors, update Gradle, and refactor code
This commit addresses several issues and improvements: - **Gradle Update:** Upgraded Gradle wrapper to version 8.14.3. - **CI Fixes:** - Resolved compilation errors in `SupportRepository.java` by updating the `queryProductDetailsAsync` callback to correctly handle the `productDetailsList`. - Corrected the usage of `Gravity.START` to `GravityCompat.START` in `NavigationDrawerActivity.java`. - **Code Refactoring:** - Replaced the deprecated `onBackPressed()` method in `MainActivity.java` with the newer `OnBackPressedCallback`. - Converted the `PromotedApp` class to a Java record for conciseness. - Removed unused private `binding` fields from several Fragment classes. - Added a null check for the `preference` parameter in `MainRepository.java` to prevent potential `NullPointerExceptions`. - **Localization:** Fixed a typo in the German translation for `summary_preference_faq_4`.
1 parent 458bbf0 commit 60b395c

File tree

18 files changed

+98
-133
lines changed

18 files changed

+98
-133
lines changed

.idea/workspace.xml

Lines changed: 32 additions & 31 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

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

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,4 @@
33
/**
44
* Model representing a promoted application fetched from the remote API.
55
*/
6-
public class PromotedApp {
7-
8-
public final String name;
9-
public final String packageName;
10-
public final String iconUrl;
11-
12-
public PromotedApp(String name, String packageName, String iconUrl) {
13-
this.name = name;
14-
this.packageName = packageName;
15-
this.iconUrl = iconUrl;
16-
}
17-
}
6+
public record PromotedApp(String name, String packageName, String iconUrl) {}

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/buttons/buttons/tabs/ButtonsTabCodeFragment.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,14 @@
99
import android.view.ViewGroup;
1010

1111
import androidx.annotation.NonNull;
12-
import androidx.annotation.Nullable;
1312
import androidx.fragment.app.Fragment;
1413
import androidx.preference.PreferenceManager;
1514

1615
import com.d4rk.androidtutorials.java.R;
1716
import com.d4rk.androidtutorials.java.databinding.FragmentSameCodeBinding;
1817
import com.d4rk.androidtutorials.java.utils.CodeHighlighter;
19-
import com.d4rk.androidtutorials.java.utils.FontManager;
2018
import com.d4rk.androidtutorials.java.utils.CodeViewUtils;
19+
import com.d4rk.androidtutorials.java.utils.FontManager;
2120
import com.google.android.gms.ads.AdRequest;
2221

2322
import java.io.BufferedReader;
@@ -28,11 +27,10 @@
2827
import me.zhanghai.android.fastscroll.FastScrollerBuilder;
2928

3029
public class ButtonsTabCodeFragment extends Fragment {
31-
private FragmentSameCodeBinding binding;
3230

3331
@Override
3432
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
35-
binding = FragmentSameCodeBinding.inflate(inflater, container, false);
33+
FragmentSameCodeBinding binding = FragmentSameCodeBinding.inflate(inflater, container, false);
3634
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();
3735
binding.adView.loadAd(new AdRequest.Builder().build());
3836

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/buttons/buttons/tabs/ButtonsTabLayoutFragment.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,22 @@
33
import android.content.SharedPreferences;
44
import android.graphics.Typeface;
55
import android.os.Bundle;
6+
import android.util.Log;
67
import android.view.LayoutInflater;
78
import android.view.View;
89
import android.view.ViewGroup;
910

1011
import androidx.annotation.NonNull;
11-
import androidx.annotation.Nullable;
1212
import androidx.fragment.app.Fragment;
1313
import androidx.preference.PreferenceManager;
1414

15+
import com.amrdeveloper.codeview.CodeView;
1516
import com.d4rk.androidtutorials.java.R;
1617
import com.d4rk.androidtutorials.java.databinding.FragmentButtonsLayoutBinding;
17-
import com.google.android.gms.ads.AdRequest;
18-
import com.d4rk.androidtutorials.java.utils.FontManager;
1918
import com.d4rk.androidtutorials.java.utils.CodeHighlighter;
2019
import com.d4rk.androidtutorials.java.utils.CodeViewUtils;
21-
import com.amrdeveloper.codeview.CodeView;
22-
import android.util.Log;
20+
import com.d4rk.androidtutorials.java.utils.FontManager;
21+
import com.google.android.gms.ads.AdRequest;
2322

2423
import java.io.IOException;
2524
import java.io.InputStream;
@@ -31,11 +30,10 @@
3130

3231
public class ButtonsTabLayoutFragment extends Fragment {
3332
private final Map<Integer, CodeView> buttonXMLResources = new HashMap<>();
34-
private FragmentButtonsLayoutBinding binding;
3533

3634
@Override
3735
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
38-
binding = FragmentButtonsLayoutBinding.inflate(inflater, container, false);
36+
FragmentButtonsLayoutBinding binding = FragmentButtonsLayoutBinding.inflate(inflater, container, false);
3937
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();
4038
binding.adView.loadAd(new AdRequest.Builder().build());
4139

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/clocks/clock/tabs/ClockTabLayoutFragment.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,22 @@
33
import android.content.SharedPreferences;
44
import android.graphics.Typeface;
55
import android.os.Bundle;
6+
import android.util.Log;
67
import android.view.LayoutInflater;
78
import android.view.View;
89
import android.view.ViewGroup;
9-
import com.amrdeveloper.codeview.CodeView;
1010

1111
import androidx.annotation.NonNull;
12-
import androidx.annotation.Nullable;
1312
import androidx.fragment.app.Fragment;
1413
import androidx.preference.PreferenceManager;
1514

15+
import com.amrdeveloper.codeview.CodeView;
1616
import com.d4rk.androidtutorials.java.R;
1717
import com.d4rk.androidtutorials.java.databinding.FragmentClockLayoutBinding;
18-
import com.google.android.gms.ads.AdRequest;
19-
import com.d4rk.androidtutorials.java.utils.FontManager;
2018
import com.d4rk.androidtutorials.java.utils.CodeHighlighter;
2119
import com.d4rk.androidtutorials.java.utils.CodeViewUtils;
22-
import android.util.Log;
20+
import com.d4rk.androidtutorials.java.utils.FontManager;
21+
import com.google.android.gms.ads.AdRequest;
2322

2423
import java.io.ByteArrayOutputStream;
2524
import java.io.IOException;
@@ -28,11 +27,10 @@
2827
import me.zhanghai.android.fastscroll.FastScrollerBuilder;
2928

3029
public class ClockTabLayoutFragment extends Fragment {
31-
private FragmentClockLayoutBinding binding;
3230

3331
@Override
3432
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
35-
binding = FragmentClockLayoutBinding.inflate(inflater, container, false);
33+
FragmentClockLayoutBinding binding = FragmentClockLayoutBinding.inflate(inflater, container, false);
3634
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();
3735
binding.adView.loadAd(new AdRequest.Builder().build());
3836

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/layouts/linear/tabs/LinearLayoutTabLayoutFragment.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,21 @@
33
import android.content.SharedPreferences;
44
import android.graphics.Typeface;
55
import android.os.Bundle;
6+
import android.util.Log;
67
import android.view.LayoutInflater;
78
import android.view.View;
89
import android.view.ViewGroup;
910

1011
import androidx.annotation.NonNull;
11-
import androidx.annotation.Nullable;
1212
import androidx.fragment.app.Fragment;
1313
import androidx.preference.PreferenceManager;
1414

1515
import com.d4rk.androidtutorials.java.R;
1616
import com.d4rk.androidtutorials.java.databinding.FragmentLinearLayoutLayoutBinding;
17-
import com.google.android.gms.ads.AdRequest;
18-
import com.d4rk.androidtutorials.java.utils.FontManager;
1917
import com.d4rk.androidtutorials.java.utils.CodeHighlighter;
2018
import com.d4rk.androidtutorials.java.utils.CodeViewUtils;
21-
import android.util.Log;
19+
import com.d4rk.androidtutorials.java.utils.FontManager;
20+
import com.google.android.gms.ads.AdRequest;
2221

2322
import java.io.BufferedReader;
2423
import java.io.IOException;
@@ -27,11 +26,10 @@
2726
import me.zhanghai.android.fastscroll.FastScrollerBuilder;
2827

2928
public class LinearLayoutTabLayoutFragment extends Fragment {
30-
private FragmentLinearLayoutLayoutBinding binding;
3129

3230
@Override
3331
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
34-
binding = FragmentLinearLayoutLayoutBinding.inflate(inflater, container, false);
32+
FragmentLinearLayoutLayoutBinding binding = FragmentLinearLayoutLayoutBinding.inflate(inflater, container, false);
3533
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();
3634
binding.adView.loadAd(new AdRequest.Builder().build());
3735

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/layouts/relative/tabs/RelativeLayoutTabLayoutFragment.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,15 @@
99
import android.view.ViewGroup;
1010

1111
import androidx.annotation.NonNull;
12-
import androidx.annotation.Nullable;
1312
import androidx.fragment.app.Fragment;
1413
import androidx.preference.PreferenceManager;
1514

1615
import com.d4rk.androidtutorials.java.R;
1716
import com.d4rk.androidtutorials.java.databinding.FragmentLayoutBinding;
18-
import com.d4rk.androidtutorials.java.utils.FontManager;
19-
import com.google.android.gms.ads.AdRequest;
2017
import com.d4rk.androidtutorials.java.utils.CodeHighlighter;
2118
import com.d4rk.androidtutorials.java.utils.CodeViewUtils;
19+
import com.d4rk.androidtutorials.java.utils.FontManager;
20+
import com.google.android.gms.ads.AdRequest;
2221

2322
import java.io.BufferedReader;
2423
import java.io.IOException;
@@ -28,11 +27,10 @@
2827
import me.zhanghai.android.fastscroll.FastScrollerBuilder;
2928

3029
public class RelativeLayoutTabLayoutFragment extends Fragment {
31-
private FragmentLayoutBinding binding;
3230

3331
@Override
3432
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
35-
binding = FragmentLayoutBinding.inflate(inflater, container, false);
33+
FragmentLayoutBinding binding = FragmentLayoutBinding.inflate(inflater, container, false);
3634
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();
3735
binding.adView.loadAd(new AdRequest.Builder().build());
3836

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/layouts/table/tabs/TableLayoutTabLayoutFragment.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,15 @@
99
import android.view.ViewGroup;
1010

1111
import androidx.annotation.NonNull;
12-
import androidx.annotation.Nullable;
1312
import androidx.fragment.app.Fragment;
1413
import androidx.preference.PreferenceManager;
1514

1615
import com.d4rk.androidtutorials.java.R;
1716
import com.d4rk.androidtutorials.java.databinding.FragmentLayoutBinding;
18-
import com.d4rk.androidtutorials.java.utils.FontManager;
19-
import com.google.android.gms.ads.AdRequest;
2017
import com.d4rk.androidtutorials.java.utils.CodeHighlighter;
2118
import com.d4rk.androidtutorials.java.utils.CodeViewUtils;
19+
import com.d4rk.androidtutorials.java.utils.FontManager;
20+
import com.google.android.gms.ads.AdRequest;
2221

2322
import java.io.BufferedReader;
2423
import java.io.IOException;
@@ -28,11 +27,10 @@
2827
import me.zhanghai.android.fastscroll.FastScrollerBuilder;
2928

3029
public class TableLayoutTabLayoutFragment extends Fragment {
31-
private FragmentLayoutBinding binding;
3230

3331
@Override
3432
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
35-
binding = FragmentLayoutBinding.inflate(inflater, container, false);
33+
FragmentLayoutBinding binding = FragmentLayoutBinding.inflate(inflater, container, false);
3634
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();
3735
binding.adView.loadAd(new AdRequest.Builder().build());
3836

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/navigation/drawer/NavigationDrawerActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import android.content.Intent;
44
import android.os.Bundle;
55
import android.os.Handler;
6-
import android.view.Gravity;
76

87
import androidx.appcompat.app.AppCompatActivity;
8+
import androidx.core.view.GravityCompat;
99

1010
import com.d4rk.androidtutorials.java.R;
1111
import com.d4rk.androidtutorials.java.databinding.ActivityNavigationDrawerBinding;
@@ -27,7 +27,7 @@ protected void onCreate(Bundle savedInstanceState) {
2727

2828
binding.navigationView.setNavigationItemSelectedListener(item -> {
2929
binding.textView.setText(getString(R.string.selected) + " " + item.getTitle());
30-
binding.drawerLayout.closeDrawer(Gravity.START);
30+
binding.drawerLayout.closeDrawer(GravityCompat.START);
3131
return true;
3232
});
3333

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/progress/progressbar/tabs/ProgressBarTabCodeFragment.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,21 @@
33
import android.content.SharedPreferences;
44
import android.graphics.Typeface;
55
import android.os.Bundle;
6+
import android.util.Log;
67
import android.view.LayoutInflater;
78
import android.view.View;
89
import android.view.ViewGroup;
910

1011
import androidx.annotation.NonNull;
11-
import androidx.annotation.Nullable;
1212
import androidx.fragment.app.Fragment;
1313
import androidx.preference.PreferenceManager;
1414

1515
import com.d4rk.androidtutorials.java.R;
1616
import com.d4rk.androidtutorials.java.databinding.FragmentCodeBinding;
17-
import com.google.android.gms.ads.AdRequest;
18-
import com.d4rk.androidtutorials.java.utils.FontManager;
19-
import android.util.Log;
2017
import com.d4rk.androidtutorials.java.utils.CodeHighlighter;
2118
import com.d4rk.androidtutorials.java.utils.CodeViewUtils;
19+
import com.d4rk.androidtutorials.java.utils.FontManager;
20+
import com.google.android.gms.ads.AdRequest;
2221

2322
import java.io.BufferedReader;
2423
import java.io.IOException;
@@ -28,11 +27,10 @@
2827
import me.zhanghai.android.fastscroll.FastScrollerBuilder;
2928

3029
public class ProgressBarTabCodeFragment extends Fragment {
31-
private FragmentCodeBinding binding;
3230

3331
@Override
3432
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
35-
binding = FragmentCodeBinding.inflate(inflater, container, false);
33+
FragmentCodeBinding binding = FragmentCodeBinding.inflate(inflater, container, false);
3634
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();
3735
binding.adView.loadAd(new AdRequest.Builder().build());
3836

0 commit comments

Comments
 (0)