Skip to content

Instantly share code, notes, and snippets.

@NaturalizerINA
Last active January 12, 2022 08:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NaturalizerINA/673fd03bef58b4ce92882a5311d9303a to your computer and use it in GitHub Desktop.
Save NaturalizerINA/673fd03bef58b4ce92882a5311d9303a to your computer and use it in GitHub Desktop.
package com.mukminullah.testinterview
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import android.util.Log
import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.activity_main.*
import com.androidnetworking.AndroidNetworking
import com.rxandroidnetworking.RxAndroidNetworking
import okhttp3.OkHttpClient
import rx.android.schedulers.AndroidSchedulers
import rx.schedulers.Schedulers
import java.util.concurrent.TimeUnit
class MainActivity : AppCompatActivity() {
var arrayData = arrayListOf<String>()
var adapterData: AdapterData? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
AndroidNetworking.initialize(applicationContext)
arrayData.add("A")
arrayData.add("A")
arrayData.add("C")
arrayData.add("D")
arrayData.add("E")
arrayData.add("G")
arrayData.add("A")
Log.e("getThreeTimeValue",getThreeTimeValue("A"))
etSearch.addTextChangedListener(object: TextWatcher{
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
RxAndroidNetworking.get("https://api.github.com/search/users?q=${p0.toString()}&per_page=10")
.build()
.getObjectObservable(DataUser::class.java)
.debounce(2000, TimeUnit.MILLISECONDS)
.distinct()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe {
adapterData?.refreshData(it)
}
}
override fun afterTextChanged(p0: Editable?) {
}
})
adapterData = AdapterData()
rvListData.apply {
adapter = adapterData
layoutManager = LinearLayoutManager(applicationContext)
}
}
//1. Get three time value
fun getThreeTimeValue(scan: String): String{
var output: String = ""
for(i in 0 until arrayData.size){
var count = 0
if(arrayData[i] == scan){
count++
}
if(count == 3){
output = arrayData[i]
} else {
"Tidak ditemukan data yang sama 3 kali"
}
}
return output
}
//2.
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment