From 82af9d4635c6de0d82c3429979a4aa6edf3a26af Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 9 Sep 2019 17:11:13 +0200 Subject: [PATCH] Fix reporting private messages --- .../habitrpg/android/habitica/api/ApiService.kt | 3 +++ .../habitrpg/android/habitica/data/ApiClient.kt | 1 + .../data/implementation/ApiClientImpl.kt | 4 ++++ .../data/implementation/SocialRepositoryImpl.kt | 6 +++++- .../ui/activities/GemPurchaseActivity.kt | 17 ----------------- 5 files changed, 13 insertions(+), 18 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt index e580a128a..a6be203aa 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt @@ -269,6 +269,9 @@ interface ApiService { @GET("members/find/{username}") fun findUsernames(@Path("username") username: String, @Query("context") context: String?, @Query("id") id: String?): Flowable>> + @POST("members/flag-private-message/{mid}") + fun flagInboxMessage(@Path("mid") mid: String, @Body data: Map): Flowable> + @GET("shops/{identifier}") fun retrieveShopInventory(@Path("identifier") identifier: String): Flowable> diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt index e713ad9f9..ad2194a76 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt @@ -148,6 +148,7 @@ interface ApiClient { fun likeMessage(groupId: String, mid: String): Flowable fun flagMessage(groupId: String, mid: String, data: MutableMap): Flowable + fun flagInboxMessage(mid: String, data: MutableMap): Flowable fun seenMessages(groupId: String): Flowable diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt index 8261e80f3..8b33b240c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt @@ -522,6 +522,10 @@ class ApiClientImpl//private OnHabitsAPIResult mResultListener; return apiService.flagMessage(groupId, mid, data).compose(configureApiCallObserver()) } + override fun flagInboxMessage(mid: String, data: MutableMap): Flowable { + return apiService.flagInboxMessage(mid, data).compose(configureApiCallObserver()) + } + override fun seenMessages(groupId: String): Flowable { return apiService.seenMessages(groupId).compose(configureApiCallObserver()) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SocialRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SocialRepositoryImpl.kt index 15e450717..c1a7143d0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SocialRepositoryImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SocialRepositoryImpl.kt @@ -75,7 +75,11 @@ class SocialRepositoryImpl(localRepository: SocialLocalRepository, apiClient: Ap else -> { val data = mutableMapOf() data["comment"] = additionalInfo - apiClient.flagMessage(chatMessage.groupId ?: "", chatMessage.id, data) + if (chatMessage.isInboxMessage) { + apiClient.flagInboxMessage(chatMessage.id, data) + } else { + apiClient.flagMessage(chatMessage.groupId ?: "", chatMessage.id, data) + } } } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GemPurchaseActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GemPurchaseActivity.kt index e0c8197c2..c5603b498 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GemPurchaseActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GemPurchaseActivity.kt @@ -14,13 +14,10 @@ import com.habitrpg.android.habitica.components.UserComponent import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.events.ConsumablePurchasedEvent import com.habitrpg.android.habitica.helpers.PurchaseTypes -import com.habitrpg.android.habitica.helpers.RxErrorHandler -import com.habitrpg.android.habitica.models.user.ABTest import com.habitrpg.android.habitica.proxy.CrashlyticsProxy import com.habitrpg.android.habitica.ui.fragments.GemsPurchaseFragment import com.habitrpg.android.habitica.ui.fragments.SubscriptionFragment import com.habitrpg.android.habitica.ui.helpers.bindView -import io.reactivex.functions.Consumer import org.greenrobot.eventbus.Subscribe import org.solovyev.android.checkout.* import java.util.* @@ -70,20 +67,6 @@ class GemPurchaseActivity : BaseActivity() { viewPager.currentItem = 0 setViewPagerAdapter() - - compositeSubscription.add(userRepository.getUser().subscribe(Consumer { user -> - for (test in user.abTests ?: emptyList()) { - if (test.name == "subscriptionPageOrder") { - if (test.group == "subscriptionFirst") { - showSubscriptionPageFirst = true - viewPager.adapter?.notifyDataSetChanged() - return@Consumer - } - } - } - showSubscriptionPageFirst = false - viewPager.adapter?.notifyDataSetChanged() - }, RxErrorHandler.handleEmptyError())) } override fun onStart() {