diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/LoginActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/LoginActivity.kt index b96387f04..22abe5db8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/LoginActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/LoginActivity.kt @@ -54,7 +54,6 @@ import io.reactivex.exceptions.Exceptions import io.reactivex.functions.Consumer import io.reactivex.schedulers.Schedulers import java.io.IOException -import java.util.* import javax.inject.Inject /** @@ -153,13 +152,11 @@ class LoginActivity : BaseActivity(), Consumer { backgroundContainer.post { backgroundContainer.scrollTo(0, backgroundContainer.bottom) } backgroundContainer.setScrollingEnabled(false) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { - val window = window - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - window.statusBarColor = ContextCompat.getColor(this, R.color.black_20_alpha) - } - getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) + val window = window + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + window.statusBarColor = ContextCompat.getColor(this, R.color.black_20_alpha) } + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) newGameButton.setOnClickListener { newGameButtonClicked() } showLoginButton.setOnClickListener { showLoginButtonClicked() } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt index 24653b1e6..f57ba45cf 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt @@ -272,7 +272,7 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget val view = createActionableNotificationItem(notification, "") // hide view until we have loaded quest data and populated the values - view.visibility = View.GONE + view?.visibility = View.GONE compositeSubscription.add(inventoryRepository.getQuestContent(data?.questKey ?: "") .firstElement() @@ -283,16 +283,16 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget return view } - private fun updateQuestInvitationView(view: View, questContent: QuestContent) { - val messageTextView = view.findViewById(R.id.message_text) as? TextView + private fun updateQuestInvitationView(view: View?, questContent: QuestContent) { + val messageTextView = view?.findViewById(R.id.message_text) as? TextView messageTextView?.text = fromHtml(getString(R.string.invited_to_quest, questContent.text)) - val questObjectiveLabelView = view.findViewById(R.id.quest_objective_label) as? TextView - val questObjectiveTextView = view.findViewById(R.id.quest_objective_text) as? TextView - val questDifficultyLabelView = view.findViewById(R.id.difficulty_label) as? TextView + val questObjectiveLabelView = view?.findViewById(R.id.quest_objective_label) as? TextView + val questObjectiveTextView = view?.findViewById(R.id.quest_objective_text) as? TextView + val questDifficultyLabelView = view?.findViewById(R.id.difficulty_label) as? TextView questDifficultyLabelView?.text = getText(R.string.difficulty) questDifficultyLabelView?.append(":") - val questDifficultyView = view.findViewById(R.id.quest_difficulty) as? RatingBar + val questDifficultyView = view?.findViewById(R.id.quest_difficulty) as? RatingBar if (questContent.isBossQuest) { questObjectiveLabelView?.text = getString(R.string.defeat) @@ -308,18 +308,17 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget } questObjectiveLabelView?.append(":") - val questDetailView = view.findViewById(R.id.quest_detail_view) as? View + val questDetailView = view?.findViewById(R.id.quest_detail_view) as? View questDetailView?.visibility = View.VISIBLE - view.visibility = View.VISIBLE + view?.visibility = View.VISIBLE } private fun createActionableNotificationItem( notification: Notification, - messageText: CharSequence - ): View { - val item = inflater.inflate(R.layout.notification_item_actionable, notification_items, false) + messageText: CharSequence): View? { + val item = inflater?.inflate(R.layout.notification_item_actionable, notification_items, false) - val acceptButton = item.findViewById(R.id.accept_button) as? Button + val acceptButton = item?.findViewById(R.id.accept_button) as? Button acceptButton?.setOnClickListener { val resultIntent = Intent() resultIntent.putExtra("notificationId", notification.id) @@ -327,7 +326,7 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget finish() } - val rejectButton = item.findViewById(R.id.reject_button) as? Button + val rejectButton = item?.findViewById(R.id.reject_button) as? Button rejectButton?.setOnClickListener { val resultIntent = Intent() resultIntent.putExtra("notificationId", notification.id) @@ -335,7 +334,7 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget finish() } - val messageTextView = item.findViewById(R.id.message_text) as? TextView + val messageTextView = item?.findViewById(R.id.message_text) as? TextView messageTextView?.text = messageText return item diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.kt index a6d074ca7..d375b72c7 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.kt @@ -8,6 +8,7 @@ import androidx.fragment.app.DialogFragment import com.habitrpg.android.habitica.HabiticaBaseApplication import com.habitrpg.android.habitica.components.UserComponent import com.habitrpg.android.habitica.data.TutorialRepository +import com.habitrpg.android.habitica.helpers.AmplitudeManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.ui.activities.MainActivity import io.reactivex.android.schedulers.AndroidSchedulers @@ -57,6 +58,10 @@ abstract class BaseFragment : DialogFragment() { } + val additionalData = HashMap() + additionalData["page"] = this.javaClass.simpleName + AmplitudeManager.sendEvent("navigate", AmplitudeManager.EVENT_CATEGORY_NAVIGATION, AmplitudeManager.EVENT_HITTYPE_PAGEVIEW, additionalData) + return null } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.kt index 2594324a4..1aa0121d2 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.kt @@ -9,7 +9,6 @@ import android.widget.TextView import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.UserComponent import com.habitrpg.android.habitica.extensions.inflate -import com.habitrpg.android.habitica.helpers.AmplitudeManager import com.habitrpg.android.habitica.helpers.PurchaseTypes import com.habitrpg.android.habitica.proxy.CrashlyticsProxy import com.habitrpg.android.habitica.ui.GemPurchaseOptionsView @@ -19,7 +18,6 @@ import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper import org.solovyev.android.checkout.BillingRequests import org.solovyev.android.checkout.Inventory import org.solovyev.android.checkout.ProductTypes -import java.util.HashMap import javax.inject.Inject class GemsPurchaseFragment : BaseFragment(), GemPurchaseActivity.CheckoutFragment { @@ -41,10 +39,6 @@ class GemsPurchaseFragment : BaseFragment(), GemPurchaseActivity.CheckoutFragmen super.onCreateView(inflater, container, savedInstanceState) - val additionalData = HashMap() - additionalData["page"] = "Gem Purchase Page" - AmplitudeManager.sendEvent("navigate", AmplitudeManager.EVENT_CATEGORY_NAVIGATION, AmplitudeManager.EVENT_HITTYPE_PAGEVIEW, additionalData) - return container?.inflate(R.layout.fragment_gem_purchase) } 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 ea1b82692..5e8430a11 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 @@ -13,7 +13,6 @@ import com.habitrpg.android.habitica.components.UserComponent import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.events.UserSubscribedEvent import com.habitrpg.android.habitica.extensions.addCancelButton -import com.habitrpg.android.habitica.helpers.AmplitudeManager import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.PurchaseTypes import com.habitrpg.android.habitica.helpers.RxErrorHandler @@ -24,15 +23,14 @@ import com.habitrpg.android.habitica.ui.activities.GiftIAPActivity import com.habitrpg.android.habitica.ui.helpers.bindOptionalView import com.habitrpg.android.habitica.ui.helpers.bindView import com.habitrpg.android.habitica.ui.helpers.dismissKeyboard -import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper +import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog import com.habitrpg.android.habitica.ui.views.subscriptions.SubscriptionDetailsView import com.habitrpg.android.habitica.ui.views.subscriptions.SubscriptionOptionView import io.reactivex.functions.Consumer import kotlinx.android.synthetic.main.fragment_subscription.* import org.greenrobot.eventbus.Subscribe import org.solovyev.android.checkout.* -import java.util.* import javax.inject.Inject class SubscriptionFragment : BaseFragment(), GemPurchaseActivity.CheckoutFragment { @@ -92,10 +90,6 @@ class SubscriptionFragment : BaseFragment(), GemPurchaseActivity.CheckoutFragmen fetchUser(null) - val additionalData = HashMap() - additionalData["page"] = "Subscription Page" - AmplitudeManager.sendEvent("navigate", AmplitudeManager.EVENT_CATEGORY_NAVIGATION, AmplitudeManager.EVENT_HITTYPE_PAGEVIEW, additionalData) - return inflater.inflate(R.layout.fragment_subscription, container, false) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/AvatarSetupFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/AvatarSetupFragment.kt index f8f2202cc..f88903525 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/AvatarSetupFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/AvatarSetupFragment.kt @@ -19,7 +19,6 @@ import com.habitrpg.android.habitica.data.SetupCustomizationRepository import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.extensions.inflate import com.habitrpg.android.habitica.extensions.subscribeWithErrorHandler -import com.habitrpg.android.habitica.helpers.AmplitudeManager import com.habitrpg.android.habitica.models.SetupCustomization import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.ui.AvatarView @@ -68,11 +67,6 @@ class AvatarSetupFragment : BaseFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { super.onCreateView(inflater, container, savedInstanceState) - - val additionalData = HashMap() - additionalData["page"] = "Avatar Setup" - AmplitudeManager.sendEvent("navigate", AmplitudeManager.EVENT_CATEGORY_NAVIGATION, AmplitudeManager.EVENT_HITTYPE_PAGEVIEW, additionalData) - return container?.inflate(R.layout.fragment_setup_avatar) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/IntroFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/IntroFragment.kt index e96083483..070ecc20c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/IntroFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/IntroFragment.kt @@ -10,11 +10,9 @@ import android.widget.TextView import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.UserComponent import com.habitrpg.android.habitica.extensions.inflate -import com.habitrpg.android.habitica.helpers.AmplitudeManager import com.habitrpg.android.habitica.ui.fragments.BaseFragment import com.habitrpg.android.habitica.ui.helpers.bindOptionalView import com.habitrpg.android.habitica.ui.helpers.resetViews -import java.util.* class IntroFragment : BaseFragment() { @@ -34,12 +32,6 @@ class IntroFragment : BaseFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { super.onCreateView(inflater, container, savedInstanceState) - - - val additionalData = HashMap() - additionalData["page"] = "Intro" - AmplitudeManager.sendEvent("navigate", AmplitudeManager.EVENT_CATEGORY_NAVIGATION, AmplitudeManager.EVENT_HITTYPE_PAGEVIEW, additionalData) - return container?.inflate(R.layout.fragment_intro) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/TaskSetupFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/TaskSetupFragment.kt index 1ec29710c..99a75cb14 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/TaskSetupFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/TaskSetupFragment.kt @@ -9,7 +9,6 @@ import androidx.recyclerview.widget.RecyclerView import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.UserComponent import com.habitrpg.android.habitica.extensions.inflate -import com.habitrpg.android.habitica.helpers.AmplitudeManager import com.habitrpg.android.habitica.models.tasks.Days import com.habitrpg.android.habitica.models.tasks.Task import com.habitrpg.android.habitica.models.user.User @@ -38,10 +37,6 @@ class TaskSetupFragment : BaseFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { super.onCreateView(inflater, container, savedInstanceState) - val additionalData = HashMap() - additionalData["page"] = "Task Setup" - AmplitudeManager.sendEvent("navigate", AmplitudeManager.EVENT_CATEGORY_NAVIGATION, AmplitudeManager.EVENT_HITTYPE_PAGEVIEW, additionalData) - return container?.inflate(R.layout.fragment_setup_tasks) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.kt index efcd966bf..53f0e96e3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.kt @@ -56,11 +56,6 @@ class WelcomeFragment : BaseFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { super.onCreateView(inflater, container, savedInstanceState) - - val additionalData = HashMap() - additionalData["page"] = "Welcome Screen" - AmplitudeManager.sendEvent("navigate", AmplitudeManager.EVENT_CATEGORY_NAVIGATION, AmplitudeManager.EVENT_HITTYPE_PAGEVIEW, additionalData) - return container?.inflate(R.layout.fragment_welcome) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt index dc796324b..368348705 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt @@ -5,7 +5,6 @@ import androidx.core.os.bundleOf import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.UserComponent 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.NotificationsManager import com.habitrpg.android.habitica.helpers.RxErrorHandler @@ -285,7 +284,7 @@ open class NotificationsViewModel : BaseViewModel() { } fun acceptGroupInvitation(groupId: String?) { - groupId.notNull { + groupId?.let { disposable.add(socialRepository.joinGroup(it) .subscribe(Consumer { refreshNotifications() @@ -294,7 +293,7 @@ open class NotificationsViewModel : BaseViewModel() { } fun rejectGroupInvite(groupId: String?) { - groupId.notNull { + groupId?.let { disposable.add(socialRepository.rejectGroupInvite(it) .subscribe(Consumer { refreshNotifications() @@ -303,7 +302,7 @@ open class NotificationsViewModel : BaseViewModel() { } private fun acceptQuestInvitation() { - party?.id.notNull { + party?.id?.let { disposable.add(socialRepository.acceptQuest(null, it) .subscribe(Consumer { refreshNotifications() @@ -312,7 +311,7 @@ open class NotificationsViewModel : BaseViewModel() { } private fun rejectQuestInvitation() { - party?.id.notNull { + party?.id?.let { disposable.add(socialRepository.rejectQuest(null, it) .subscribe(Consumer { refreshNotifications()