Skip to content

Instantly share code, notes, and snippets.

View Mojtaba-Shafaei's full-sized avatar

Mojtaba shafaei Mojtaba-Shafaei

View GitHub Profile
https://my.api.mockaroo.com/employees.json?key=ac23d4c0
@Mojtaba-Shafaei
Mojtaba-Shafaei / copyDep.gradle
Created December 2, 2019 08:22
Android Gradle task to copy all used dependencies into a destination folder
apply plugin: 'com.android.application'
// this task extracts Android project’s dependencies as offline jar files.
// add these files to server's lib folder
android.applicationVariants.all { variant ->
task "copyDependencies${variant.name.capitalize()}"() {
outputs.upToDateWhen { false }
doLast {
println "Executing copyDependencies${variant.name.capitalize()}"
variant.getCompileClasspath().each { fileDependency ->
def sourcePath = fileDependency.absolutePath
@Mojtaba-Shafaei
Mojtaba-Shafaei / GoogleStyleCopy.xml
Last active June 23, 2020 06:42
GoogleStyle for Android projects
<code_scheme name="GoogleStyle copy" version="173">
<option name="OTHER_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</value>
</option>
<option name="RIGHT_MARGIN" value="180" />
<AndroidXmlCodeStyleSettings>
package com.mabnadp.rahavard365.utils
import android.graphics.Paint
import android.graphics.Typeface
import android.text.TextPaint
import android.text.style.TypefaceSpan
class CustomTypefaceSpan(private val newType: Typeface) : TypefaceSpan(null) {
override fun updateDrawState(ds: TextPaint) {
@Mojtaba-Shafaei
Mojtaba-Shafaei / TintableImageView.java
Created June 24, 2020 11:57 — forked from tylerchesley/TintableImageView.java
Backwards compatible TintableImageView
package com.example.widgets;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.widget.ImageView;
import com.example.R;
@Mojtaba-Shafaei
Mojtaba-Shafaei / App.java
Last active September 22, 2020 15:40 — forked from patrickhammond/gist:0b13ec35160af758d98c
Sample for how to use the Google Play Services dynamic security provider to keep the SSL library that the app will use to up date.
package com.mycompany.myapp.app;
import android.app.Application;
import android.content.Intent;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.security.ProviderInstaller;
import com.google.android.gms.security.ProviderInstaller.ProviderInstallListener;
public class MainApplication extends Application {
@Mojtaba-Shafaei
Mojtaba-Shafaei / RxBus.java
Last active September 22, 2020 15:43
RxBus with RxJava2
public final class RxBus{
private static SparseArray<PublishSubject<Object>> sSubjectMap = new SparseArray<>();
private static Map<Object, CompositeDisposable> sSubscriptionsMap = new HashMap<>();
private RxBus(){
}
@Retention(SOURCE)
@Mojtaba-Shafaei
Mojtaba-Shafaei / OnBackPressed.java
Last active September 22, 2020 15:44
Handle OnBackPressed in Fragments
getView().setFocusableInTouchMode(true);
getView().requestFocus();
getView().setOnKeyListener((v, keyCode, event) -> {
if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {
onBackPressed();
return true;
}
return false;
});
import android.R.attr
import android.content.res.ColorStateList
object Colors {
@JvmStatic
val primaryDarkColor by lazy { 0xFF00284f.toInt() }
@JvmStatic
val primaryColor by lazy { 0xFF20507c.toInt() }
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Rect
import android.graphics.drawable.ColorDrawable
import android.view.View
import androidx.annotation.ColorInt
import androidx.core.view.ViewCompat
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView