Skip to content

Instantly share code, notes, and snippets.

View SeanPONeil's full-sized avatar

Sean O'Neil SeanPONeil

  • LogicGate
  • Ann Arbor, Michigan
View GitHub Profile
@SeanPONeil
SeanPONeil / gist:3362100
Created August 15, 2012 18:17
add a suffix to a date
static String getDayOfMonthSuffix(final int n) {
if (n >= 11 && n <= 13) {
return "th";
}
switch (n % 10) {
case 1: return "st";
case 2: return "nd";
case 3: return "rd";
default: return "th";
}
@SeanPONeil
SeanPONeil / AsyncBus.java
Created August 15, 2012 19:47
Asynchronous Otto BusProvider that always posts events on the main thread
public class AsyncBus extends Bus {
private final Handler mainThread = new Handler(Looper.getMainLooper());
@Override public void post(final Object event) {
mainThread.post(new Runnable() {
@Override public void run() {
AsyncBus.super.post(event);
}
});
}
@SeanPONeil
SeanPONeil / coloredlogcat.py
Created August 30, 2012 14:49
script to highlight adb logcat output for console
#!/usr/bin/python
'''
Copyright 2009, 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
@SeanPONeil
SeanPONeil / .bash_prompt
Created September 13, 2012 20:05
Sexy Solarized Bash Prompt, inspired by "Extravagant Zsh Prompt"
# Sexy Solarized Bash Prompt, inspired by "Extravagant Zsh Prompt"
# Customized for the Solarized color scheme by Sean O'Neil
if [[ $COLORTERM = gnome-* && $TERM = xterm ]] && infocmp gnome-256color >/dev/null 2>&1; then TERM=gnome-256color; fi
if tput setaf 1 &> /dev/null; then
tput sgr0
if [[ $(tput colors) -ge 256 ]] 2>/dev/null; then
BASE03=$(tput setaf 234)
BASE02=$(tput setaf 235)
BASE01=$(tput setaf 240)
@SeanPONeil
SeanPONeil / NodeActivity.java
Created February 9, 2013 22:35
Dual Pane layout?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.node_container);
mIsDualPane = getResources().getBoolean(R.bool.has_two_panes);
nid = getIntent().getIntExtra("nid", 0);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
@SeanPONeil
SeanPONeil / NodeCommentFragment.java
Created March 27, 2013 14:31
Sort Method for NodeCommentFragment
public void sort(String type){
SharedPreferences prefs = getActivity().getSharedPreferences(
getActivity().getPackageName(), Context.MODE_PRIVATE);
if(type.equals(ASC)){
prefs.edit().putString(SORT, ASC).commit();
} else {
prefs.edit().putString(SORT, DESC).commit();
}
private static String parseVals(String key, String val, String prefix) throws InvalidKeyException, NoSuchAlgorithmException, IOException {
long ts = System.currentTimeMillis() / 1000;
String[] parts = val.split("\\|");
String u_prefix = parts[0];
String u_b64 = parts[1];
String u_sig = parts[2];
String sig = Util.hmacSign(key, u_prefix + "|" + u_b64);
if (!Util.hmacSign(key, sig).equals(Util.hmacSign(key, u_sig))) {
@SeanPONeil
SeanPONeil / PRNGstacktrace.txt
Created August 20, 2013 15:04
Stacktrace when using Google's SecureRandom PRNG patch (http://android-developers.blogspot.com/2013/08/some-securerandom-thoughts.html) with Robolectric
java.lang.RuntimeException: java.lang.SecurityException: Failed to seed OpenSSL PRNG
at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:231)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
@SeanPONeil
SeanPONeil / displayNotification.java
Last active August 29, 2015 13:58
displayNotification
public void displayNotification() {
mNotifyBuilder = new NotificationCompat.Builder(this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
mNotificationManager.notify(
notifyID, mNotifyBuilder.build());
}
@SeanPONeil
SeanPONeil / displayNotificationWithAction.java
Last active August 29, 2015 13:58
Display Notification with actions
public void displayNotificationWithActions() {
mNotifyBuilder = new NotificationCompat.Builder(this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status);
// Create Pending Intent that broadcasts an Intent
Intent intent = new Intent(context.getPackageName() + ".READ_MESSAGE");
PendingIntent pendingIntent =
PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);