// Path: app/src/main/java/io/petros/posts/activity/AbstractAppActivity.java
// @SuppressLint("Registered")
// public class AbstractAppActivity extends AppCompatActivity {
// 
//     // LIFECYCLE // *********************************************************************************************************
// 
//     @Override
//     protected void onCreate(@Nullable final Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         Timber.d("%s created.", getClass().getSimpleName());
//     }
// 
//     @Override
//     public void onRestart() {
//         super.onRestart();
//         Timber.d("%s restarted.", getClass().getSimpleName());
//     }
// 
//     @Override
//     protected void onStart() {
//         super.onStart();
//         Timber.d("%s started.", getClass().getSimpleName());
//     }
// 
//     @Override
//     protected void onResume() {
//         super.onResume();
//         Timber.d("%s resumed.", getClass().getSimpleName());
//     }
// 
//     @Override
//     @CallSuper
//     protected void onPause() {
//         Timber.d("%s paused.", getClass().getSimpleName());
//         super.onPause();
//     }
// 
//     @Override
//     protected void onStop() {
//         Timber.d("%s stopped.", getClass().getSimpleName());
//         super.onStop();
//     }
// 
//     @Override
//     protected void onDestroy() {
//         Timber.d("%s destroyed.", getClass().getSimpleName());
//         super.onDestroy();
//     }
// 
//     // TOOLBAR // ***********************************************************************************************************
// 
//     @SuppressFBWarnings("RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE")
//     protected void setToolbar(final Toolbar toolbar) {
//         setSupportActionBar(toolbar);
//         @Nullable final ActionBar actionBar = getSupportActionBar();
//         if (actionBar != null) {
//             actionBar.setDisplayShowHomeEnabled(true);
//             actionBar.setDisplayHomeAsUpEnabled(true);
//         } else {
//             Timber.w("Cannot get an action bar for this activity; verify that this activity has actually defined a toolbar.");
//         }
//     }
// 
//     // SNACKBAR // **********************************************************************************************************
// 
//     protected void setSnackbar(final CoordinatorLayout coordinatorLayout) {
//         PostsApplication.snackbar(this).setCoordinatorLayout(coordinatorLayout);
//     }
// 
//     // FRAGMENT // **********************************************************************************************************
// 
//     protected void setFragment(final int containerViewId) {
//         final FragmentManager fragmentManager = getFragmentManager();
//         final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
//         fragmentTransaction.add(containerViewId, new Fragment());
//         fragmentTransaction.commit();
//     }
// 
// }
// 
// Path: app/src/main/java/io/petros/posts/app/PostsApplication.java
// @SuppressWarnings("checkstyle:overloadmethodsdeclarationorder")
// public class PostsApplication extends Application {
// 
//     private static ApplicationComponent applicationComponent;
// 
//     static {
//         AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); // NOTE: This enables the "proxy" trick on the vector images.
//     }
// 
//     @Inject AppSnackbarActions appSnackbarActions;
// 
//     // HELPER // ************************************************************************************************************
// 
//     public static ApplicationComponent getApplicationComponent() {
//         return applicationComponent;
//     }
// 
//     public static SnackbarActions snackbar(final Activity activity) {
//         return ((PostsApplication) activity.getApplication()).snackbar();
//     }
// 
//     // APPLICATION // *******************************************************************************************************
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         initDagger();
//         initRealm();
//         initTimber();
//         Timber.i("Posts application created!");
//     }
// 
//     private void initDagger() {
//         applicationComponent = DaggerApplicationComponent.builder()
//                 .appModule(new AppModule(this))
//                 .netModule(new NetModule(BASE_URL))
//                 .dataModule(new DataModule())
//                 .serviceModule(new ServiceModule())
//                 .activityModule(new ActivityModule()).build();
//         applicationComponent.inject(this);
//     }
// 
//     private void initTimber() {
//         Timber.plant(new Timber.DebugTree());
//     }
// 
//     protected void initRealm() {
//         Realm.init(this);
//     }
// 
//     // GET // ***************************************************************************************************************
// 
//     public Realm getDefaultRealmInstance() {
//         return Realm.getDefaultInstance();
//     }
// 
//     // ACTIONS // ***********************************************************************************************************
// 
//     public SnackbarActions snackbar() {
//         return appSnackbarActions;
//     }
// 
// }


import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.v7.widget.Toolbar;
import javax.annotation.Nullable;
import javax.inject.Inject;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import io.petros.posts.R;
import io.petros.posts.activity.AbstractAppActivity;
import io.petros.posts.app.PostsApplication;
package io.petros.posts.activity.posts;




public class PostsActivity extends AbstractAppActivity {

    @Inject PostsApplication application;

    @BindView(R.id.activity_posts__coordinator_layout) CoordinatorLayout coordinatorLayout;
    @BindView(R.id.activity_posts__toolbar) Toolbar toolbar;

    // LIFECYCLE // *********************************************************************************************************

