Skip to content

Instantly share code, notes, and snippets.

View tunjos's full-sized avatar

Tunji Olu-Taiwo tunjos

View GitHub Profile
/**
* @author marco
* Workaround to be able to scroll text inside a TextView without it required
* to be focused. For some strange reason there isn't an easy way to do this
* natively.
*
* Original code written by Evan Cummings:
* http://androidbears.stellarpc.net/?p=185
*/
public class ScrollingTextView extends TextView {
@tunjos
tunjos / LogHelper.java
Last active August 29, 2015 14:19
LogHelper Class
import android.content.Context;
import android.util.Log;
import android.widget.Toast;
public class LogHelper {
private static final String LOG_TAG = MyConstants.APP_NAME;
public static void log(String message) {
Log.d(LOG_TAG, message);
}
@tunjos
tunjos / checkForPower.java
Created June 23, 2015 02:35
Checks if device is charging
private boolean checkForPower() {
// It is very easy to subscribe to changes to the battery state, but you can get the current
// state by simply passing null in as your receiver. Nifty, isn't that?
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = this.registerReceiver(null, filter);
// There are currently three ways a device can be plugged in. We should check them all.
int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
boolean usbCharge = (chargePlug == BatteryManager.BATTERY_PLUGGED_USB);
@tunjos
tunjos / build.gradle
Created July 7, 2015 12:25
versionName config
def versionMajor = 3
def versionMinor = 0
def versionPatch = 0
def versionBuild = 0 // bump for dogfood builds, public betas, etc.
android {
defaultConfig {
versionCode versionMajor * 10000 + versionMinor * 1000 + versionPatch * 100 + versionBuild
versionName "${versionMajor}.${versionMinor}.${versionPatch}"
}
@tunjos
tunjos / copyReleaseApkToCustomDir.gradle
Last active December 8, 2021 03:10
Copy release apk to custom directory
def publish = project.tasks.create("copyReleaseApkToCustomDir")
publish.description "Copies release apk to custom directory"
android.applicationVariants.all { variant ->
if (variant.buildType.name.equals("release")) {
variant.outputs.each { output ->
if ( output.outputFile != null && output.outputFile.name.endsWith('.apk')) {
def task = project.tasks.create("copyAndRename${variant.name}Apk", Copy)
def outputFile = output.outputFile
println "Creating " + rootProject.name + "-${versionName}.apk" + " from " + project.name + "-${variant.name}.apk"
@tunjos
tunjos / gh-pages.md
Created July 24, 2015 16:46
Creating a clean gh-pages branch

Creating a clean gh-pages branch

cd /path/to/repo-name
git checkout --orphan gh-pages
git rm -rf .
echo "My GitHub Page" > index.html
git add .
git commit -a -m "Add index.html"
@tunjos
tunjos / app_build.gradle
Created July 13, 2016 19:39
Automatic versionCode generation in Android Gradle
defaultConfig {
versionCode buildVersionCode()
versionName version
}
@tunjos
tunjos / app_build.gradle
Created July 13, 2016 20:00
Producing better named Android APKs with Gradle
apply from: "../artifacts.gradle"
@tunjos
tunjos / clean_code.md
Created August 13, 2020 11:32 — forked from wojteklu/clean_code.md
Summary of 'Clean code' by Robert C. Martin

Code is clean if it can be understood easily – by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability.


General rules

  1. Follow standard conventions.
  2. Keep it simple stupid. Simpler is always better. Reduce complexity as much as possible.
  3. Boy scout rule. Leave the campground cleaner than you found it.
  4. Always find root cause. Always look for the root cause of a problem.

Design rules

@tunjos
tunjos / google_disable_autocomplete.js
Created November 11, 2020 00:18
Disable Autocomplete
//