Skip to content

Instantly share code, notes, and snippets.

View iammert's full-sized avatar
🎧
Focusing

Mert Şimşek iammert

🎧
Focusing
View GitHub Profile
@iammert
iammert / AndroidSampleApp.java
Created December 18, 2017 07:12
AndroidSampleApp.java
public class AndroidSampleApp extends Application implements HasActivityInjector {
@Inject
DispatchingAndroidInjector<Activity> activityDispatchingAndroidInjector;
@Override
public void onCreate() {
super.onCreate();
DaggerAppComponent
.builder()
@iammert
iammert / AppComponent.java
Created December 18, 2017 07:11
AppComponent.java
@Component(modules = {
AndroidSupportInjectionModule.class,
AppModule.class,
ActivityBuilder.class})
interface AppComponent extends AndroidInjector<AndroidSampleApp> {
@Component.Builder
abstract class Builder extends AndroidInjector.Builder<AndroidSampleApp> {}
}
@iammert
iammert / AppComponent.java
Created December 18, 2017 07:10
AppComponent.java
@Component(modules = {
AndroidInjectionModule.class,
AppModule.class,
ActivityBuilder.class})
public interface AppComponent {
@Component.Builder
interface Builder {
@BindsInstance Builder application(Application application);
AppComponent build();
@iammert
iammert / DetailActivity.java
Created December 18, 2017 07:10
DetailActivity.java
public class DetailActivity extends DaggerAppCompatActivity implements DetailView {
@Inject
DetailPresenter detailPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
}
@iammert
iammert / DetailActivity.java
Created December 18, 2017 07:09
DetailActivity.java
public class DetailActivity extends AppCompatActivity implements HasSupportFragmentInjector, DetailView {
@Inject
DispatchingAndroidInjector<Fragment> fragmentDispatchingAndroidInjector;
@Inject
DetailPresenter detailPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
@iammert
iammert / DaggerAppCompatActivity.java
Created December 18, 2017 07:08
DaggerAppCompatActivity.java
@Beta
public abstract class DaggerAppCompatActivity extends AppCompatActivity
implements HasFragmentInjector, HasSupportFragmentInjector {
@Inject DispatchingAndroidInjector<Fragment> supportFragmentInjector;
@Inject DispatchingAndroidInjector<android.app.Fragment> frameworkFragmentInjector;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
AndroidInjection.inject(this);
@iammert
iammert / Main.kt
Created September 19, 2017 20:31
Main.kt
findViewById<View>(R.id.buttonAdd).setOnClickListener { adapter.addUser(DataGenerator.generateNewUser()) }
findViewById<View>(R.id.buttonAddBulk).setOnClickListener { adapter.addUsers(DataGenerator.generateBulkUsers()) }
findViewById<View>(R.id.buttonRemove).setOnClickListener { adapter.removeUser((Math.random() * (adapter.itemCount - 1)).toInt()) }
@iammert
iammert / adapter.kt
Created September 19, 2017 20:24
Adapter
class SortedListSampleAdapter : RecyclerView.Adapter<SortedListSampleAdapter.UserViewHolder>() {
private val userSortedList: SortedList<User>
init {
userSortedList = SortedList(User::class.java, object : SortedListAdapterCallback<User>(this) {
override fun compare(o1: User, o2: User): Int = o1.score - o2.score;
override fun areContentsTheSame(oldItem: User, newItem: User): Boolean = oldItem.id == newItem.id
@iammert
iammert / User.kt
Created September 19, 2017 19:21
User kt
data class User(var id: Int = 0, var age: Int = 0, var score: Int = 0, var name: String? = null)
@iammert
iammert / genresfragment.java
Last active July 11, 2017 11:27
genresfragment.java
viewModel.getGenres().observe(this, listResource -> {
refreshLayout.setRefreshing(listResource.status == Status.LOADING);
genresAdapter.setGenres(listResource.data);
});