diff --git a/Habitica/build.gradle b/Habitica/build.gradle index 7616d7765..48b85dc6b 100644 --- a/Habitica/build.gradle +++ b/Habitica/build.gradle @@ -150,6 +150,7 @@ android { applicationId "com.habitrpg.android.habitica" vectorDrawables.useSupportLibrary = true buildConfigField "String", "STORE", "\"google\"" + buildConfigField "String", "TESTING_LEVEL", "\"production\"" multiDexEnabled true versionCode 2097 @@ -195,10 +196,17 @@ android { beta { dimension "buildType" - resValue "string", "app_name", "Habitica Beta" + buildConfigField "String", "TESTING_LEVEL", "\"alpha\"" + resValue "string", "app_name", "Habitica Alpha" + } + + beta { + buildConfigField "String", "TESTING_LEVEL", "\"beta\"" + dimension "buildType" } prod { + buildConfigField "String", "TESTING_LEVEL", "\"production\"" dimension "buildType" } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/InventoryRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/InventoryRepositoryImpl.kt index cda972583..e0a1327a0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/InventoryRepositoryImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/InventoryRepositoryImpl.kt @@ -3,7 +3,7 @@ package com.habitrpg.android.habitica.data.implementation import com.habitrpg.android.habitica.data.ApiClient import com.habitrpg.android.habitica.data.InventoryRepository import com.habitrpg.android.habitica.data.local.InventoryLocalRepository -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.models.inventory.* import com.habitrpg.android.habitica.models.responses.BuyResponse import com.habitrpg.android.habitica.models.responses.FeedResponse @@ -13,7 +13,7 @@ import com.habitrpg.android.habitica.models.user.* import io.reactivex.Flowable import io.realm.RealmResults -class InventoryRepositoryImpl(localRepository: InventoryLocalRepository, apiClient: ApiClient, userID: String, var remoteConfigManager: RemoteConfigManager) : ContentRepositoryImpl(localRepository, apiClient, userID), InventoryRepository { +class InventoryRepositoryImpl(localRepository: InventoryLocalRepository, apiClient: ApiClient, userID: String, var appConfigManager: AppConfigManager) : ContentRepositoryImpl(localRepository, apiClient, userID), InventoryRepository { override fun getQuestContent(key: String): Flowable { return localRepository.getQuestContent(key) @@ -138,7 +138,7 @@ class InventoryRepositoryImpl(localRepository: InventoryLocalRepository, apiClie } override fun equip(user: User?, type: String, key: String): Flowable { - if (user != null && remoteConfigManager.enableLocalChanges()) { + if (user != null && appConfigManager.enableLocalChanges()) { localRepository.executeTransaction { if (type == "mount") { user.items?.currentMount = key diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt index 6505d4232..5955f4621 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt @@ -4,7 +4,7 @@ import com.habitrpg.android.habitica.data.ApiClient import com.habitrpg.android.habitica.data.TaskRepository import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.data.local.UserLocalRepository -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.Skill import com.habitrpg.android.habitica.models.inventory.Customization @@ -22,7 +22,7 @@ import io.realm.RealmResults import java.util.* import java.util.concurrent.TimeUnit -class UserRepositoryImpl(localRepository: UserLocalRepository, apiClient: ApiClient, userID: String, private val taskRepository: TaskRepository, var remoteConfigManager: RemoteConfigManager) : BaseRepositoryImpl(localRepository, apiClient, userID), UserRepository { +class UserRepositoryImpl(localRepository: UserLocalRepository, apiClient: ApiClient, userID: String, private val taskRepository: TaskRepository, var appConfigManager: AppConfigManager) : BaseRepositoryImpl(localRepository, apiClient, userID), UserRepository { private var lastSync: Date? = null @@ -276,7 +276,7 @@ class UserRepositoryImpl(localRepository: UserLocalRepository, apiClient: ApiCli } override fun useCustomization(user: User?, type: String, category: String?, identifier: String): Flowable { - if (user != null && remoteConfigManager.enableLocalChanges()) { + if (user != null && appConfigManager.enableLocalChanges()) { localRepository.executeTransaction { when (type) { "skin" -> user.preferences?.setSkin(identifier) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/AppAccessLevel.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/AppAccessLevel.kt new file mode 100644 index 000000000..fbe9f277e --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/AppAccessLevel.kt @@ -0,0 +1,7 @@ +package com.habitrpg.android.habitica.helpers + +enum class AppTestingLevel(identifier: String) { + ALPHA("alpha"), + BETA("beta"), + PRODUCTION("production") +} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/RemoteConfigManager.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/AppConfigManager.kt similarity index 89% rename from Habitica/src/main/java/com/habitrpg/android/habitica/helpers/RemoteConfigManager.kt rename to Habitica/src/main/java/com/habitrpg/android/habitica/helpers/AppConfigManager.kt index 4002b888c..23a6bb02f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/RemoteConfigManager.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/AppConfigManager.kt @@ -3,8 +3,9 @@ package com.habitrpg.android.habitica.helpers import com.google.firebase.remoteconfig.FirebaseRemoteConfig import com.google.gson.Gson import com.google.gson.reflect.TypeToken +import com.habitrpg.android.habitica.BuildConfig -class RemoteConfigManager { +class AppConfigManager { private val remoteConfig = FirebaseRemoteConfig.getInstance() @@ -56,4 +57,8 @@ class RemoteConfigManager { fun noPartyLinkPartyGuild(): Boolean { return remoteConfig.getBoolean("noPartyLinkPartyGuild") } + + fun testingLevel(): AppTestingLevel { + return AppTestingLevel.valueOf(BuildConfig.TESTING_LEVEL) + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/modules/AppModule.java b/Habitica/src/main/java/com/habitrpg/android/habitica/modules/AppModule.java index df52b40c9..741e47e60 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/modules/AppModule.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/modules/AppModule.java @@ -13,7 +13,7 @@ import com.habitrpg.android.habitica.executors.JobExecutor; import com.habitrpg.android.habitica.executors.PostExecutionThread; import com.habitrpg.android.habitica.executors.ThreadExecutor; import com.habitrpg.android.habitica.executors.UIThread; -import com.habitrpg.android.habitica.helpers.RemoteConfigManager; +import com.habitrpg.android.habitica.helpers.AppConfigManager; import com.habitrpg.android.habitica.helpers.SoundFileLoader; import com.habitrpg.android.habitica.helpers.SoundManager; import com.habitrpg.android.habitica.helpers.TaskAlarmManager; @@ -105,7 +105,7 @@ public class AppModule { @Provides @Singleton - RemoteConfigManager providesRemoteConfiigManager() { - return new RemoteConfigManager(); + AppConfigManager providesRemoteConfiigManager() { + return new AppConfigManager(); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/modules/RepositoryModule.java b/Habitica/src/main/java/com/habitrpg/android/habitica/modules/RepositoryModule.java index 6e7fd4640..384ad0f5a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/modules/RepositoryModule.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/modules/RepositoryModule.java @@ -42,7 +42,7 @@ import com.habitrpg.android.habitica.data.local.implementation.RealmTagLocalRepo import com.habitrpg.android.habitica.data.local.implementation.RealmTaskLocalRepository; import com.habitrpg.android.habitica.data.local.implementation.RealmTutorialLocalRepository; import com.habitrpg.android.habitica.data.local.implementation.RealmUserLocalRepository; -import com.habitrpg.android.habitica.helpers.RemoteConfigManager; +import com.habitrpg.android.habitica.helpers.AppConfigManager; import javax.inject.Named; import javax.inject.Singleton; @@ -101,8 +101,8 @@ public class RepositoryModule { } @Provides - UserRepository providesUserRepository(UserLocalRepository localRepository, ApiClient apiClient, @Named(AppModule.NAMED_USER_ID) String userId, TaskRepository taskRepository, RemoteConfigManager remoteConfigManager) { - return new UserRepositoryImpl(localRepository, apiClient, userId, taskRepository, remoteConfigManager); + UserRepository providesUserRepository(UserLocalRepository localRepository, ApiClient apiClient, @Named(AppModule.NAMED_USER_ID) String userId, TaskRepository taskRepository, AppConfigManager appConfigManager) { + return new UserRepositoryImpl(localRepository, apiClient, userId, taskRepository, appConfigManager); } @Provides @@ -121,7 +121,7 @@ public class RepositoryModule { } @Provides - InventoryRepository providesInventoryRepository(InventoryLocalRepository localRepository, ApiClient apiClient, @Named(AppModule.NAMED_USER_ID) String userId, RemoteConfigManager remoteConfig) { + InventoryRepository providesInventoryRepository(InventoryLocalRepository localRepository, ApiClient apiClient, @Named(AppModule.NAMED_USER_ID) String userId, AppConfigManager remoteConfig) { return new InventoryRepositoryImpl(localRepository, apiClient, userId, remoteConfig); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/AvatarView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/AvatarView.kt index 34b5195f8..4bac221d6 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/AvatarView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/AvatarView.kt @@ -16,8 +16,7 @@ import com.facebook.drawee.view.DraweeHolder import com.facebook.drawee.view.MultiDraweeHolder import com.facebook.imagepipeline.image.ImageInfo import com.habitrpg.android.habitica.R -import com.habitrpg.android.habitica.extensions.notNull -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.models.Avatar import java.util.* import java.util.concurrent.atomic.AtomicInteger @@ -154,7 +153,7 @@ class AvatarView : View { } private fun getLayerMap(avatar: Avatar, resetHasAttributes: Boolean): Map { - val substitutions = RemoteConfigManager().spriteSubstitutions() + val substitutions = AppConfigManager().spriteSubstitutions() val layerMap = getAvatarLayerMap(avatar, substitutions) if (resetHasAttributes) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GiftIAPActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GiftIAPActivity.kt index 9eb3e6b8d..f78ee5b70 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GiftIAPActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GiftIAPActivity.kt @@ -1,7 +1,6 @@ package com.habitrpg.android.habitica.ui.activities import android.content.Intent -import android.os.Build import android.os.Bundle import android.view.MenuItem import android.view.View @@ -19,7 +18,7 @@ import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.events.ConsumablePurchasedEvent import com.habitrpg.android.habitica.extensions.notNull import com.habitrpg.android.habitica.helpers.PurchaseTypes -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.proxy.CrashlyticsProxy import com.habitrpg.android.habitica.ui.AvatarView @@ -40,7 +39,7 @@ class GiftIAPActivity: BaseActivity() { @Inject lateinit var socialRepository: SocialRepository @Inject - lateinit var remoteConfigManager: RemoteConfigManager + lateinit var appConfigManager: AppConfigManager var activityCheckout: ActivityCheckout? = null private set @@ -90,7 +89,7 @@ class GiftIAPActivity: BaseActivity() { selectedSubscriptionSku?.notNull { sku -> purchaseSubscription(sku) } } - giftOneGetOneContainer?.isVisible = remoteConfigManager.enableGiftOneGetOne() + giftOneGetOneContainer?.isVisible = appConfigManager.enableGiftOneGetOne() compositeSubscription.add(socialRepository.getMemberWithUsername(giftedUsername).subscribe(Consumer { avatarView.setAvatar(it) @@ -262,7 +261,7 @@ class GiftIAPActivity: BaseActivity() { } private fun displayConfirmationDialog() { - val message = getString(if (remoteConfigManager.enableGiftOneGetOne()){ + val message = getString(if (appConfigManager.enableGiftOneGetOne()){ R.string.gift_confirmation_text_g1g1 } else { R.string.gift_confirmation_text diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt index 7cd1da0ae..ab45f9374 100755 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt @@ -47,7 +47,6 @@ import com.habitrpg.android.habitica.interactors.* import com.habitrpg.android.habitica.models.TutorialStep import com.habitrpg.android.habitica.models.responses.MaintenanceResponse import com.habitrpg.android.habitica.models.responses.TaskScoringResult -import com.habitrpg.android.habitica.models.social.Group import com.habitrpg.android.habitica.models.tasks.Task import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.proxy.CrashlyticsProxy @@ -127,7 +126,7 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction { @Inject internal lateinit var taskAlarmManager: TaskAlarmManager @Inject - internal lateinit var remoteConfigManager: RemoteConfigManager + internal lateinit var appConfigManager: AppConfigManager val floatingMenuWrapper: ViewGroup by bindView(R.id.floating_menu_wrapper) internal val bottomNavigation: BottomBar by bindView(R.id.bottom_navigation) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/OldTaskFormActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/OldTaskFormActivity.kt index 24aaa0de3..c9041e5c6 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/OldTaskFormActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/OldTaskFormActivity.kt @@ -5,7 +5,6 @@ import android.app.DatePickerDialog import android.content.Context import android.content.DialogInterface import android.content.Intent -import android.os.Build import android.os.Bundle import android.os.Handler import com.google.android.material.textfield.TextInputLayout @@ -97,7 +96,7 @@ class OldTaskFormActivity : BaseActivity() { @field:[Inject Named(AppModule.NAMED_USER_ID)] internal lateinit var userId: String @Inject - internal lateinit var remoteConfigManager: RemoteConfigManager + internal lateinit var appConfigManager: AppConfigManager @Inject internal lateinit var taskAlarmManager: TaskAlarmManager @@ -318,7 +317,7 @@ class OldTaskFormActivity : BaseActivity() { } private fun enableRepeatables() { - if (!remoteConfigManager.repeatablesAreEnabled() || taskType != Task.TYPE_DAILY) { + if (!appConfigManager.repeatablesAreEnabled() || taskType != Task.TYPE_DAILY) { repeatablesLayout.visibility = View.INVISIBLE val repeatablesLayoutParams = repeatablesLayout.layoutParams repeatablesLayoutParams.height = 0 diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.kt index 2bc7b3472..c78ca4dbc 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.kt @@ -16,10 +16,8 @@ import androidx.core.net.toUri import com.google.firebase.analytics.FirebaseAnalytics import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.AppComponent -import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.extensions.notNull -import com.habitrpg.android.habitica.helpers.RemoteConfigManager -import com.habitrpg.android.habitica.models.user.User +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.modules.AppModule import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils import com.habitrpg.android.habitica.ui.helpers.bindView @@ -35,7 +33,7 @@ class AboutFragment : BaseMainFragment() { lateinit var userId: String @Inject - lateinit var remoteConfigManager: RemoteConfigManager + lateinit var appConfigManager: AppConfigManager private val updateAvailableWrapper: ViewGroup by bindView(R.id.update_available_wrapper) private val updateAvailableTextView: TextView by bindView(R.id.update_available_textview) @@ -106,9 +104,9 @@ class AboutFragment : BaseMainFragment() { versionInfo.text = getString(R.string.version_info, versionName, versionCode) - if (remoteConfigManager.lastVersionCode() > versionCode) { + if (appConfigManager.lastVersionCode() > versionCode) { updateAvailableWrapper.visibility = View.VISIBLE - updateAvailableTextView.text = getString(R.string.update_available, remoteConfigManager.lastVersionNumber(), remoteConfigManager.lastVersionCode()) + updateAvailableTextView.text = getString(R.string.update_available, appConfigManager.lastVersionNumber(), appConfigManager.lastVersionCode()) } else { updateAvailableWrapper.visibility = View.GONE } @@ -149,7 +147,7 @@ class AboutFragment : BaseMainFragment() { bodyOfEmail += " \nDetails: " val emailIntent = Intent(Intent.ACTION_SENDTO, Uri.fromParts( - "mailto", remoteConfigManager.supportEmail(), null)) + "mailto", appConfigManager.supportEmail(), null)) emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject) emailIntent.putExtra(Intent.EXTRA_TEXT, bodyOfEmail) startActivity(Intent.createChooser(emailIntent, "Send email...")) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/SubscriptionFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/SubscriptionFragment.kt index c57874a3e..bf903ed47 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/SubscriptionFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/SubscriptionFragment.kt @@ -16,13 +16,12 @@ import com.habitrpg.android.habitica.events.UserSubscribedEvent import com.habitrpg.android.habitica.extensions.notNull import com.habitrpg.android.habitica.helpers.AmplitudeManager import com.habitrpg.android.habitica.helpers.PurchaseTypes -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.proxy.CrashlyticsProxy import com.habitrpg.android.habitica.ui.activities.GemPurchaseActivity import com.habitrpg.android.habitica.ui.activities.GiftIAPActivity -import com.habitrpg.android.habitica.ui.helpers.KeyboardUtil import com.habitrpg.android.habitica.ui.helpers.bindOptionalView import com.habitrpg.android.habitica.ui.helpers.bindView import com.habitrpg.android.habitica.ui.helpers.dismissKeyboard @@ -43,7 +42,7 @@ class SubscriptionFragment : BaseFragment(), GemPurchaseActivity.CheckoutFragmen @Inject lateinit var userRepository: UserRepository @Inject - lateinit var remoteConfigManager: RemoteConfigManager + lateinit var appConfigManager: AppConfigManager private val giftOneGetOneContainer: ViewGroup? by bindView(R.id.gift_subscription_container) private val giftOneGetOneButton: Button? by bindView(R.id.gift_subscription_promo_button) @@ -129,7 +128,7 @@ class SubscriptionFragment : BaseFragment(), GemPurchaseActivity.CheckoutFragmen subscribeButton.setOnClickListener { subscribeUser() } - giftOneGetOneContainer?.isVisible = remoteConfigManager.enableGiftOneGetOne() + giftOneGetOneContainer?.isVisible = appConfigManager.enableGiftOneGetOne() } private fun toggleDescriptionView(button: ImageView?, descriptionView: TextView?) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt index 5ad3d2b91..8dafb523e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt @@ -12,7 +12,7 @@ import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.events.GearPurchasedEvent import com.habitrpg.android.habitica.extensions.notNull -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.shops.Shop import com.habitrpg.android.habitica.models.shops.ShopCategory @@ -41,7 +41,7 @@ class ShopFragment : BaseFragment() { @Inject lateinit var userRepository: UserRepository @Inject - lateinit var configManager: RemoteConfigManager + lateinit var configManager: AppConfigManager private var layoutManager: GridLayoutManager? = null diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AuthenticationPreferenceFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AuthenticationPreferenceFragment.kt index 0a536db32..07465fd8d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AuthenticationPreferenceFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AuthenticationPreferenceFragment.kt @@ -19,7 +19,7 @@ import com.habitrpg.android.habitica.data.ApiClient import com.habitrpg.android.habitica.extensions.layoutInflater import com.habitrpg.android.habitica.extensions.notNull import com.habitrpg.android.habitica.helpers.MainNavigationController -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.ui.views.subscriptions.SubscriptionDetailsView @@ -29,7 +29,7 @@ import javax.inject.Inject class AuthenticationPreferenceFragment: BasePreferencesFragment() { @Inject - lateinit var configManager: RemoteConfigManager + lateinit var configManager: AppConfigManager @Inject lateinit var apiClient: ApiClient diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.kt index cd7e1721b..b97baba4e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.kt @@ -37,7 +37,7 @@ class PreferencesFragment : BasePreferencesFragment(), SharedPreferences.OnShare @Inject lateinit var pushNotificationManager: PushNotificationManager @Inject - lateinit var configManager: RemoteConfigManager + lateinit var configManager: AppConfigManager @Inject lateinit var apiClient: ApiClient diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt index 367f164be..9a286c0aa 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt @@ -1,6 +1,5 @@ package com.habitrpg.android.habitica.ui.fragments.social -import android.annotation.SuppressLint import android.content.ClipData import android.content.ClipboardManager import android.content.Context @@ -20,15 +19,13 @@ import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.AppComponent import com.habitrpg.android.habitica.extensions.notNull import com.habitrpg.android.habitica.helpers.MainNavigationController -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.social.ChatMessage -import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.ui.activities.FullProfileActivity import com.habitrpg.android.habitica.ui.activities.MainActivity import com.habitrpg.android.habitica.ui.adapter.social.ChatRecyclerViewAdapter import com.habitrpg.android.habitica.ui.fragments.BaseFragment -import com.habitrpg.android.habitica.ui.fragments.social.party.PartyFragment import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator import com.habitrpg.android.habitica.ui.viewmodels.PartyViewModel import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar.Companion.showSnackbar @@ -48,7 +45,7 @@ class ChatFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener { var viewModel: PartyViewModel? = null @Inject - lateinit var configManager: RemoteConfigManager + lateinit var configManager: AppConfigManager internal var layoutManager: LinearLayoutManager? = null private var chatAdapter: ChatRecyclerViewAdapter? = null diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt index f3c51fe82..7284e2984 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt @@ -4,12 +4,10 @@ import android.content.ClipData import android.content.ClipboardManager import android.content.Context import android.content.Intent -import android.net.Uri import android.os.Bundle import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import androidx.appcompat.app.AlertDialog import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -22,7 +20,7 @@ import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.extensions.notNull import com.habitrpg.android.habitica.helpers.MainNavigationController -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.social.ChatMessage import com.habitrpg.android.habitica.models.user.User @@ -33,7 +31,6 @@ import com.habitrpg.android.habitica.ui.fragments.BaseFragment import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar.Companion.showSnackbar import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar.SnackbarDisplayType -import io.reactivex.Flowable import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable @@ -51,7 +48,7 @@ class ChatListFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener { @Inject lateinit var userRepository: UserRepository @Inject - lateinit var configManager: RemoteConfigManager + lateinit var configManager: AppConfigManager private var isTavern: Boolean = false internal var autocompleteContext: String = "" diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.kt index 7e054489d..ce67516f4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.kt @@ -9,12 +9,10 @@ import android.graphics.Bitmap import android.graphics.Shader import android.graphics.drawable.BitmapDrawable import android.os.Bundle -import android.text.Html import android.text.method.LinkMovementMethod import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.core.net.toUri import androidx.core.os.bundleOf import com.google.firebase.analytics.FirebaseAnalytics import com.habitrpg.android.habitica.R @@ -23,7 +21,7 @@ import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.extensions.notNull import com.habitrpg.android.habitica.helpers.MainNavigationController -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.invitations.PartyInvite import com.habitrpg.android.habitica.models.members.Member @@ -49,7 +47,7 @@ class GroupInformationFragment : BaseFragment() { @Inject lateinit var userRepository: UserRepository @Inject - lateinit var configManager: RemoteConfigManager + lateinit var configManager: AppConfigManager var group: Group? = null set(value) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt index 7257b5550..f5a1c47c5 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt @@ -11,13 +11,12 @@ import com.habitrpg.android.habitica.components.AppComponent import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.extensions.notNull import com.habitrpg.android.habitica.helpers.MainNavigationController -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.social.ChatMessage import com.habitrpg.android.habitica.modules.AppModule import com.habitrpg.android.habitica.ui.AvatarView import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment -import com.habitrpg.android.habitica.ui.helpers.KeyboardUtil import com.habitrpg.android.habitica.ui.helpers.dismissKeyboard import com.habitrpg.android.habitica.ui.views.social.UsernameLabel import io.reactivex.functions.Consumer @@ -33,7 +32,7 @@ class InboxFragment : BaseMainFragment(), androidx.swiperefreshlayout.widget.Swi @field:[Inject Named(AppModule.NAMED_USER_ID)] lateinit var userId: String @Inject - lateinit var configManager: RemoteConfigManager + lateinit var configManager: AppConfigManager private var chooseRecipientDialogView: View? = null diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt index 31709c0f6..4d7a2c20a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt @@ -14,7 +14,7 @@ import com.habitrpg.android.habitica.components.AppComponent import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.extensions.notNull import com.habitrpg.android.habitica.helpers.MainNavigationController -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.social.ChatMessage import com.habitrpg.android.habitica.ui.activities.FullProfileActivity @@ -38,7 +38,7 @@ class InboxMessageListFragment : BaseMainFragment(), androidx.swiperefreshlayout @Inject lateinit var socialRepository: SocialRepository @Inject - lateinit var configManager: RemoteConfigManager + lateinit var configManager: AppConfigManager private var chatAdapter: ChatRecyclerViewAdapter? = null private var chatRoomUser: String? = null diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/TavernDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/TavernDetailFragment.kt index 0a671b9a2..c7172626b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/TavernDetailFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/TavernDetailFragment.kt @@ -20,7 +20,7 @@ import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.extensions.notNull import com.habitrpg.android.habitica.helpers.MainNavigationController -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.inventory.QuestContent import com.habitrpg.android.habitica.models.members.PlayerTier @@ -47,7 +47,7 @@ class TavernDetailFragment : BaseFragment() { @field:[Inject Named(AppModule.NAMED_USER_ID)] lateinit var userId: String @Inject - lateinit var configManager: RemoteConfigManager + lateinit var configManager: AppConfigManager private var shopSpriteSuffix = "" diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.kt index ae6638f7b..39db3674b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.kt @@ -11,8 +11,7 @@ import android.widget.LinearLayout import android.widget.TextView import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.AppComponent -import com.habitrpg.android.habitica.helpers.RemoteConfigManager -import com.habitrpg.android.habitica.prefs.scanner.IntentIntegrator +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.ui.fragments.BaseFragment import com.habitrpg.android.habitica.ui.helpers.bindView import com.habitrpg.android.habitica.ui.helpers.resetViews @@ -22,7 +21,7 @@ import javax.inject.Inject class PartyInviteFragment : BaseFragment() { @Inject - lateinit var configManager: RemoteConfigManager + lateinit var configManager: AppConfigManager var isEmailInvite: Boolean = false diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt index 520b39df9..b1eadd05b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt @@ -18,7 +18,7 @@ import com.habitrpg.android.habitica.events.GearPurchasedEvent import com.habitrpg.android.habitica.events.ShowSnackbarEvent import com.habitrpg.android.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.ui.helpers.bindView -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.inventory.Equipment import com.habitrpg.android.habitica.models.inventory.QuestContent @@ -47,7 +47,7 @@ class PurchaseDialog(context: Context, component: AppComponent?, val item: ShopI @Inject lateinit var inventoryRepository: InventoryRepository @Inject - lateinit var configManager: RemoteConfigManager + lateinit var configManager: AppConfigManager private val customView: View by lazy { LayoutInflater.from(context).inflate(R.layout.dialog_purchase_shopitem, null) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt index bded6b35f..75b2beb52 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt @@ -13,7 +13,7 @@ import androidx.core.view.updateLayoutParams import com.habitrpg.android.habitica.HabiticaBaseApplication import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.SocialRepository -import com.habitrpg.android.habitica.helpers.RemoteConfigManager +import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.models.social.ChatMessage import com.habitrpg.android.habitica.ui.helpers.AutocompleteAdapter import com.habitrpg.android.habitica.ui.helpers.AutocompleteTokenizer @@ -28,7 +28,7 @@ class ChatBarView : FrameLayout { lateinit var socialRepository: SocialRepository @Inject - lateinit var remoteConfig: RemoteConfigManager + lateinit var appConfigManager: AppConfigManager private val sendButton: ImageButton by bindView(R.id.sendButton) private val chatEditText: MultiAutoCompleteTextView by bindView(R.id.chatEditText) @@ -89,7 +89,7 @@ class ChatBarView : FrameLayout { resizeForDrawingUnderNavbar() - autocompleteAdapter = AutocompleteAdapter(context, socialRepository, autocompleteContext, groupID, remoteConfig.enableUsernameAutocomplete()) + autocompleteAdapter = AutocompleteAdapter(context, socialRepository, autocompleteContext, groupID, appConfigManager.enableUsernameAutocomplete()) chatEditText.setAdapter(autocompleteAdapter) chatEditText.threshold = 2