Skip to content

Instantly share code, notes, and snippets.

View mohsenoid's full-sized avatar
:octocat:
What can go wrong?!

Mohsen Mirhoseini mohsenoid

:octocat:
What can go wrong?!
View GitHub Profile
@mohsenoid
mohsenoid / DividerItemDecorationNoLast.kt
Created July 26, 2018 13:24
A customized version of Android support DividerItemDecoration which doesn't add divider to last list item!
package com.germanautolabs.chris.utils
import android.content.Context
import android.graphics.Canvas
import android.graphics.Rect
import android.graphics.drawable.Drawable
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import android.util.Log
import android.view.View
// building PhoneNumber objects
val phoneHome = AddressBookProtos.Person.PhoneNumber.newBuilder()
.setNumber("+49123456")
.setType(AddressBookProtos.Person.PhoneType.HOME)
.build()
val phoneMobile = AddressBookProtos.Person.PhoneNumber.newBuilder()
.setNumber("+49654321")
.setType(AddressBookProtos.Person.PhoneType.MOBILE)
.build()
syntax = "proto2";
package tutorial;
option java_package = "com.mohsenoid.protobuftest";
option java_outer_classname = "AddressBookProtos";
message Person {
required string name = 1;
required int32 id = 2;
apply plugin: 'java-library'
apply plugin: 'com.google.protobuf'
sourceSets {
main.java.srcDirs += "${protobuf.generatedFilesBaseDir}/main/javalite"
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.protobuf:protobuf-lite:3.0.0'
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.2.10'
ext.protobufVersion = '0.8.3'
repositories {
google()
jcenter()
}
package com.mirhoseini.marvel.activity;
/*...*/
@RunWith(AndroidJUnit4.class)
public class MainActivityTest {
private static final String TEST_CHARACTER_NAME = "Test Name";
private static final String TEST_CHARACTER_DESCRIPTION = "Test Description";
private static final String TEST_CHARACTER_THUMBNAIL_PATH = "Test Thumbnail";
package com.mirhoseini.marvel;
/*...*/
public class MarvelTestApplication extends MarvelApplicationImpl {
@Override
public ApplicationTestComponent createComponent() {
return DaggerApplicationTestComponent
.builder()
package com.mirhoseini.marvel;
/*...*/
public class MarvelTestRunner extends AndroidJUnitRunner {
@Override
public Application newApplication(ClassLoader classLoader, String className, Context context)
throws InstantiationException, IllegalAccessException, ClassNotFoundException {
// replace Application class with mock one
package com.mirhoseini.marvel.activity;
/*...*/
@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21, shadows = {ShadowSnackbar.class})
public class MainActivityRobolectricTest {
private final static String TEST_TEXT = "This is a test text.";
private MainActivity activity;
package com.mirhoseini.marvel.character.search;
/*...*/
import org.junit.Before;
import org.junit.Test;
import java.util.Collections;
import rx.Observable;