diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
deleted file mode 100644
index fdf8d994..00000000
--- a/.idea/kotlinc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
deleted file mode 100644
index 26f483aa..00000000
--- a/.idea/workspace.xml
+++ /dev/null
@@ -1,1187 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- false
- android-35
-
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- night
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppTheme
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
- Portrait
- night
- @style/AppThemeActionBar
-
-
-
-
- @style/AppThemeActionBar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {
- "lastFilter": {
- "state": "OPEN",
- "assignee": "D4rK7355608"
- }
-}
- {
- "selectedUrlAndAccountId": {
- "url": "https://github.com/D4rK7355608/com.d4rk.androidtutorials.java.git",
- "accountId": "842c9e00-0417-4b9e-9b3f-46b294c8998a"
- }
-}
-
-
-
-
-
-
-
- {
- "customColor": "959160a1"
-}
-
-
-
-
-
-
-
-
- {
- "keyToString": {
- "Android App.app.executor": "Run",
- "ApkExportedModule": "Android_Studio_Tutorials_Java_Edition.app",
- "BundleExportedModule": "Android_Studio_Tutorials_Java_Edition.app",
- "ExportApk.ApkPathForAndroid_Studio_Tutorials_Java_Edition.app": "C:\\Users\\d4rk7\\AndroidStudioProjects\\com.d4rk.androidtutorials.java\\app",
- "ExportBundle.BundlePathForAndroid_Studio_Tutorials_Java_Edition.app": "C:\\Users\\d4rk7\\StudioProjects\\com.d4rk.androidtutorials.java\\app",
- "Gradle.Download Sources.executor": "Run",
- "RunOnceActivity.OpenProjectViewOnStart": "true",
- "RunOnceActivity.ShowReadmeOnStart": "true",
- "RunOnceActivity.cidr.known.project.marker": "true",
- "RunOnceActivity.git.unshallow": "true",
- "RunOnceActivity.readMode.enableVisualFormatting": "true",
- "ScreenshotViewer.SavePath": "C:/Users/d4rk7/Desktop",
- "cf.first.check.clang-format": "false",
- "cidr.known.project.marker": "true",
- "com.google.services.firebase.aqiPopupShown": "true",
- "git-widget-placeholder": "main",
- "ignore.virus.scanning.warn.message": "true",
- "kotlin-language-version-configured": "true",
- "kotlin.migration.detection.enabled": "false",
- "last_opened_file_path": "C:/Users/d4rk7/StudioProjects/com.d4rk.androidtutorials.java/app/src/main/res/drawable-anydpi",
- "project.structure.last.edited": "Suggestions",
- "project.structure.proportion": "0.17",
- "project.structure.side.proportion": "0.2",
- "run.code.analysis.last.selected.profile": "pProject Default",
- "settings.editor.selected.configurable": "editor.preferences.fonts.default"
- },
- "keyToStringList": {
- "ExportApk.BuildVariants": [
- "release"
- ]
- }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1679161941209
-
-
- 1679161941209
-
-
- 1679755248433
-
-
-
- 1679755248435
-
-
- 1681681129043
-
-
-
- 1681681129043
-
-
- 1683896261153
-
-
-
- 1683896261153
-
-
- 1683911157979
-
-
-
- 1683911157979
-
-
- 1691941043028
-
-
-
- 1691941043028
-
-
-
- 1735417666699
-
-
-
- 1735417666699
-
-
-
- 1735934201043
-
-
-
- 1735934201043
-
-
-
- 1735972584591
-
-
-
- 1735972584591
-
-
-
- 1736062553354
-
-
-
- 1736062553354
-
-
-
- 1736083729157
-
-
-
- 1736083729157
-
-
-
- 1748545331830
-
-
-
- 1748545331830
-
-
-
- 1749028086119
-
-
-
- 1749028086119
-
-
-
- 1749498098101
-
-
-
- 1749498098101
-
-
-
- 1749545864655
-
-
-
- 1749545864655
-
-
-
- 1749645689157
-
-
-
- 1749645689157
-
-
-
- 1749659134502
-
-
-
- 1749659134502
-
-
-
- 1749667982714
-
-
-
- 1749667982714
-
-
-
- 1749669488962
-
-
-
- 1749669488962
-
-
-
- 1749709747357
-
-
-
- 1749709747357
-
-
-
- 1749721721340
-
-
-
- 1749721721340
-
-
-
- 1750352274387
-
-
-
- 1750352274387
-
-
-
- 1750353491913
-
-
-
- 1750353491913
-
-
-
- 1751009006773
-
-
-
- 1751009006773
-
-
-
- 1751009258738
-
-
-
- 1751009258738
-
-
-
- 1751009466665
-
-
-
- 1751009466665
-
-
-
- 1751010642338
-
-
-
- 1751010642338
-
-
-
- 1751012576138
-
-
-
- 1751012576138
-
-
-
- 1751012640021
-
-
-
- 1751012640021
-
-
-
- 1751014628999
-
-
-
- 1751014628999
-
-
-
- 1751091727546
-
-
-
- 1751091727546
-
-
-
- 1751896948191
-
-
-
- 1751896948191
-
-
-
- 1753729512778
-
-
-
- 1753729512778
-
-
-
- 1753790463569
-
-
-
- 1753790463569
-
-
-
- 1756589245986
-
-
-
- 1756589245987
-
-
-
- 1756589287831
-
-
-
- 1756589287831
-
-
-
- 1756628809550
-
-
-
- 1756628809550
-
-
-
- 1756644311544
-
-
-
- 1756644311544
-
-
-
- 1756646065467
-
-
-
- 1756646065467
-
-
-
- 1756662534505
-
-
-
- 1756662534505
-
-
-
- 1756800245734
-
-
-
- 1756800245734
-
-
-
- 1756800330720
-
-
-
- 1756800330720
-
-
-
- 1756800496163
-
-
-
- 1756800496163
-
-
-
- 1756804452017
-
-
-
- 1756804452019
-
-
-
- 1756805744174
-
-
-
- 1756805744174
-
-
-
- 1756806369016
-
-
-
- 1756806369016
-
-
-
- 1756907578655
-
-
-
- 1756907578655
-
-
-
- 1756931334702
-
-
-
- 1756931334702
-
-
-
- 1756932946329
-
-
-
- 1756932946329
-
-
-
- 1757015886309
-
-
-
- 1757015886309
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/AGENTS.md b/AGENTS.md
index 3811394e..c90d9170 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -4,9 +4,9 @@ You are an experienced Android app developer.
## Coding guidelines
- This project uses **Java**. Prefer Java for new code and avoid Kotlin.
+- **No Compose or Kotlin. Build UI using XML layouts only.**
- Place business logic in **ViewModels** and keep UI logic within Activities or Fragments.
- Follow a layered architecture with unidirectional data flow.
-- Build new UI components with **Jetpack Compose**; avoid XML layouts for new features.
- Use Android Jetpack Navigation for screen navigation.
## Project structure
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1293594f..b1fd3098 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -77,7 +77,7 @@
- Added functionality to "Music" chip.
- Added app updater dialog and ability to update in background.
- Added comments to the Java code samples for better understanding.
-- Refactored app's codebase from Kotlin to Java to match the name and style of the app.
+- Refactored app's codebase to Java to match the name and style of the app.
- Fixed all crash reports from Google Play Console and Google Firebase.
- Made various improvements to languages and fixed some typos.
- Made under-the-hood improvements for a better overall app experience.
diff --git a/README.md b/README.md
index 63f7a7fa..252e87f9 100644
--- a/README.md
+++ b/README.md
@@ -6,10 +6,12 @@
**Learn how to make simple apps in Android Studio.**
-Android Studio Tutorials: Java Edition is the sister project of [Android Studio Tutorials: Kotlin Edition](https://github.com/D4rK7355608/com.d4rk.androidtutorials). This guide provides practical examples and complete source code to help you build your first Android application using Android Studio and Java.
+Android Studio Tutorials: Java Edition provides practical examples and complete source code to help you build your first Android application using Android Studio with Java and XML.
Our app is designed to be easy to use and lightweight. Plus, it's free and open‑source!
+> **Note:** This project is built solely with Java and XML. Kotlin and Jetpack Compose are not used.
+
## Features
- Java and XML code examples
diff --git a/app/build.gradle b/app/build.gradle
index a48b0ad7..05282b53 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -85,9 +85,6 @@ dependencies {
implementation libs.androidx.lifecycle.livedata
implementation libs.androidx.lifecycle.viewmodel
implementation libs.androidx.multidex
-
- implementation libs.kotlinx.serialization.json
-
implementation libs.aboutlibraries
implementation libs.core
@@ -103,6 +100,7 @@ dependencies {
implementation libs.retrofit2
implementation libs.retrofit2.converter.gson
+
// Testing
testImplementation libs.junit
testImplementation libs.androidx.core.testing
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9adf030c..5c81b0dd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,7 +2,8 @@
xmlns:tools="http://schemas.android.com/tools"
android:installLocation="auto">
-
@@ -10,7 +11,8 @@
-
@@ -37,14 +39,17 @@
android:theme="@style/AppThemeActionBar"
tools:targetApi="33">
+
+
-
-
+
+
+
+
+ android:parentActivityName=".ui.screens.main.MainActivity"
+ android:theme="@style/AppTheme" />
-
questions);
}
-
- void loadQuestions(QuestionsCallback callback);
}
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/SettingsRepository.java b/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/SettingsRepository.java
index 5a8a8b5a..c2f0d302 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/SettingsRepository.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/SettingsRepository.java
@@ -4,12 +4,16 @@
public interface SettingsRepository {
void handlePreferenceChange(String key);
+
boolean applyTheme();
+
void applyConsent();
void registerPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener);
+
void unregisterPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener);
String getDarkMode();
+
void setConsentAccepted(boolean accepted);
}
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/StartupRepository.java b/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/StartupRepository.java
index 01ef39e2..4946e478 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/StartupRepository.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/StartupRepository.java
@@ -1,6 +1,7 @@
package com.d4rk.androidtutorials.java.data.repository;
import android.app.Activity;
+
import com.google.android.ump.ConsentRequestParameters;
import com.google.android.ump.FormError;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/SupportRepository.java b/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/SupportRepository.java
index 079d3be4..f257bc96 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/SupportRepository.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/SupportRepository.java
@@ -1,14 +1,19 @@
package com.d4rk.androidtutorials.java.data.repository;
import android.app.Activity;
-import com.google.android.gms.ads.AdRequest;
+
import com.android.billingclient.api.ProductDetails;
+import com.google.android.gms.ads.AdRequest;
+
import java.util.List;
public interface SupportRepository {
void initBillingClient(Runnable onConnected);
+
void queryProductDetails(List productIds, OnProductDetailsListener listener);
+
BillingFlowLauncher initiatePurchase(String productId);
+
AdRequest initMobileAds();
interface OnProductDetailsListener {
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/data/source/DefaultHomeRemoteDataSource.java b/app/src/main/java/com/d4rk/androidtutorials/java/data/source/DefaultHomeRemoteDataSource.java
index ff74b671..c475809e 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/data/source/DefaultHomeRemoteDataSource.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/data/source/DefaultHomeRemoteDataSource.java
@@ -2,6 +2,7 @@
import android.os.Handler;
import android.os.Looper;
+
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.JsonObjectRequest;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/data/source/DefaultQuizLocalDataSource.java b/app/src/main/java/com/d4rk/androidtutorials/java/data/source/DefaultQuizLocalDataSource.java
index 91e90290..fb3bcaaa 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/data/source/DefaultQuizLocalDataSource.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/data/source/DefaultQuizLocalDataSource.java
@@ -1,11 +1,10 @@
package com.d4rk.androidtutorials.java.data.source;
import android.content.res.AssetManager;
+import android.util.JsonReader;
import com.d4rk.androidtutorials.java.data.model.QuizQuestion;
-import android.util.JsonReader;
-
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/data/source/HomeRemoteDataSource.java b/app/src/main/java/com/d4rk/androidtutorials/java/data/source/HomeRemoteDataSource.java
index 78e8fe86..827d8daf 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/data/source/HomeRemoteDataSource.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/data/source/HomeRemoteDataSource.java
@@ -9,9 +9,9 @@
*/
public interface HomeRemoteDataSource {
+ void fetchPromotedApps(PromotedAppsCallback callback);
+
interface PromotedAppsCallback {
void onResult(List apps);
}
-
- void fetchPromotedApps(PromotedAppsCallback callback);
}
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/data/source/QuizLocalDataSource.java b/app/src/main/java/com/d4rk/androidtutorials/java/data/source/QuizLocalDataSource.java
index f4f1f4da..3a20a989 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/data/source/QuizLocalDataSource.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/data/source/QuizLocalDataSource.java
@@ -9,9 +9,9 @@
*/
public interface QuizLocalDataSource {
+ void loadQuestions(QuestionsCallback callback);
+
interface QuestionsCallback {
void onResult(List questions);
}
-
- void loadQuestions(QuestionsCallback callback);
}
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/di/AppModule.java b/app/src/main/java/com/d4rk/androidtutorials/java/di/AppModule.java
index b39200fb..9e6ae471 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/di/AppModule.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/di/AppModule.java
@@ -23,26 +23,24 @@
import com.d4rk.androidtutorials.java.domain.about.GetVersionStringUseCase;
import com.d4rk.androidtutorials.java.domain.help.LaunchReviewFlowUseCase;
import com.d4rk.androidtutorials.java.domain.help.RequestReviewFlowUseCase;
+import com.d4rk.androidtutorials.java.domain.home.GetAppPlayStoreUrlUseCase;
import com.d4rk.androidtutorials.java.domain.home.GetDailyTipUseCase;
-import com.d4rk.androidtutorials.java.domain.home.GetPromotedAppsUseCase;
import com.d4rk.androidtutorials.java.domain.home.GetPlayStoreUrlUseCase;
-import com.d4rk.androidtutorials.java.domain.home.GetAppPlayStoreUrlUseCase;
+import com.d4rk.androidtutorials.java.domain.home.GetPromotedAppsUseCase;
import com.d4rk.androidtutorials.java.domain.main.ApplyLanguageSettingsUseCase;
import com.d4rk.androidtutorials.java.domain.main.ApplyThemeSettingsUseCase;
-import com.d4rk.androidtutorials.java.domain.main.BuildShortcutIntentUseCase;
import com.d4rk.androidtutorials.java.domain.main.GetAppUpdateManagerUseCase;
import com.d4rk.androidtutorials.java.domain.main.GetBottomNavLabelVisibilityUseCase;
import com.d4rk.androidtutorials.java.domain.main.GetDefaultTabPreferenceUseCase;
-import com.d4rk.androidtutorials.java.domain.main.IsAppInstalledUseCase;
import com.d4rk.androidtutorials.java.domain.main.MarkStartupScreenShownUseCase;
import com.d4rk.androidtutorials.java.domain.main.ShouldShowStartupScreenUseCase;
import com.d4rk.androidtutorials.java.domain.quiz.LoadQuizQuestionsUseCase;
import com.d4rk.androidtutorials.java.domain.settings.ApplyConsentUseCase;
import com.d4rk.androidtutorials.java.domain.settings.GetDarkModeUseCase;
+import com.d4rk.androidtutorials.java.domain.settings.OnPreferenceChangedUseCase;
import com.d4rk.androidtutorials.java.domain.settings.RegisterPreferenceChangeListenerUseCase;
-import com.d4rk.androidtutorials.java.domain.settings.UnregisterPreferenceChangeListenerUseCase;
import com.d4rk.androidtutorials.java.domain.settings.SetConsentAcceptedUseCase;
-import com.d4rk.androidtutorials.java.domain.settings.OnPreferenceChangedUseCase;
+import com.d4rk.androidtutorials.java.domain.settings.UnregisterPreferenceChangeListenerUseCase;
import com.d4rk.androidtutorials.java.domain.startup.LoadConsentFormUseCase;
import com.d4rk.androidtutorials.java.domain.startup.RequestConsentInfoUseCase;
import com.d4rk.androidtutorials.java.domain.support.InitBillingClientUseCase;
@@ -57,11 +55,12 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import javax.inject.Singleton;
+
import dagger.Module;
import dagger.Provides;
import dagger.hilt.InstallIn;
import dagger.hilt.components.SingletonComponent;
-import javax.inject.Singleton;
@Module
@InstallIn(SingletonComponent.class)
@@ -171,16 +170,6 @@ public MarkStartupScreenShownUseCase provideMarkStartupScreenShownUseCase(MainRe
return new MarkStartupScreenShownUseCase(repository);
}
- @Provides
- public IsAppInstalledUseCase provideIsAppInstalledUseCase(MainRepository repository) {
- return new IsAppInstalledUseCase(repository);
- }
-
- @Provides
- public BuildShortcutIntentUseCase provideBuildShortcutIntentUseCase(MainRepository repository) {
- return new BuildShortcutIntentUseCase(repository);
- }
-
@Provides
public GetAppUpdateManagerUseCase provideGetAppUpdateManagerUseCase(MainRepository repository) {
return new GetAppUpdateManagerUseCase(repository);
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/about/GetCurrentYearUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/about/GetCurrentYearUseCase.java
index 5fb16b2b..310b2e15 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/about/GetCurrentYearUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/about/GetCurrentYearUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.AboutRepository;
-/** Provides current year as a string. */
+/**
+ * Provides current year as a string.
+ */
public class GetCurrentYearUseCase {
private final AboutRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/about/GetVersionStringUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/about/GetVersionStringUseCase.java
index 5350ab9a..f033f83a 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/about/GetVersionStringUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/about/GetVersionStringUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.AboutRepository;
-/** Returns the formatted app version string. */
+/**
+ * Returns the formatted app version string.
+ */
public class GetVersionStringUseCase {
private final AboutRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/android/GetLessonUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/android/GetLessonUseCase.java
index 80e1e689..cd602c4b 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/android/GetLessonUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/android/GetLessonUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.LessonRepository;
-/** Retrieves lesson data by name. */
+/**
+ * Retrieves lesson data by name.
+ */
public class GetLessonUseCase {
private final LessonRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/help/LaunchReviewFlowUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/help/LaunchReviewFlowUseCase.java
index a2da94bb..040d7405 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/help/LaunchReviewFlowUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/help/LaunchReviewFlowUseCase.java
@@ -1,10 +1,13 @@
package com.d4rk.androidtutorials.java.domain.help;
import android.app.Activity;
+
import com.d4rk.androidtutorials.java.data.repository.HelpRepository;
import com.google.android.play.core.review.ReviewInfo;
-/** Launches the in-app review flow. */
+/**
+ * Launches the in-app review flow.
+ */
public class LaunchReviewFlowUseCase {
private final HelpRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/help/RequestReviewFlowUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/help/RequestReviewFlowUseCase.java
index 0ffac953..263b7bd8 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/help/RequestReviewFlowUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/help/RequestReviewFlowUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.HelpRepository;
-/** Requests the Google Play review flow. */
+/**
+ * Requests the Google Play review flow.
+ */
public class RequestReviewFlowUseCase {
private final HelpRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetAppPlayStoreUrlUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetAppPlayStoreUrlUseCase.java
index 13d0ae31..0d9f755b 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetAppPlayStoreUrlUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetAppPlayStoreUrlUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.HomeRepository;
-/** Use case that builds a Play Store URL for a given package name. */
+/**
+ * Use case that builds a Play Store URL for a given package name.
+ */
public class GetAppPlayStoreUrlUseCase {
private final HomeRepository repository;
@@ -10,7 +12,9 @@ public GetAppPlayStoreUrlUseCase(HomeRepository repository) {
this.repository = repository;
}
- /** Returns the Play Store URL for the specified package name. */
+ /**
+ * Returns the Play Store URL for the specified package name.
+ */
public String invoke(String packageName) {
return repository.getAppPlayStoreUrl(packageName);
}
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetDailyTipUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetDailyTipUseCase.java
index 2887344e..7d9e6141 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetDailyTipUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetDailyTipUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.HomeRepository;
-/** Use case that provides the daily tip text. */
+/**
+ * Use case that provides the daily tip text.
+ */
public class GetDailyTipUseCase {
private final HomeRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetPlayStoreUrlUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetPlayStoreUrlUseCase.java
index c108099c..3149bc6b 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetPlayStoreUrlUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetPlayStoreUrlUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.HomeRepository;
-/** Use case that provides the Play Store URL for this app. */
+/**
+ * Use case that provides the Play Store URL for this app.
+ */
public class GetPlayStoreUrlUseCase {
private final HomeRepository repository;
@@ -10,7 +12,9 @@ public GetPlayStoreUrlUseCase(HomeRepository repository) {
this.repository = repository;
}
- /** Returns the Play Store URL for the application. */
+ /**
+ * Returns the Play Store URL for the application.
+ */
public String invoke() {
return repository.getPlayStoreUrl();
}
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetPromotedAppsUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetPromotedAppsUseCase.java
index a9ac99ba..6835ae4d 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetPromotedAppsUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/home/GetPromotedAppsUseCase.java
@@ -5,14 +5,12 @@
import java.util.List;
-/** Use case that fetches promoted apps from the repository. */
+/**
+ * Use case that fetches promoted apps from the repository.
+ */
public class GetPromotedAppsUseCase {
private final HomeRepository repository;
- public interface Callback {
- void onResult(List apps);
- }
-
public GetPromotedAppsUseCase(HomeRepository repository) {
this.repository = repository;
}
@@ -23,4 +21,8 @@ public GetPromotedAppsUseCase(HomeRepository repository) {
public void invoke(Callback callback) {
repository.fetchPromotedApps(callback::onResult);
}
+
+ public interface Callback {
+ void onResult(List apps);
+ }
}
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ApplyLanguageSettingsUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ApplyLanguageSettingsUseCase.java
index 3fc8de2d..ee9a3e57 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ApplyLanguageSettingsUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ApplyLanguageSettingsUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.MainRepository;
-/** Applies the saved language preference. */
+/**
+ * Applies the saved language preference.
+ */
public class ApplyLanguageSettingsUseCase {
private final MainRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ApplyThemeSettingsUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ApplyThemeSettingsUseCase.java
index cf418d44..87002db7 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ApplyThemeSettingsUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ApplyThemeSettingsUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.MainRepository;
-/** Applies theme preference and returns true if changed. */
+/**
+ * Applies theme preference and returns true if changed.
+ */
public class ApplyThemeSettingsUseCase {
private final MainRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/BuildShortcutIntentUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/BuildShortcutIntentUseCase.java
deleted file mode 100644
index 9296c1c3..00000000
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/BuildShortcutIntentUseCase.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.d4rk.androidtutorials.java.domain.main;
-
-import android.content.Intent;
-import com.d4rk.androidtutorials.java.data.repository.MainRepository;
-
-/** Creates an intent for the app shortcut. */
-public class BuildShortcutIntentUseCase {
- private final MainRepository repository;
-
- public BuildShortcutIntentUseCase(MainRepository repository) {
- this.repository = repository;
- }
-
- public Intent invoke(boolean isInstalled) {
- return repository.buildShortcutIntent(isInstalled);
- }
-}
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetAppUpdateManagerUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetAppUpdateManagerUseCase.java
index 60c6c9fb..224b6afc 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetAppUpdateManagerUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetAppUpdateManagerUseCase.java
@@ -3,7 +3,9 @@
import com.d4rk.androidtutorials.java.data.repository.MainRepository;
import com.google.android.play.core.appupdate.AppUpdateManager;
-/** Provides the AppUpdateManager instance. */
+/**
+ * Provides the AppUpdateManager instance.
+ */
public class GetAppUpdateManagerUseCase {
private final MainRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetBottomNavLabelVisibilityUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetBottomNavLabelVisibilityUseCase.java
index f8a92a82..68681e8c 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetBottomNavLabelVisibilityUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetBottomNavLabelVisibilityUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.MainRepository;
-/** Returns bottom navigation label visibility preference. */
+/**
+ * Returns bottom navigation label visibility preference.
+ */
public class GetBottomNavLabelVisibilityUseCase {
private final MainRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetDefaultTabPreferenceUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetDefaultTabPreferenceUseCase.java
index a5cbd2ce..595acf10 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetDefaultTabPreferenceUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/GetDefaultTabPreferenceUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.MainRepository;
-/** Returns the default tab preference string. */
+/**
+ * Returns the default tab preference string.
+ */
public class GetDefaultTabPreferenceUseCase {
private final MainRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/IsAppInstalledUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/IsAppInstalledUseCase.java
deleted file mode 100644
index 5e45467c..00000000
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/IsAppInstalledUseCase.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.d4rk.androidtutorials.java.domain.main;
-
-import com.d4rk.androidtutorials.java.data.repository.MainRepository;
-
-/** Checks if an app is installed by package name. */
-public class IsAppInstalledUseCase {
- private final MainRepository repository;
-
- public IsAppInstalledUseCase(MainRepository repository) {
- this.repository = repository;
- }
-
- public boolean invoke(String packageName) {
- return repository.isAppInstalled(packageName);
- }
-}
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/MarkStartupScreenShownUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/MarkStartupScreenShownUseCase.java
index e487410c..7c6d876b 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/MarkStartupScreenShownUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/MarkStartupScreenShownUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.MainRepository;
-/** Marks that the startup screen has been shown. */
+/**
+ * Marks that the startup screen has been shown.
+ */
public class MarkStartupScreenShownUseCase {
private final MainRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ShouldShowStartupScreenUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ShouldShowStartupScreenUseCase.java
index 199b4c45..99484fcd 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ShouldShowStartupScreenUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/main/ShouldShowStartupScreenUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.MainRepository;
-/** Determines if the startup screen should be shown. */
+/**
+ * Determines if the startup screen should be shown.
+ */
public class ShouldShowStartupScreenUseCase {
private final MainRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/quiz/LoadQuizQuestionsUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/quiz/LoadQuizQuestionsUseCase.java
index 1f8fc011..6cde5672 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/quiz/LoadQuizQuestionsUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/quiz/LoadQuizQuestionsUseCase.java
@@ -5,14 +5,12 @@
import java.util.List;
-/** Loads quiz questions from assets. */
+/**
+ * Loads quiz questions from assets.
+ */
public class LoadQuizQuestionsUseCase {
private final QuizRepository repository;
- public interface Callback {
- void onResult(List questions);
- }
-
public LoadQuizQuestionsUseCase(QuizRepository repository) {
this.repository = repository;
}
@@ -20,4 +18,8 @@ public LoadQuizQuestionsUseCase(QuizRepository repository) {
public void invoke(Callback callback) {
repository.loadQuestions(callback::onResult);
}
+
+ public interface Callback {
+ void onResult(List questions);
+ }
}
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/ApplyConsentUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/ApplyConsentUseCase.java
index 9a9c596b..ed5a6e5e 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/ApplyConsentUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/ApplyConsentUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.SettingsRepository;
-/** Applies the Firebase consent settings. */
+/**
+ * Applies the Firebase consent settings.
+ */
public class ApplyConsentUseCase {
private final SettingsRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/GetDarkModeUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/GetDarkModeUseCase.java
index 10d5f3e5..09d4fded 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/GetDarkModeUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/GetDarkModeUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.SettingsRepository;
-/** Returns the stored dark mode preference value. */
+/**
+ * Returns the stored dark mode preference value.
+ */
public class GetDarkModeUseCase {
private final SettingsRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/OnPreferenceChangedUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/OnPreferenceChangedUseCase.java
index 240386a0..1cba0313 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/OnPreferenceChangedUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/OnPreferenceChangedUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.SettingsRepository;
-/** Handles a preference change and returns true if theme changed. */
+/**
+ * Handles a preference change and returns true if theme changed.
+ */
public class OnPreferenceChangedUseCase {
private final SettingsRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/RegisterPreferenceChangeListenerUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/RegisterPreferenceChangeListenerUseCase.java
index d2d8bd30..af0a5366 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/RegisterPreferenceChangeListenerUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/RegisterPreferenceChangeListenerUseCase.java
@@ -1,9 +1,12 @@
package com.d4rk.androidtutorials.java.domain.settings;
import android.content.SharedPreferences;
+
import com.d4rk.androidtutorials.java.data.repository.SettingsRepository;
-/** Registers a listener for preference changes. */
+/**
+ * Registers a listener for preference changes.
+ */
public class RegisterPreferenceChangeListenerUseCase {
private final SettingsRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/SetConsentAcceptedUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/SetConsentAcceptedUseCase.java
index e0d39597..3f0eddde 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/SetConsentAcceptedUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/SetConsentAcceptedUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.SettingsRepository;
-/** Writes whether the user has accepted analytics consent. */
+/**
+ * Writes whether the user has accepted analytics consent.
+ */
public class SetConsentAcceptedUseCase {
private final SettingsRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/UnregisterPreferenceChangeListenerUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/UnregisterPreferenceChangeListenerUseCase.java
index 10fe4b35..784a4f28 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/UnregisterPreferenceChangeListenerUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/settings/UnregisterPreferenceChangeListenerUseCase.java
@@ -1,9 +1,12 @@
package com.d4rk.androidtutorials.java.domain.settings;
import android.content.SharedPreferences;
+
import com.d4rk.androidtutorials.java.data.repository.SettingsRepository;
-/** Unregisters a listener for preference changes. */
+/**
+ * Unregisters a listener for preference changes.
+ */
public class UnregisterPreferenceChangeListenerUseCase {
private final SettingsRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/startup/LoadConsentFormUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/startup/LoadConsentFormUseCase.java
index f73c6fe8..e5bcaf71 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/startup/LoadConsentFormUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/startup/LoadConsentFormUseCase.java
@@ -1,9 +1,12 @@
package com.d4rk.androidtutorials.java.domain.startup;
import android.app.Activity;
+
import com.d4rk.androidtutorials.java.data.repository.StartupRepository;
-/** Loads and shows the consent form if required. */
+/**
+ * Loads and shows the consent form if required.
+ */
public class LoadConsentFormUseCase {
private final StartupRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/startup/RequestConsentInfoUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/startup/RequestConsentInfoUseCase.java
index f0243ae8..2387af2f 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/startup/RequestConsentInfoUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/startup/RequestConsentInfoUseCase.java
@@ -1,10 +1,13 @@
package com.d4rk.androidtutorials.java.domain.startup;
import android.app.Activity;
+
import com.d4rk.androidtutorials.java.data.repository.StartupRepository;
import com.google.android.ump.ConsentRequestParameters;
-/** Requests consent info update via UMP. */
+/**
+ * Requests consent info update via UMP.
+ */
public class RequestConsentInfoUseCase {
private final StartupRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitBillingClientUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitBillingClientUseCase.java
index 7f01ee92..8188ae71 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitBillingClientUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitBillingClientUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.SupportRepository;
-/** Initializes billing client and invokes callback when connected. */
+/**
+ * Initializes billing client and invokes callback when connected.
+ */
public class InitBillingClientUseCase {
private final SupportRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitMobileAdsUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitMobileAdsUseCase.java
index 86d91d4a..a50cd04b 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitMobileAdsUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitMobileAdsUseCase.java
@@ -3,7 +3,9 @@
import com.d4rk.androidtutorials.java.data.repository.SupportRepository;
import com.google.android.gms.ads.AdRequest;
-/** Initializes Google Mobile Ads. */
+/**
+ * Initializes Google Mobile Ads.
+ */
public class InitMobileAdsUseCase {
private final SupportRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitiatePurchaseUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitiatePurchaseUseCase.java
index dd232b1f..2eb8da2f 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitiatePurchaseUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/InitiatePurchaseUseCase.java
@@ -2,7 +2,9 @@
import com.d4rk.androidtutorials.java.data.repository.SupportRepository;
-/** Launches billing flow for a product. */
+/**
+ * Launches billing flow for a product.
+ */
public class InitiatePurchaseUseCase {
private final SupportRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/QueryProductDetailsUseCase.java b/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/QueryProductDetailsUseCase.java
index ddaaa540..57120b4a 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/QueryProductDetailsUseCase.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/domain/support/QueryProductDetailsUseCase.java
@@ -1,9 +1,12 @@
package com.d4rk.androidtutorials.java.domain.support;
-import java.util.List;
import com.d4rk.androidtutorials.java.data.repository.SupportRepository;
-/** Queries in-app product details. */
+import java.util.List;
+
+/**
+ * Queries in-app product details.
+ */
public class QueryProductDetailsUseCase {
private final SupportRepository repository;
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/notifications/managers/QuizReminderManager.java b/app/src/main/java/com/d4rk/androidtutorials/java/notifications/managers/QuizReminderManager.java
index 16bf024b..ed688205 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/notifications/managers/QuizReminderManager.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/notifications/managers/QuizReminderManager.java
@@ -27,7 +27,9 @@ public QuizReminderManager(Context context) {
);
}
- /** Schedule a repeating daily reminder. */
+ /**
+ * Schedule a repeating daily reminder.
+ */
public void scheduleDailyReminder() {
long trigger = System.currentTimeMillis() + TimeUnit.DAYS.toMillis(1);
alarmManager.setRepeating(
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/about/AboutFragment.java b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/about/AboutFragment.java
index 50fae896..8d905467 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/about/AboutFragment.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/about/AboutFragment.java
@@ -17,13 +17,12 @@
import com.d4rk.androidtutorials.java.BuildConfig;
import com.d4rk.androidtutorials.java.R;
import com.d4rk.androidtutorials.java.databinding.FragmentAboutBinding;
+import com.d4rk.androidtutorials.java.utils.ConsentUtils;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.MobileAds;
-import com.d4rk.androidtutorials.java.utils.ConsentUtils;
-
-import me.zhanghai.android.fastscroll.FastScrollerBuilder;
import dagger.hilt.android.AndroidEntryPoint;
+import me.zhanghai.android.fastscroll.FastScrollerBuilder;
@AndroidEntryPoint
public class AboutFragment extends Fragment {
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/about/AboutViewModel.java b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/about/AboutViewModel.java
index 28762b66..cc8e81e9 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/about/AboutViewModel.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/about/AboutViewModel.java
@@ -2,11 +2,12 @@
import androidx.lifecycle.ViewModel;
-import dagger.hilt.android.lifecycle.HiltViewModel;
+import com.d4rk.androidtutorials.java.domain.about.GetCurrentYearUseCase;
+import com.d4rk.androidtutorials.java.domain.about.GetVersionStringUseCase;
+
import javax.inject.Inject;
-import com.d4rk.androidtutorials.java.domain.about.GetVersionStringUseCase;
-import com.d4rk.androidtutorials.java.domain.about.GetCurrentYearUseCase;
+import dagger.hilt.android.lifecycle.HiltViewModel;
/**
diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/AndroidStudioFragment.java b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/AndroidStudioFragment.java
index 88b4e611..96d60277 100644
--- a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/AndroidStudioFragment.java
+++ b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/AndroidStudioFragment.java
@@ -29,6 +29,7 @@
import com.d4rk.androidtutorials.java.R;
import com.d4rk.androidtutorials.java.ads.views.NativeAdBannerView;
+import com.d4rk.androidtutorials.java.utils.ConsentUtils;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.LoadAdError;
@@ -36,7 +37,6 @@
import com.google.android.material.card.MaterialCardView;
import com.google.android.material.shape.CornerFamily;
import com.google.android.material.shape.ShapeAppearanceModel;
-import com.d4rk.androidtutorials.java.utils.ConsentUtils;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -94,14 +94,14 @@ public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater)
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
- filterLessons(query);
- return true;
+ filterLessons(query);
+ return true;
}
@Override
public boolean onQueryTextChange(String newText) {
- filterLessons(newText);
- return true;
+ filterLessons(newText);
+ return true;
}
});
}
@@ -221,7 +221,7 @@ private void populateAdapter(List