Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
门心叼龙
android-mvvm-architecture
提交
0e7d5789
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 搜索 >>
提交
0e7d5789
编写于
8月 01, 2017
作者:
J
Jyoti Dubey
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Reduce scope of viewDataBinding
上级
61e4383a
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
52 addition
and
36 deletion
+52
-36
app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseActivity.java
...ava/com/mindorks/framework/mvvm/ui/base/BaseActivity.java
+10
-5
app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseFragment.java
...ava/com/mindorks/framework/mvvm/ui/base/BaseFragment.java
+10
-6
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java
...ava/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java
+10
-8
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java
...m/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java
+5
-3
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java
...framework/mvvm/ui/feed/opensource/OpenSourceFragment.java
+5
-3
app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java
...a/com/mindorks/framework/mvvm/ui/login/LoginActivity.java
+4
-2
app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java
...ava/com/mindorks/framework/mvvm/ui/main/MainActivity.java
+8
-9
未找到文件。
app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseActivity.java
浏览文件 @
0e7d5789
...
...
@@ -53,7 +53,7 @@ public abstract class BaseActivity<T extends ViewDataBinding, V extends BaseView
// since its going to be common for all the activities
private
ProgressDialog
mProgressDialog
;
p
ublic
T
v
iewDataBinding
;
p
rivate
T
mV
iewDataBinding
;
private
V
mViewModel
;
@Override
...
...
@@ -73,10 +73,10 @@ public abstract class BaseActivity<T extends ViewDataBinding, V extends BaseView
private
void
performDataBinding
()
{
v
iewDataBinding
=
DataBindingUtil
.
setContentView
(
this
,
getLayoutId
());
mV
iewDataBinding
=
DataBindingUtil
.
setContentView
(
this
,
getLayoutId
());
this
.
mViewModel
=
mViewModel
==
null
?
getViewModel
()
:
mViewModel
;
v
iewDataBinding
.
setVariable
(
getBindingVariable
(),
mViewModel
);
v
iewDataBinding
.
executePendingBindings
();
mV
iewDataBinding
.
setVariable
(
getBindingVariable
(),
mViewModel
);
mV
iewDataBinding
.
executePendingBindings
();
}
public
ActivityComponent
getActivityComponent
()
{
...
...
@@ -145,14 +145,20 @@ public abstract class BaseActivity<T extends ViewDataBinding, V extends BaseView
}
}
public
T
getViewDataBinding
()
{
return
mViewDataBinding
;
}
/**
* Override for set view model
*
* @return view model instance
*/
public
abstract
V
getViewModel
();
/**
* Override for set binding variable
*
* @return variable id
*/
public
abstract
...
...
@@ -169,6 +175,5 @@ public abstract class BaseActivity<T extends ViewDataBinding, V extends BaseView
public
abstract
void
performDependencyInjection
();
}
app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseFragment.java
浏览文件 @
0e7d5789
...
...
@@ -37,8 +37,8 @@ import com.mindorks.framework.mvvm.di.component.ActivityComponent;
public
abstract
class
BaseFragment
<
T
extends
ViewDataBinding
,
V
extends
BaseViewModel
>
extends
Fragment
{
private
BaseActivity
mActivity
;
p
ublic
T
v
iewDataBinding
;
p
ublic
V
mViewModel
;
p
rivate
T
mV
iewDataBinding
;
p
rivate
V
mViewModel
;
private
View
mRootView
;
@Override
...
...
@@ -49,16 +49,16 @@ public abstract class BaseFragment<T extends ViewDataBinding, V extends BaseView
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
v
iewDataBinding
=
DataBindingUtil
.
inflate
(
inflater
,
getLayoutId
(),
container
,
false
);
mRootView
=
v
iewDataBinding
.
getRoot
();
mV
iewDataBinding
=
DataBindingUtil
.
inflate
(
inflater
,
getLayoutId
(),
container
,
false
);
mRootView
=
mV
iewDataBinding
.
getRoot
();
return
mRootView
;
}
@Override
public
void
onViewCreated
(
View
view
,
Bundle
savedInstanceState
)
{
super
.
onViewCreated
(
view
,
savedInstanceState
);
mViewModel
=
getViewModel
();
v
iewDataBinding
.
setVariable
(
getBindingVariable
(),
mViewModel
);
v
iewDataBinding
.
executePendingBindings
();
mV
iewDataBinding
.
setVariable
(
getBindingVariable
(),
mViewModel
);
mV
iewDataBinding
.
executePendingBindings
();
}
@Override
...
...
@@ -88,6 +88,10 @@ public abstract class BaseFragment<T extends ViewDataBinding, V extends BaseView
return
mActivity
;
}
public
T
getViewDataBinding
(){
return
mViewDataBinding
;
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/FeedActivity.java
浏览文件 @
0e7d5789
...
...
@@ -40,6 +40,7 @@ public class FeedActivity extends BaseActivity<ActivityFeedBinding, FeedViewMode
FeedPagerAdapter
mPagerAdapter
;
@Inject
FeedViewModel
mFeedViewModel
;
ActivityFeedBinding
mActivityFeedBinding
;
...
...
@@ -51,12 +52,13 @@ public class FeedActivity extends BaseActivity<ActivityFeedBinding, FeedViewMode
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
mActivityFeedBinding
=
getViewDataBinding
();
setUp
();
}
private
void
setUp
()
{
setSupportActionBar
(
viewData
Binding
.
toolbar
);
setSupportActionBar
(
mActivityFeed
Binding
.
toolbar
);
if
(
getSupportActionBar
()
!=
null
)
{
getSupportActionBar
().
setDisplayHomeAsUpEnabled
(
true
);
...
...
@@ -65,19 +67,19 @@ public class FeedActivity extends BaseActivity<ActivityFeedBinding, FeedViewMode
mPagerAdapter
.
setCount
(
2
);
viewData
Binding
.
feedViewPager
.
setAdapter
(
mPagerAdapter
);
mActivityFeed
Binding
.
feedViewPager
.
setAdapter
(
mPagerAdapter
);
viewDataBinding
.
tabLayout
.
addTab
(
viewData
Binding
.
tabLayout
.
newTab
().
setText
(
getString
(
R
.
string
.
blog
)));
viewDataBinding
.
tabLayout
.
addTab
(
viewData
Binding
.
tabLayout
.
newTab
().
setText
(
getString
(
R
.
string
.
open_source
)));
mActivityFeedBinding
.
tabLayout
.
addTab
(
mActivityFeed
Binding
.
tabLayout
.
newTab
().
setText
(
getString
(
R
.
string
.
blog
)));
mActivityFeedBinding
.
tabLayout
.
addTab
(
mActivityFeed
Binding
.
tabLayout
.
newTab
().
setText
(
getString
(
R
.
string
.
open_source
)));
viewDataBinding
.
feedViewPager
.
setOffscreenPageLimit
(
viewData
Binding
.
tabLayout
.
getTabCount
());
mActivityFeedBinding
.
feedViewPager
.
setOffscreenPageLimit
(
mActivityFeed
Binding
.
tabLayout
.
getTabCount
());
viewDataBinding
.
feedViewPager
.
addOnPageChangeListener
(
new
TabLayout
.
TabLayoutOnPageChangeListener
(
viewData
Binding
.
tabLayout
));
mActivityFeedBinding
.
feedViewPager
.
addOnPageChangeListener
(
new
TabLayout
.
TabLayoutOnPageChangeListener
(
mActivityFeed
Binding
.
tabLayout
));
viewData
Binding
.
tabLayout
.
addOnTabSelectedListener
(
new
TabLayout
.
OnTabSelectedListener
()
{
mActivityFeed
Binding
.
tabLayout
.
addOnTabSelectedListener
(
new
TabLayout
.
OnTabSelectedListener
()
{
@Override
public
void
onTabSelected
(
TabLayout
.
Tab
tab
)
{
viewData
Binding
.
feedViewPager
.
setCurrentItem
(
tab
.
getPosition
());
mActivityFeed
Binding
.
feedViewPager
.
setCurrentItem
(
tab
.
getPosition
());
}
@Override
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/blogs/BlogFragment.java
浏览文件 @
0e7d5789
...
...
@@ -46,6 +46,7 @@ public class BlogFragment extends BaseFragment<FragmentBlogBinding, BlogViewMode
@Inject
LinearLayoutManager
mLayoutManager
;
FragmentBlogBinding
mFragmentBlogBinding
;
public
static
BlogFragment
newInstance
()
{
Bundle
args
=
new
Bundle
();
...
...
@@ -66,6 +67,7 @@ public class BlogFragment extends BaseFragment<FragmentBlogBinding, BlogViewMode
@Override
public
void
onViewCreated
(
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
super
.
onViewCreated
(
view
,
savedInstanceState
);
mFragmentBlogBinding
=
getViewDataBinding
();
setUp
();
}
...
...
@@ -87,9 +89,9 @@ public class BlogFragment extends BaseFragment<FragmentBlogBinding, BlogViewMode
private
void
setUp
()
{
mLayoutManager
.
setOrientation
(
LinearLayoutManager
.
VERTICAL
);
viewData
Binding
.
blogRecyclerView
.
setLayoutManager
(
mLayoutManager
);
viewData
Binding
.
blogRecyclerView
.
setItemAnimator
(
new
DefaultItemAnimator
());
viewData
Binding
.
blogRecyclerView
.
setAdapter
(
mBlogAdapter
);
mFragmentBlog
Binding
.
blogRecyclerView
.
setLayoutManager
(
mLayoutManager
);
mFragmentBlog
Binding
.
blogRecyclerView
.
setItemAnimator
(
new
DefaultItemAnimator
());
mFragmentBlog
Binding
.
blogRecyclerView
.
setAdapter
(
mBlogAdapter
);
//One method one responsibility.May be we can move fetchBlogs() outside this function.
mBlogViewModel
.
fetchBlogs
();
}
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/feed/opensource/OpenSourceFragment.java
浏览文件 @
0e7d5789
...
...
@@ -48,6 +48,7 @@ public class OpenSourceFragment extends BaseFragment<FragmentOpenSourceBinding,
@Inject
LinearLayoutManager
mLayoutManager
;
FragmentOpenSourceBinding
mFragmentOpenSourceBinding
;
public
static
OpenSourceFragment
newInstance
()
{
Bundle
args
=
new
Bundle
();
...
...
@@ -68,6 +69,7 @@ public class OpenSourceFragment extends BaseFragment<FragmentOpenSourceBinding,
@Override
public
void
onViewCreated
(
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
super
.
onViewCreated
(
view
,
savedInstanceState
);
mFragmentOpenSourceBinding
=
getViewDataBinding
();
setUp
();
}
...
...
@@ -88,9 +90,9 @@ public class OpenSourceFragment extends BaseFragment<FragmentOpenSourceBinding,
private
void
setUp
()
{
mLayoutManager
.
setOrientation
(
LinearLayoutManager
.
VERTICAL
);
viewData
Binding
.
openSourceRecyclerView
.
setLayoutManager
(
mLayoutManager
);
viewData
Binding
.
openSourceRecyclerView
.
setItemAnimator
(
new
DefaultItemAnimator
());
viewData
Binding
.
openSourceRecyclerView
.
setAdapter
(
mOpenSourceAdapter
);
mFragmentOpenSource
Binding
.
openSourceRecyclerView
.
setLayoutManager
(
mLayoutManager
);
mFragmentOpenSource
Binding
.
openSourceRecyclerView
.
setItemAnimator
(
new
DefaultItemAnimator
());
mFragmentOpenSource
Binding
.
openSourceRecyclerView
.
setAdapter
(
mOpenSourceAdapter
);
mOpenSourceViewModel
.
fetchRepos
();
}
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/login/LoginActivity.java
浏览文件 @
0e7d5789
...
...
@@ -37,6 +37,7 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginViewM
@Inject
LoginViewModel
mLoginViewModel
;
ActivityLoginBinding
mActivityLoginBinding
;
public
static
Intent
getStartIntent
(
Context
context
)
{
Intent
intent
=
new
Intent
(
context
,
LoginActivity
.
class
);
...
...
@@ -46,6 +47,7 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginViewM
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
mActivityLoginBinding
=
getViewDataBinding
();
mLoginViewModel
.
setNavigator
(
this
);
}
...
...
@@ -70,8 +72,8 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginViewM
@Override
public
void
login
()
{
String
email
=
viewData
Binding
.
etEmail
.
getText
().
toString
();
String
password
=
viewData
Binding
.
etPassword
.
getText
().
toString
();
String
email
=
mActivityLogin
Binding
.
etEmail
.
getText
().
toString
();
String
password
=
mActivityLogin
Binding
.
etPassword
.
getText
().
toString
();
if
(
mLoginViewModel
.
isEmailAndPasswordValid
(
email
,
password
))
{
hideKeyboard
();
mLoginViewModel
.
login
(
email
,
password
);
...
...
app/src/main/java/com/mindorks/framework/mvvm/ui/main/MainActivity.java
浏览文件 @
0e7d5789
...
...
@@ -70,6 +70,7 @@ public class MainActivity extends BaseActivity<ActivityMainBinding,MainViewModel
private
NavigationView
mNavigationView
;
private
SwipePlaceHolderView
mCardsContainerView
;
ActivityMainBinding
mActivityMainBinding
;
public
static
Intent
getStartIntent
(
Context
context
)
{
...
...
@@ -80,6 +81,7 @@ public class MainActivity extends BaseActivity<ActivityMainBinding,MainViewModel
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
mActivityMainBinding
=
getViewDataBinding
();
mMainViewModel
.
setNavigator
(
this
);
setUp
();
}
...
...
@@ -137,10 +139,10 @@ public class MainActivity extends BaseActivity<ActivityMainBinding,MainViewModel
private
void
setUp
()
{
mDrawer
=
viewData
Binding
.
drawerView
;
mToolbar
=
viewData
Binding
.
toolbar
;
mNavigationView
=
viewData
Binding
.
navigationView
;
mCardsContainerView
=
viewData
Binding
.
cardsContainer
;
mDrawer
=
mActivityMain
Binding
.
drawerView
;
mToolbar
=
mActivityMain
Binding
.
toolbar
;
mNavigationView
=
mActivityMain
Binding
.
navigationView
;
mCardsContainerView
=
mActivityMain
Binding
.
cardsContainer
;
setSupportActionBar
(
mToolbar
);
ActionBarDrawerToggle
mDrawerToggle
=
new
ActionBarDrawerToggle
(
...
...
@@ -203,12 +205,9 @@ public class MainActivity extends BaseActivity<ActivityMainBinding,MainViewModel
}
private
void
setupNavMenu
()
{
NavHeaderMainBinding
navHeaderMainBinding
=
DataBindingUtil
.
inflate
(
getLayoutInflater
(),
R
.
layout
.
nav_header_main
,
viewDataBinding
.
navigationView
,
false
);
viewDataBinding
.
navigationView
.
addHeaderView
(
navHeaderMainBinding
.
getRoot
());
R
.
layout
.
nav_header_main
,
mActivityMainBinding
.
navigationView
,
false
);
mActivityMainBinding
.
navigationView
.
addHeaderView
(
navHeaderMainBinding
.
getRoot
());
navHeaderMainBinding
.
setViewModel
(
mMainViewModel
);
mNavigationView
.
setNavigationItemSelectedListener
(
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录