Skip to content

Instantly share code, notes, and snippets.

View virendersran01's full-sized avatar
💻
Working from home

Virender Srxn virendersran01

💻
Working from home
  • India
View GitHub Profile
package com.some.package.base.routing
import android.content.Context
import android.net.Uri
import com.some.package.routing.Routable
import com.some.package.router.MovieDetailRouter
class Router {
companion object {
package com.some.package.router
import android.content.Context
import android.net.Uri
import android.os.Parcelable
import android.widget.Toast
import com.some.package.routing.Routable
import com.some.package.ui.moviedetail.presentation.MovieDetailActivity
import kotlinx.android.parcel.Parcelize
@virendersran01
virendersran01 / Routable.kt
Created April 9, 2021 04:24 — forked from mayuce/Routable.kt
Routable Gist
package com.some.package.routing
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Parcelable
import com.some.package.ui.BaseActivity
/**
* Routable implementation provides usage of navigation between activities
import android.content.Context
import android.net.ConnectivityManager
import android.net.Network
import android.net.NetworkCapabilities
import android.net.NetworkRequest
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
class PageDotDecorator(
private val itemCount: Int,
private val context: Context?
) : RecyclerView.ItemDecoration() {
companion object {
/**
* Draw Parameters
*/
const val DOT_RADIUS = 3f
override fun onDraw(
canvas: Canvas,
parent: RecyclerView,
state: RecyclerView.State
) {
//This is to calculate the positions of the circles, but only once when the decorator first initiate.
//This is here because we need the RecyclerView's width to calculate the position of each circles/dots.
if (!indicatorInitialized) {
setupIndicators(parent)
//List of Coordinates each dots positioned
private val dots = mutableListOf<Pair<Float, Float>>()
companion object {
/**
* Draw Parameters
*/
const val DOT_RADIUS = 3f
const val DOT_PADDING = 6f
}
// Inside ItemDecoration class
private val dotDeselected: Paint = Paint().apply {
style = Paint.Style.FILL
color = Color.GRAY
}
private val dotSelected = Paint().apply {
style = Paint.Style.FILL
color = Color.BLACK
class PageDotDecorator(
private val itemCount: Int,
private val context: Context?
) : RecyclerView.ItemDecoration() {}
@virendersran01
virendersran01 / TextWriterTextView.kt
Created March 4, 2021 06:17 — forked from efimerdlerkravitz/TextWriterTextView.kt
TypeWriter animation effect in Android
package com.example.uicomponents
import android.content.Context
import android.os.Handler
import android.util.AttributeSet
import android.widget.TextView
class TypeWriteTextView(context: Context?, attrs: AttributeSet?) : TextView(context, attrs) {
private var textList: List<String> = emptyList()