From 281ee3c70760606ea621f26a556df73973a5b3dd Mon Sep 17 00:00:00 2001 From: Lucas Miotti Date: Mon, 21 Dec 2020 12:23:40 -0300 Subject: [PATCH 1/4] Added view binding --- build.gradle | 9 ++-- core/build.gradle | 8 +++- .../wolmo/core/di/modules/DefaultModule.kt | 5 ++- .../wolmo/core/fragment/GetImageFragment.java | 3 +- .../WolmoBottomSheetDialogFragment.kt | 8 +++- .../core/fragment/WolmoDialogFragment.kt | 8 +++- .../wolmo/core/fragment/WolmoFragment.kt | 8 +++- .../core/fragment/WolmoFragmentHandler.java | 14 +++++- .../core/fragment/GetImageFragmentTest.java | 2 +- .../WolmoBottomSheetDialogFragmentTest.java | 2 +- .../fragment/WolmoDialogFragmentTest.java | 2 +- .../fragment/WolmoFragmentHandlerTest.java | 44 ++++++++++++++++++- .../core/fragment/WolmoFragmentTest.java | 4 +- gradle.properties | 3 +- gradle/wrapper/gradle-wrapper.properties | 4 +- 15 files changed, 98 insertions(+), 26 deletions(-) diff --git a/build.gradle b/build.gradle index 6236571..83c8d90 100644 --- a/build.gradle +++ b/build.gradle @@ -1,14 +1,15 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.3.61' + ext.kotlin_version = '1.3.72' repositories { google() jcenter() + maven { url "https://plugins.gradle.org/m2/" } } dependencies { - classpath 'com.android.tools.build:gradle:3.5.3' - classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4' + classpath 'com.android.tools.build:gradle:4.0.2' + classpath 'com.hiya:jacoco-android:0.2' classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.8.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong @@ -21,6 +22,8 @@ allprojects { google() jcenter() maven { url "https://oss.sonatype.org/content/repositories/snapshots" } + maven { url "https://plugins.gradle.org/m2/" } + } } diff --git a/core/build.gradle b/core/build.gradle index 8d083dd..13ef5d0 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' -apply plugin: 'jacoco-android' +apply plugin: 'com.hiya.jacoco-android' apply plugin: 'com.github.kt3k.coveralls' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 29 - buildToolsVersion '29.0.2' + buildToolsVersion '29.0.3' testOptions.unitTests.includeAndroidResources = true compileOptions { @@ -32,6 +32,10 @@ android { lintOptions { abortOnError false } + + buildFeatures { + dataBinding true + } } jacocoAndroidUnitTestReport { diff --git a/core/src/main/java/ar/com/wolox/wolmo/core/di/modules/DefaultModule.kt b/core/src/main/java/ar/com/wolox/wolmo/core/di/modules/DefaultModule.kt index 539f7b6..f11af2e 100644 --- a/core/src/main/java/ar/com/wolox/wolmo/core/di/modules/DefaultModule.kt +++ b/core/src/main/java/ar/com/wolox/wolmo/core/di/modules/DefaultModule.kt @@ -22,6 +22,7 @@ package ar.com.wolox.wolmo.core.di.modules import android.util.SparseArray +import androidx.databinding.ViewDataBinding import ar.com.wolox.wolmo.core.fragment.WolmoFragmentHandler import ar.com.wolox.wolmo.core.permission.PermissionListener import ar.com.wolox.wolmo.core.presenter.BasePresenter @@ -50,7 +51,7 @@ class DefaultModule { @Provides fun providesDefaultWolmoFragmentHandler(toastFactory: ToastFactory, logger: Logger, - basePresenter: BasePresenter): WolmoFragmentHandler<*> { - return WolmoFragmentHandler(toastFactory, logger, basePresenter) + basePresenter: BasePresenter): WolmoFragmentHandler<*,*> { + return WolmoFragmentHandler>(toastFactory, logger, basePresenter) } } \ No newline at end of file diff --git a/core/src/main/java/ar/com/wolox/wolmo/core/fragment/GetImageFragment.java b/core/src/main/java/ar/com/wolox/wolmo/core/fragment/GetImageFragment.java index d980cab..f493f85 100644 --- a/core/src/main/java/ar/com/wolox/wolmo/core/fragment/GetImageFragment.java +++ b/core/src/main/java/ar/com/wolox/wolmo/core/fragment/GetImageFragment.java @@ -28,6 +28,7 @@ import androidx.annotation.NonNull; import androidx.annotation.StringRes; +import androidx.databinding.ViewDataBinding; import java.io.File; @@ -45,7 +46,7 @@ * @deprecated use {@link ar.com.wolox.wolmo.core.util.GetImageHelper} instead. */ @Deprecated -public abstract class GetImageFragment> extends WolmoFragment { +public abstract class GetImageFragment> extends WolmoFragment { private static final String[] CAMERA_PERMISSIONS = new String[] { Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE diff --git a/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoBottomSheetDialogFragment.kt b/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoBottomSheetDialogFragment.kt index 93ca027..12c1f30 100644 --- a/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoBottomSheetDialogFragment.kt +++ b/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoBottomSheetDialogFragment.kt @@ -35,6 +35,7 @@ import android.view.ViewGroup import android.view.Window import android.view.WindowManager import androidx.annotation.CallSuper +import androidx.databinding.ViewDataBinding import androidx.fragment.app.FragmentManager import ar.com.wolox.wolmo.core.permission.PermissionManager import ar.com.wolox.wolmo.core.presenter.BasePresenter @@ -48,14 +49,14 @@ import javax.inject.Inject * inflating the view returned by [layout]. * The presenter is created on [onCreate] if [handleArguments] returns true. */ -abstract class WolmoBottomSheetDialogFragment

