Skip to content

Instantly share code, notes, and snippets.

@SebastianEngel
SebastianEngel / SherlockMapFragment.java
Created August 24, 2013 14:15
ActionBarSherlock compatible implementation of a SupportMapFragment (Google Maps Android API v2)
/*
* Copyright (C) 2013 Sebastian Engel
*
* 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
@SebastianEngel
SebastianEngel / SherlockYouTubePlayerFragment.java
Created August 24, 2013 14:20
ActionBarSherlock compatible implementation of a YouTubePlayerSupportFragment (YouTube Android Player API)
/*
* Copyright (C) 2013 Sebastian Engel
*
* 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
@SebastianEngel
SebastianEngel / fragment_locations_map.xml
Last active December 22, 2015 17:59
Layout used for a Fragment that contains a MapView
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map_view_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.maps.MapView
android:id="@+id/map_view"
android:layout_width="match_parent"
@SebastianEngel
SebastianEngel / TimberLogger.java
Created October 15, 2013 12:12
Wrapper class for Timber logging offering static method calls, e.g. TimberLogger.d("Hello %s", user.name). Evaluates BuildConfig.DEBUG to decide if an instance of Timber.DEBUG or Timber.PROD will be used.
package de.bsr.android.util;
import com.example.app.BuildConfig;
import timber.log.Timber;
/**
* Wrapper class for Timber that evaluates <code>BuildConfig.DEBUG</code> on construction
* and uses Timber.DEBUG or Timber.PROD appropriately. In PROD mode, no logging is done at all.
*
* @author Sebastian Engel <engel.sebastian@gmail.com>
diff --git a/core/src/main/java/novoda/lib/sqliteprovider/provider/action/InsertHelper.java b/core/src/main/java/novoda/lib/sqliteprovider/provider/action/InsertHelper.java
index 864fb45..555da5f 100644
--- a/core/src/main/java/novoda/lib/sqliteprovider/provider/action/InsertHelper.java
+++ b/core/src/main/java/novoda/lib/sqliteprovider/provider/action/InsertHelper.java
@@ -6,6 +6,8 @@ import android.database.Cursor;
import android.database.SQLException;
import android.net.Uri;
+import java.util.List;
+
-- ...
CREATE TABLE "image_likers" (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
image_id INTEGER,
user_id INTEGER,
UNIQUE(image_id, user_id) ON CONFLICT REPLACE,
FOREIGN KEY (image_id) REFERENCES "images" (_id),
FOREIGN KEY (user_id) REFERENCES "users" (_id)
@SebastianEngel
SebastianEngel / DefaultHeaderTransformer.java
Created July 8, 2014 09:58
Methods in DefaultHeaderTransformation adjusted to make the ActionBar-PTR progress bar color styling work again
public void setProgressBarColor(int color) {
if (color != mProgressDrawableColor) {
mProgressDrawableColor = color;
applyProgressBarSettings();
}
}
private void applyProgressBarSettings() {
if (mHeaderProgressBar != null) {
final int strokeWidth = mHeaderProgressBar.getResources()
@SebastianEngel
SebastianEngel / CroutonController.java
Created September 4, 2014 10:11
Controller class used to encapsulate the usage of croutons.
package your_package;
import android.app.Activity;
import android.app.Application;
import android.content.res.Resources;
import android.os.Bundle;
import cyour_package.R;
import javax.inject.Inject;
#!/bin/bash
# Usage: throttle_google_drive.sh <start/stop>
function start_ipfw_throttle() {
sudo ipfw pipe 1 config bw 100KByte/s
sudo ipfw add 1 pipe 1 ip from me to 64.18.0.0/20
sudo ipfw add 1 pipe 1 ip from me to 64.233.160.0/19
@SebastianEngel
SebastianEngel / PagerTwoTabsStrip.java
Last active August 22, 2016 10:12
Implementation of fixed tabs - Stackoverflow question. Note that these classes must be placed into a package "android.support.v4.view" as ViewPager.DecorView is not public.
/**
* Subclass of {@link PagerTwoTitlesStrip} and so implementation of a {@link android.widget.LinearLayout}
* used as a {@link android.support.v4.view.ViewPager} indicator. This view holds two {@link android.widget.TextView}s, each being
* the title of the two pages. The title of the 'current' tab is underlined by a tab indicator.
*
* <p>Inspired by Google's {@link PagerTabStrip}</p>
*/
public class PagerTwoTabsStrip extends PagerTwoTitlesStrip {
@SuppressWarnings("unused")