From ff6c0d5c84bd244563f86def147962da22c6f539 Mon Sep 17 00:00:00 2001 From: AMIT SHEKHAR Date: Fri, 6 Apr 2018 21:50:10 +0530 Subject: [PATCH 01/16] Correct Kotlin spell --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4cbe3dd..9c03f59 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ This repository contains a detailed sample app that implements MVVM architecture 7. [Android Tinder Swipe View Example](https://blog.mindorks.com/android-tinder-swipe-view-example-3eca9b0d4794#.u7i7jbbvy) 8. [Debugging Android Databases And Shared Preferences In The Easiest Way](https://blog.mindorks.com/debugging-android-databases-and-shared-preferences-in-the-easiest-way-e5f705dfc06b#.pxw0hvnws) -### Looking for Kotin MVP Architecture - [Check here](https://github.com/MindorksOpenSource/android-kotlin-mvp-architecture) +### Looking for Kotlin MVP Architecture - [Check here](https://github.com/MindorksOpenSource/android-kotlin-mvp-architecture) ### Looking for MVP Architecture - [Check here](https://github.com/MindorksOpenSource/android-mvp-architecture) From 65fbe8f0917f2dccb376bd9659eb6a05cce9400b Mon Sep 17 00:00:00 2001 From: rajatkhanna Date: Sat, 19 May 2018 19:02:28 +0530 Subject: [PATCH 02/16] BaseViewModel holds hard reference to Navigators which can lead to leaks. --- .../mindorks/framework/mvvm/ui/base/BaseViewModel.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java index 99dd9c1..e03bac3 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java @@ -22,6 +22,8 @@ import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; +import java.lang.ref.WeakReference; + import io.reactivex.disposables.CompositeDisposable; /** @@ -38,7 +40,7 @@ public abstract class BaseViewModel extends ViewModel { private CompositeDisposable mCompositeDisposable; - private N mNavigator; + private WeakReference mNavigator; public BaseViewModel(DataManager dataManager, SchedulerProvider schedulerProvider) { @@ -70,11 +72,11 @@ public void setIsLoading(boolean isLoading) { } public N getNavigator() { - return mNavigator; + return mNavigator.get(); } public void setNavigator(N navigator) { - this.mNavigator = navigator; + this.mNavigator = new WeakReference<>(navigator); } public SchedulerProvider getSchedulerProvider() { From 2c2371ab4dcf8cda403ba9deb294003856191815 Mon Sep 17 00:00:00 2001 From: Sajjad Date: Mon, 17 Dec 2018 11:39:42 +0330 Subject: [PATCH 03/16] Update build platform Update gradle version Update gradle plugin version --- build.gradle | 10 +++++----- gradle/wrapper/gradle-wrapper.properties | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 0308947..83a499b 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.0.1' + classpath 'com.android.tools.build:gradle:3.2.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -45,12 +45,12 @@ task clean(type: Delete) { ext { // Sdk and tools minSdkVersion = 16 - targetSdkVersion = 27 - compileSdkVersion = 27 - buildToolsVersion = '27.0.3' + targetSdkVersion = 28 + compileSdkVersion = 28 + buildToolsVersion = '28.0.3' // App dependencies - supportLibraryVersion = '27.0.2' + supportLibraryVersion = '28.0.0' gsonVersion = '2.8.2' calligraphyVersion = '2.2.0' glideVersion = '3.7.0' diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0e27d9b..e6dfecc 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Dec 14 14:33:29 WIB 2017 +#Mon Dec 17 11:19:30 IRST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip From efd8fa43039dd83795443083c8f0c2e05a437ca1 Mon Sep 17 00:00:00 2001 From: V Date: Tue, 8 Jan 2019 14:40:05 +0200 Subject: [PATCH 04/16] Allow cleartext communication with mocky.io --- app/src/main/AndroidManifest.xml | 1 + app/src/main/res/xml/network_security_config.xml | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 app/src/main/res/xml/network_security_config.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a2ecb20..f7fe09f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -27,6 +27,7 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" + android:networkSecurityConfig="@xml/network_security_config" android:theme="@style/AppTheme"> diff --git a/app/src/main/res/xml/network_security_config.xml b/app/src/main/res/xml/network_security_config.xml new file mode 100644 index 0000000..c0b1805 --- /dev/null +++ b/app/src/main/res/xml/network_security_config.xml @@ -0,0 +1,6 @@ + + + + www.mocky.io + + From 67658e7b60b5b839afeabe484913f39e6394ee42 Mon Sep 17 00:00:00 2001 From: Salman Date: Sat, 2 Feb 2019 12:16:06 +0330 Subject: [PATCH 05/16] Replace constraint layout with linear layout in about fragment --- app/build.gradle | 1 + app/src/main/res/layout/fragment_about.xml | 51 +++++++++++++++------- build.gradle | 1 + 3 files changed, 37 insertions(+), 16 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b4d8236..89f8768 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -60,6 +60,7 @@ dependencies { implementation "com.android.support:design:$rootProject.supportLibraryVersion" implementation "com.android.support:support-vector-drawable:$rootProject.supportLibraryVersion" implementation "com.android.support:animated-vector-drawable:$rootProject.supportLibraryVersion" + implementation "com.android.support.constraint:constraint-layout:$rootProject.constraintLayoutVersion" // network implementation "com.amitshekhar.android:rx2-android-networking:$rootProject.rx2FastAndroidNetworking" diff --git a/app/src/main/res/layout/fragment_about.xml b/app/src/main/res/layout/fragment_about.xml index d7685e7..5875d15 100644 --- a/app/src/main/res/layout/fragment_about.xml +++ b/app/src/main/res/layout/fragment_about.xml @@ -25,18 +25,21 @@ - + android:background="@color/black_effective"> + android:orientation="horizontal" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toTopOf="parent"> + android:textSize="20sp" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toBottomOf="@id/toolbar" /> + android:textColor="@color/white" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toBottomOf="@id/txt_heading" /> + android:textColor="@color/white" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toBottomOf="@id/tvMvpBlog" /> + android:textColor="@color/white" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toBottomOf="@id/tvMvpRepo" /> - + android:textColor="@color/white" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toBottomOf="@id/tvMindorksBlog" /> + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 83a499b..70be3a6 100644 --- a/build.gradle +++ b/build.gradle @@ -48,6 +48,7 @@ ext { targetSdkVersion = 28 compileSdkVersion = 28 buildToolsVersion = '28.0.3' + constraintLayoutVersion = '1.1.2' // App dependencies supportLibraryVersion = '28.0.0' From 522565906dc8d64ec5ef367c3d9b55ed5d3932e6 Mon Sep 17 00:00:00 2001 From: Jyoti Dubey Date: Fri, 22 Feb 2019 23:01:31 +0530 Subject: [PATCH 06/16] Add view model factory class --- app/src/main/AndroidManifest.xml | 6 +- .../mvvm/ViewModelProviderFactory.java | 70 ++++++++++++++----- .../mvvm/ui/about/AboutFragment.java | 4 ++ .../mvvm/ui/about/AboutFragmentModule.java | 6 +- .../framework/mvvm/ui/feed/FeedActivity.java | 10 ++- .../mvvm/ui/feed/FeedActivityModule.java | 8 ++- .../mvvm/ui/feed/blogs/BlogFragment.java | 6 +- .../ui/feed/blogs/BlogFragmentModule.java | 5 +- .../feed/opensource/OpenSourceFragment.java | 6 +- .../opensource/OpenSourceFragmentModule.java | 5 +- .../mvvm/ui/login/LoginActivity.java | 4 ++ .../mvvm/ui/login/LoginActivityModule.java | 5 +- .../framework/mvvm/ui/main/MainActivity.java | 8 ++- .../mvvm/ui/main/MainActivityModule.java | 12 ++-- .../mvvm/ui/main/rating/RateUsDialog.java | 5 +- .../ui/main/rating/RateUsDialogModule.java | 5 +- .../mvvm/ui/splash/SplashActivity.java | 4 ++ .../mvvm/ui/splash/SplashActivityModule.java | 5 +- 18 files changed, 116 insertions(+), 58 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f7fe09f..9bf1b80 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -40,8 +40,7 @@ + android:launchMode="singleTop" /> + android:parentActivityName=".ui.main.MainActivity"> - * A provider factory that persists ViewModels {@link ViewModel}. - * Used if the view model has a parameterized constructor. + * Created by jyotidubey on 22/02/19. */ -public class ViewModelProviderFactory implements ViewModelProvider.Factory { - private V viewModel; +public class ViewModelProviderFactory extends ViewModelProvider.NewInstanceFactory { - public ViewModelProviderFactory(V viewModel) { - this.viewModel = viewModel; - } + private final DataManager dataManager; + private final SchedulerProvider schedulerProvider; + + public ViewModelProviderFactory(DataManager dataManager, + SchedulerProvider schedulerProvider) { + this.dataManager = dataManager; + this.schedulerProvider = schedulerProvider; + } - @Override - public T create(Class modelClass) { - if (modelClass.isAssignableFrom(viewModel.getClass())) { - return (T) viewModel; - } - throw new IllegalArgumentException("Unknown class name"); + + @Override + public T create(Class modelClass) { + if (modelClass.isAssignableFrom(AboutViewModel.class)) { + //noinspection unchecked + return (T) new AboutViewModel(dataManager,schedulerProvider); + } else if (modelClass.isAssignableFrom(FeedViewModel.class)) { + //noinspection unchecked + return (T) new FeedViewModel(dataManager,schedulerProvider); + } else if (modelClass.isAssignableFrom(LoginViewModel.class)) { + //noinspection unchecked + return (T) new LoginViewModel(dataManager,schedulerProvider); + } else if (modelClass.isAssignableFrom(MainViewModel.class)) { + //noinspection unchecked + return (T) new MainViewModel(dataManager,schedulerProvider); + } + else if (modelClass.isAssignableFrom(BlogViewModel.class)) { + //noinspection unchecked + return (T) new BlogViewModel(dataManager,schedulerProvider); + } + else if (modelClass.isAssignableFrom(RateUsViewModel.class)) { + //noinspection unchecked + return (T) new RateUsViewModel(dataManager,schedulerProvider); + } + else if (modelClass.isAssignableFrom(OpenSourceViewModel.class)) { + //noinspection unchecked + return (T) new OpenSourceViewModel(dataManager,schedulerProvider); + } + else if (modelClass.isAssignableFrom(SplashViewModel.class)) { + //noinspection unchecked + return (T) new SplashViewModel(dataManager,schedulerProvider); } -} + throw new IllegalArgumentException("Unknown ViewModel class: " + modelClass.getName()); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java index 93a09dc..2fc7669 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java @@ -16,10 +16,12 @@ package com.mindorks.framework.mvvm.ui.about; +import android.arch.lifecycle.ViewModelProviders; import android.os.Bundle; import android.support.annotation.Nullable; import com.mindorks.framework.mvvm.BR; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.R; import com.mindorks.framework.mvvm.databinding.FragmentAboutBinding; import com.mindorks.framework.mvvm.ui.base.BaseFragment; @@ -34,6 +36,7 @@ public class AboutFragment extends BaseFragment fragmentDispatchingAndroidInjector; @Inject - FeedViewModel mFeedViewModel; - @Inject FeedPagerAdapter mPagerAdapter; + @Inject + @Named("FeedActivity") + ViewModelProviderFactory factory; private ActivityFeedBinding mActivityFeedBinding; + FeedViewModel mFeedViewModel; public static Intent newIntent(Context context) { return new Intent(context, FeedActivity.class); @@ -66,6 +71,7 @@ public int getLayoutId() { @Override public FeedViewModel getViewModel() { + mFeedViewModel = ViewModelProviders.of(this,factory).get(FeedViewModel.class); return mFeedViewModel; } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivityModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivityModule.java index 206e82e..946eb5e 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivityModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivityModule.java @@ -16,11 +16,13 @@ package com.mindorks.framework.mvvm.ui.feed; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; import dagger.Module; import dagger.Provides; +import javax.inject.Named; /** * Created by amitshekhar on 14/09/17. @@ -34,8 +36,8 @@ FeedPagerAdapter provideFeedPagerAdapter(FeedActivity activity) { } @Provides - FeedViewModel provideFeedViewModel(DataManager dataManager, - SchedulerProvider schedulerProvider) { - return new FeedViewModel(dataManager, schedulerProvider); + @Named("FeedActivity") + ViewModelProviderFactory provideFeedSourceFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { + return new ViewModelProviderFactory(dataManager, schedulerProvider); } } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java index 7afe3e0..524d86e 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java @@ -16,7 +16,6 @@ package com.mindorks.framework.mvvm.ui.feed.blogs; -import android.arch.lifecycle.ViewModelProvider; import android.arch.lifecycle.ViewModelProviders; import android.os.Bundle; import android.support.annotation.NonNull; @@ -26,6 +25,7 @@ import android.view.View; import com.mindorks.framework.mvvm.BR; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.R; import com.mindorks.framework.mvvm.data.model.api.BlogResponse; import com.mindorks.framework.mvvm.databinding.FragmentBlogBinding; @@ -48,7 +48,7 @@ public class BlogFragment extends BaseFragment(blogViewModel); + ViewModelProviderFactory provideBlogViewModelFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { + return new ViewModelProviderFactory(dataManager, schedulerProvider); } @Provides diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java index 533045d..6c1e816 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java @@ -17,7 +17,6 @@ package com.mindorks.framework.mvvm.ui.feed.opensource; -import android.arch.lifecycle.ViewModelProvider; import android.arch.lifecycle.ViewModelProviders; import android.os.Bundle; import android.support.annotation.NonNull; @@ -27,6 +26,7 @@ import android.view.View; import com.mindorks.framework.mvvm.BR; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.R; import com.mindorks.framework.mvvm.databinding.FragmentOpenSourceBinding; import com.mindorks.framework.mvvm.ui.base.BaseFragment; @@ -46,7 +46,7 @@ public class OpenSourceFragment extends BaseFragment(openSourceViewModel); + ViewModelProviderFactory provideOpenSourceFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { + return new ViewModelProviderFactory(dataManager, schedulerProvider); } } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java index 7ec00c6..de0a856 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java @@ -16,12 +16,14 @@ package com.mindorks.framework.mvvm.ui.login; +import android.arch.lifecycle.ViewModelProviders; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.widget.Toast; import com.mindorks.framework.mvvm.BR; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.R; import com.mindorks.framework.mvvm.databinding.ActivityLoginBinding; import com.mindorks.framework.mvvm.ui.base.BaseActivity; @@ -36,6 +38,7 @@ public class LoginActivity extends BaseActivity implements LoginNavigator { @Inject + ViewModelProviderFactory factory; LoginViewModel mLoginViewModel; private ActivityLoginBinding mActivityLoginBinding; @@ -55,6 +58,7 @@ public int getLayoutId() { @Override public LoginViewModel getViewModel() { + mLoginViewModel = ViewModelProviders.of(this,factory).get(LoginViewModel.class); return mLoginViewModel; } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivityModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivityModule.java index b660c4e..1d58405 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivityModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivityModule.java @@ -16,6 +16,7 @@ package com.mindorks.framework.mvvm.ui.login; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; @@ -29,7 +30,7 @@ public class LoginActivityModule { @Provides - LoginViewModel provideLoginViewModel(DataManager dataManager, SchedulerProvider schedulerProvider) { - return new LoginViewModel(dataManager, schedulerProvider); + ViewModelProviderFactory provideLoginViewModelFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { + return new ViewModelProviderFactory(dataManager, schedulerProvider); } } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java index cf89b11..e16f76d 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java @@ -16,7 +16,6 @@ package com.mindorks.framework.mvvm.ui.main; -import android.arch.lifecycle.ViewModelProvider; import android.arch.lifecycle.ViewModelProviders; import android.content.Context; import android.content.Intent; @@ -38,6 +37,7 @@ import com.mindorks.framework.mvvm.BR; import com.mindorks.framework.mvvm.BuildConfig; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.R; import com.mindorks.framework.mvvm.databinding.ActivityMainBinding; import com.mindorks.framework.mvvm.databinding.NavHeaderMainBinding; @@ -55,13 +55,15 @@ import dagger.android.AndroidInjector; import dagger.android.DispatchingAndroidInjector; import dagger.android.support.HasSupportFragmentInjector; +import javax.inject.Named; public class MainActivity extends BaseActivity implements MainNavigator, HasSupportFragmentInjector { @Inject DispatchingAndroidInjector fragmentDispatchingAndroidInjector; @Inject - ViewModelProvider.Factory mViewModelFactory; + @Named("MainActivity") + ViewModelProviderFactory factory; private ActivityMainBinding mActivityMainBinding; private SwipePlaceHolderView mCardsContainerView; private DrawerLayout mDrawer; @@ -86,7 +88,7 @@ public int getLayoutId() { @Override public MainViewModel getViewModel() { - mMainViewModel = ViewModelProviders.of(this, mViewModelFactory).get(MainViewModel.class); + mMainViewModel = ViewModelProviders.of(this, factory).get(MainViewModel.class); return mMainViewModel; } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java index 9379f1b..0ee3886 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java @@ -16,14 +16,13 @@ package com.mindorks.framework.mvvm.ui.main; -import android.arch.lifecycle.ViewModelProvider; - import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; import dagger.Module; import dagger.Provides; +import javax.inject.Named; /** * Created by amitshekhar on 14/09/17. @@ -32,12 +31,9 @@ public class MainActivityModule { @Provides - ViewModelProvider.Factory mainViewModelProvider(MainViewModel mainViewModel) { - return new ViewModelProviderFactory<>(mainViewModel); + @Named("MainActivity") + ViewModelProviderFactory provideMainSourceFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { + return new ViewModelProviderFactory(dataManager, schedulerProvider); } - @Provides - MainViewModel provideMainViewModel(DataManager dataManager, SchedulerProvider schedulerProvider) { - return new MainViewModel(dataManager, schedulerProvider); - } } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java index 3cbf855..2e8e175 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java @@ -16,6 +16,7 @@ package com.mindorks.framework.mvvm.ui.main.rating; +import android.arch.lifecycle.ViewModelProviders; import android.databinding.DataBindingUtil; import android.os.Bundle; import android.support.annotation.NonNull; @@ -24,6 +25,7 @@ import android.view.View; import android.view.ViewGroup; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.R; import com.mindorks.framework.mvvm.databinding.DialogRateUsBinding; import com.mindorks.framework.mvvm.ui.base.BaseDialog; @@ -40,6 +42,7 @@ public class RateUsDialog extends BaseDialog implements RateUsCallback { private static final String TAG = RateUsDialog.class.getSimpleName(); @Inject + ViewModelProviderFactory factory; RateUsViewModel mRateUsViewModel; public static RateUsDialog newInstance() { @@ -60,7 +63,7 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, View view = binding.getRoot(); AndroidSupportInjection.inject(this); - + mRateUsViewModel = ViewModelProviders.of(this,factory).get(RateUsViewModel.class); binding.setViewModel(mRateUsViewModel); mRateUsViewModel.setNavigator(this); diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java index 5543296..6adc125 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java @@ -16,6 +16,7 @@ package com.mindorks.framework.mvvm.ui.main.rating; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; @@ -29,7 +30,7 @@ public class RateUsDialogModule { @Provides - RateUsViewModel provideRateUsViewModel(DataManager dataManager, SchedulerProvider schedulerProvider) { - return new RateUsViewModel(dataManager, schedulerProvider); + ViewModelProviderFactory provideRateUsViewModelFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { + return new ViewModelProviderFactory(dataManager, schedulerProvider); } } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java index f6c22c0..79831c5 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java @@ -16,11 +16,13 @@ package com.mindorks.framework.mvvm.ui.splash; +import android.arch.lifecycle.ViewModelProviders; import android.content.Context; import android.content.Intent; import android.os.Bundle; import com.mindorks.framework.mvvm.BR; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.R; import com.mindorks.framework.mvvm.databinding.ActivitySplashBinding; import com.mindorks.framework.mvvm.ui.base.BaseActivity; @@ -36,6 +38,7 @@ public class SplashActivity extends BaseActivity implements SplashNavigator { @Inject + ViewModelProviderFactory factory; SplashViewModel mSplashViewModel; public static Intent newIntent(Context context) { @@ -54,6 +57,7 @@ public int getLayoutId() { @Override public SplashViewModel getViewModel() { + mSplashViewModel = ViewModelProviders.of(this,factory).get(SplashViewModel.class); return mSplashViewModel; } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivityModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivityModule.java index e41fbc7..b1c7727 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivityModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivityModule.java @@ -16,6 +16,7 @@ package com.mindorks.framework.mvvm.ui.splash; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; @@ -29,7 +30,7 @@ public class SplashActivityModule { @Provides - SplashViewModel provideSplashViewModel(DataManager dataManager, SchedulerProvider schedulerProvider) { - return new SplashViewModel(dataManager, schedulerProvider); + ViewModelProviderFactory provideSplashViewModel(DataManager dataManager, SchedulerProvider schedulerProvider) { + return new ViewModelProviderFactory(dataManager, schedulerProvider); } } From 50326ece681c13c2337b47c59b66938f79f746ac Mon Sep 17 00:00:00 2001 From: Jyoti Dubey Date: Fri, 22 Feb 2019 23:03:59 +0530 Subject: [PATCH 07/16] Remove unwanted imports --- .../framework/mvvm/ui/login/LoginActivityTest.java | 14 ++++++-------- .../java/com/mindorks/framework/mvvm/MvvmApp.java | 5 +---- .../framework/mvvm/data/AppDataManager.java | 8 ++------ .../mindorks/framework/mvvm/data/DataManager.java | 4 +--- .../framework/mvvm/data/local/db/AppDatabase.java | 1 - .../framework/mvvm/data/local/db/AppDbHelper.java | 5 +---- .../framework/mvvm/data/local/db/DbHelper.java | 4 +--- .../mvvm/data/local/db/dao/OptionDao.java | 2 -- .../mvvm/data/local/db/dao/QuestionDao.java | 2 -- .../framework/mvvm/data/local/db/dao/UserDao.java | 2 -- .../data/local/prefs/AppPreferencesHelper.java | 2 -- .../mvvm/data/model/api/BlogResponse.java | 1 - .../mvvm/data/model/api/OpenSourceResponse.java | 1 - .../framework/mvvm/data/model/db/Option.java | 1 - .../framework/mvvm/data/model/db/Question.java | 1 - .../mvvm/data/model/others/QuestionCardData.java | 1 - .../framework/mvvm/data/remote/ApiHeader.java | 1 - .../framework/mvvm/data/remote/ApiHelper.java | 1 - .../framework/mvvm/data/remote/AppApiHelper.java | 4 +--- .../com/mindorks/framework/mvvm/di/ApiInfo.java | 1 - .../mindorks/framework/mvvm/di/DatabaseInfo.java | 1 - .../mindorks/framework/mvvm/di/PreferenceInfo.java | 1 - .../framework/mvvm/di/builder/ActivityBuilder.java | 1 - .../framework/mvvm/di/component/AppComponent.java | 5 +---- .../framework/mvvm/di/module/AppModule.java | 5 +---- .../framework/mvvm/ui/about/AboutFragment.java | 6 ++---- .../mvvm/ui/about/AboutFragmentModule.java | 1 - .../framework/mvvm/ui/base/BaseActivity.java | 2 -- .../framework/mvvm/ui/base/BaseFragment.java | 1 - .../framework/mvvm/ui/base/BaseViewModel.java | 5 +---- .../framework/mvvm/ui/feed/FeedActivity.java | 9 +++------ .../framework/mvvm/ui/feed/FeedActivityModule.java | 1 - .../framework/mvvm/ui/feed/FeedPagerAdapter.java | 1 - .../framework/mvvm/ui/feed/blogs/BlogAdapter.java | 2 -- .../framework/mvvm/ui/feed/blogs/BlogFragment.java | 5 +---- .../mvvm/ui/feed/blogs/BlogFragmentModule.java | 5 +---- .../mvvm/ui/feed/blogs/BlogItemViewModel.java | 1 - .../mvvm/ui/feed/blogs/BlogNavigator.java | 1 - .../mvvm/ui/feed/blogs/BlogViewModel.java | 2 -- .../mvvm/ui/feed/opensource/OpenSourceAdapter.java | 2 -- .../ui/feed/opensource/OpenSourceFragment.java | 4 +--- .../feed/opensource/OpenSourceFragmentModule.java | 2 -- .../ui/feed/opensource/OpenSourceViewModel.java | 2 -- .../framework/mvvm/ui/login/LoginActivity.java | 6 ++---- .../mvvm/ui/login/LoginActivityModule.java | 1 - .../framework/mvvm/ui/login/LoginViewModel.java | 1 - .../framework/mvvm/ui/main/MainActivity.java | 7 ++----- .../framework/mvvm/ui/main/MainActivityModule.java | 1 - .../framework/mvvm/ui/main/MainViewModel.java | 2 -- .../framework/mvvm/ui/main/QuestionCard.java | 1 - .../mvvm/ui/main/rating/RateUsDialog.java | 9 +++------ .../mvvm/ui/main/rating/RateUsDialogModule.java | 1 - .../framework/mvvm/ui/splash/SplashActivity.java | 11 ++--------- .../mvvm/ui/splash/SplashActivityModule.java | 1 - .../mindorks/framework/mvvm/utils/AppLogger.java | 1 - .../mindorks/framework/mvvm/utils/AppUtils.java | 1 - .../framework/mvvm/utils/BindingUtils.java | 2 -- .../mindorks/framework/mvvm/utils/CommonUtils.java | 2 -- .../mindorks/framework/mvvm/utils/ViewUtils.java | 1 - .../mindorks/framework/mvvm/ExampleUnitTest.java | 4 ++-- .../mvvm/ui/login/LoginViewModelTest.java | 12 +++++------- 61 files changed, 40 insertions(+), 150 deletions(-) diff --git a/app/src/androidTest/java/com/mindorks/framework/mvvm/ui/login/LoginActivityTest.java b/app/src/androidTest/java/com/mindorks/framework/mvvm/ui/login/LoginActivityTest.java index fceab88..81c3ed5 100644 --- a/app/src/androidTest/java/com/mindorks/framework/mvvm/ui/login/LoginActivityTest.java +++ b/app/src/androidTest/java/com/mindorks/framework/mvvm/ui/login/LoginActivityTest.java @@ -16,21 +16,19 @@ package com.mindorks.framework.mvvm.ui.login; +import static android.support.test.espresso.Espresso.onView; +import static android.support.test.espresso.assertion.ViewAssertions.matches; +import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; +import static android.support.test.espresso.matcher.ViewMatchers.withId; +import static android.support.test.espresso.matcher.ViewMatchers.withText; + import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; - import com.mindorks.framework.mvvm.R; - import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; -import static android.support.test.espresso.Espresso.onView; -import static android.support.test.espresso.assertion.ViewAssertions.matches; -import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; -import static android.support.test.espresso.matcher.ViewMatchers.withId; -import static android.support.test.espresso.matcher.ViewMatchers.withText; - /** * Created by amitshekhar on 11/07/17. */ diff --git a/app/src/main/java/com/mindorks/framework/mvvm/MvvmApp.java b/app/src/main/java/com/mindorks/framework/mvvm/MvvmApp.java index a49f8e8..c7fdb5b 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/MvvmApp.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/MvvmApp.java @@ -18,16 +18,13 @@ import android.app.Activity; import android.app.Application; - import com.androidnetworking.AndroidNetworking; import com.androidnetworking.interceptors.HttpLoggingInterceptor; import com.mindorks.framework.mvvm.di.component.DaggerAppComponent; import com.mindorks.framework.mvvm.utils.AppLogger; - -import javax.inject.Inject; - import dagger.android.DispatchingAndroidInjector; import dagger.android.HasActivityInjector; +import javax.inject.Inject; import uk.co.chrisjenx.calligraphy.CalligraphyConfig; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/AppDataManager.java b/app/src/main/java/com/mindorks/framework/mvvm/data/AppDataManager.java index fd798f7..b763fc6 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/AppDataManager.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/AppDataManager.java @@ -17,7 +17,6 @@ package com.mindorks.framework.mvvm.data; import android.content.Context; - import com.google.gson.Gson; import com.google.gson.internal.$Gson$Types; import com.google.gson.reflect.TypeToken; @@ -36,16 +35,13 @@ import com.mindorks.framework.mvvm.data.remote.ApiHelper; import com.mindorks.framework.mvvm.utils.AppConstants; import com.mindorks.framework.mvvm.utils.CommonUtils; - +import io.reactivex.Observable; +import io.reactivex.Single; import java.lang.reflect.Type; import java.util.List; - import javax.inject.Inject; import javax.inject.Singleton; -import io.reactivex.Observable; -import io.reactivex.Single; - /** * Created by amitshekhar on 07/07/17. */ diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/DataManager.java b/app/src/main/java/com/mindorks/framework/mvvm/data/DataManager.java index 5d765fc..bd128cb 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/DataManager.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/DataManager.java @@ -20,10 +20,8 @@ import com.mindorks.framework.mvvm.data.local.prefs.PreferencesHelper; import com.mindorks.framework.mvvm.data.model.others.QuestionCardData; import com.mindorks.framework.mvvm.data.remote.ApiHelper; - -import java.util.List; - import io.reactivex.Observable; +import java.util.List; /** * Created by amitshekhar on 07/07/17. diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDatabase.java b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDatabase.java index 7d435e8..91c275e 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDatabase.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDatabase.java @@ -18,7 +18,6 @@ import android.arch.persistence.room.Database; import android.arch.persistence.room.RoomDatabase; - import com.mindorks.framework.mvvm.data.local.db.dao.OptionDao; import com.mindorks.framework.mvvm.data.local.db.dao.QuestionDao; import com.mindorks.framework.mvvm.data.local.db.dao.UserDao; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDbHelper.java b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDbHelper.java index aa078d0..141b083 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDbHelper.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDbHelper.java @@ -19,15 +19,12 @@ import com.mindorks.framework.mvvm.data.model.db.Option; import com.mindorks.framework.mvvm.data.model.db.Question; import com.mindorks.framework.mvvm.data.model.db.User; - +import io.reactivex.Observable; import java.util.List; import java.util.concurrent.Callable; - import javax.inject.Inject; import javax.inject.Singleton; -import io.reactivex.Observable; - /** * Created by amitshekhar on 07/07/17. */ diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/DbHelper.java b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/DbHelper.java index a740259..e984a5a 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/DbHelper.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/DbHelper.java @@ -19,10 +19,8 @@ import com.mindorks.framework.mvvm.data.model.db.Option; import com.mindorks.framework.mvvm.data.model.db.Question; import com.mindorks.framework.mvvm.data.model.db.User; - -import java.util.List; - import io.reactivex.Observable; +import java.util.List; /** * Created by amitshekhar on 07/07/17. diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/OptionDao.java b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/OptionDao.java index cbb0c4a..9ed00bb 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/OptionDao.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/OptionDao.java @@ -20,9 +20,7 @@ import android.arch.persistence.room.Insert; import android.arch.persistence.room.OnConflictStrategy; import android.arch.persistence.room.Query; - import com.mindorks.framework.mvvm.data.model.db.Option; - import java.util.List; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/QuestionDao.java b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/QuestionDao.java index e974b42..09d885a 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/QuestionDao.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/QuestionDao.java @@ -20,9 +20,7 @@ import android.arch.persistence.room.Insert; import android.arch.persistence.room.OnConflictStrategy; import android.arch.persistence.room.Query; - import com.mindorks.framework.mvvm.data.model.db.Question; - import java.util.List; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/UserDao.java b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/UserDao.java index c078b4e..7fbf44f 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/UserDao.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/UserDao.java @@ -21,9 +21,7 @@ import android.arch.persistence.room.Insert; import android.arch.persistence.room.OnConflictStrategy; import android.arch.persistence.room.Query; - import com.mindorks.framework.mvvm.data.model.db.User; - import java.util.List; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/local/prefs/AppPreferencesHelper.java b/app/src/main/java/com/mindorks/framework/mvvm/data/local/prefs/AppPreferencesHelper.java index 2bdb710..674ee42 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/local/prefs/AppPreferencesHelper.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/local/prefs/AppPreferencesHelper.java @@ -18,11 +18,9 @@ import android.content.Context; import android.content.SharedPreferences; - import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.di.PreferenceInfo; import com.mindorks.framework.mvvm.utils.AppConstants; - import javax.inject.Inject; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/model/api/BlogResponse.java b/app/src/main/java/com/mindorks/framework/mvvm/data/model/api/BlogResponse.java index 633a5a9..9369ac9 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/model/api/BlogResponse.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/model/api/BlogResponse.java @@ -18,7 +18,6 @@ import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; - import java.util.List; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/model/api/OpenSourceResponse.java b/app/src/main/java/com/mindorks/framework/mvvm/data/model/api/OpenSourceResponse.java index 8971cac..6aed03a 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/model/api/OpenSourceResponse.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/model/api/OpenSourceResponse.java @@ -18,7 +18,6 @@ import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; - import java.util.List; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Option.java b/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Option.java index 3121c13..8d75d05 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Option.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Option.java @@ -20,7 +20,6 @@ import android.arch.persistence.room.Entity; import android.arch.persistence.room.ForeignKey; import android.arch.persistence.room.PrimaryKey; - import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Question.java b/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Question.java index 394b46d..618806b 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Question.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Question.java @@ -19,7 +19,6 @@ import android.arch.persistence.room.ColumnInfo; import android.arch.persistence.room.Entity; import android.arch.persistence.room.PrimaryKey; - import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/model/others/QuestionCardData.java b/app/src/main/java/com/mindorks/framework/mvvm/data/model/others/QuestionCardData.java index 5baed4c..a737319 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/model/others/QuestionCardData.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/model/others/QuestionCardData.java @@ -18,7 +18,6 @@ import com.mindorks.framework.mvvm.data.model.db.Option; import com.mindorks.framework.mvvm.data.model.db.Question; - import java.util.List; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/remote/ApiHeader.java b/app/src/main/java/com/mindorks/framework/mvvm/data/remote/ApiHeader.java index 218aa96..f83754c 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/remote/ApiHeader.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/remote/ApiHeader.java @@ -19,7 +19,6 @@ import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; import com.mindorks.framework.mvvm.di.ApiInfo; - import javax.inject.Inject; import javax.inject.Singleton; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/remote/ApiHelper.java b/app/src/main/java/com/mindorks/framework/mvvm/data/remote/ApiHelper.java index a6d9909..6fd55f1 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/remote/ApiHelper.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/remote/ApiHelper.java @@ -21,7 +21,6 @@ import com.mindorks.framework.mvvm.data.model.api.LoginResponse; import com.mindorks.framework.mvvm.data.model.api.LogoutResponse; import com.mindorks.framework.mvvm.data.model.api.OpenSourceResponse; - import io.reactivex.Single; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/remote/AppApiHelper.java b/app/src/main/java/com/mindorks/framework/mvvm/data/remote/AppApiHelper.java index 4f597a0..6e86b8d 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/remote/AppApiHelper.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/remote/AppApiHelper.java @@ -22,12 +22,10 @@ import com.mindorks.framework.mvvm.data.model.api.LogoutResponse; import com.mindorks.framework.mvvm.data.model.api.OpenSourceResponse; import com.rx2androidnetworking.Rx2AndroidNetworking; - +import io.reactivex.Single; import javax.inject.Inject; import javax.inject.Singleton; -import io.reactivex.Single; - /** * Created by amitshekhar on 07/07/17. */ diff --git a/app/src/main/java/com/mindorks/framework/mvvm/di/ApiInfo.java b/app/src/main/java/com/mindorks/framework/mvvm/di/ApiInfo.java index 4f62562..5525815 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/di/ApiInfo.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/di/ApiInfo.java @@ -18,7 +18,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; - import javax.inject.Qualifier; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/di/DatabaseInfo.java b/app/src/main/java/com/mindorks/framework/mvvm/di/DatabaseInfo.java index 87b7456..1f3289d 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/di/DatabaseInfo.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/di/DatabaseInfo.java @@ -18,7 +18,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; - import javax.inject.Qualifier; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/di/PreferenceInfo.java b/app/src/main/java/com/mindorks/framework/mvvm/di/PreferenceInfo.java index 9f7c140..be199f0 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/di/PreferenceInfo.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/di/PreferenceInfo.java @@ -18,7 +18,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; - import javax.inject.Qualifier; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/di/builder/ActivityBuilder.java b/app/src/main/java/com/mindorks/framework/mvvm/di/builder/ActivityBuilder.java index 1e1a2e2..7a63bd5 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/di/builder/ActivityBuilder.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/di/builder/ActivityBuilder.java @@ -28,7 +28,6 @@ import com.mindorks.framework.mvvm.ui.main.rating.RateUsDialogProvider; import com.mindorks.framework.mvvm.ui.splash.SplashActivity; import com.mindorks.framework.mvvm.ui.splash.SplashActivityModule; - import dagger.Module; import dagger.android.ContributesAndroidInjector; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/di/component/AppComponent.java b/app/src/main/java/com/mindorks/framework/mvvm/di/component/AppComponent.java index d25807f..5001aa2 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/di/component/AppComponent.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/di/component/AppComponent.java @@ -17,16 +17,13 @@ package com.mindorks.framework.mvvm.di.component; import android.app.Application; - import com.mindorks.framework.mvvm.MvvmApp; import com.mindorks.framework.mvvm.di.builder.ActivityBuilder; import com.mindorks.framework.mvvm.di.module.AppModule; - -import javax.inject.Singleton; - import dagger.BindsInstance; import dagger.Component; import dagger.android.AndroidInjectionModule; +import javax.inject.Singleton; /** * Created by amitshekhar on 07/07/17. diff --git a/app/src/main/java/com/mindorks/framework/mvvm/di/module/AppModule.java b/app/src/main/java/com/mindorks/framework/mvvm/di/module/AppModule.java index 6b7ae58..7cb03bf 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/di/module/AppModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/di/module/AppModule.java @@ -19,7 +19,6 @@ import android.app.Application; import android.arch.persistence.room.Room; import android.content.Context; - import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.mindorks.framework.mvvm.BuildConfig; @@ -40,11 +39,9 @@ import com.mindorks.framework.mvvm.utils.AppConstants; import com.mindorks.framework.mvvm.utils.rx.AppSchedulerProvider; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; - -import javax.inject.Singleton; - import dagger.Module; import dagger.Provides; +import javax.inject.Singleton; import uk.co.chrisjenx.calligraphy.CalligraphyConfig; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java index 2fc7669..13e902a 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java @@ -19,13 +19,11 @@ import android.arch.lifecycle.ViewModelProviders; import android.os.Bundle; import android.support.annotation.Nullable; - import com.mindorks.framework.mvvm.BR; -import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.R; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.databinding.FragmentAboutBinding; import com.mindorks.framework.mvvm.ui.base.BaseFragment; - import javax.inject.Inject; /** @@ -37,7 +35,7 @@ public class AboutFragment extends BaseFragment implements MainNavigator, HasSupportFragmentInjector { diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java index 0ee3886..d99f9a0 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java @@ -19,7 +19,6 @@ import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; - import dagger.Module; import dagger.Provides; import javax.inject.Named; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java index abeeb03..d906461 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java @@ -21,12 +21,10 @@ import android.databinding.ObservableField; import android.databinding.ObservableList; import android.text.TextUtils; - import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.data.model.others.QuestionCardData; import com.mindorks.framework.mvvm.ui.base.BaseViewModel; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; - import java.util.List; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/QuestionCard.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/QuestionCard.java index 0e5f65b..3584845 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/QuestionCard.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/QuestionCard.java @@ -19,7 +19,6 @@ import android.graphics.Color; import android.widget.Button; import android.widget.TextView; - import com.androidnetworking.widget.ANImageView; import com.mindorks.framework.mvvm.R; import com.mindorks.framework.mvvm.data.model.db.Option; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java index 2e8e175..2262257 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java @@ -24,15 +24,12 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; - -import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.R; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.databinding.DialogRateUsBinding; import com.mindorks.framework.mvvm.ui.base.BaseDialog; - -import javax.inject.Inject; - import dagger.android.support.AndroidSupportInjection; +import javax.inject.Inject; /** * Created by amitshekhar on 10/07/17. @@ -43,7 +40,7 @@ public class RateUsDialog extends BaseDialog implements RateUsCallback { private static final String TAG = RateUsDialog.class.getSimpleName(); @Inject ViewModelProviderFactory factory; - RateUsViewModel mRateUsViewModel; + private RateUsViewModel mRateUsViewModel; public static RateUsDialog newInstance() { RateUsDialog fragment = new RateUsDialog(); diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java index 6adc125..f50c039 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java @@ -19,7 +19,6 @@ import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; - import dagger.Module; import dagger.Provides; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java index 79831c5..608fe42 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java @@ -17,18 +17,15 @@ package com.mindorks.framework.mvvm.ui.splash; import android.arch.lifecycle.ViewModelProviders; -import android.content.Context; import android.content.Intent; import android.os.Bundle; - import com.mindorks.framework.mvvm.BR; -import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.R; +import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.databinding.ActivitySplashBinding; import com.mindorks.framework.mvvm.ui.base.BaseActivity; import com.mindorks.framework.mvvm.ui.login.LoginActivity; import com.mindorks.framework.mvvm.ui.main.MainActivity; - import javax.inject.Inject; /** @@ -39,11 +36,7 @@ public class SplashActivity extends BaseActivity Date: Fri, 22 Feb 2019 23:24:28 +0530 Subject: [PATCH 08/16] Add constructor injection for VMFactory --- .../mvvm/ViewModelProviderFactory.java | 2 + .../mvvm/di/builder/ActivityBuilder.java | 8 +--- .../mvvm/ui/about/AboutFragmentModule.java | 34 ----------------- .../mvvm/ui/about/AboutFragmentProvider.java | 2 +- .../framework/mvvm/ui/feed/FeedActivity.java | 2 - .../mvvm/ui/feed/FeedActivityModule.java | 9 ----- .../ui/feed/blogs/BlogFragmentModule.java | 6 --- .../opensource/OpenSourceFragmentModule.java | 5 --- .../mvvm/ui/login/LoginActivityModule.java | 35 ----------------- .../framework/mvvm/ui/main/MainActivity.java | 2 - .../mvvm/ui/main/MainActivityModule.java | 38 ------------------- .../framework/mvvm/ui/main/MainViewModel.java | 1 - .../ui/main/rating/RateUsDialogModule.java | 35 ----------------- .../ui/main/rating/RateUsDialogProvider.java | 2 +- .../mvvm/ui/splash/SplashActivityModule.java | 35 ----------------- 15 files changed, 6 insertions(+), 210 deletions(-) delete mode 100644 app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragmentModule.java delete mode 100644 app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivityModule.java delete mode 100644 app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java delete mode 100644 app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java delete mode 100644 app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivityModule.java diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ViewModelProviderFactory.java b/app/src/main/java/com/mindorks/framework/mvvm/ViewModelProviderFactory.java index 530d571..81c9b6d 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ViewModelProviderFactory.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ViewModelProviderFactory.java @@ -12,6 +12,7 @@ import com.mindorks.framework.mvvm.ui.main.rating.RateUsViewModel; import com.mindorks.framework.mvvm.ui.splash.SplashViewModel; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; +import javax.inject.Inject; /** * Created by jyotidubey on 22/02/19. @@ -22,6 +23,7 @@ public class ViewModelProviderFactory extends ViewModelProvider.NewInstanceFacto private final DataManager dataManager; private final SchedulerProvider schedulerProvider; + @Inject public ViewModelProviderFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { this.dataManager = dataManager; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/di/builder/ActivityBuilder.java b/app/src/main/java/com/mindorks/framework/mvvm/di/builder/ActivityBuilder.java index 7a63bd5..d42bb36 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/di/builder/ActivityBuilder.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/di/builder/ActivityBuilder.java @@ -22,12 +22,9 @@ import com.mindorks.framework.mvvm.ui.feed.blogs.BlogFragmentProvider; import com.mindorks.framework.mvvm.ui.feed.opensource.OpenSourceFragmentProvider; import com.mindorks.framework.mvvm.ui.login.LoginActivity; -import com.mindorks.framework.mvvm.ui.login.LoginActivityModule; import com.mindorks.framework.mvvm.ui.main.MainActivity; -import com.mindorks.framework.mvvm.ui.main.MainActivityModule; import com.mindorks.framework.mvvm.ui.main.rating.RateUsDialogProvider; import com.mindorks.framework.mvvm.ui.splash.SplashActivity; -import com.mindorks.framework.mvvm.ui.splash.SplashActivityModule; import dagger.Module; import dagger.android.ContributesAndroidInjector; @@ -43,15 +40,14 @@ public abstract class ActivityBuilder { OpenSourceFragmentProvider.class}) abstract FeedActivity bindFeedActivity(); - @ContributesAndroidInjector(modules = LoginActivityModule.class) + @ContributesAndroidInjector abstract LoginActivity bindLoginActivity(); @ContributesAndroidInjector(modules = { - MainActivityModule.class, AboutFragmentProvider.class, RateUsDialogProvider.class}) abstract MainActivity bindMainActivity(); - @ContributesAndroidInjector(modules = SplashActivityModule.class) + @ContributesAndroidInjector abstract SplashActivity bindSplashActivity(); } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragmentModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragmentModule.java deleted file mode 100644 index e4f3d53..0000000 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragmentModule.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2017 MINDORKS NEXTGEN PRIVATE LIMITED - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://mindorks.com/license/apache-v2 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.mindorks.framework.mvvm.ui.about; - -import com.mindorks.framework.mvvm.ViewModelProviderFactory; -import com.mindorks.framework.mvvm.data.DataManager; -import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; -import dagger.Module; -import dagger.Provides; - -/** - * Created by amitshekhar on 14/09/17. - */ -@Module -public class AboutFragmentModule { - @Provides - ViewModelProviderFactory provideSplashViewModel(DataManager dataManager, SchedulerProvider schedulerProvider) { - return new ViewModelProviderFactory(dataManager, schedulerProvider); - } -} diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragmentProvider.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragmentProvider.java index 4318abd..c0e1c23 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragmentProvider.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragmentProvider.java @@ -25,6 +25,6 @@ @Module public abstract class AboutFragmentProvider { - @ContributesAndroidInjector(modules = AboutFragmentModule.class) + @ContributesAndroidInjector abstract AboutFragment provideAboutFragmentFactory(); } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java index f3ed18a..326db9a 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java @@ -34,7 +34,6 @@ import dagger.android.DispatchingAndroidInjector; import dagger.android.support.HasSupportFragmentInjector; import javax.inject.Inject; -import javax.inject.Named; /** * Created by amitshekhar on 10/07/17. @@ -47,7 +46,6 @@ public class FeedActivity extends BaseActivity()); } - @Provides - ViewModelProviderFactory provideBlogViewModelFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { - return new ViewModelProviderFactory(dataManager, schedulerProvider); - } - @Provides LinearLayoutManager provideLinearLayoutManager(BlogFragment fragment) { return new LinearLayoutManager(fragment.getActivity()); diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragmentModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragmentModule.java index eedc90f..baddc81 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragmentModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragmentModule.java @@ -17,7 +17,6 @@ package com.mindorks.framework.mvvm.ui.feed.opensource; import android.support.v7.widget.LinearLayoutManager; -import com.mindorks.framework.mvvm.ViewModelProviderFactory; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; import dagger.Module; @@ -44,8 +43,4 @@ OpenSourceAdapter provideOpenSourceAdapter() { return new OpenSourceAdapter(); } - @Provides - ViewModelProviderFactory provideOpenSourceFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { - return new ViewModelProviderFactory(dataManager, schedulerProvider); - } } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivityModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivityModule.java deleted file mode 100644 index d36734c..0000000 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivityModule.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (C) 2017 MINDORKS NEXTGEN PRIVATE LIMITED - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://mindorks.com/license/apache-v2 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.mindorks.framework.mvvm.ui.login; - -import com.mindorks.framework.mvvm.ViewModelProviderFactory; -import com.mindorks.framework.mvvm.data.DataManager; -import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; -import dagger.Module; -import dagger.Provides; - -/** - * Created by amitshekhar on 14/09/17. - */ -@Module -public class LoginActivityModule { - - @Provides - ViewModelProviderFactory provideLoginViewModelFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { - return new ViewModelProviderFactory(dataManager, schedulerProvider); - } -} diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java index d913cb3..854dd83 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java @@ -52,14 +52,12 @@ import dagger.android.DispatchingAndroidInjector; import dagger.android.support.HasSupportFragmentInjector; import javax.inject.Inject; -import javax.inject.Named; public class MainActivity extends BaseActivity implements MainNavigator, HasSupportFragmentInjector { @Inject DispatchingAndroidInjector fragmentDispatchingAndroidInjector; @Inject - @Named("MainActivity") ViewModelProviderFactory factory; private ActivityMainBinding mActivityMainBinding; private SwipePlaceHolderView mCardsContainerView; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java deleted file mode 100644 index d99f9a0..0000000 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2017 MINDORKS NEXTGEN PRIVATE LIMITED - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://mindorks.com/license/apache-v2 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.mindorks.framework.mvvm.ui.main; - -import com.mindorks.framework.mvvm.ViewModelProviderFactory; -import com.mindorks.framework.mvvm.data.DataManager; -import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; -import dagger.Module; -import dagger.Provides; -import javax.inject.Named; - -/** - * Created by amitshekhar on 14/09/17. - */ -@Module -public class MainActivityModule { - - @Provides - @Named("MainActivity") - ViewModelProviderFactory provideMainSourceFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { - return new ViewModelProviderFactory(dataManager, schedulerProvider); - } - -} diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java index d906461..f3874db 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java @@ -138,7 +138,6 @@ public void onNavMenuCreated() { public void removeQuestionCard() { action = ACTION_DELETE_SINGLE; - questionDataList.remove(0); questionCardData.getValue().remove(0); } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java deleted file mode 100644 index f50c039..0000000 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (C) 2017 MINDORKS NEXTGEN PRIVATE LIMITED - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://mindorks.com/license/apache-v2 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.mindorks.framework.mvvm.ui.main.rating; - -import com.mindorks.framework.mvvm.ViewModelProviderFactory; -import com.mindorks.framework.mvvm.data.DataManager; -import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; -import dagger.Module; -import dagger.Provides; - -/** - * Created by amitshekhar on 14/09/17. - */ -@Module -public class RateUsDialogModule { - - @Provides - ViewModelProviderFactory provideRateUsViewModelFactory(DataManager dataManager, SchedulerProvider schedulerProvider) { - return new ViewModelProviderFactory(dataManager, schedulerProvider); - } -} diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogProvider.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogProvider.java index 3222948..f02d724 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogProvider.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogProvider.java @@ -25,6 +25,6 @@ @Module public abstract class RateUsDialogProvider { - @ContributesAndroidInjector(modules = RateUsDialogModule.class) + @ContributesAndroidInjector abstract RateUsDialog provideRateUsDialogFactory(); } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivityModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivityModule.java deleted file mode 100644 index 0d6f86f..0000000 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivityModule.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (C) 2017 MINDORKS NEXTGEN PRIVATE LIMITED - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://mindorks.com/license/apache-v2 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.mindorks.framework.mvvm.ui.splash; - -import com.mindorks.framework.mvvm.ViewModelProviderFactory; -import com.mindorks.framework.mvvm.data.DataManager; -import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; -import dagger.Module; -import dagger.Provides; - -/** - * Created by amitshekhar on 14/09/17. - */ -@Module -public class SplashActivityModule { - - @Provides - ViewModelProviderFactory provideSplashViewModel(DataManager dataManager, SchedulerProvider schedulerProvider) { - return new ViewModelProviderFactory(dataManager, schedulerProvider); - } -} From d3bb9c6becdfb516e73c9d26f6b7317bdd2b8c2e Mon Sep 17 00:00:00 2001 From: VigneshRamakrishnan Date: Fri, 1 Mar 2019 10:04:39 +0530 Subject: [PATCH 09/16] Prevent LiveData exposure to UI. Binding Livedata to recyclerview --- .../framework/mvvm/ui/base/BaseFragment.java | 1 + .../framework/mvvm/ui/feed/blogs/BlogFragment.java | 5 ----- .../mvvm/ui/feed/blogs/BlogViewModel.java | 14 ++------------ .../ui/feed/opensource/OpenSourceFragment.java | 6 ------ .../ui/feed/opensource/OpenSourceViewModel.java | 14 ++------------ .../framework/mvvm/ui/main/MainViewModel.java | 3 ++- app/src/main/res/layout/fragment_blog.xml | 2 +- app/src/main/res/layout/fragment_open_source.xml | 2 +- 8 files changed, 9 insertions(+), 38 deletions(-) diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseFragment.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseFragment.java index 3ff607b..7920050 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseFragment.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseFragment.java @@ -96,6 +96,7 @@ public void onDetach() { public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); mViewDataBinding.setVariable(getBindingVariable(), mViewModel); + mViewDataBinding.setLifecycleOwner(this); mViewDataBinding.executePendingBindings(); } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java index 2062753..ac51637 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java @@ -93,7 +93,6 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat super.onViewCreated(view, savedInstanceState); mFragmentBlogBinding = getViewDataBinding(); setUp(); - subscribeToLiveData(); } @Override @@ -107,8 +106,4 @@ private void setUp() { mFragmentBlogBinding.blogRecyclerView.setItemAnimator(new DefaultItemAnimator()); mFragmentBlogBinding.blogRecyclerView.setAdapter(mBlogAdapter); } - - private void subscribeToLiveData() { - mBlogViewModel.getBlogListLiveData().observe(this, blogs -> mBlogViewModel.addBlogItemsToList(blogs)); - } } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java index d3715d9..aa4bad7 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java @@ -16,6 +16,7 @@ package com.mindorks.framework.mvvm.ui.feed.blogs; +import android.arch.lifecycle.LiveData; import android.arch.lifecycle.MutableLiveData; import android.databinding.ObservableArrayList; import android.databinding.ObservableList; @@ -31,8 +32,6 @@ public class BlogViewModel extends BaseViewModel { - public final ObservableList blogObservableArrayList = new ObservableArrayList<>(); - private final MutableLiveData> blogListLiveData; public BlogViewModel(DataManager dataManager, @@ -42,11 +41,6 @@ public BlogViewModel(DataManager dataManager, fetchBlogs(); } - public void addBlogItemsToList(List blogs) { - blogObservableArrayList.clear(); - blogObservableArrayList.addAll(blogs); - } - public void fetchBlogs() { setIsLoading(true); getCompositeDisposable().add(getDataManager() @@ -64,11 +58,7 @@ public void fetchBlogs() { })); } - public MutableLiveData> getBlogListLiveData() { + public LiveData> getBlogListLiveData() { return blogListLiveData; } - - public ObservableList getBlogObservableList() { - return blogObservableArrayList; - } } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java index cd5db45..393d490 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java @@ -92,7 +92,6 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat super.onViewCreated(view, savedInstanceState); mFragmentOpenSourceBinding = getViewDataBinding(); setUp(); - subscribeToLiveData(); } private void setUp() { @@ -101,9 +100,4 @@ private void setUp() { mFragmentOpenSourceBinding.openSourceRecyclerView.setItemAnimator(new DefaultItemAnimator()); mFragmentOpenSourceBinding.openSourceRecyclerView.setAdapter(mOpenSourceAdapter); } - - private void subscribeToLiveData() { - mOpenSourceViewModel.getOpenSourceRepos().observe(this, - openSourceItemViewModels -> mOpenSourceViewModel.addOpenSourceItemsToList(openSourceItemViewModels)); - } } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java index 7d52047..d271b2b 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java @@ -16,6 +16,7 @@ package com.mindorks.framework.mvvm.ui.feed.opensource; +import android.arch.lifecycle.LiveData; import android.arch.lifecycle.MutableLiveData; import android.databinding.ObservableArrayList; import android.databinding.ObservableList; @@ -32,8 +33,6 @@ public class OpenSourceViewModel extends BaseViewModel { - private final ObservableList openSourceItemViewModels = new ObservableArrayList<>(); - private final MutableLiveData> openSourceItemsLiveData; public OpenSourceViewModel(DataManager dataManager, @@ -43,11 +42,6 @@ public OpenSourceViewModel(DataManager dataManager, fetchRepos(); } - public void addOpenSourceItemsToList(List openSourceItems) { - openSourceItemViewModels.clear(); - openSourceItemViewModels.addAll(openSourceItems); - } - public void fetchRepos() { setIsLoading(true); getCompositeDisposable().add(getDataManager() @@ -65,11 +59,7 @@ public void fetchRepos() { })); } - public ObservableList getOpenSourceItemViewModels() { - return openSourceItemViewModels; - } - - public MutableLiveData> getOpenSourceRepos() { + public LiveData> getOpenSourceItemsLiveData() { return openSourceItemsLiveData; } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java index f3874db..ed82704 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java @@ -16,6 +16,7 @@ package com.mindorks.framework.mvvm.ui.main; +import android.arch.lifecycle.LiveData; import android.arch.lifecycle.MutableLiveData; import android.databinding.ObservableArrayList; import android.databinding.ObservableField; @@ -63,7 +64,7 @@ public ObservableField getAppVersion() { return appVersion; } - public MutableLiveData> getQuestionCardData() { + public LiveData> getQuestionCardData() { return questionCardData; } diff --git a/app/src/main/res/layout/fragment_blog.xml b/app/src/main/res/layout/fragment_blog.xml index 6522811..3df94b1 100644 --- a/app/src/main/res/layout/fragment_blog.xml +++ b/app/src/main/res/layout/fragment_blog.xml @@ -41,7 +41,7 @@ android:id="@+id/blogRecyclerView" android:layout_width="match_parent" android:layout_height="match_parent" - app:adapter="@{viewModel.blogObservableArrayList}" + app:adapter="@{viewModel.blogListLiveData}" tools:listitem="@layout/item_blog_view" /> diff --git a/app/src/main/res/layout/fragment_open_source.xml b/app/src/main/res/layout/fragment_open_source.xml index 687b227..51f599c 100644 --- a/app/src/main/res/layout/fragment_open_source.xml +++ b/app/src/main/res/layout/fragment_open_source.xml @@ -41,7 +41,7 @@ android:id="@+id/openSourceRecyclerView" android:layout_width="match_parent" android:layout_height="match_parent" - app:adapter="@{viewModel.openSourceItemViewModels}" + app:adapter="@{viewModel.openSourceItemsLiveData}" tools:listitem="@layout/item_blog_view" /> From b7c91c9706a1dbdd1a2c7985424b4eb00d4d5299 Mon Sep 17 00:00:00 2001 From: VigneshRamakrishnan Date: Sat, 2 Mar 2019 10:18:39 +0530 Subject: [PATCH 10/16] Moving mapping of open source response to background. More minor code changes. --- .../framework/mvvm/ui/base/BaseViewModel.java | 2 +- .../mvvm/ui/feed/blogs/BlogViewModel.java | 2 -- .../feed/opensource/OpenSourceViewModel.java | 27 +++++++++---------- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java index 9ddf007..63486b9 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java @@ -31,7 +31,7 @@ public abstract class BaseViewModel extends ViewModel { private final DataManager mDataManager; - private final ObservableBoolean mIsLoading = new ObservableBoolean(false); + private final ObservableBoolean mIsLoading = new ObservableBoolean(); private final SchedulerProvider mSchedulerProvider; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java index aa4bad7..d844f0b 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java @@ -18,8 +18,6 @@ import android.arch.lifecycle.LiveData; import android.arch.lifecycle.MutableLiveData; -import android.databinding.ObservableArrayList; -import android.databinding.ObservableList; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.data.model.api.BlogResponse; import com.mindorks.framework.mvvm.ui.base.BaseViewModel; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java index d271b2b..7f1e3cc 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java @@ -18,15 +18,17 @@ import android.arch.lifecycle.LiveData; import android.arch.lifecycle.MutableLiveData; -import android.databinding.ObservableArrayList; -import android.databinding.ObservableList; + import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.data.model.api.OpenSourceResponse; import com.mindorks.framework.mvvm.ui.base.BaseViewModel; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; -import java.util.ArrayList; + import java.util.List; +import io.reactivex.Observable; +import io.reactivex.Single; + /** * Created by amitshekhar on 10/07/17. */ @@ -46,12 +48,12 @@ public void fetchRepos() { setIsLoading(true); getCompositeDisposable().add(getDataManager() .getOpenSourceApiCall() + .map(openSourceResponse -> openSourceResponse.getData()) + .flatMap(this::getViewModelList) .subscribeOn(getSchedulerProvider().io()) .observeOn(getSchedulerProvider().ui()) .subscribe(openSourceResponse -> { - if (openSourceResponse != null && openSourceResponse.getData() != null) { - openSourceItemsLiveData.setValue(getViewModelList(openSourceResponse.getData())); - } + openSourceItemsLiveData.setValue(openSourceResponse); setIsLoading(false); }, throwable -> { setIsLoading(false); @@ -63,13 +65,10 @@ public LiveData> getOpenSourceItemsLiveData() { return openSourceItemsLiveData; } - public List getViewModelList(List repoList) { - List openSourceItemViewModels = new ArrayList<>(); - for (OpenSourceResponse.Repo repo : repoList) { - openSourceItemViewModels.add(new OpenSourceItemViewModel( - repo.getCoverImgUrl(), repo.getTitle(), - repo.getDescription(), repo.getProjectUrl())); - } - return openSourceItemViewModels; + private Single> getViewModelList(List repoList) { + return Observable.fromIterable(repoList) + .map(repo -> new OpenSourceItemViewModel( + repo.getCoverImgUrl(), repo.getTitle(), + repo.getDescription(), repo.getProjectUrl())).toList(); } } From b0b8b0d0be55ca9912ec6c690837a5ef6341d336 Mon Sep 17 00:00:00 2001 From: VigneshRamakrishnan Date: Tue, 5 Mar 2019 21:23:40 +0530 Subject: [PATCH 11/16] AndroidX :smile: Initial commit --- app/build.gradle | 29 +++++++++---------- .../mvvm/ui/login/LoginActivityTest.java | 16 +++++----- .../mvvm/ViewModelProviderFactory.java | 4 +-- .../mvvm/data/local/db/AppDatabase.java | 4 +-- .../mvvm/data/local/db/dao/OptionDao.java | 8 ++--- .../mvvm/data/local/db/dao/QuestionDao.java | 8 ++--- .../mvvm/data/local/db/dao/UserDao.java | 10 +++---- .../framework/mvvm/data/model/db/Option.java | 8 ++--- .../mvvm/data/model/db/Question.java | 6 ++-- .../framework/mvvm/data/model/db/User.java | 6 ++-- .../framework/mvvm/di/module/AppModule.java | 2 +- .../mvvm/ui/about/AboutFragment.java | 4 +-- .../framework/mvvm/ui/base/BaseActivity.java | 10 +++---- .../framework/mvvm/ui/base/BaseDialog.java | 10 +++---- .../framework/mvvm/ui/base/BaseFragment.java | 12 ++++---- .../mvvm/ui/base/BaseViewHolder.java | 2 +- .../framework/mvvm/ui/base/BaseViewModel.java | 4 +-- .../mvvm/ui/custom/RoundedImageView.java | 2 +- .../framework/mvvm/ui/feed/FeedActivity.java | 10 +++---- .../mvvm/ui/feed/FeedPagerAdapter.java | 6 ++-- .../mvvm/ui/feed/blogs/BlogAdapter.java | 2 +- .../mvvm/ui/feed/blogs/BlogFragment.java | 10 +++---- .../ui/feed/blogs/BlogFragmentModule.java | 2 +- .../mvvm/ui/feed/blogs/BlogItemViewModel.java | 2 +- .../mvvm/ui/feed/blogs/BlogViewModel.java | 4 +-- .../ui/feed/opensource/OpenSourceAdapter.java | 2 +- .../feed/opensource/OpenSourceFragment.java | 10 +++---- .../opensource/OpenSourceFragmentModule.java | 2 +- .../opensource/OpenSourceItemViewModel.java | 2 +- .../feed/opensource/OpenSourceViewModel.java | 4 +-- .../mvvm/ui/login/LoginActivity.java | 2 +- .../framework/mvvm/ui/main/MainActivity.java | 18 ++++++------ .../framework/mvvm/ui/main/MainViewModel.java | 10 +++---- .../mvvm/ui/main/rating/RateUsDialog.java | 8 ++--- .../mvvm/ui/splash/SplashActivity.java | 3 +- .../framework/mvvm/utils/BindingUtils.java | 4 +-- .../framework/mvvm/utils/ViewUtils.java | 2 +- app/src/main/res/layout-land/card_layout.xml | 4 +-- app/src/main/res/layout/activity_feed.xml | 10 +++---- app/src/main/res/layout/activity_login.xml | 18 ++++++------ app/src/main/res/layout/activity_main.xml | 20 ++++++------- app/src/main/res/layout/card_layout.xml | 4 +-- app/src/main/res/layout/dialog_rate_us.xml | 4 +-- app/src/main/res/layout/fragment_about.xml | 4 +-- app/src/main/res/layout/fragment_blog.xml | 4 +-- .../main/res/layout/fragment_open_source.xml | 4 +-- app/src/main/res/layout/item_blog_view.xml | 4 +-- .../main/res/layout/item_open_source_view.xml | 4 +-- build.gradle | 19 +++++++----- gradle.properties | 2 ++ gradle/wrapper/gradle-wrapper.properties | 2 +- 51 files changed, 179 insertions(+), 172 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 89f8768..acf1d2f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -26,7 +26,7 @@ android { targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } buildTypes { @@ -54,20 +54,20 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) // android support libraries - implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion" - implementation "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion" - implementation "com.android.support:cardview-v7:$rootProject.supportLibraryVersion" - implementation "com.android.support:design:$rootProject.supportLibraryVersion" - implementation "com.android.support:support-vector-drawable:$rootProject.supportLibraryVersion" - implementation "com.android.support:animated-vector-drawable:$rootProject.supportLibraryVersion" - implementation "com.android.support.constraint:constraint-layout:$rootProject.constraintLayoutVersion" + implementation "androidx.appcompat:appcompat:$rootProject.supportLibraryVersion" + implementation "androidx.recyclerview:recyclerview:$rootProject.recyclerViewVersion" + implementation "androidx.cardview:cardview:$rootProject.cardViewVersion" + implementation "com.google.android.material:material:$rootProject.materialVersion" + implementation "androidx.vectordrawable:vectordrawable:$rootProject.vectorDrawableVersion" + implementation "androidx.vectordrawable:vectordrawable-animated:$rootProject.animatedVectorDrawableVersion" + implementation "androidx.constraintlayout:constraintlayout:$rootProject.constraintLayoutVersion" // network implementation "com.amitshekhar.android:rx2-android-networking:$rootProject.rx2FastAndroidNetworking" // database - implementation "android.arch.persistence.room:rxjava2:$rootProject.roomDatabase" - annotationProcessor "android.arch.persistence.room:compiler:$rootProject.roomDatabase" + implementation "androidx.room:room-rxjava2:$rootProject.roomDatabaseVersion" + annotationProcessor "androidx.room:room-compiler:$rootProject.roomDatabaseVersion" // font implementation "uk.co.chrisjenx:calligraphy:$rootProject.calligraphyVersion" @@ -103,17 +103,16 @@ dependencies { testAnnotationProcessor "com.google.dagger:dagger-compiler:$rootProject.dagger2Version" // UI Testing - androidTestImplementation "com.android.support.test.espresso:espresso-core:$rootProject.espressoVersion" - androidTestImplementation "com.android.support.test.espresso:espresso-intents:$rootProject.espressoVersion" + androidTestImplementation "androidx.test.espresso:espresso-core:$rootProject.espressoVersion" + androidTestImplementation "androidx.test.espresso:espresso-intents:$rootProject.espressoVersion" androidTestImplementation "org.mockito:mockito-core:$rootProject.mockitoVersion" androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:$rootProject.dagger2Version" // view model - implementation "android.arch.lifecycle:extensions:$rootProject.lifecycle" - annotationProcessor "android.arch.lifecycle:compiler:$rootProject.lifecycle" + implementation "androidx.lifecycle:lifecycle-extensions:$rootProject.lifecycleVersion" + annotationProcessor "androidx.lifecycle:lifecycle-compiler:$rootProject.lifecycleVersion" } configurations.all { - resolutionStrategy.force "com.android.support:support-annotations:$supportLibraryVersion" resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9' } diff --git a/app/src/androidTest/java/com/mindorks/framework/mvvm/ui/login/LoginActivityTest.java b/app/src/androidTest/java/com/mindorks/framework/mvvm/ui/login/LoginActivityTest.java index 81c3ed5..cb6c3c5 100644 --- a/app/src/androidTest/java/com/mindorks/framework/mvvm/ui/login/LoginActivityTest.java +++ b/app/src/androidTest/java/com/mindorks/framework/mvvm/ui/login/LoginActivityTest.java @@ -16,14 +16,14 @@ package com.mindorks.framework.mvvm.ui.login; -import static android.support.test.espresso.Espresso.onView; -import static android.support.test.espresso.assertion.ViewAssertions.matches; -import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; -import static android.support.test.espresso.matcher.ViewMatchers.withId; -import static android.support.test.espresso.matcher.ViewMatchers.withText; - -import android.support.test.rule.ActivityTestRule; -import android.support.test.runner.AndroidJUnit4; +import static androidx.test.espresso.Espresso.onView; +import static androidx.test.espresso.assertion.ViewAssertions.matches; +import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed; +import static androidx.test.espresso.matcher.ViewMatchers.withId; +import static androidx.test.espresso.matcher.ViewMatchers.withText; + +import androidx.test.rule.ActivityTestRule; +import androidx.test.ext.junit.runners.AndroidJUnit4; import com.mindorks.framework.mvvm.R; import org.junit.Rule; import org.junit.Test; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ViewModelProviderFactory.java b/app/src/main/java/com/mindorks/framework/mvvm/ViewModelProviderFactory.java index 81c9b6d..d0a6a27 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ViewModelProviderFactory.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ViewModelProviderFactory.java @@ -1,7 +1,7 @@ package com.mindorks.framework.mvvm; -import android.arch.lifecycle.ViewModel; -import android.arch.lifecycle.ViewModelProvider; +import androidx.lifecycle.ViewModel; +import androidx.lifecycle.ViewModelProvider; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.ui.about.AboutViewModel; import com.mindorks.framework.mvvm.ui.feed.FeedViewModel; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDatabase.java b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDatabase.java index 91c275e..31c2682 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDatabase.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/AppDatabase.java @@ -16,8 +16,8 @@ package com.mindorks.framework.mvvm.data.local.db; -import android.arch.persistence.room.Database; -import android.arch.persistence.room.RoomDatabase; +import androidx.room.Database; +import androidx.room.RoomDatabase; import com.mindorks.framework.mvvm.data.local.db.dao.OptionDao; import com.mindorks.framework.mvvm.data.local.db.dao.QuestionDao; import com.mindorks.framework.mvvm.data.local.db.dao.UserDao; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/OptionDao.java b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/OptionDao.java index 9ed00bb..5994b59 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/OptionDao.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/OptionDao.java @@ -16,10 +16,10 @@ package com.mindorks.framework.mvvm.data.local.db.dao; -import android.arch.persistence.room.Dao; -import android.arch.persistence.room.Insert; -import android.arch.persistence.room.OnConflictStrategy; -import android.arch.persistence.room.Query; +import androidx.room.Dao; +import androidx.room.Insert; +import androidx.room.OnConflictStrategy; +import androidx.room.Query; import com.mindorks.framework.mvvm.data.model.db.Option; import java.util.List; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/QuestionDao.java b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/QuestionDao.java index 09d885a..0086686 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/QuestionDao.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/QuestionDao.java @@ -16,10 +16,10 @@ package com.mindorks.framework.mvvm.data.local.db.dao; -import android.arch.persistence.room.Dao; -import android.arch.persistence.room.Insert; -import android.arch.persistence.room.OnConflictStrategy; -import android.arch.persistence.room.Query; +import androidx.room.Dao; +import androidx.room.Insert; +import androidx.room.OnConflictStrategy; +import androidx.room.Query; import com.mindorks.framework.mvvm.data.model.db.Question; import java.util.List; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/UserDao.java b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/UserDao.java index 7fbf44f..fc6be55 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/UserDao.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/local/db/dao/UserDao.java @@ -16,11 +16,11 @@ package com.mindorks.framework.mvvm.data.local.db.dao; -import android.arch.persistence.room.Dao; -import android.arch.persistence.room.Delete; -import android.arch.persistence.room.Insert; -import android.arch.persistence.room.OnConflictStrategy; -import android.arch.persistence.room.Query; +import androidx.room.Dao; +import androidx.room.Delete; +import androidx.room.Insert; +import androidx.room.OnConflictStrategy; +import androidx.room.Query; import com.mindorks.framework.mvvm.data.model.db.User; import java.util.List; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Option.java b/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Option.java index 8d75d05..eab1560 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Option.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Option.java @@ -16,10 +16,10 @@ package com.mindorks.framework.mvvm.data.model.db; -import android.arch.persistence.room.ColumnInfo; -import android.arch.persistence.room.Entity; -import android.arch.persistence.room.ForeignKey; -import android.arch.persistence.room.PrimaryKey; +import androidx.room.ColumnInfo; +import androidx.room.Entity; +import androidx.room.ForeignKey; +import androidx.room.PrimaryKey; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Question.java b/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Question.java index 618806b..7600b31 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Question.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/Question.java @@ -16,9 +16,9 @@ package com.mindorks.framework.mvvm.data.model.db; -import android.arch.persistence.room.ColumnInfo; -import android.arch.persistence.room.Entity; -import android.arch.persistence.room.PrimaryKey; +import androidx.room.ColumnInfo; +import androidx.room.Entity; +import androidx.room.PrimaryKey; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/User.java b/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/User.java index 6e95f3b..c3d2fd8 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/User.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/data/model/db/User.java @@ -16,9 +16,9 @@ package com.mindorks.framework.mvvm.data.model.db; -import android.arch.persistence.room.ColumnInfo; -import android.arch.persistence.room.Entity; -import android.arch.persistence.room.PrimaryKey; +import androidx.room.ColumnInfo; +import androidx.room.Entity; +import androidx.room.PrimaryKey; /** * Created by amitshekhar on 07/07/17. diff --git a/app/src/main/java/com/mindorks/framework/mvvm/di/module/AppModule.java b/app/src/main/java/com/mindorks/framework/mvvm/di/module/AppModule.java index 7cb03bf..77c2be7 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/di/module/AppModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/di/module/AppModule.java @@ -17,7 +17,7 @@ package com.mindorks.framework.mvvm.di.module; import android.app.Application; -import android.arch.persistence.room.Room; +import androidx.room.Room; import android.content.Context; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java index 13e902a..7476083 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java @@ -16,9 +16,9 @@ package com.mindorks.framework.mvvm.ui.about; -import android.arch.lifecycle.ViewModelProviders; +import androidx.lifecycle.ViewModelProviders; import android.os.Bundle; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import com.mindorks.framework.mvvm.BR; import com.mindorks.framework.mvvm.R; import com.mindorks.framework.mvvm.ViewModelProviderFactory; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseActivity.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseActivity.java index 93968f1..d816a74 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseActivity.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseActivity.java @@ -20,13 +20,13 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.pm.PackageManager; -import android.databinding.DataBindingUtil; -import android.databinding.ViewDataBinding; +import androidx.databinding.DataBindingUtil; +import androidx.databinding.ViewDataBinding; import android.os.Build; import android.os.Bundle; -import android.support.annotation.LayoutRes; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import android.view.inputmethod.InputMethodManager; import com.mindorks.framework.mvvm.ui.login.LoginActivity; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseDialog.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseDialog.java index c8151fd..9e4288f 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseDialog.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseDialog.java @@ -21,11 +21,11 @@ import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; import android.view.ViewGroup; import android.view.Window; import android.widget.RelativeLayout; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseFragment.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseFragment.java index 7920050..aee5e2c 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseFragment.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseFragment.java @@ -17,13 +17,13 @@ package com.mindorks.framework.mvvm.ui.base; import android.content.Context; -import android.databinding.DataBindingUtil; -import android.databinding.ViewDataBinding; +import androidx.databinding.DataBindingUtil; +import androidx.databinding.ViewDataBinding; import android.os.Bundle; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewHolder.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewHolder.java index aee8884..92f0936 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewHolder.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewHolder.java @@ -16,7 +16,7 @@ package com.mindorks.framework.mvvm.ui.base; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java index 63486b9..17855bf 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java @@ -16,8 +16,8 @@ package com.mindorks.framework.mvvm.ui.base; -import android.arch.lifecycle.ViewModel; -import android.databinding.ObservableBoolean; +import androidx.lifecycle.ViewModel; +import androidx.databinding.ObservableBoolean; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; import io.reactivex.disposables.CompositeDisposable; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/custom/RoundedImageView.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/custom/RoundedImageView.java index 885d0c7..9e5b2f0 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/custom/RoundedImageView.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/custom/RoundedImageView.java @@ -27,7 +27,7 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; -import android.support.v7.widget.AppCompatImageView; +import androidx.appcompat.widget.AppCompatImageView; import android.util.AttributeSet; import android.util.Log; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java index 326db9a..a33b658 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java @@ -16,14 +16,14 @@ package com.mindorks.framework.mvvm.ui.feed; -import android.arch.lifecycle.ViewModelProviders; +import androidx.lifecycle.ViewModelProviders; import android.content.Context; import android.content.Intent; import android.os.Bundle; -import android.support.design.widget.TabLayout; -import android.support.v4.app.Fragment; -import android.support.v4.app.NavUtils; -import android.support.v4.app.TaskStackBuilder; +import com.google.android.material.tabs.TabLayout; +import androidx.fragment.app.Fragment; +import androidx.core.app.NavUtils; +import androidx.core.app.TaskStackBuilder; import android.view.MenuItem; import com.mindorks.framework.mvvm.BR; import com.mindorks.framework.mvvm.R; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedPagerAdapter.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedPagerAdapter.java index 0d53786..7c2aebb 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedPagerAdapter.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedPagerAdapter.java @@ -16,9 +16,9 @@ package com.mindorks.framework.mvvm.ui.feed; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentStatePagerAdapter; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentStatePagerAdapter; import com.mindorks.framework.mvvm.ui.feed.blogs.BlogFragment; import com.mindorks.framework.mvvm.ui.feed.opensource.OpenSourceFragment; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogAdapter.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogAdapter.java index 9889c01..d4d6569 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogAdapter.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogAdapter.java @@ -18,7 +18,7 @@ import android.content.Intent; import android.net.Uri; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.ViewGroup; import com.mindorks.framework.mvvm.data.model.api.BlogResponse; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java index ac51637..11c2ced 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java @@ -16,12 +16,12 @@ package com.mindorks.framework.mvvm.ui.feed.blogs; -import android.arch.lifecycle.ViewModelProviders; +import androidx.lifecycle.ViewModelProviders; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.widget.DefaultItemAnimator; -import android.support.v7.widget.LinearLayoutManager; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.DefaultItemAnimator; +import androidx.recyclerview.widget.LinearLayoutManager; import android.view.View; import com.mindorks.framework.mvvm.BR; import com.mindorks.framework.mvvm.R; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragmentModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragmentModule.java index addd120..25b5afa 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragmentModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragmentModule.java @@ -16,7 +16,7 @@ package com.mindorks.framework.mvvm.ui.feed.blogs; -import android.support.v7.widget.LinearLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; import dagger.Module; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogItemViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogItemViewModel.java index c3bc6f5..dede5a8 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogItemViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogItemViewModel.java @@ -16,7 +16,7 @@ package com.mindorks.framework.mvvm.ui.feed.blogs; -import android.databinding.ObservableField; +import androidx.databinding.ObservableField; import com.mindorks.framework.mvvm.data.model.api.BlogResponse; /** diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java index d844f0b..cbe564c 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogViewModel.java @@ -16,8 +16,8 @@ package com.mindorks.framework.mvvm.ui.feed.blogs; -import android.arch.lifecycle.LiveData; -import android.arch.lifecycle.MutableLiveData; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.data.model.api.BlogResponse; import com.mindorks.framework.mvvm.ui.base.BaseViewModel; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceAdapter.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceAdapter.java index c4ccedb..db70072 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceAdapter.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceAdapter.java @@ -18,7 +18,7 @@ import android.content.Intent; import android.net.Uri; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java index 393d490..914b503 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java @@ -17,12 +17,12 @@ package com.mindorks.framework.mvvm.ui.feed.opensource; -import android.arch.lifecycle.ViewModelProviders; +import androidx.lifecycle.ViewModelProviders; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.widget.DefaultItemAnimator; -import android.support.v7.widget.LinearLayoutManager; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.DefaultItemAnimator; +import androidx.recyclerview.widget.LinearLayoutManager; import android.view.View; import com.mindorks.framework.mvvm.BR; import com.mindorks.framework.mvvm.R; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragmentModule.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragmentModule.java index baddc81..265dd56 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragmentModule.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragmentModule.java @@ -16,7 +16,7 @@ package com.mindorks.framework.mvvm.ui.feed.opensource; -import android.support.v7.widget.LinearLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; import dagger.Module; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceItemViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceItemViewModel.java index efab6c6..50a4e65 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceItemViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceItemViewModel.java @@ -16,7 +16,7 @@ package com.mindorks.framework.mvvm.ui.feed.opensource; -import android.databinding.ObservableField; +import androidx.databinding.ObservableField; /** * Created by amitshekhar on 10/07/17. diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java index 7f1e3cc..5edd0db 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceViewModel.java @@ -16,8 +16,8 @@ package com.mindorks.framework.mvvm.ui.feed.opensource; -import android.arch.lifecycle.LiveData; -import android.arch.lifecycle.MutableLiveData; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.data.model.api.OpenSourceResponse; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java index cf4ad7f..c66ba3b 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java @@ -16,7 +16,7 @@ package com.mindorks.framework.mvvm.ui.login; -import android.arch.lifecycle.ViewModelProviders; +import androidx.lifecycle.ViewModelProviders; import android.content.Context; import android.content.Intent; import android.os.Bundle; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java index 854dd83..3a28c28 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java @@ -16,21 +16,21 @@ package com.mindorks.framework.mvvm.ui.main; -import android.arch.lifecycle.ViewModelProviders; +import androidx.lifecycle.ViewModelProviders; import android.content.Context; import android.content.Intent; -import android.databinding.DataBindingUtil; +import androidx.databinding.DataBindingUtil; import android.graphics.drawable.Animatable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; -import android.support.design.widget.NavigationView; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.view.GravityCompat; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.ActionBarDrawerToggle; -import android.support.v7.widget.Toolbar; +import com.google.android.material.navigation.NavigationView; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.core.view.GravityCompat; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java index ed82704..ab7c308 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainViewModel.java @@ -16,11 +16,11 @@ package com.mindorks.framework.mvvm.ui.main; -import android.arch.lifecycle.LiveData; -import android.arch.lifecycle.MutableLiveData; -import android.databinding.ObservableArrayList; -import android.databinding.ObservableField; -import android.databinding.ObservableList; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; +import androidx.databinding.ObservableArrayList; +import androidx.databinding.ObservableField; +import androidx.databinding.ObservableList; import android.text.TextUtils; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.data.model.others.QuestionCardData; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java index 2262257..e27446c 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java @@ -16,11 +16,11 @@ package com.mindorks.framework.mvvm.ui.main.rating; -import android.arch.lifecycle.ViewModelProviders; -import android.databinding.DataBindingUtil; +import androidx.lifecycle.ViewModelProviders; +import androidx.databinding.DataBindingUtil; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.FragmentManager; +import androidx.annotation.NonNull; +import androidx.fragment.app.FragmentManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java index 608fe42..acbab4b 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java @@ -16,9 +16,10 @@ package com.mindorks.framework.mvvm.ui.splash; -import android.arch.lifecycle.ViewModelProviders; +import androidx.lifecycle.ViewModelProviders; import android.content.Intent; import android.os.Bundle; + import com.mindorks.framework.mvvm.BR; import com.mindorks.framework.mvvm.R; import com.mindorks.framework.mvvm.ViewModelProviderFactory; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/utils/BindingUtils.java b/app/src/main/java/com/mindorks/framework/mvvm/utils/BindingUtils.java index 4728a7e..7e987e8 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/utils/BindingUtils.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/utils/BindingUtils.java @@ -17,8 +17,8 @@ package com.mindorks.framework.mvvm.utils; import android.content.Context; -import android.databinding.BindingAdapter; -import android.support.v7.widget.RecyclerView; +import androidx.databinding.BindingAdapter; +import androidx.recyclerview.widget.RecyclerView; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.mindorks.framework.mvvm.data.model.api.BlogResponse; diff --git a/app/src/main/java/com/mindorks/framework/mvvm/utils/ViewUtils.java b/app/src/main/java/com/mindorks/framework/mvvm/utils/ViewUtils.java index 5245227..76cc81d 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/utils/ViewUtils.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/utils/ViewUtils.java @@ -20,7 +20,7 @@ import android.content.res.Resources; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; -import android.support.v4.content.ContextCompat; +import androidx.core.content.ContextCompat; import com.mindorks.framework.mvvm.R; /** diff --git a/app/src/main/res/layout-land/card_layout.xml b/app/src/main/res/layout-land/card_layout.xml index 255d43c..af9103a 100644 --- a/app/src/main/res/layout-land/card_layout.xml +++ b/app/src/main/res/layout-land/card_layout.xml @@ -14,7 +14,7 @@ ~ limitations under the License --> - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_feed.xml b/app/src/main/res/layout/activity_feed.xml index 8ce8ee3..1e4a03a 100644 --- a/app/src/main/res/layout/activity_feed.xml +++ b/app/src/main/res/layout/activity_feed.xml @@ -31,11 +31,11 @@ android:layout_height="match_parent" android:orientation="vertical"> - - - - + - - - - - + - - - +