Skip to content

Instantly share code, notes, and snippets.

@Farhandroid
Farhandroid / ComposableWithoutState.kt
Created March 23, 2022 08:18
ComposableWithoutState
@Composable
fun Content() {
Column(modifier = Modifier.padding(16.dp)) {
Text(
text = "Hello,",
modifier = Modifier.padding(bottom = 8.dp),
style = MaterialTheme.typography.h5
)
OutlinedTextField(
value = "",
@Farhandroid
Farhandroid / ComposableState.kt
Created March 23, 2022 08:17
ComposableState
@Composable
fun Content() {
var name by remember { mutableStateOf("") }
Column(modifier = Modifier.padding(16.dp)) {
Text(
text = "Hello, $name",
modifier = Modifier.padding(bottom = 8.dp),
style = MaterialTheme.typography.h5
)
OutlinedTextField(
@Farhandroid
Farhandroid / StateHoisting.kt
Created March 23, 2022 08:17
StateHoisting
@Composable
fun HomeScreen() {
var name by remember { mutableStateOf("") }
Content(name = name, onNameChange = { name = it })
}
@Composable
fun Content(name: String, onNameChange: (String) -> Unit) {
Column(modifier = Modifier.padding(16.dp)) {
Text(
@Farhandroid
Farhandroid / SearchGeneric.kt
Last active March 22, 2022 09:19
SearchGeneric
data class Person(val name: String, val email: String, val age: Int)
fun search() {
val henry = Person(name = "Henry", email = "[email protected]", age = 24)
val robert = Person(name = "Robert", email = "[email protected]", age = 22)
val tom = Person(name = "Tom", email = "[email protected]", age = 25)
val listOfPerson = listOf(henry, robert, tom)
val searchUtil = SearchUtil(list = listOfPerson)
searchUtil.searchItem(element = henry) {
@Farhandroid
Farhandroid / Search.kt
Last active March 22, 2022 08:32
Search
class SearchUtil(private val list: List<Int>) {
fun searchItem(element: Int, foundItem: (element: Int?) -> Unit) {
val itemFoundList = list.filter {
it == element
}
if (itemFoundList.isNullOrEmpty())
foundItem(null)
else
foundItem(itemFoundList.first())
}
@Farhandroid
Farhandroid / MockitoSetup.kt
Created March 14, 2022 09:46
MockitoSetup.kt
@Before
fun setUp() {
areaRepository = Mockito.mock(AreaRepository::class.java)
Mockito.`when`(areaRepository.calculateArea(3.5)).thenReturn(38.465)
areaViewModel = AreaViewModel(areaRepository)
}
@Farhandroid
Farhandroid / TestDispatchersFunction.kt
Last active March 13, 2022 06:06
TestDispatchersFunction
class Car {
var fuel = 0
fun addFuel(){
CoroutineScope(Dispatchers.IO).launch {
fuel = 50
}
}
}
@Farhandroid
Farhandroid / TestSuspendFunction.kt
Last active March 13, 2022 05:17
TestSuspendFunction
class Car {
var isEngineTurnedOn = false
suspend fun turnOnEngine(){
delay(4000)
isEngineTurnedOn = true
}
}
class CarTest {
@Farhandroid
Farhandroid / RepositoryModule.kt
Created March 11, 2022 17:11
RepositoryModule
@Module
@InstallIn(SingletonComponent::class)
object RepositoryModule {
@Provides
fun provideImageRepository(imageApiService: ImageApiService): ImageRepository {
return ImageRepository(imageApiService)
}
}
@Farhandroid
Farhandroid / NetworkModule.kt
Created March 11, 2022 17:10
NetworkModule
@Module
@InstallIn(SingletonComponent::class)
object NetworkModule {
@Provides
@Singleton
fun provideHttpClient(): OkHttpClient {
return OkHttpClient.Builder().apply {
this.addInterceptor(Interceptor { chain ->
val original = chain.request()
val request = original.newBuilder()