Skip to content

Instantly share code, notes, and snippets.


Cüneyt AYYILDIZ Swisyn

View GitHub Profile
Swisyn / gradle_tests_report.gradle.kts
Created Sep 24, 2021 — forked from ethanmdavidson/gradle_tests_report.gradle.kts
Fancy gradle test result logging, in kotlin
View gradle_tests_report.gradle.kts
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
import groovy.time.TimeCategory
import java.util.Date
* based on the groovy code by lwasyl:
var testResults by extra(mutableListOf<TestOutcome>()) // Container for tests summaries
Swisyn / gradle_tests_report.gradle
Created Sep 24, 2021 — forked from lwasyl/gradle_tests_report.gradle
Gradle tests logging #loggingpost
View gradle_tests_report.gradle
import groovy.time.TimeCategory
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
rootProject {
ext.testsResults = [] // Container for tests summaries
allprojects { project ->
tasks.withType(Test) { testTask ->
View Android TopSheetDialog Implementation by
<style name="TopSheet_DialogAnimation">
  <item name="android:windowEnterAnimation">@anim/slide_out_from_top</item>
  <item name="android:windowExitAnimation">@anim/slide_back_to_top</item>


Swisyn / DetailsFragment.kt
Created May 13, 2020 — forked from osipxd/DetailsFragment.kt
Partial view state rendering with LiveData transformations
View DetailsFragment.kt
class DetailsFragment : BaseFragment(R.layout.fragment_details) {
lateinit val viewModel: DetailsViewModel
// ...
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onVewCreated(view, savedInstanceState)
// Assumed that viewModel initialized here
Swisyn / setLocale.kt
Created May 13, 2020 — forked from osipxd/setLocale.kt
Set locale in Android application
View setLocale.kt
import android.content.ComponentCallbacks
import android.content.Context
import android.content.res.Configuration
import android.os.Build
import android.os.Bundle
import java.util.Locale
private const val LANGUAGE_RU = "ru"
Swisyn / EventsQueue.kt
Created May 13, 2020 — forked from osipxd/EventsQueue.kt
ViewModel and LiveData extensions
View EventsQueue.kt
import androidx.annotation.MainThread
import androidx.lifecycle.MutableLiveData
import java.util.LinkedList
import java.util.Queue
* Класс-очередь для обработки временных событий, не являющихся частью View
* Например, показ SnackBar с сообщением или ошибкой.
class EventsQueue : MutableLiveData<Queue<Event>>() {
Swisyn / ViewModelFactory.kt
Created May 13, 2020 — forked from osipxd/ViewModelFactory.kt
Dagger ViewModel Multibinding
View ViewModelFactory.kt
class ViewModelFactory @Inject constructor(
private val providers: Map<Class<out ViewModel>, @JvmSuppressWildcards Provider<ViewModel>>
) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
val provider = providers[modelClass]
?: providers.asIterable().find { modelClass.isAssignableFrom(it.key) }?.value
?: error("Unknown ViewModel class $modelClass")
return try {
Swisyn / ViewBinding.kt
Created May 13, 2020 — forked from osipxd/ViewBinding.kt
View binding extensions + delegate
View ViewBinding.kt
* Инфлейт ViewBinding заданного типа [T].
* В качестве родителя используется [ViewGroup], по умолчанию view прикрепляется к корню родителя.
* **ВАЖНО!** Для инфлейта вьюх с `merge` в корне нужно использовать только этот метод.
inline fun <reified T : ViewBinding> ViewGroup.inflateViewBinding(
context: Context = this.context,
attachToRoot: Boolean = true
): T {
View iOSActivityRingSwiftUI.swift
import SwiftUI
import PlaygroundSupport
extension Double {
func toRadians() -> Double {
return self * Double.pi / 180
func toCGFloat() -> CGFloat {
return CGFloat(self)
  • Close Android File Transfer
  • Open Activity Monitor and kill “Android File Transfer Agent”
  • Go to where you installed “Android File” (I have it under /Applications)
  • Ctrl+click –> “Show package contents”
  • Go to Contents/Resources
  • Rename “Android File Transfer Agent” to e.g. “Android File Transfer Agent_DISABLED”
  • Then go to “/Users/username/Library/Application Support/Google/Android File Transfer” and again rename the Agent app.