Skip to content

Instantly share code, notes, and snippets.

View giovanileitevitor's full-sized avatar
🏠
Working from home

Giovani Leite vitor giovanileitevitor

🏠
Working from home
View GitHub Profile
fun GraphicBox(values: List<Float>, labels: List<String>) {
val context = LocalContext.current
// BarGraph Dimensions
val barGraphHeight by remember { mutableStateOf(200.dp) }
val barGraphWidth by remember { mutableStateOf(24.dp) }
Column(
modifier = Modifier
.padding(start = 10.dp, end = 10.dp, top = 4.dp)
@giovanileitevitor
giovanileitevitor / setPlaceHolders.gradle
Created January 9, 2023 20:48
Setting a manifestPlaceHolders
buildTypes {
release {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
testCoverageEnabled false
manifestPlaceholders = [
appIcon: "@mipmap/ic_release"
]
}
@giovanileitevitor
giovanileitevitor / access_placeholders.xml
Created January 9, 2023 20:54
Accessing PlaceHolders
<application
android:name=".di.Application"
android:icon="${appIcon}"
android:roundIcon="${appIcon}"
....
</aplication>
@giovanileitevitor
giovanileitevitor / extension.kt
Created February 16, 2023 14:51
Get Internet connection type status
fun isNetworkAvailable(context: Context?): Boolean {
if (context == null) return false
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
val capabilities = connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)
if (capabilities != null) {
when {
capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> {
return true
}
@giovanileitevitor
giovanileitevitor / extension.kt
Created February 16, 2023 14:59
Observe internet connection type (with livedate)
//USAGE
private lateinit var connectionLiveData: ConnectionLiveData
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityInternetConnectionTestBinding.inflate(layoutInflater)
setContentView(binding.root)
connectionLiveData = ConnectionLiveData(this)
@giovanileitevitor
giovanileitevitor / animatedBorder.kt
Last active September 8, 2023 02:28
Animated Border extension for composable elements
//EXTENSION FOR COMPOSABLE ELEMENTS
fun Modifier.dashedBorder(
color: Color,
strokeWidth: Dp,
strokeLength: Dp,
animate: Boolean = true,
) = composed(
factory = {
val density = LocalDensity.current
@Composable
fun SimpleButtonDemo(){
val textA = stringResource(id = R.string.textA)
val textB = stringResource(id = R.string.textB)
val colorA = colorResource(id = R.color.purple_200)
val colorB = colorResource(id = R.color.teal_700)
var text by remember{ mutableStateOf(textA)}
var color by remember { mutableStateOf(colorA) }