View advance_gmd_color_palette_colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Full Google Material Design Palette
Copyright(C) 2016 Apache 2.0 License Fred Grott(GrottWorkShop)
-->
<color name="gws_turquoise50">#b8f2ec</color>
<color name="gws_turquoise100">#9fece4</color>
<color name="gws_turquoise200">#8aeee3</color>
View strictmode.md

Apache 2.0 License Copyright(C) Fred Grott(GrottWorkSHop)

This is my strict mode stetup...to be effective you combine this with obviously having some gradle product flavors for each api levlel you are targeting

@SuppressLint("NewApi")
  public void strictModeSetUp(){
    if(BuildConfig.DEBUG){
View GradleAndroidDepsFix.md

This a gradle fix to the normal Google Android sample app code examples

androidTestCompile("com.android.support.test.espresso:espresso-core:$rootProject.espressoVersion", {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
androidTestCompile ("com.android.support.test:runner:$rootProject.ext.runnerVersion",{
        exclude group:'com.android.support', module:'support-annotations'
    })
androidTestCompile ("com.android.support.test:rules:$rootProject.ext.runnerVersion",{
View AdaptableAdaptableBindingAdapter.md

Original code developed by Robert LaThanh Modifications by Fred Grott, all under Apache License 2.0 Copyright (C) 2016

public abstract class AdaptableBindingAdapter<VM,
        AVM extends AdaptableViewModel<VM>,
        VH extends RecyclerView.ViewHolder>
        extends RecyclerView.Adapter<VH> {

  /**
View AdaptableAdaptableAdapter.md

Original code developed by Robert LaThanh Modifications by Fred Grott, all under Apache License 2.0 Copyright (C) 2016

public interface AdaptableAdapter<VM, AVM extends AdaptableViewModel<VM>> {

  /**
   * Adapt the data contained in the {@code adaptable} into a ViewModel
   * ({@link VM}) viewModel that is ready to be bound to the View (displayed).
   *
View AdaptableAbstractAdaptableViewModel.md

Original code developed by Robert LaThanh Modifications by Fred Grott, all under Apache License 2.0 Copyright (C) 2016

public abstract class AbstractAdaptableViewModel<VM>
        extends BaseObservable
        implements AdaptableViewModel<VM> {

  private @Nullable VM viewModel;
View AdaptableAdaptableViewModel.md

Original code developed by Robert LaThanh Modifications by Fred Grott, all under Apache License 2.0 Copyright (C) 2016

public interface AdaptableViewModel<VM> {

  /**
   * Get the
   * already-{@link AdaptableAdapter#adapt(AdaptableViewModel) adapted}
   * version of this object, which had been saved by a previous call to
View SimpleonBindViewHolder.md

Original code developed by Robert LaThanh Modifications by Fred Grott, all under Apache License 2.0 Copyright (C) 2016

@Override
  public void onBindViewHolder(final VH loadingViewHolder,
                               int position) {
    final AdaptableViewModel<A, VM> adaptableViewModel = items.get(position);
    VM viewModel = adaptableViewModel.viewModel;
View AdaptOnDemandSimpleBindingAdapter.md

Original code developed by Robert LaThanh Modifications by Fred Grott, all under Apache License 2.0 Copyright (C) 2016

AdaptOnDemandSimpleBindingAdapter

public abstract class AdaptOnDemandSimpleBindingAdapter<A, VM,
        VH extends RecyclerView.ViewHolder &
                Taggable>
View SimpleAdaptableViewModel.md

Original code developed by Robert LaThanh Modifications by Fred Grott, all under Apache License 2.0 Copyright (C) 2016

The AdaptableViewModel

public class AdaptableViewModel<A, VM> extends BaseObservable {
  @NonNull A adaptable;
  @Nullable VM viewModel;