Skip to content

Instantly share code, notes, and snippets.

View am3n's full-sized avatar
🙂

Amirhosein Barati am3n

🙂
View GitHub Profile
@am3n
am3n / wifi-adb.bat
Last active November 15, 2023 15:32
Wi-Fi ADB batch script
@setlocal enableextensions enabledelayedexpansion
@echo off
for /F "tokens=*" %%A in ('adb devices') do (
set str1=%%A
if "x!str1:List=!"=="x!str1!" (
if "x!str1::5555=!"=="x!str1!" (
set id=!str1:device=!
adb -s !id! tcpip 5555
timeout /T 2 /NOBREAK > nul
@am3n
am3n / README.md
Last active April 15, 2022 19:04
Set docker http-proxy

put the docker-set-http-proxy.sh in a directory

run chmod +x docker-set-http-proxy.sh to access execute permission

run ./docker-set-http-proxy.sh YOUR_HTTP_PROXY_HOST YOUR_HTTP_PROXY_PORT

@am3n
am3n / doze_mode_adb_commands.sh
Last active September 24, 2021 12:46 — forked from y-polek/doze_mode_adb_commands.sh
adb commands to test Doze mode
#! /bin/zsh
# Buttery powered state
adb shell dumpsys battery | grep powered
# Unplug battery
adb shell dumpsys battery unplug
# Reset battery
adb shell dumpsys battery reset
val width = getScreenWidth()
val height = getScreenHeight()
val min = min(width, height)
val radius = min/2 * 4/5
val center = PointF(0f, 0f)
val points = Array(5) { PointF() }
val angle36 = toRadians(36.0)
val angle72 = toRadians(72.0)
@am3n
am3n / build.gradle
Created May 18, 2020 18:57
Proguard rules debug/release for all projects
...
buildTypes {
debug {
debuggable true
minifyEnabled true
shrinkResources true
...
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'PathToProjectsDir\\proguard-rules-debug.pro'
}
import android.Manifest
import android.annotation.SuppressLint
import android.app.*
import android.content.*
import android.content.pm.PackageManager
import android.content.pm.ShortcutInfo
import android.content.pm.ShortcutManager
import android.content.res.ColorStateList
import android.content.res.Configuration
import android.content.res.Resources
@am3n
am3n / Rcl.kt
Created December 4, 2019 07:47
Generics and tools for android recyclerview
package ir.dariacard.view
import android.animation.AnimatorSet
import android.animation.ObjectAnimator
import android.view.View
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.extensions.LayoutContainer
import android.content.Context
import android.graphics.Canvas
import android.graphics.PorterDuff
package ir.dariacard
import android.text.Editable
import android.text.TextUtils
import android.text.TextWatcher
import androidx.annotation.NonNull
import androidx.appcompat.widget.AppCompatEditText
import java.lang.Exception
import java.text.NumberFormat
@am3n
am3n / MetricsUtil.kt
Created July 11, 2019 08:46
Convert (Float/Int) and (Dp/Px) to each other with Kotlin Extensions :) in android
package com.example
import android.content.res.Resources
val Int.iPx2Dp: Int get() = (this / Resources.getSystem().displayMetrics.density).toInt()
val Int.iDp2Px: Int get() = (this * Resources.getSystem().displayMetrics.density).toInt()
val Int.fPx2Dp: Float get() = this / Resources.getSystem().displayMetrics.density
val Int.fDp2Px: Float get() = this * Resources.getSystem().displayMetrics.density
val Float.iPx2Dp: Int get() = (this / Resources.getSystem().displayMetrics.density).toInt()
val Float.iDp2Px: Int get() = (this * Resources.getSystem().displayMetrics.density).toInt()
@am3n
am3n / KeyboardManager.kt
Created July 11, 2019 08:39
Listen to keyboard open/close in android with LiveData
package com.example
import android.annotation.SuppressLint
import android.app.Activity
import android.graphics.Rect
import android.view.View
import android.view.ViewTreeObserver
import androidx.lifecycle.LiveData
import java.lang.ref.WeakReference