Skip to content

Instantly share code, notes, and snippets.

View gavelez's full-sized avatar

Giovanny Velez gavelez

View GitHub Profile
@gavelez
gavelez / open_pdf.java
Created April 1, 2021 16:50
Open PDF file Android
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
File file=new File(mFilePath);
Uri uri = FileProvider.getUriForFile(this, getPackageName() + ".provider", file);
intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);
} else {
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(mFilePath), "application/pdf");
@gavelez
gavelez / build.gradle
Created December 21, 2020 16:03
Execute a command line statement from build.gradle script
def gitHash = 'git rev-parse --short HEAD'.execute().text.trim()
@gavelez
gavelez / Repository.kt
Created December 9, 2020 21:13
Empty secondary constructor for Data Class
data class Repository(
var updated_on: String,
var tags: List<String>,
var description: String,
var user_id: List<Int>,
var status_id: Int,
var title: String,
var created_at: String,
var data: HashMap<*, *>,
var id: Int,
@gavelez
gavelez / FragmentCheck.java
Created October 29, 2020 14:32
Validate if a Fragment is active
public static boolean isSafeFragment( Fragment frag )
{
return !(frag.isRemoving() || frag.getActivity() == null || frag.isDetached() || !frag.isAdded() || frag.getView() == null );
}
@gavelez
gavelez / RV.java
Created October 15, 2020 18:21
Scroll Multiple RecyclerViews
recyclerView.addOnScrollListener(
new RecyclerView.OnScrollListener() {
@Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (isLastItemDisplaying(recyclerView)) {
//Calling the method getdata again getData();
}
}
}
);
@gavelez
gavelez / PlayingWithPaths.kt
Created September 2, 2020 23:49 — forked from alexjlockwood/PlayingWithPaths.kt
Implementation of a 'Playing with Paths' polygon animation
package com.alexjlockwood.playingwithpaths
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.animation.animatedFloat
import androidx.compose.animation.core.AnimationConstants
import androidx.compose.animation.core.LinearEasing
import androidx.compose.animation.core.repeatable
import androidx.compose.animation.core.tween
import androidx.compose.foundation.Image
@gavelez
gavelez / PR_Template.md
Last active August 14, 2020 17:39
PR Template
package com.example.monpfe
import android.app.ProgressDialog
import android.content.Intent
import android.os.Bundle
import android.text.TextUtils
import android.util.Log
import android.widget.Button
import android.widget.EditText
@gavelez
gavelez / AndroidManifest.xml
Created April 20, 2020 16:10
How to detect call state Android
<receiver android:name=".CallReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
@gavelez
gavelez / AndroidManifest.xml
Last active December 23, 2019 20:08
ExoPlayer multiformat playing
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software