> : BottomSheetDialogFragment(), +abstract class WolmoBottomSheetDialogFragment> : BottomSheetDialogFragment(), IWolmoFragment { @Inject lateinit var permissionManager: PermissionManager @Inject - lateinit var fragmentHandler: WolmoFragmentHandler

+ lateinit var fragmentHandler: WolmoFragmentHandler /** Invoked when thee dialog is attached. */ var onAttached: (() -> Unit)? = null @@ -63,6 +64,9 @@ abstract class WolmoBottomSheetDialogFragment

> : BottomShee val presenter: P get() = fragmentHandler.presenter + protected val binding: V? + get() = fragmentHandler.binding + @CallSuper override fun onAttach(context: Context) { AndroidSupportInjection.inject(this) diff --git a/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoDialogFragment.kt b/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoDialogFragment.kt index db74219..ccc2f30 100644 --- a/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoDialogFragment.kt +++ b/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoDialogFragment.kt @@ -34,6 +34,7 @@ import android.view.ViewGroup import android.view.Window import android.view.WindowManager import androidx.annotation.CallSuper +import androidx.databinding.ViewDataBinding import androidx.fragment.app.FragmentManager import ar.com.wolox.wolmo.core.permission.PermissionManager import ar.com.wolox.wolmo.core.presenter.BasePresenter @@ -45,18 +46,21 @@ import javax.inject.Inject * inflating the view returned by [layout]. * The presenter is created on [onCreate] if [handleArguments] returns true. */ -abstract class WolmoDialogFragment

> : DaggerAppCompatDialogFragment(), +abstract class WolmoDialogFragment> : DaggerAppCompatDialogFragment(), IWolmoFragment { @Inject lateinit var permissionManager: PermissionManager @Inject - lateinit var fragmentHandler: WolmoFragmentHandler

+ lateinit var fragmentHandler: WolmoFragmentHandler val presenter: P get() = fragmentHandler.presenter + val binding: V? + get() = fragmentHandler.binding + override fun onCreateDialog(savedInstanceState: Bundle?) = super.onCreateDialog(savedInstanceState).apply { window?.run { requestFeature(Window.FEATURE_NO_TITLE) diff --git a/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoFragment.kt b/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoFragment.kt index 1ad5c92..1a4b7f3 100644 --- a/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoFragment.kt +++ b/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoFragment.kt @@ -26,6 +26,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.annotation.CallSuper +import androidx.databinding.ViewDataBinding import ar.com.wolox.wolmo.core.permission.PermissionManager import ar.com.wolox.wolmo.core.presenter.BasePresenter import dagger.android.support.DaggerFragment @@ -36,10 +37,10 @@ import javax.inject.Inject * by [layout]. The presenter is created on [onCreate] if [handleArguments] returns true. * This class defines default implementations for most of the methods on [IWolmoFragment]. */ -abstract class WolmoFragment

> : DaggerFragment(), IWolmoFragment { +abstract class WolmoFragment> : DaggerFragment(), IWolmoFragment { @Inject - lateinit var fragmentHandler: WolmoFragmentHandler

+ lateinit var fragmentHandler: WolmoFragmentHandler @Inject lateinit var permissionManager: PermissionManager @@ -51,6 +52,9 @@ abstract class WolmoFragment

> : DaggerFragment(), IWolmoFra val presenter: P get() = fragmentHandler.presenter + val binding: V? + get() = fragmentHandler.binding + @CallSuper override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) diff --git a/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandler.java b/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandler.java index e2ce11b..ccf29ee 100644 --- a/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandler.java +++ b/core/src/main/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandler.java @@ -28,6 +28,8 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.databinding.DataBindingUtil; +import androidx.databinding.ViewDataBinding; import androidx.fragment.app.Fragment; import javax.inject.Inject; @@ -41,7 +43,7 @@ * This class is used to separate Wolox Fragments logic so that different subclasses of * Fragment can implement MVP without re-writing this. */ -public final class WolmoFragmentHandler { +public final class WolmoFragmentHandler { private Fragment mFragment; private IWolmoFragment mWolmoFragment; @@ -51,6 +53,7 @@ public final class WolmoFragmentHandler { private boolean mVisible; private @NonNull T mPresenter; + private @Nullable V mBinding; private ToastFactory mToastFactory; private Logger mLogger; @@ -105,7 +108,8 @@ void onCreate(@NonNull IWolmoFragment wolmoFragment) { *

*/ View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container) { - return inflater.inflate(mWolmoFragment.layout(), container, false); + mBinding = DataBindingUtil.inflate(inflater, mWolmoFragment.layout(), container, false); + return mBinding.getRoot(); } /** @@ -132,6 +136,11 @@ public T getPresenter() { return mPresenter; } + @Nullable + public V getBinding() { + return mBinding; + } + private void onVisibilityChanged() { if (!mCreated) return; if (mFragment.isResumed() && mMenuVisible && !mVisible) { @@ -176,5 +185,6 @@ void setMenuVisibility(boolean visible) { */ void onDestroyView() { getPresenter().detachView(); + mBinding = null; } } \ No newline at end of file diff --git a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/GetImageFragmentTest.java b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/GetImageFragmentTest.java index 963d09d..e171885 100644 --- a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/GetImageFragmentTest.java +++ b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/GetImageFragmentTest.java @@ -71,7 +71,7 @@ public class GetImageFragmentTest { static final int CAMERA_ERROR_RES_ID = 1234; static final String CAMERA_FILENAME = "Filename"; - private WolmoFragmentHandler> mWolmoFragmentHandlerMock; + private WolmoFragmentHandler> mWolmoFragmentHandlerMock; private PermissionManager mPermissionManagerMock; private ImageProvider mImageProviderMock; private WolmoFileProvider mWolmoFileProviderMock; diff --git a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoBottomSheetDialogFragmentTest.java b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoBottomSheetDialogFragmentTest.java index 497ced1..528f839 100644 --- a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoBottomSheetDialogFragmentTest.java +++ b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoBottomSheetDialogFragmentTest.java @@ -40,7 +40,7 @@ public class WolmoBottomSheetDialogFragmentTest { - private WolmoFragmentHandler> mWolmoFragmentHandlerMock; + private WolmoFragmentHandler> mWolmoFragmentHandlerMock; private PermissionManager mPermissionManagerMock; private WolmoBottomSheetDialogFragment mWolmoBottomSheetDialogFragmentSpy; diff --git a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoDialogFragmentTest.java b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoDialogFragmentTest.java index 2a740a2..439f717 100644 --- a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoDialogFragmentTest.java +++ b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoDialogFragmentTest.java @@ -40,7 +40,7 @@ public class WolmoDialogFragmentTest { - private WolmoFragmentHandler> mWolmoFragmentHandlerMock; + private WolmoFragmentHandler> mWolmoFragmentHandlerMock; private PermissionManager mPermissionManagerMock; private WolmoDialogFragment mWolmoDialogFragmentSpy; diff --git a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandlerTest.java b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandlerTest.java index 96e575a..2572b13 100644 --- a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandlerTest.java +++ b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandlerTest.java @@ -24,6 +24,9 @@ import android.os.Bundle; import android.view.View; +import androidx.annotation.Nullable; +import androidx.databinding.DataBindingComponent; +import androidx.databinding.ViewDataBinding; import androidx.fragment.app.FragmentActivity; import org.junit.Before; @@ -31,6 +34,7 @@ import org.junit.Test; import org.junit.rules.ExpectedException; import org.mockito.InOrder; +import org.mockito.internal.matchers.Any; import ar.com.wolox.wolmo.core.R; import ar.com.wolox.wolmo.core.presenter.BasePresenter; @@ -53,7 +57,7 @@ public class WolmoFragmentHandlerTest { @Rule public final ExpectedException exception = ExpectedException.none(); - private WolmoFragmentHandler mWolmoFragmentHandler; + private WolmoFragmentHandler mWolmoFragmentHandler; private WolmoFragment mWolmoFragmentMock; private TestPresenter mTestPresenter; private ToastFactory mToastFactoryMock; @@ -157,7 +161,7 @@ public void getPresenterShouldReturnThePresenterInstance() { interface TestView { } - static class TestFragment extends WolmoFragment implements TestView { + static class TestFragment extends WolmoFragment implements TestView { @Override public int layout() { return 0; @@ -171,4 +175,40 @@ public void init() { static class TestPresenter extends BasePresenter { } + static class TestViewBinding extends ViewDataBinding { + + protected TestViewBinding(DataBindingComponent bindingComponent, View root, int localFieldCount) { + super(bindingComponent, root, localFieldCount); + } + + protected TestViewBinding(Object bindingComponent, View root, int localFieldCount) { + super(bindingComponent, root, localFieldCount); + } + + @Override + protected boolean onFieldChange(int localFieldId, Object object, int fieldId) { + return false; + } + + @Override + public boolean setVariable(int variableId, @Nullable Object value) { + return false; + } + + @Override + protected void executeBindings() { + + } + + @Override + public void invalidateAll() { + + } + + @Override + public boolean hasPendingBindings() { + return false; + } + } + } diff --git a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentTest.java b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentTest.java index 53727d7..0456acd 100644 --- a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentTest.java +++ b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentTest.java @@ -25,6 +25,8 @@ import android.view.View; import android.view.ViewGroup; +import androidx.databinding.ViewDataBinding; + import org.junit.Before; import org.junit.Test; @@ -40,7 +42,7 @@ public class WolmoFragmentTest { - private WolmoFragmentHandler> mWolmoFragmentHandlerMock; + private WolmoFragmentHandler> mWolmoFragmentHandlerMock; private PermissionManager mPermissionManagerMock; private WolmoFragment mWolmoFragmentSpy; diff --git a/gradle.properties b/gradle.properties index 94c4d55..915f0e6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,5 +17,4 @@ # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true android.enableJetifier=true -android.useAndroidX=true -android.enableUnitTestBinaryResources=true \ No newline at end of file +android.useAndroidX=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8b52bd0..87b2e67 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Dec 19 11:05:31 ART 2019 +#Mon Dec 21 11:14:06 ART 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip From 6bdf1b7d658c57706fec90ab0e1f516eea91e996 Mon Sep 17 00:00:00 2001 From: Lucas Miotti Date: Mon, 21 Dec 2020 14:36:32 -0300 Subject: [PATCH 2/4] Added view binding to wolmoactivity --- .../com/wolox/wolmo/core/activity/WolmoActivity.kt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/ar/com/wolox/wolmo/core/activity/WolmoActivity.kt b/core/src/main/java/ar/com/wolox/wolmo/core/activity/WolmoActivity.kt index 841d073..9fde5be 100644 --- a/core/src/main/java/ar/com/wolox/wolmo/core/activity/WolmoActivity.kt +++ b/core/src/main/java/ar/com/wolox/wolmo/core/activity/WolmoActivity.kt @@ -26,6 +26,8 @@ import android.view.MenuItem import androidx.annotation.CallSuper import androidx.annotation.IdRes import androidx.annotation.LayoutRes +import androidx.databinding.DataBindingUtil +import androidx.databinding.ViewDataBinding import androidx.fragment.app.Fragment import androidx.fragment.app.commit import ar.com.wolox.wolmo.core.fragment.IWolmoFragment @@ -37,13 +39,15 @@ import javax.inject.Inject /** * A base [DaggerAppCompatActivity] that implements Wolmo's custom lifecycle. */ -abstract class WolmoActivity : DaggerAppCompatActivity() { +abstract class WolmoActivity : DaggerAppCompatActivity() { @Inject lateinit var toastFactory: ToastFactory @Inject lateinit var permissionManager: PermissionManager + var binding: V? = null + /** * Handles the custom lifecycle of Wolmo's Activity. It provides a set of callbacks to structure * the different aspects of the Activities initialization. @@ -51,7 +55,7 @@ abstract class WolmoActivity : DaggerAppCompatActivity() { @CallSuper override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(layout()) + binding = DataBindingUtil.setContentView(this, layout()) if (handleArguments(intent.extras) == true) { init() populate() @@ -62,6 +66,11 @@ abstract class WolmoActivity : DaggerAppCompatActivity() { } } + override fun onDestroy() { + super.onDestroy() + binding = null + } + /** * This method provides a way for populating the view with a layout defined in an XML resource * by returning the ID of the layout From dc1fdce2e362635aae82c2ae9d46faadf95542bd Mon Sep 17 00:00:00 2001 From: Lucas Miotti Date: Mon, 28 Dec 2020 15:29:36 -0300 Subject: [PATCH 3/4] Findbugs was removed --- core/build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/core/build.gradle b/core/build.gradle index 13ef5d0..fdb7fdd 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -3,7 +3,6 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'com.hiya.jacoco-android' apply plugin: 'com.github.kt3k.coveralls' -apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 29 From 67ff9efe82d1a418d87cb9ca757969384eef88ce Mon Sep 17 00:00:00 2001 From: Lucas Miotti Date: Mon, 28 Dec 2020 16:06:33 -0300 Subject: [PATCH 4/4] TestViewBinding was removed --- .../fragment/WolmoFragmentHandlerTest.java | 41 +------------------ 1 file changed, 2 insertions(+), 39 deletions(-) diff --git a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandlerTest.java b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandlerTest.java index 2572b13..c1836de 100644 --- a/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandlerTest.java +++ b/core/src/test/java/ar/com/wolox/wolmo/core/fragment/WolmoFragmentHandlerTest.java @@ -57,7 +57,7 @@ public class WolmoFragmentHandlerTest { @Rule public final ExpectedException exception = ExpectedException.none(); - private WolmoFragmentHandler mWolmoFragmentHandler; + private WolmoFragmentHandler mWolmoFragmentHandler; private WolmoFragment mWolmoFragmentMock; private TestPresenter mTestPresenter; private ToastFactory mToastFactoryMock; @@ -161,7 +161,7 @@ public void getPresenterShouldReturnThePresenterInstance() { interface TestView { } - static class TestFragment extends WolmoFragment implements TestView { + static class TestFragment extends WolmoFragment implements TestView { @Override public int layout() { return 0; @@ -174,41 +174,4 @@ public void init() { static class TestPresenter extends BasePresenter { } - - static class TestViewBinding extends ViewDataBinding { - - protected TestViewBinding(DataBindingComponent bindingComponent, View root, int localFieldCount) { - super(bindingComponent, root, localFieldCount); - } - - protected TestViewBinding(Object bindingComponent, View root, int localFieldCount) { - super(bindingComponent, root, localFieldCount); - } - - @Override - protected boolean onFieldChange(int localFieldId, Object object, int fieldId) { - return false; - } - - @Override - public boolean setVariable(int variableId, @Nullable Object value) { - return false; - } - - @Override - protected void executeBindings() { - - } - - @Override - public void invalidateAll() { - - } - - @Override - public boolean hasPendingBindings() { - return false; - } - } - }