Skip to content

Instantly share code, notes, and snippets.

View blundell's full-sized avatar
😶‍🌫️

Paul Blundell blundell

😶‍🌫️
View GitHub Profile
println "test"
@blundell
blundell / Navigator Pattern
Last active December 26, 2015 07:39
Navigator Pattern - not really copy and paste-able. Packages intents for re-use nicely. Helps testing? Redundant now we can use espresso?
public class Navigator {
private final ImplicitNavigator implicitNavigator;
private final ExplicitNavigator explicitNavigator;
private final AccountNavigator accountNavigator;
public Navigator(Activity activity, TescoLoginFacade tescoLoginFacade) {
implicitNavigator = new ImplicitNavigator(activity);
explicitNavigator = new ExplicitNavigator(activity);
accountNavigator = new AccountNavigator(activity, tescoLoginFacade);
@blundell
blundell / Otto event bus for Android Notification
Created October 23, 2013 10:46
Otto event bus for Notifications. Really easy to show a notification from an unrelated piece of code. Nice and easy to test. Good use of the bus!
public class ParseNotificationWatcher {
private final ParseNotificationManager notificationManager;
private final NotificationBuilder notificationBuilder;
public ParseNotificationWatcher(ParseNotificationManager notificationManager, NotificationBuilder notificationBuilder) {
this.notificationManager = notificationManager;
this.notificationBuilder = notificationBuilder;
}
@blundell
blundell / Crazy Array Init
Last active December 31, 2015 18:22
1 line annon inner class array initialisation because I want to be able to add & remove but I'm too lazy to extend BaseAdapter.
public class NavDrawerArrayAdapter extends ArrayAdapter<String> {
public NavDrawerArrayAdapter(final Context context) {
super(context, android.R.layout.simple_list_item_activated_1, android.R.id.text1,
new ArrayList<String>() {{
add(context.getString(R.string.nav_drawer_section_explore));
add(context.getString(R.string.nav_drawer_section_rewards));
add(context.getString(R.string.nav_drawer_section_offers));
add(context.getString(R.string.nav_drawer_section_events));
}});
refresh();
@blundell
blundell / Gradle handle repos
Created January 20, 2014 19:48
Handle the declaration of all source code repositories in your base build file, and you don't have to worry about declaring them in any child modules. The code below would go at the top of your build.gradle, in your 'base' or 'top' build.gradle file. You don't have to add anything to child modules. You will get full repository source retrieval.
subprojects {
buildscript {
repositories {
mavenCentral()
maven {
url "https://oss.sonatype.org/content/repositories/snapshots"
}
maven {
url "https://github.com/novoda/public-mvn-repo/raw/master/releases"
}
@blundell
blundell / VideoView Buffering Spinner
Created January 21, 2014 12:29
Adding a progress spinner to a video view for before it starts or whilst it is buffering.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<VideoView
android:id="@+id/my_video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center" />
@blundell
blundell / anti-hungarian-checkstyle
Created January 25, 2014 15:12
Anti-Hungarian CheckStyle check
import com.puppycrawl.tools.checkstyle.api.*;
public class AntiHungarianCheck extends Check {
private static final String CATCH_MSG = "Hungarian notation belongs in the 90's. " +
"Don't prefix member variables with 'm'. " +
"Use your IDE's shiny colors. Culprit was: ";
private final HungarianNotationMemberDetector detector = new HungarianNotationMemberDetector();
@blundell
blundell / Code Readability
Last active August 29, 2015 13:57
This is an example of possible code when you have a maximum line length of 150 to attain max readability
// Code readability - 4 possibilities
// A
context.getContentResolver().update(getDownloadUri(context, intent), values, null, null);
// vs
// B
context.getContentResolver().update(
getDownloadUri(context, intent), values, null, null);
// vs
@blundell
blundell / 0_reuse_code.js
Created June 6, 2014 08:53
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@blundell
blundell / WatchFaceLifecycle-ExampleActivity.java
Last active August 29, 2015 14:03
Unofficial Base WatchFace Listener
public class ExampleActivity extends Activity implements WatchFaceLifecycle.Listener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_layout);
WatchFaceLifecycle.attach(this, savedInstanceState, this);
}
@Override