Skip to content

Commit

Permalink
Merge branch 'master' of github.com:kickstarter/android-oss into feat…
Browse files Browse the repository at this point in the history
…ure/NT-2059-update-stripe-sdk

* 'master' of github.com:kickstarter/android-oss:
  NT-1989: Removed any code related with "Email Verification" feature flag, no related code on the app for "Go Rewardless", "Native Checkout", and "Creator View" (#1302)
  NT-1969: UX – Show last page of replies (#1299)
  - Release 2.16.0 version code
  • Loading branch information
Arkariang committed Jun 23, 2021
2 parents b6c7e89 + 5d909a8 commit b1150fa
Show file tree
Hide file tree
Showing 33 changed files with 294 additions and 601 deletions.
2 changes: 1 addition & 1 deletion app/external_version_code.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2013150865
2013150866
2 changes: 1 addition & 1 deletion app/internal_version_code.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2013150863
2013150866
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import com.kickstarter.libs.preferences.StringPreferenceType
import com.kickstarter.libs.qualifiers.RequiresActivityViewModel
import com.kickstarter.libs.rx.transformers.Transformers.observeForUI
import com.kickstarter.libs.utils.BooleanUtils
import com.kickstarter.libs.utils.ConfigFeatureName.SEGMENT_ENABLED
import com.kickstarter.libs.utils.ConfigFeatureFlagName.SEGMENT_ENABLED
import com.kickstarter.ui.adapters.FeatureFlagsAdapter
import com.kickstarter.ui.itemdecorations.TableItemDecoration
import com.kickstarter.ui.viewholders.FeatureFlagViewHolder
Expand Down Expand Up @@ -67,7 +67,7 @@ class FeatureFlagsActivity : BaseActivity<FeatureFlagsViewModel.ViewModel>(), Fe
override fun featureOptionToggle(featureName: String, isEnabled: Boolean) {

when (featureName) {
SEGMENT_ENABLED.configFeatureName -> {
SEGMENT_ENABLED.featureFlag -> {
this.viewModel.inputs.updateSegmentFlag(isEnabled, featuresFlagPreference)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import android.content.DialogInterface
import android.content.Intent
import android.content.IntentFilter
import android.os.Bundle
import android.util.Log
import android.view.View
import android.webkit.URLUtil
import android.widget.EditText
Expand All @@ -29,13 +28,11 @@ import com.kickstarter.libs.Logout
import com.kickstarter.libs.preferences.StringPreferenceType
import com.kickstarter.libs.qualifiers.ApiEndpointPreference
import com.kickstarter.libs.qualifiers.RequiresActivityViewModel
import com.kickstarter.libs.utils.LoginHelper
import com.kickstarter.libs.utils.Secrets
import com.kickstarter.libs.utils.TransitionUtils
import com.kickstarter.libs.utils.ViewUtils
import com.kickstarter.libs.utils.WorkUtils
import com.kickstarter.services.firebase.ResetDeviceIdWorker
import com.kickstarter.ui.fragments.Callbacks
import com.kickstarter.viewmodels.InternalToolsViewModel
import org.joda.time.format.DateTimeFormat
import java.util.concurrent.TimeUnit
Expand Down Expand Up @@ -107,10 +104,6 @@ class InternalToolsActivity : BaseActivity<InternalToolsViewModel>() {
featureFlagsClick()
}

binding.emailVerificationButton.setOnClickListener {
emailVerificationInterstitialClick()
}

binding.resetDeviceId.setOnClickListener {
resetDeviceIdClick()
}
Expand Down Expand Up @@ -164,18 +157,6 @@ class InternalToolsActivity : BaseActivity<InternalToolsViewModel>() {
startActivity(featureFlagIntent)
}

private fun emailVerificationInterstitialClick() {
LoginHelper.showInterstitialFragment(
this.supportFragmentManager,
R.id.email_verification_interstitial_fragment_container,
object : Callbacks {
override fun onDismiss() {
Log.i(this@InternalToolsActivity.localClassName, "Placeholder for callback function")
}
}
)
}

private fun resetDeviceIdClick() {
showDeviceId(false)
val request: OneTimeWorkRequest = OneTimeWorkRequest.Builder(ResetDeviceIdWorker::class.java)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import com.kickstarter.libs.CurrentUserType
import com.kickstarter.libs.Environment
import com.kickstarter.libs.ExperimentsClientType
import com.kickstarter.libs.preferences.StringPreferenceType
import com.kickstarter.libs.utils.ConfigFeatureName.SEGMENT_ENABLED
import com.kickstarter.libs.utils.ConfigFeatureFlagName.SEGMENT_ENABLED
import com.kickstarter.libs.utils.extensions.setUserFeatureFlagsPrefWithFeatureFlag
import com.kickstarter.model.FeatureFlagsModel
import com.kickstarter.ui.activities.FeatureFlagsActivity
Expand Down Expand Up @@ -57,7 +57,7 @@ interface FeatureFlagsViewModel {
.map { it?.entries?.toList() ?: listOf<Map.Entry<String, Boolean>>() }
.map { it.filter { entry -> entry.key.startsWith("android_") } }
.map { it.sortedBy { entry -> entry.key } }
.map { it.map { entry -> FeatureFlagsModel(entry.key, entry.value, entry.key.equals(SEGMENT_ENABLED.configFeatureName)) }.toList() }
.map { it.map { entry -> FeatureFlagsModel(entry.key, entry.value, entry.key.equals(SEGMENT_ENABLED.featureFlag)) }.toList() }
.compose(bindToLifecycle())
.subscribe(this.configFeatures)

Expand All @@ -73,7 +73,7 @@ interface FeatureFlagsViewModel {
.subscribe {
config?.setUserFeatureFlagsPrefWithFeatureFlag(
it.second,
SEGMENT_ENABLED.configFeatureName,
SEGMENT_ENABLED.featureFlag,
it.first
)
environment.currentConfig().config(config)
Expand Down
11 changes: 1 addition & 10 deletions app/src/internal/res/layout/activity_feature_flags.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="match_parent">

<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
Expand Down Expand Up @@ -68,15 +68,6 @@
tools:listitem="@layout/item_feature_flag" />

<include layout="@layout/horizontal_line_1dp_view" />

<TextView
style="@style/CalloutSecondaryMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/grid_3"
android:paddingStart="@dimen/activity_vertical_margin"
android:paddingEnd="@dimen/activity_vertical_margin"
android:text="@string/Overrides" />
</LinearLayout>

</ScrollView>
Expand Down
15 changes: 0 additions & 15 deletions app/src/internal/res/layout/internal_tools_layout.xml
Original file line number Diff line number Diff line change
Expand Up @@ -246,23 +246,8 @@
android:text="@string/Force_a_crash" />

<include layout="@layout/horizontal_line_1dp_view" />

<Button
android:id="@+id/email_verification_button"
style="@style/Button"
app:background="@color/green_alpha_6"
android:layout_width="match_parent"
android:layout_marginTop="@dimen/grid_1"
android:layout_marginBottom="@dimen/grid_1"
android:text="@string/email_verification_interstitial" />

</LinearLayout>

</ScrollView>

<FrameLayout
android:id="@+id/email_verification_interstitial_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

</androidx.coordinatorlayout.widget.CoordinatorLayout>
4 changes: 2 additions & 2 deletions app/src/main/java/com/kickstarter/libs/TrackingClient.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import com.google.firebase.iid.FirebaseInstanceId
import com.kickstarter.BuildConfig
import com.kickstarter.R
import com.kickstarter.libs.qualifiers.ApplicationContext
import com.kickstarter.libs.utils.ConfigFeatureName.SEGMENT_ENABLED
import com.kickstarter.libs.utils.ConfigFeatureFlagName.SEGMENT_ENABLED
import com.kickstarter.libs.utils.WebUtils
import com.kickstarter.libs.utils.extensions.currentVariants
import com.kickstarter.libs.utils.extensions.enabledFeatureFlags
Expand Down Expand Up @@ -60,7 +60,7 @@ abstract class TrackingClient(

override fun isEnabled(): Boolean {
return if (type() == Type.SEGMENT) {
this.config?.isFeatureFlagEnabled(SEGMENT_ENABLED.configFeatureName) ?: false
this.config?.isFeatureFlagEnabled(SEGMENT_ENABLED.featureFlag) ?: false
} else true
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.kickstarter.libs.utils

enum class ConfigFeatureFlagName(val featureFlag: String) {

/**
* Internal name for "android_segment"
* @{link https://github.com/kickstarter/kickstarter/blob/e9c61ea9f1e4817bb64560db7c32f3b9704cdc60/config/features.yml#L219}
*/
SEGMENT_ENABLED("android_segment")
}
21 changes: 0 additions & 21 deletions app/src/main/java/com/kickstarter/libs/utils/ConfigFeatureName.kt

This file was deleted.

67 changes: 0 additions & 67 deletions app/src/main/java/com/kickstarter/libs/utils/LoginHelper.kt

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.kickstarter.libs.utils.extensions

import com.kickstarter.models.Comment
import com.kickstarter.models.Project
import com.kickstarter.ui.data.CommentCardData

fun List<Comment>.toCommentCardList(project: Project?): List<CommentCardData> = this.map { comment: Comment ->
CommentCardData.builder().comment(comment).project(project).build()
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.kickstarter.libs.Config
import com.kickstarter.libs.preferences.StringPreferenceType
import com.kickstarter.libs.utils.ConfigFeatureName
import com.kickstarter.libs.utils.ConfigFeatureFlagName
import org.json.JSONArray

/**
Expand Down Expand Up @@ -68,8 +68,8 @@ fun Config.syncUserFeatureFlagsFromPref(featuresFlagPreference: StringPreference
featuresFlagPreference.get(), object : TypeToken<HashMap<String?, Boolean?>>() {}.type
)

featuresFlagsMap[ConfigFeatureName.SEGMENT_ENABLED.configFeatureName]?.let {
this.features()?.put(ConfigFeatureName.SEGMENT_ENABLED.configFeatureName, it)
featuresFlagsMap[ConfigFeatureFlagName.SEGMENT_ENABLED.featureFlag]?.let {
this.features()?.put(ConfigFeatureFlagName.SEGMENT_ENABLED.featureFlag, it)
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.kickstarter.mock.factories

import com.kickstarter.services.apiresponses.commentresponse.CommentEnvelope
import org.joda.time.DateTime

class CommentEnvelopeFactory {

Expand All @@ -20,5 +21,13 @@ class CommentEnvelopeFactory {
.pageInfoEnvelope(PageInfoEnvelopeFactory.pageInfoEnvelope())
.build()
}

fun repliesCommentsEnvelope(createdAt: DateTime): CommentEnvelope {
return CommentEnvelope.builder()
.totalCount(1)
.comments(listOf(CommentFactory.reply(createdAt = createdAt)))
.pageInfoEnvelope(PageInfoEnvelopeFactory.pageInfoEnvelope())
.build()
}
}
}
24 changes: 22 additions & 2 deletions app/src/main/java/com/kickstarter/mock/factories/CommentFactory.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class CommentFactory {
.id(-1)
.author(user)
.body("Some text here")
.parentId(1)
.parentId(-1)
.repliesCount(0)
.cursor("")
.authorBadges(listOf())
Expand All @@ -40,7 +40,7 @@ class CommentFactory {
.id(1).name(name).avatar(avatar)
.build()
)
.parentId(1)
.parentId(-1)
.repliesCount(repliesCount)
.cursor("")
.authorBadges(listOf())
Expand Down Expand Up @@ -70,6 +70,26 @@ class CommentFactory {
.build()
}

fun reply(comment: String = "Some Comment", createdAt: DateTime): Comment {
return Comment.builder()
.body(comment)
.parentId(1)
.authorBadges(listOf())
.createdAt(createdAt)
.cursor("")
.deleted(false)
.id(-1)
.repliesCount(0)
.author(
UserFactory.user()
.toBuilder()
.id(1)
.avatar(AvatarFactory.avatar())
.build()
)
.build()
}

fun liveCommentCardData(comment: String = "Some Comment", createdAt: DateTime, currentUser: User, isDelete: Boolean = false, repliesCount: Int = 0): CommentCardData {
val project = ProjectFactory.project().toBuilder().creator(UserFactory.creator().toBuilder().id(278438049).build()).build()
return CommentCardData(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ open class MockApolloClient : ApolloClientType {
)
}

override fun getRepliesForComment(comment: Comment, cursor: String, pageSize: Int): Observable<CommentEnvelope> {
override fun getRepliesForComment(comment: Comment, cursor: String?, pageSize: Int): Observable<CommentEnvelope> {
return Observable.just(CommentEnvelopeFactory.emptyCommentsEnvelope())
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ interface ApolloClientType {

fun getProjectUpdateComments(updateId: String, cursor: String?, limit: Int = 25): Observable<CommentEnvelope>

fun getRepliesForComment(comment: Comment, cursor: String = "", pageSize: Int = 25): Observable<CommentEnvelope>
fun getRepliesForComment(comment: Comment, cursor: String? = null, pageSize: Int = 25): Observable<CommentEnvelope>

fun createComment(comment: PostCommentData): Observable<Comment>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ class KSApolloClient(val service: ApolloClient) : ApolloClientType {
}.subscribeOn(Schedulers.io())
}

override fun getRepliesForComment(comment: Comment, cursor: String, pageSize: Int): Observable<CommentEnvelope> {
override fun getRepliesForComment(comment: Comment, cursor: String?, pageSize: Int): Observable<CommentEnvelope> {
return Observable.defer {
val ps = PublishSubject.create<CommentEnvelope>()
this.service.query(
Expand Down
Loading

0 comments on commit b1150fa

Please sign in to comment.