Skip to content

Instantly share code, notes, and snippets.

View snadjafi's full-sized avatar

Shervin Nadjafi snadjafi

  • San Francisco, CA
View GitHub Profile
@snadjafi
snadjafi / ToStringConverterFactory.java
Created March 18, 2016 07:29
latest to string converter factory for retrofit 2.0
import java.io.IOException;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.Converter;
import retrofit2.Retrofit;
@snadjafi
snadjafi / sample.java
Last active March 10, 2017 07:40
TreeObserver example
mView.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
public void onGlobalLayout() {
int width = mView.getWidth();
int height = mView.getHeight();
if (mView.getViewTreeObserver().isAlive()) {
// remove this layout listener
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
@snadjafi
snadjafi / PhotoCursorAdapter.java
Created April 22, 2014 04:54
ResourceCursorAdapter With ViewHolder
import android.content.Context;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.provider.MediaStore;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ResourceCursorAdapter;
import android.widget.TextView;
@Override public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(getActivity(),
// Retrieve data rows for the device user's 'profile' contact.
Uri.withAppendedPath(ContactsContract.Profile.CONTENT_URI,
ContactsContract.Contacts.Data.CONTENT_DIRECTORY), ProfileQuery.PROJECTION,
// Select only email addresses.
ContactsContract.Contacts.Data.MIMETYPE +
" = ?", new String[]{ContactsContract.CommonDataKinds.Email
.CONTENT_ITEM_TYPE},
@snadjafi
snadjafi / Api.java
Created September 28, 2014 23:21
android retrofit setup example
public final class Api {
//region Variables
private static final String API_HOST = Application.string(R.string.api_server);
private static final Object sLockObject = new Object();
private static Service sService = null;
static final int DISK_CACHE_SIZE = 50 * 1024 * 1024; // 50MB
//endregion
@snadjafi
snadjafi / gist:7269963
Created November 1, 2013 18:46
Custom DialogFragment
package com.kuapay.library.fragment;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
@snadjafi
snadjafi / gist:6298002
Created August 21, 2013 18:16
persistent model
package com.kuapay.library.helperClass;
import android.content.Context;
import android.content.SharedPreferences;
public class DefaultTipHelper
{
//region Constant Variables
private static final String TIP_SETTING = "tip_setting";
private static final String DEFAULT_TIP = "0";
@snadjafi
snadjafi / gist:682892fe8890054a6a65
Created May 31, 2014 22:02
start camera actvity
Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String filePath = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DCIM).toString()+"/Camera";
File rootFolder = new File(filePath);
File image = new File(rootFolder, "bp_" + timeStamp + ".png");
Uri uriSavedImage = Uri.fromFile(image);
@snadjafi
snadjafi / question.java
Created July 29, 2014 21:33
parcelable example
package com.sf.photointake.intake.model;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.gson.annotations.SerializedName;
import java.io.Closeable;
import java.io.IOException;
import java.util.ArrayList;
@snadjafi
snadjafi / gist:eee900777f2a9caf6101
Created July 29, 2014 21:31
parcel read array
Object[] o = in.readArray(Question.class.getClassLoader());
ArrayList<mAttribute> ps = new ArrayList<Attribute>();
for (Object item : o) {
ps.add(((Attribute) item));
}
setAttributes(ps);