diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/support/repository/SupportRepository.java b/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/DefaultSupportRepository.java similarity index 92% rename from app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/support/repository/SupportRepository.java rename to app/src/main/java/com/d4rk/androidtutorials/java/data/repository/DefaultSupportRepository.java index 90edefe4..e4d7d1f1 100644 --- a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/support/repository/SupportRepository.java +++ b/app/src/main/java/com/d4rk/androidtutorials/java/data/repository/DefaultSupportRepository.java @@ -1,4 +1,4 @@ -package com.d4rk.androidtutorials.java.ui.screens.support.repository; +package com.d4rk.androidtutorials.java.data.repository; import android.content.Context; @@ -12,6 +12,8 @@ import com.android.billingclient.api.ProductDetails; import com.android.billingclient.api.QueryProductDetailsParams; import com.d4rk.androidtutorials.java.data.model.AdLoadParams; +import com.d4rk.androidtutorials.java.data.repository.SupportRepository.BillingFlowLauncher; +import com.d4rk.androidtutorials.java.data.repository.SupportRepository.OnProductDetailsListener; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.MobileAds; @@ -21,13 +23,13 @@ import java.util.List; import java.util.Map; -public class SupportRepository implements com.d4rk.androidtutorials.java.data.repository.SupportRepository { +public class DefaultSupportRepository implements SupportRepository { private final Context context; private final Map productDetailsMap = new HashMap<>(); private BillingClient billingClient; - public SupportRepository(Context context) { + public DefaultSupportRepository(Context context) { this.context = context.getApplicationContext(); } @@ -73,7 +75,7 @@ public void onBillingServiceDisconnected() { * Query your product details for in-app items. * Typically called after billing client is connected. */ - public void queryProductDetails(List productIds, com.d4rk.androidtutorials.java.data.repository.SupportRepository.OnProductDetailsListener listener) { + public void queryProductDetails(List productIds, OnProductDetailsListener listener) { if (billingClient == null || !billingClient.isReady()) { return; } @@ -119,7 +121,7 @@ public void queryProductDetails(List productIds, com.d4rk.androidtutoria /** * Launch the billing flow for a particular product. */ - public void initiatePurchase(String productId, com.d4rk.androidtutorials.java.data.repository.SupportRepository.BillingFlowLauncher launcher) { + public void initiatePurchase(String productId, BillingFlowLauncher launcher) { ProductDetails details = productDetailsMap.get(productId); if (details != null && billingClient != null && launcher != null) { // Note: In a real app, you would select a specific offer. For simplicity, 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 290a0df9..099e6521 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 @@ -8,9 +8,11 @@ import com.d4rk.androidtutorials.java.data.repository.DefaultHomeRepository; import com.d4rk.androidtutorials.java.data.repository.DefaultMainRepository; import com.d4rk.androidtutorials.java.data.repository.DefaultQuizRepository; +import com.d4rk.androidtutorials.java.data.repository.DefaultSupportRepository; import com.d4rk.androidtutorials.java.data.repository.HomeRepository; import com.d4rk.androidtutorials.java.data.repository.MainRepository; import com.d4rk.androidtutorials.java.data.repository.QuizRepository; +import com.d4rk.androidtutorials.java.data.repository.SupportRepository; import com.d4rk.androidtutorials.java.data.source.DefaultHomeLocalDataSource; import com.d4rk.androidtutorials.java.data.source.DefaultHomeRemoteDataSource; import com.d4rk.androidtutorials.java.data.source.DefaultQuizLocalDataSource; @@ -46,7 +48,6 @@ import com.d4rk.androidtutorials.java.ui.screens.help.repository.HelpRepository; import com.d4rk.androidtutorials.java.ui.screens.settings.repository.SettingsRepository; import com.d4rk.androidtutorials.java.ui.screens.startup.repository.StartupRepository; -import com.d4rk.androidtutorials.java.ui.screens.support.repository.SupportRepository; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -228,7 +229,7 @@ public LoadConsentFormUseCase provideLoadConsentFormUseCase(StartupRepository re @Provides @Singleton public SupportRepository provideSupportRepository(Application application) { - return new SupportRepository(application); + return new DefaultSupportRepository(application); } @Provides