Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
门心叼龙
android-mvvm-architecture
提交
52256590
A
android-mvvm-architecture
项目概览
门心叼龙
/
android-mvvm-architecture
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
android-mvvm-architecture
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
52256590
编写于
2月 22, 2019
作者:
J
Jyoti Dubey
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add view model factory class
上级
386ca35a
变更
18
隐藏空白更改
内联
并排
Showing
18 changed file
with
116 addition
and
58 deletion
+116
-58
app/src/main/AndroidManifest.xml
app/src/main/AndroidManifest.xml
+2
-4
app/src/main/java/com/mindorks/framework/mvvm/ViewModelProviderFactory.java
...com/mindorks/framework/mvvm/ViewModelProviderFactory.java
+54
-16
app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java
...a/com/mindorks/framework/mvvm/ui/about/AboutFragment.java
+4
-0
app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragmentModule.java
...mindorks/framework/mvvm/ui/about/AboutFragmentModule.java
+3
-3
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java
...ava/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java
+8
-2
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivityModule.java
...m/mindorks/framework/mvvm/ui/feed/FeedActivityModule.java
+5
-3
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java
...m/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java
+3
-3
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragmentModule.java
...orks/framework/mvvm/ui/feed/blogs/BlogFragmentModule.java
+2
-3
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java
...framework/mvvm/ui/feed/opensource/OpenSourceFragment.java
+3
-3
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragmentModule.java
...ork/mvvm/ui/feed/opensource/OpenSourceFragmentModule.java
+2
-3
app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java
...a/com/mindorks/framework/mvvm/ui/login/LoginActivity.java
+4
-0
app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivityModule.java
...mindorks/framework/mvvm/ui/login/LoginActivityModule.java
+3
-2
app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java
...ava/com/mindorks/framework/mvvm/ui/main/MainActivity.java
+5
-3
app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java
...m/mindorks/framework/mvvm/ui/main/MainActivityModule.java
+4
-8
app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java
.../mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java
+4
-1
app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java
...rks/framework/mvvm/ui/main/rating/RateUsDialogModule.java
+3
-2
app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java
...com/mindorks/framework/mvvm/ui/splash/SplashActivity.java
+4
-0
app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivityModule.java
...ndorks/framework/mvvm/ui/splash/SplashActivityModule.java
+3
-2
未找到文件。
app/src/main/AndroidManifest.xml
浏览文件 @
52256590
...
@@ -40,8 +40,7 @@
...
@@ -40,8 +40,7 @@
<activity
<activity
android:name=
".ui.login.LoginActivity"
android:name=
".ui.login.LoginActivity"
android:launchMode=
"singleTop"
android:launchMode=
"singleTop"
/>
android:screenOrientation=
"portrait"
/>
<activity
<activity
android:name=
".ui.main.MainActivity"
android:name=
".ui.main.MainActivity"
...
@@ -50,8 +49,7 @@
...
@@ -50,8 +49,7 @@
<activity
<activity
android:name=
"com.mindorks.framework.mvvm.ui.feed.FeedActivity"
android:name=
"com.mindorks.framework.mvvm.ui.feed.FeedActivity"
android:launchMode=
"singleTop"
android:launchMode=
"singleTop"
android:parentActivityName=
".ui.main.MainActivity"
android:parentActivityName=
".ui.main.MainActivity"
>
android:screenOrientation=
"portrait"
>
<!-- Parent activity meta-data to support 4.0 and lower -->
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
<meta-data
...
...
app/src/main/java/com/mindorks/framework/mvvm/ViewModelProviderFactory.java
浏览文件 @
52256590
...
@@ -2,26 +2,64 @@ package com.mindorks.framework.mvvm;
...
@@ -2,26 +2,64 @@ package com.mindorks.framework.mvvm;
import
android.arch.lifecycle.ViewModel
;
import
android.arch.lifecycle.ViewModel
;
import
android.arch.lifecycle.ViewModelProvider
;
import
android.arch.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
;
import
com.mindorks.framework.mvvm.ui.feed.blogs.BlogViewModel
;
import
com.mindorks.framework.mvvm.ui.feed.opensource.OpenSourceViewModel
;
import
com.mindorks.framework.mvvm.ui.login.LoginViewModel
;
import
com.mindorks.framework.mvvm.ui.main.MainViewModel
;
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
;
/**
/**
* Created by RV on 19/07/17.
* Created by jyotidubey on 22/02/19.
* <p>
* A provider factory that persists ViewModels {@link ViewModel}.
* Used if the view model has a parameterized constructor.
*/
*/
public
class
ViewModelProviderFactory
<
V
>
implements
ViewModelProvider
.
Factory
{
private
V
viewModel
;
public
class
ViewModelProviderFactory
extends
ViewModelProvider
.
NewInstanceFactory
{
public
ViewModelProviderFactory
(
V
viewModel
)
{
private
final
DataManager
dataManager
;
this
.
viewModel
=
viewModel
;
private
final
SchedulerProvider
schedulerProvider
;
}
public
ViewModelProviderFactory
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
this
.
dataManager
=
dataManager
;
this
.
schedulerProvider
=
schedulerProvider
;
}
@Override
public
<
T
extends
ViewModel
>
T
create
(
Class
<
T
>
modelClass
)
{
@Override
if
(
modelClass
.
isAssignableFrom
(
viewModel
.
getClass
()))
{
public
<
T
extends
ViewModel
>
T
create
(
Class
<
T
>
modelClass
)
{
return
(
T
)
viewModel
;
if
(
modelClass
.
isAssignableFrom
(
AboutViewModel
.
class
))
{
}
//noinspection unchecked
throw
new
IllegalArgumentException
(
"Unknown class name"
);
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
app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragment.java
浏览文件 @
52256590
...
@@ -16,10 +16,12 @@
...
@@ -16,10 +16,12 @@
package
com.mindorks.framework.mvvm.ui.about
;
package
com.mindorks.framework.mvvm.ui.about
;
import
android.arch.lifecycle.ViewModelProviders
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.databinding.FragmentAboutBinding
;
import
com.mindorks.framework.mvvm.databinding.FragmentAboutBinding
;
import
com.mindorks.framework.mvvm.ui.base.BaseFragment
;
import
com.mindorks.framework.mvvm.ui.base.BaseFragment
;
...
@@ -34,6 +36,7 @@ public class AboutFragment extends BaseFragment<FragmentAboutBinding, AboutViewM
...
@@ -34,6 +36,7 @@ public class AboutFragment extends BaseFragment<FragmentAboutBinding, AboutViewM
public
static
final
String
TAG
=
AboutFragment
.
class
.
getSimpleName
();
public
static
final
String
TAG
=
AboutFragment
.
class
.
getSimpleName
();
@Inject
@Inject
ViewModelProviderFactory
factory
;
AboutViewModel
mAboutViewModel
;
AboutViewModel
mAboutViewModel
;
public
static
AboutFragment
newInstance
()
{
public
static
AboutFragment
newInstance
()
{
...
@@ -55,6 +58,7 @@ public class AboutFragment extends BaseFragment<FragmentAboutBinding, AboutViewM
...
@@ -55,6 +58,7 @@ public class AboutFragment extends BaseFragment<FragmentAboutBinding, AboutViewM
@Override
@Override
public
AboutViewModel
getViewModel
()
{
public
AboutViewModel
getViewModel
()
{
mAboutViewModel
=
ViewModelProviders
.
of
(
this
,
factory
).
get
(
AboutViewModel
.
class
);
return
mAboutViewModel
;
return
mAboutViewModel
;
}
}
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/about/AboutFragmentModule.java
浏览文件 @
52256590
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
package
com.mindorks.framework.mvvm.ui.about
;
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.data.DataManager
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
...
@@ -27,9 +28,8 @@ import dagger.Provides;
...
@@ -27,9 +28,8 @@ import dagger.Provides;
*/
*/
@Module
@Module
public
class
AboutFragmentModule
{
public
class
AboutFragmentModule
{
@Provides
@Provides
AboutViewModel
provideAbout
ViewModel
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
ViewModelProviderFactory
provideSplash
ViewModel
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
return
new
AboutViewModel
(
dataManager
,
schedulerProvider
);
return
new
ViewModelProviderFactory
(
dataManager
,
schedulerProvider
);
}
}
}
}
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java
浏览文件 @
52256590
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
package
com.mindorks.framework.mvvm.ui.feed
;
package
com.mindorks.framework.mvvm.ui.feed
;
import
android.arch.lifecycle.ViewModelProviders
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
...
@@ -26,6 +27,7 @@ import android.support.v4.app.TaskStackBuilder;
...
@@ -26,6 +27,7 @@ import android.support.v4.app.TaskStackBuilder;
import
android.view.MenuItem
;
import
android.view.MenuItem
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.databinding.ActivityFeedBinding
;
import
com.mindorks.framework.mvvm.databinding.ActivityFeedBinding
;
import
com.mindorks.framework.mvvm.ui.base.BaseActivity
;
import
com.mindorks.framework.mvvm.ui.base.BaseActivity
;
...
@@ -35,6 +37,7 @@ import javax.inject.Inject;
...
@@ -35,6 +37,7 @@ import javax.inject.Inject;
import
dagger.android.AndroidInjector
;
import
dagger.android.AndroidInjector
;
import
dagger.android.DispatchingAndroidInjector
;
import
dagger.android.DispatchingAndroidInjector
;
import
dagger.android.support.HasSupportFragmentInjector
;
import
dagger.android.support.HasSupportFragmentInjector
;
import
javax.inject.Named
;
/**
/**
* Created by amitshekhar on 10/07/17.
* Created by amitshekhar on 10/07/17.
...
@@ -45,10 +48,12 @@ public class FeedActivity extends BaseActivity<ActivityFeedBinding, FeedViewMode
...
@@ -45,10 +48,12 @@ public class FeedActivity extends BaseActivity<ActivityFeedBinding, FeedViewMode
@Inject
@Inject
DispatchingAndroidInjector
<
Fragment
>
fragmentDispatchingAndroidInjector
;
DispatchingAndroidInjector
<
Fragment
>
fragmentDispatchingAndroidInjector
;
@Inject
@Inject
FeedViewModel
mFeedViewModel
;
@Inject
FeedPagerAdapter
mPagerAdapter
;
FeedPagerAdapter
mPagerAdapter
;
@Inject
@Named
(
"FeedActivity"
)
ViewModelProviderFactory
factory
;
private
ActivityFeedBinding
mActivityFeedBinding
;
private
ActivityFeedBinding
mActivityFeedBinding
;
FeedViewModel
mFeedViewModel
;
public
static
Intent
newIntent
(
Context
context
)
{
public
static
Intent
newIntent
(
Context
context
)
{
return
new
Intent
(
context
,
FeedActivity
.
class
);
return
new
Intent
(
context
,
FeedActivity
.
class
);
...
@@ -66,6 +71,7 @@ public class FeedActivity extends BaseActivity<ActivityFeedBinding, FeedViewMode
...
@@ -66,6 +71,7 @@ public class FeedActivity extends BaseActivity<ActivityFeedBinding, FeedViewMode
@Override
@Override
public
FeedViewModel
getViewModel
()
{
public
FeedViewModel
getViewModel
()
{
mFeedViewModel
=
ViewModelProviders
.
of
(
this
,
factory
).
get
(
FeedViewModel
.
class
);
return
mFeedViewModel
;
return
mFeedViewModel
;
}
}
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivityModule.java
浏览文件 @
52256590
...
@@ -16,11 +16,13 @@
...
@@ -16,11 +16,13 @@
package
com.mindorks.framework.mvvm.ui.feed
;
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.data.DataManager
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
import
dagger.Module
;
import
dagger.Module
;
import
dagger.Provides
;
import
dagger.Provides
;
import
javax.inject.Named
;
/**
/**
* Created by amitshekhar on 14/09/17.
* Created by amitshekhar on 14/09/17.
...
@@ -34,8 +36,8 @@ public class FeedActivityModule {
...
@@ -34,8 +36,8 @@ public class FeedActivityModule {
}
}
@Provides
@Provides
FeedViewModel
provideFeedViewModel
(
DataManager
dataManager
,
@Named
(
"FeedActivity"
)
SchedulerProvider
schedulerProvider
)
{
ViewModelProviderFactory
provideFeedSourceFactory
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
return
new
FeedViewModel
(
dataManager
,
schedulerProvider
);
return
new
ViewModelProviderFactory
(
dataManager
,
schedulerProvider
);
}
}
}
}
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java
浏览文件 @
52256590
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
package
com.mindorks.framework.mvvm.ui.feed.blogs
;
package
com.mindorks.framework.mvvm.ui.feed.blogs
;
import
android.arch.lifecycle.ViewModelProvider
;
import
android.arch.lifecycle.ViewModelProviders
;
import
android.arch.lifecycle.ViewModelProviders
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.NonNull
;
...
@@ -26,6 +25,7 @@ import android.support.v7.widget.LinearLayoutManager;
...
@@ -26,6 +25,7 @@ import android.support.v7.widget.LinearLayoutManager;
import
android.view.View
;
import
android.view.View
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.data.model.api.BlogResponse
;
import
com.mindorks.framework.mvvm.data.model.api.BlogResponse
;
import
com.mindorks.framework.mvvm.databinding.FragmentBlogBinding
;
import
com.mindorks.framework.mvvm.databinding.FragmentBlogBinding
;
...
@@ -48,7 +48,7 @@ public class BlogFragment extends BaseFragment<FragmentBlogBinding, BlogViewMode
...
@@ -48,7 +48,7 @@ public class BlogFragment extends BaseFragment<FragmentBlogBinding, BlogViewMode
@Inject
@Inject
LinearLayoutManager
mLayoutManager
;
LinearLayoutManager
mLayoutManager
;
@Inject
@Inject
ViewModelProvider
.
Factory
mViewModelF
actory
;
ViewModelProvider
Factory
f
actory
;
private
BlogViewModel
mBlogViewModel
;
private
BlogViewModel
mBlogViewModel
;
public
static
BlogFragment
newInstance
()
{
public
static
BlogFragment
newInstance
()
{
...
@@ -70,7 +70,7 @@ public class BlogFragment extends BaseFragment<FragmentBlogBinding, BlogViewMode
...
@@ -70,7 +70,7 @@ public class BlogFragment extends BaseFragment<FragmentBlogBinding, BlogViewMode
@Override
@Override
public
BlogViewModel
getViewModel
()
{
public
BlogViewModel
getViewModel
()
{
mBlogViewModel
=
ViewModelProviders
.
of
(
this
,
mViewModelF
actory
).
get
(
BlogViewModel
.
class
);
mBlogViewModel
=
ViewModelProviders
.
of
(
this
,
f
actory
).
get
(
BlogViewModel
.
class
);
return
mBlogViewModel
;
return
mBlogViewModel
;
}
}
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragmentModule.java
浏览文件 @
52256590
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
package
com.mindorks.framework.mvvm.ui.feed.blogs
;
package
com.mindorks.framework.mvvm.ui.feed.blogs
;
import
android.arch.lifecycle.ViewModelProvider
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.LinearLayoutManager
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
...
@@ -46,8 +45,8 @@ public class BlogFragmentModule {
...
@@ -46,8 +45,8 @@ public class BlogFragmentModule {
}
}
@Provides
@Provides
ViewModelProvider
.
Factory
provideBlogViewModel
(
BlogViewModel
blogViewModel
)
{
ViewModelProvider
Factory
provideBlogViewModelFactory
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
return
new
ViewModelProviderFactory
<>(
blogViewModel
);
return
new
ViewModelProviderFactory
(
dataManager
,
schedulerProvider
);
}
}
@Provides
@Provides
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java
浏览文件 @
52256590
...
@@ -17,7 +17,6 @@
...
@@ -17,7 +17,6 @@
package
com.mindorks.framework.mvvm.ui.feed.opensource
;
package
com.mindorks.framework.mvvm.ui.feed.opensource
;
import
android.arch.lifecycle.ViewModelProvider
;
import
android.arch.lifecycle.ViewModelProviders
;
import
android.arch.lifecycle.ViewModelProviders
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.NonNull
;
...
@@ -27,6 +26,7 @@ import android.support.v7.widget.LinearLayoutManager;
...
@@ -27,6 +26,7 @@ import android.support.v7.widget.LinearLayoutManager;
import
android.view.View
;
import
android.view.View
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.databinding.FragmentOpenSourceBinding
;
import
com.mindorks.framework.mvvm.databinding.FragmentOpenSourceBinding
;
import
com.mindorks.framework.mvvm.ui.base.BaseFragment
;
import
com.mindorks.framework.mvvm.ui.base.BaseFragment
;
...
@@ -46,7 +46,7 @@ public class OpenSourceFragment extends BaseFragment<FragmentOpenSourceBinding,
...
@@ -46,7 +46,7 @@ public class OpenSourceFragment extends BaseFragment<FragmentOpenSourceBinding,
@Inject
@Inject
OpenSourceAdapter
mOpenSourceAdapter
;
OpenSourceAdapter
mOpenSourceAdapter
;
@Inject
@Inject
ViewModelProvider
.
Factory
mViewModelF
actory
;
ViewModelProvider
Factory
f
actory
;
private
OpenSourceViewModel
mOpenSourceViewModel
;
private
OpenSourceViewModel
mOpenSourceViewModel
;
public
static
OpenSourceFragment
newInstance
()
{
public
static
OpenSourceFragment
newInstance
()
{
...
@@ -68,7 +68,7 @@ public class OpenSourceFragment extends BaseFragment<FragmentOpenSourceBinding,
...
@@ -68,7 +68,7 @@ public class OpenSourceFragment extends BaseFragment<FragmentOpenSourceBinding,
@Override
@Override
public
OpenSourceViewModel
getViewModel
()
{
public
OpenSourceViewModel
getViewModel
()
{
mOpenSourceViewModel
=
ViewModelProviders
.
of
(
this
,
mViewModelF
actory
).
get
(
OpenSourceViewModel
.
class
);
mOpenSourceViewModel
=
ViewModelProviders
.
of
(
this
,
f
actory
).
get
(
OpenSourceViewModel
.
class
);
return
mOpenSourceViewModel
;
return
mOpenSourceViewModel
;
}
}
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragmentModule.java
浏览文件 @
52256590
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
package
com.mindorks.framework.mvvm.ui.feed.opensource
;
package
com.mindorks.framework.mvvm.ui.feed.opensource
;
import
android.arch.lifecycle.ViewModelProvider
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.LinearLayoutManager
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
...
@@ -48,7 +47,7 @@ public class OpenSourceFragmentModule {
...
@@ -48,7 +47,7 @@ public class OpenSourceFragmentModule {
}
}
@Provides
@Provides
ViewModelProvider
.
Factory
provideOpenSourceViewModel
(
OpenSourceViewModel
openSourceViewModel
)
{
ViewModelProvider
Factory
provideOpenSourceFactory
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
return
new
ViewModelProviderFactory
<>(
openSourceViewModel
);
return
new
ViewModelProviderFactory
(
dataManager
,
schedulerProvider
);
}
}
}
}
app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java
浏览文件 @
52256590
...
@@ -16,12 +16,14 @@
...
@@ -16,12 +16,14 @@
package
com.mindorks.framework.mvvm.ui.login
;
package
com.mindorks.framework.mvvm.ui.login
;
import
android.arch.lifecycle.ViewModelProviders
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.widget.Toast
;
import
android.widget.Toast
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.databinding.ActivityLoginBinding
;
import
com.mindorks.framework.mvvm.databinding.ActivityLoginBinding
;
import
com.mindorks.framework.mvvm.ui.base.BaseActivity
;
import
com.mindorks.framework.mvvm.ui.base.BaseActivity
;
...
@@ -36,6 +38,7 @@ import javax.inject.Inject;
...
@@ -36,6 +38,7 @@ import javax.inject.Inject;
public
class
LoginActivity
extends
BaseActivity
<
ActivityLoginBinding
,
LoginViewModel
>
implements
LoginNavigator
{
public
class
LoginActivity
extends
BaseActivity
<
ActivityLoginBinding
,
LoginViewModel
>
implements
LoginNavigator
{
@Inject
@Inject
ViewModelProviderFactory
factory
;
LoginViewModel
mLoginViewModel
;
LoginViewModel
mLoginViewModel
;
private
ActivityLoginBinding
mActivityLoginBinding
;
private
ActivityLoginBinding
mActivityLoginBinding
;
...
@@ -55,6 +58,7 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginViewM
...
@@ -55,6 +58,7 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginViewM
@Override
@Override
public
LoginViewModel
getViewModel
()
{
public
LoginViewModel
getViewModel
()
{
mLoginViewModel
=
ViewModelProviders
.
of
(
this
,
factory
).
get
(
LoginViewModel
.
class
);
return
mLoginViewModel
;
return
mLoginViewModel
;
}
}
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivityModule.java
浏览文件 @
52256590
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
package
com.mindorks.framework.mvvm.ui.login
;
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.data.DataManager
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
...
@@ -29,7 +30,7 @@ import dagger.Provides;
...
@@ -29,7 +30,7 @@ import dagger.Provides;
public
class
LoginActivityModule
{
public
class
LoginActivityModule
{
@Provides
@Provides
LoginViewModel
provideLoginViewModel
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
ViewModelProviderFactory
provideLoginViewModelFactory
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
return
new
LoginViewModel
(
dataManager
,
schedulerProvider
);
return
new
ViewModelProviderFactory
(
dataManager
,
schedulerProvider
);
}
}
}
}
app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java
浏览文件 @
52256590
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
package
com.mindorks.framework.mvvm.ui.main
;
package
com.mindorks.framework.mvvm.ui.main
;
import
android.arch.lifecycle.ViewModelProvider
;
import
android.arch.lifecycle.ViewModelProviders
;
import
android.arch.lifecycle.ViewModelProviders
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.Intent
;
...
@@ -38,6 +37,7 @@ import android.view.View;
...
@@ -38,6 +37,7 @@ import android.view.View;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.BuildConfig
;
import
com.mindorks.framework.mvvm.BuildConfig
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.databinding.ActivityMainBinding
;
import
com.mindorks.framework.mvvm.databinding.ActivityMainBinding
;
import
com.mindorks.framework.mvvm.databinding.NavHeaderMainBinding
;
import
com.mindorks.framework.mvvm.databinding.NavHeaderMainBinding
;
...
@@ -55,13 +55,15 @@ import javax.inject.Inject;
...
@@ -55,13 +55,15 @@ import javax.inject.Inject;
import
dagger.android.AndroidInjector
;
import
dagger.android.AndroidInjector
;
import
dagger.android.DispatchingAndroidInjector
;
import
dagger.android.DispatchingAndroidInjector
;
import
dagger.android.support.HasSupportFragmentInjector
;
import
dagger.android.support.HasSupportFragmentInjector
;
import
javax.inject.Named
;
public
class
MainActivity
extends
BaseActivity
<
ActivityMainBinding
,
MainViewModel
>
implements
MainNavigator
,
HasSupportFragmentInjector
{
public
class
MainActivity
extends
BaseActivity
<
ActivityMainBinding
,
MainViewModel
>
implements
MainNavigator
,
HasSupportFragmentInjector
{
@Inject
@Inject
DispatchingAndroidInjector
<
Fragment
>
fragmentDispatchingAndroidInjector
;
DispatchingAndroidInjector
<
Fragment
>
fragmentDispatchingAndroidInjector
;
@Inject
@Inject
ViewModelProvider
.
Factory
mViewModelFactory
;
@Named
(
"MainActivity"
)
ViewModelProviderFactory
factory
;
private
ActivityMainBinding
mActivityMainBinding
;
private
ActivityMainBinding
mActivityMainBinding
;
private
SwipePlaceHolderView
mCardsContainerView
;
private
SwipePlaceHolderView
mCardsContainerView
;
private
DrawerLayout
mDrawer
;
private
DrawerLayout
mDrawer
;
...
@@ -86,7 +88,7 @@ public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewMode
...
@@ -86,7 +88,7 @@ public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewMode
@Override
@Override
public
MainViewModel
getViewModel
()
{
public
MainViewModel
getViewModel
()
{
mMainViewModel
=
ViewModelProviders
.
of
(
this
,
mViewModelF
actory
).
get
(
MainViewModel
.
class
);
mMainViewModel
=
ViewModelProviders
.
of
(
this
,
f
actory
).
get
(
MainViewModel
.
class
);
return
mMainViewModel
;
return
mMainViewModel
;
}
}
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivityModule.java
浏览文件 @
52256590
...
@@ -16,14 +16,13 @@
...
@@ -16,14 +16,13 @@
package
com.mindorks.framework.mvvm.ui.main
;
package
com.mindorks.framework.mvvm.ui.main
;
import
android.arch.lifecycle.ViewModelProvider
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.data.DataManager
;
import
com.mindorks.framework.mvvm.data.DataManager
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
import
dagger.Module
;
import
dagger.Module
;
import
dagger.Provides
;
import
dagger.Provides
;
import
javax.inject.Named
;
/**
/**
* Created by amitshekhar on 14/09/17.
* Created by amitshekhar on 14/09/17.
...
@@ -32,12 +31,9 @@ import dagger.Provides;
...
@@ -32,12 +31,9 @@ import dagger.Provides;
public
class
MainActivityModule
{
public
class
MainActivityModule
{
@Provides
@Provides
ViewModelProvider
.
Factory
mainViewModelProvider
(
MainViewModel
mainViewModel
)
{
@Named
(
"MainActivity"
)
return
new
ViewModelProviderFactory
<>(
mainViewModel
);
ViewModelProviderFactory
provideMainSourceFactory
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
return
new
ViewModelProviderFactory
(
dataManager
,
schedulerProvider
);
}
}
@Provides
MainViewModel
provideMainViewModel
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
return
new
MainViewModel
(
dataManager
,
schedulerProvider
);
}
}
}
app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialog.java
浏览文件 @
52256590
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
package
com.mindorks.framework.mvvm.ui.main.rating
;
package
com.mindorks.framework.mvvm.ui.main.rating
;
import
android.arch.lifecycle.ViewModelProviders
;
import
android.databinding.DataBindingUtil
;
import
android.databinding.DataBindingUtil
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.NonNull
;
...
@@ -24,6 +25,7 @@ import android.view.LayoutInflater;
...
@@ -24,6 +25,7 @@ import android.view.LayoutInflater;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.databinding.DialogRateUsBinding
;
import
com.mindorks.framework.mvvm.databinding.DialogRateUsBinding
;
import
com.mindorks.framework.mvvm.ui.base.BaseDialog
;
import
com.mindorks.framework.mvvm.ui.base.BaseDialog
;
...
@@ -40,6 +42,7 @@ public class RateUsDialog extends BaseDialog implements RateUsCallback {
...
@@ -40,6 +42,7 @@ public class RateUsDialog extends BaseDialog implements RateUsCallback {
private
static
final
String
TAG
=
RateUsDialog
.
class
.
getSimpleName
();
private
static
final
String
TAG
=
RateUsDialog
.
class
.
getSimpleName
();
@Inject
@Inject
ViewModelProviderFactory
factory
;
RateUsViewModel
mRateUsViewModel
;
RateUsViewModel
mRateUsViewModel
;
public
static
RateUsDialog
newInstance
()
{
public
static
RateUsDialog
newInstance
()
{
...
@@ -60,7 +63,7 @@ public class RateUsDialog extends BaseDialog implements RateUsCallback {
...
@@ -60,7 +63,7 @@ public class RateUsDialog extends BaseDialog implements RateUsCallback {
View
view
=
binding
.
getRoot
();
View
view
=
binding
.
getRoot
();
AndroidSupportInjection
.
inject
(
this
);
AndroidSupportInjection
.
inject
(
this
);
mRateUsViewModel
=
ViewModelProviders
.
of
(
this
,
factory
).
get
(
RateUsViewModel
.
class
);
binding
.
setViewModel
(
mRateUsViewModel
);
binding
.
setViewModel
(
mRateUsViewModel
);
mRateUsViewModel
.
setNavigator
(
this
);
mRateUsViewModel
.
setNavigator
(
this
);
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/main/rating/RateUsDialogModule.java
浏览文件 @
52256590
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
package
com.mindorks.framework.mvvm.ui.main.rating
;
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.data.DataManager
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
...
@@ -29,7 +30,7 @@ import dagger.Provides;
...
@@ -29,7 +30,7 @@ import dagger.Provides;
public
class
RateUsDialogModule
{
public
class
RateUsDialogModule
{
@Provides
@Provides
RateUsViewModel
provideRateUsViewModel
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
ViewModelProviderFactory
provideRateUsViewModelFactory
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
return
new
RateUsViewModel
(
dataManager
,
schedulerProvider
);
return
new
ViewModelProviderFactory
(
dataManager
,
schedulerProvider
);
}
}
}
}
app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivity.java
浏览文件 @
52256590
...
@@ -16,11 +16,13 @@
...
@@ -16,11 +16,13 @@
package
com.mindorks.framework.mvvm.ui.splash
;
package
com.mindorks.framework.mvvm.ui.splash
;
import
android.arch.lifecycle.ViewModelProviders
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.BR
;
import
com.mindorks.framework.mvvm.ViewModelProviderFactory
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.databinding.ActivitySplashBinding
;
import
com.mindorks.framework.mvvm.databinding.ActivitySplashBinding
;
import
com.mindorks.framework.mvvm.ui.base.BaseActivity
;
import
com.mindorks.framework.mvvm.ui.base.BaseActivity
;
...
@@ -36,6 +38,7 @@ import javax.inject.Inject;
...
@@ -36,6 +38,7 @@ import javax.inject.Inject;
public
class
SplashActivity
extends
BaseActivity
<
ActivitySplashBinding
,
SplashViewModel
>
implements
SplashNavigator
{
public
class
SplashActivity
extends
BaseActivity
<
ActivitySplashBinding
,
SplashViewModel
>
implements
SplashNavigator
{
@Inject
@Inject
ViewModelProviderFactory
factory
;
SplashViewModel
mSplashViewModel
;
SplashViewModel
mSplashViewModel
;
public
static
Intent
newIntent
(
Context
context
)
{
public
static
Intent
newIntent
(
Context
context
)
{
...
@@ -54,6 +57,7 @@ public class SplashActivity extends BaseActivity<ActivitySplashBinding, SplashVi
...
@@ -54,6 +57,7 @@ public class SplashActivity extends BaseActivity<ActivitySplashBinding, SplashVi
@Override
@Override
public
SplashViewModel
getViewModel
()
{
public
SplashViewModel
getViewModel
()
{
mSplashViewModel
=
ViewModelProviders
.
of
(
this
,
factory
).
get
(
SplashViewModel
.
class
);
return
mSplashViewModel
;
return
mSplashViewModel
;
}
}
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/splash/SplashActivityModule.java
浏览文件 @
52256590
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
package
com.mindorks.framework.mvvm.ui.splash
;
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.data.DataManager
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
import
com.mindorks.framework.mvvm.utils.rx.SchedulerProvider
;
...
@@ -29,7 +30,7 @@ import dagger.Provides;
...
@@ -29,7 +30,7 @@ import dagger.Provides;
public
class
SplashActivityModule
{
public
class
SplashActivityModule
{
@Provides
@Provides
SplashViewModel
provideSplashViewModel
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
ViewModelProviderFactory
provideSplashViewModel
(
DataManager
dataManager
,
SchedulerProvider
schedulerProvider
)
{
return
new
SplashViewModel
(
dataManager
,
schedulerProvider
);
return
new
ViewModelProviderFactory
(
dataManager
,
schedulerProvider
);
}
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录