Skip to content

Instantly share code, notes, and snippets.

View mladenrakonjac's full-sized avatar

Mladen Rakonjac mladenrakonjac

  • Infinum
  • Montenegro
View GitHub Profile
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
/**
* Created by mladenrakonjac on 01/06/16.
*/
public class ServiceGenerator {
apply plugin: 'checkstyle'
task checkstyle(type: Checkstyle){
description 'Checks if the code meets standards'
group 'verification'
configFile file('./qa-check/checkstyle.xml')
source 'src'
include '**/*.java'
exclude '**/gen/**'
def getVersionCode = { ->
try {
def code = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-list', '--remotes'
standardOutput = code
}
return code.toString().split("\n").size()
}
catch (ignored) {
@mladenrakonjac
mladenrakonjac / Application.java
Created September 13, 2016 09:49
Application class for Android projects
public class NameOfApplication extends Application {
private FirebaseAnalytics mFirebaseAnalytics;
private static NameOfApplication mInstance;
@Override
public void onCreate() {
super.onCreate();
@mladenrakonjac
mladenrakonjac / BaseView.java
Created September 15, 2016 06:36
Base View for MVP pattern in Android
package me.fleka.deltacity.presentation;
/**
* Created by mladenrakonjac on 14/09/16.
*/
public interface BaseView<T> {
void setPresenter(T presenter);
}
@mladenrakonjac
mladenrakonjac / ShoppingContract.java
Created September 15, 2016 06:58
Example of Contract interface in MVP pattern
package me.fleka.deltacity.presentation.shopping;
import java.util.List;
import me.fleka.deltacity.domain.models.Category;
import me.fleka.deltacity.domain.models.Shop;
import me.fleka.deltacity.presentation.BasePresenter;
import me.fleka.deltacity.presentation.BaseView;
/**
* Created by mladenrakonjac on 14/09/16.
@mladenrakonjac
mladenrakonjac / ShoppingFragment.java
Created September 15, 2016 07:24
Example of fragment that implements Contract.View
package me.fleka.deltacity.presentation.shopping;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v4.app.Fragment;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SearchView;
import android.view.LayoutInflater;
import android.view.View;
@mladenrakonjac
mladenrakonjac / ShoppingPresenterImpl.java
Created September 15, 2016 07:28
Implementation of Contract.Presenter in MVP pattern
package me.fleka.deltacity.presentation.shopping;
import android.support.annotation.NonNull;
import java.util.List;
import me.fleka.deltacity.data.category.CategoryDataSource;
import me.fleka.deltacity.domain.models.Category;
import static com.google.gson.internal.$Gson$Preconditions.checkNotNull;
/**
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
public class ${NAME} extends
RecyclerView.Adapter<${NAME}.ViewHolder> {
private static final String TAG = ${NAME}.class.getSimpleName();
private Context context;
private List<${LIST_MODEL}> list;
private OnItemClickListener onItemClickListener;
@mladenrakonjac
mladenrakonjac / GlideSVG.java
Last active September 18, 2020 06:42
Glide svg image loading from web.
GenericRequestBuilder<Uri,InputStream,SVG,PictureDrawable>
requestBuilder = Glide.with(context)
.using(Glide.buildStreamModelLoader(Uri.class, context), InputStream.class)
.from(Uri.class)
.as(SVG.class)
.transcode(new SvgDrawableTranscoder(), PictureDrawable.class)
.sourceEncoder(new StreamEncoder())
.cacheDecoder(new FileToStreamDecoder<SVG>(new SvgDecoder()))
.decoder(new SvgDecoder())
.placeholder(R.drawable.svg_image_view_placeholder)