Skip to content

Commit 0502b37

Browse files
Merge pull request #53 from MihaiCristianCondrea/codex/update-use-case-imports-and-constructors
refactor: use data layer repositories in domain
2 parents 9cd4546 + 67aadc7 commit 0502b37

37 files changed

+142
-76
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.d4rk.androidtutorials.java.data.repository;
2+
3+
public interface AboutRepository {
4+
String getVersionString();
5+
String getCurrentYear();
6+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.d4rk.androidtutorials.java.data.repository;
2+
3+
import android.app.Activity;
4+
import com.google.android.play.core.review.ReviewInfo;
5+
6+
public interface HelpRepository {
7+
void requestReviewFlow(OnReviewInfoListener listener);
8+
void launchReviewFlow(Activity activity, ReviewInfo reviewInfo);
9+
10+
interface OnReviewInfoListener {
11+
void onSuccess(ReviewInfo info);
12+
void onFailure(Exception e);
13+
}
14+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.d4rk.androidtutorials.java.data.repository;
2+
3+
public interface LessonRepository {
4+
record Lesson(int titleResId, int codeResId, int layoutResId) {}
5+
Lesson getLesson(String lessonName);
6+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.d4rk.androidtutorials.java.data.repository;
2+
3+
import android.content.Intent;
4+
import android.content.pm.PackageManager;
5+
import com.google.android.play.core.appupdate.AppUpdateManager;
6+
7+
public interface MainRepository {
8+
boolean isAppInstalled(PackageManager packageManager, String packageName);
9+
boolean applyThemeSettings(String[] darkModeValues);
10+
String getBottomNavLabelVisibility(String labelKey, String labelDefaultValue);
11+
String getDefaultTabPreference(String defaultTabKey, String defaultTabValue);
12+
boolean shouldShowStartupScreen();
13+
void markStartupScreenShown();
14+
void applyLanguageSettings();
15+
AppUpdateManager getAppUpdateManager();
16+
Intent buildShortcutIntent(boolean isInstalled);
17+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.d4rk.androidtutorials.java.data.repository;
2+
3+
import android.content.SharedPreferences;
4+
5+
public interface SettingsRepository {
6+
void handlePreferenceChange(String key);
7+
boolean applyTheme();
8+
void applyConsent();
9+
SharedPreferences getSharedPreferences();
10+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.d4rk.androidtutorials.java.data.repository;
2+
3+
import android.app.Activity;
4+
import com.google.android.ump.ConsentRequestParameters;
5+
import com.google.android.ump.FormError;
6+
7+
public interface StartupRepository {
8+
void requestConsentInfoUpdate(
9+
Activity activity,
10+
ConsentRequestParameters params,
11+
Runnable onSuccess,
12+
OnFormError onError);
13+
14+
void loadConsentForm(Activity activity, OnFormError onError);
15+
16+
interface OnFormError {
17+
void onFormError(FormError error);
18+
}
19+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.d4rk.androidtutorials.java.data.repository;
2+
3+
import android.app.Activity;
4+
import com.android.billingclient.api.ProductDetails;
5+
import com.d4rk.androidtutorials.java.databinding.ActivitySupportBinding;
6+
import java.util.List;
7+
8+
public interface SupportRepository {
9+
void initBillingClient(Runnable onConnected);
10+
void queryProductDetails(List<String> productIds, OnProductDetailsListener listener);
11+
void initiatePurchase(Activity activity, String productId);
12+
void initMobileAds(ActivitySupportBinding binding);
13+
14+
interface OnProductDetailsListener {
15+
void onProductDetailsRetrieved(List<ProductDetails> productDetailsList);
16+
}
17+
}

app/src/main/java/com/d4rk/androidtutorials/java/domain/about/GetCurrentYearUseCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.d4rk.androidtutorials.java.domain.about;
22

3-
import com.d4rk.androidtutorials.java.ui.screens.about.repository.AboutRepository;
3+
import com.d4rk.androidtutorials.java.data.repository.AboutRepository;
44

55
/** Provides current year as a string. */
66
public class GetCurrentYearUseCase {

app/src/main/java/com/d4rk/androidtutorials/java/domain/about/GetVersionStringUseCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.d4rk.androidtutorials.java.domain.about;
22

3-
import com.d4rk.androidtutorials.java.ui.screens.about.repository.AboutRepository;
3+
import com.d4rk.androidtutorials.java.data.repository.AboutRepository;
44

55
/** Returns the formatted app version string. */
66
public class GetVersionStringUseCase {

app/src/main/java/com/d4rk/androidtutorials/java/domain/android/GetLessonUseCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.d4rk.androidtutorials.java.domain.android;
22

3-
import com.d4rk.androidtutorials.java.ui.screens.android.repository.LessonRepository;
3+
import com.d4rk.androidtutorials.java.data.repository.LessonRepository;
44

55
/** Retrieves lesson data by name. */
66
public class GetLessonUseCase {

0 commit comments

Comments
 (0)