    @Override
    @SuppressFBWarnings("NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE")
    protected void onCreate(@Nullable final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_posts);
        setActivityDependencies();
// Path: app/src/main/java/io/petros/posts/activity/AbstractAppActivity.java
// @SuppressLint("Registered")
// public class AbstractAppActivity extends AppCompatActivity {
// 
//     // LIFECYCLE // *********************************************************************************************************
// 
//     @Override
//     protected void onCreate(@Nullable final Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         Timber.d("%s created.", getClass().getSimpleName());
//     }
// 
//     @Override
//     public void onRestart() {
//         super.onRestart();
//         Timber.d("%s restarted.", getClass().getSimpleName());
//     }
// 
//     @Override
//     protected void onStart() {
//         super.onStart();
//         Timber.d("%s started.", getClass().getSimpleName());
//     }
// 
//     @Override
//     protected void onResume() {
//         super.onResume();
//         Timber.d("%s resumed.", getClass().getSimpleName());
//     }
// 
//     @Override
//     @CallSuper
//     protected void onPause() {
//         Timber.d("%s paused.", getClass().getSimpleName());
//         super.onPause();
//     }
// 
//     @Override
//     protected void onStop() {
//         Timber.d("%s stopped.", getClass().getSimpleName());
//         super.onStop();
//     }
// 
//     @Override
//     protected void onDestroy() {
//         Timber.d("%s destroyed.", getClass().getSimpleName());
//         super.onDestroy();
//     }
// 
//     // TOOLBAR // ***********************************************************************************************************
// 
//     @SuppressFBWarnings("RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE")
//     protected void setToolbar(final Toolbar toolbar) {
//         setSupportActionBar(toolbar);
//         @Nullable final ActionBar actionBar = getSupportActionBar();
//         if (actionBar != null) {
//             actionBar.setDisplayShowHomeEnabled(true);
//             actionBar.setDisplayHomeAsUpEnabled(true);
//         } else {
//             Timber.w("Cannot get an action bar for this activity; verify that this activity has actually defined a toolbar.");
//         }
//     }
// 
//     // SNACKBAR // **********************************************************************************************************
// 
//     protected void setSnackbar(final CoordinatorLayout coordinatorLayout) {
//         PostsApplication.snackbar(this).setCoordinatorLayout(coordinatorLayout);
//     }
// 
//     // FRAGMENT // **********************************************************************************************************
// 
//     protected void setFragment(final int containerViewId) {
//         final FragmentManager fragmentManager = getFragmentManager();
//         final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
//         fragmentTransaction.add(containerViewId, new Fragment());
//         fragmentTransaction.commit();
//     }
// 
// }
// 
// Path: app/src/main/java/io/petros/posts/app/PostsApplication.java
// @SuppressWarnings("checkstyle:overloadmethodsdeclarationorder")
// public class PostsApplication extends Application {
// 
//     private static ApplicationComponent applicationComponent;
// 
//     static {
//         AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); // NOTE: This enables the "proxy" trick on the vector images.
//     }
// 
//     @Inject AppSnackbarActions appSnackbarActions;
// 
//     // HELPER // ************************************************************************************************************
// 
//     public static ApplicationComponent getApplicationComponent() {
//         return applicationComponent;
//     }
// 
//     public static SnackbarActions snackbar(final Activity activity) {
//         return ((PostsApplication) activity.getApplication()).snackbar();
//     }
// 
//     // APPLICATION // *******************************************************************************************************
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         initDagger();
//         initRealm();
//         initTimber();
//         Timber.i("Posts application created!");
//     }
// 
//     private void initDagger() {
//         applicationComponent = DaggerApplicationComponent.builder()
//                 .appModule(new AppModule(this))
//                 .netModule(new NetModule(BASE_URL))
//                 .dataModule(new DataModule())
//                 .serviceModule(new ServiceModule())
//                 .activityModule(new ActivityModule()).build();
//         applicationComponent.inject(this);
//     }
// 
//     private void initTimber() {
//         Timber.plant(new Timber.DebugTree());
//     }
// 
//     protected void initRealm() {
//         Realm.init(this);
//     }
// 
//     // GET // ***************************************************************************************************************
// 
//     public Realm getDefaultRealmInstance() {
//         return Realm.getDefaultInstance();
//     }
// 
//     // ACTIONS // ***********************************************************************************************************
// 
//     public SnackbarActions snackbar() {
//         return appSnackbarActions;
//     }
// 
// }


// Path: app/src/main/java/io/petros/posts/activity/posts/PostsActivity.java
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.v7.widget.Toolbar;
import javax.annotation.Nullable;
import javax.inject.Inject;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import io.petros.posts.R;
import io.petros.posts.activity.AbstractAppActivity;
import io.petros.posts.app.PostsApplication;

package io.petros.posts.activity.posts;




public class PostsActivity extends AbstractAppActivity {

    @Inject PostsApplication application;

    @BindView(R.id.activity_posts__coordinator_layout) CoordinatorLayout coordinatorLayout;
    @BindView(R.id.activity_posts__toolbar) Toolbar toolbar;

    // LIFECYCLE // *********************************************************************************************************

    @Override
    @SuppressFBWarnings("NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE")
    protected void onCreate(@Nullable final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_posts);
        setActivityDependencies();
        setSupportActionBar(toolbar);