Skip to content

Instantly share code, notes, and snippets.

@neilbantoc
neilbantoc / Activity.java
Created June 12, 2018 20:53
A static function in Kotlin for generating an activity intent
companion object {
@JvmStatic fun createIntent(context: Context) : Intent {
return Intent(context, Activity::class.java);
}
}
@PerApp
@Component(
modules = {
SampleAppModule.class,
DataModule.class,
NetworkModule.class
}
dependencies = {
OtherComponent.class
}
@neilbantoc
neilbantoc / build.gradle
Created October 13, 2015 12:55
Things you can do with gradle
/* Build numbers */
def versionMajor = 1
def versionMinor = 0
def versionPatch = 0
def versionBuild = 1
/* Build details that can be useful for debugging */
def gitSha = 'git rev-parse --short HEAD'.execute([], project.rootDir).text.trim()
def buildTime = new Date().format("yyyy-MM-dd'T'HH:mm'Z'", TimeZone.getTimeZone("UTC"))
@neilbantoc
neilbantoc / ConnectivityReceiver.java
Created August 25, 2014 17:08
Code snippet for getting notified when getting connected/disconnected from the network
/*
* Don't forget to add these to the manifest!
* <receiver
* android:name="ConnectivityReceiver"
* android:enabled="true"
* android:label="ConnectivityActionReceiver" >
* <intent-filter>
* <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
* </intent-filter>
* </receiver>
@neilbantoc
neilbantoc / SlidingTabLayout.java
Created August 4, 2014 10:32
SlidingTabStrip for tabs like Google Play
/*
* Copyright (C) 2013 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
@neilbantoc
neilbantoc / RoundedDrawable.java
Created August 4, 2014 10:27
RoundedSquareImageViews for Rounded image views locked in a square aspect ratio
import android.content.res.ColorStateList;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Matrix;
import android.graphics.Paint;
@neilbantoc
neilbantoc / FormatUtil.java
Created August 4, 2014 10:21
Format Utils
import java.util.Locale;
public class FormatUtil {
public static final String formatTimeInMillisToHMS(int timeInMillis){
int s = (timeInMillis / 1000) % 60;
int m = (timeInMillis / (1000 * 60)) % 60;
int h = (timeInMillis) % 24;
return String.format(Locale.US, "%d:%02d:%02d", h, m, s);
}
@neilbantoc
neilbantoc / AndroidBug5497Workaround.java
Created August 4, 2014 10:20
AndroidBug5497Workaround for fullscreen activities with edit text
package com.myspace.ilike.common.util;
import android.app.Activity;
import android.graphics.Rect;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.FrameLayout;
public class AndroidBug5497Workaround {
@neilbantoc
neilbantoc / Blur.java
Created August 4, 2014 10:19
FastBlur with downscaling for faster performance
import android.content.Context;
import android.graphics.Bitmap;
import android.util.Log;
public class Blur {
public static Bitmap fastblur(Context context, Bitmap sentBitmap, int radius) {
float scaleFactor = 8;
Bitmap bitmap = Bitmap.createScaledBitmap(sentBitmap, (int) (sentBitmap.getWidth() / scaleFactor), (int) (sentBitmap.getHeight() / scaleFactor), true);
@neilbantoc
neilbantoc / gist:5aabc2aa471ba5440a9f
Last active August 29, 2015 14:04
Lockscreen Remote Controls for Media Player
private Song mSong;
private RemoteControlClient remoteControlClient;
private AudioManager audioManager;
// ...
private void broadcastTrackInfoToLockscreen(){
MetadataEditor editor = remoteControlClient.editMetadata(false);
editor.putString(MediaMetadataRetriever.METADATA_KEY_ALBUM, mSong.getFullAlbumTitle());