Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
IOTClient
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lola
IOTClient
Commits
505c4328
Commit
505c4328
authored
Apr 24, 2019
by
DESKTOP-NFGF3PG\zxa01
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commit remove unused import
parent
a8725b95
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
336 additions
and
116 deletions
+336
-116
app/src/main/java/com/example/zxa01/iotclient/detail/model/DetailModel.java
...com/example/zxa01/iotclient/detail/model/DetailModel.java
+9
-7
app/src/main/java/com/example/zxa01/iotclient/detail/view/DetailActivity.java
...m/example/zxa01/iotclient/detail/view/DetailActivity.java
+1
-2
app/src/main/java/com/example/zxa01/iotclient/detail/viewModel/DetailViewModel.java
...ple/zxa01/iotclient/detail/viewModel/DetailViewModel.java
+8
-6
app/src/main/java/com/example/zxa01/iotclient/home/HomeActivity.java
...n/java/com/example/zxa01/iotclient/home/HomeActivity.java
+1
-1
app/src/main/java/com/example/zxa01/iotclient/home/device/model/DeviceModel.java
...xample/zxa01/iotclient/home/device/model/DeviceModel.java
+0
-3
app/src/main/java/com/example/zxa01/iotclient/home/device/viewModel/DeviceViewModel.java
...xa01/iotclient/home/device/viewModel/DeviceViewModel.java
+3
-0
app/src/main/java/com/example/zxa01/iotclient/home/record/model/RecordModel.java
...xample/zxa01/iotclient/home/record/model/RecordModel.java
+1
-2
app/src/main/java/com/example/zxa01/iotclient/home/record/view/RecordFragment.java
...mple/zxa01/iotclient/home/record/view/RecordFragment.java
+1
-2
app/src/main/java/com/example/zxa01/iotclient/home/record/viewModel/RecordViewModel.java
...xa01/iotclient/home/record/viewModel/RecordViewModel.java
+1
-1
app/src/main/java/com/example/zxa01/iotclient/home/setting/SettingAdapter.java
.../example/zxa01/iotclient/home/setting/SettingAdapter.java
+0
-59
app/src/main/java/com/example/zxa01/iotclient/home/setting/model/SettingModel.java
...mple/zxa01/iotclient/home/setting/model/SettingModel.java
+37
-0
app/src/main/java/com/example/zxa01/iotclient/home/setting/view/SettingAdapter.java
...ple/zxa01/iotclient/home/setting/view/SettingAdapter.java
+74
-0
app/src/main/java/com/example/zxa01/iotclient/home/setting/view/SettingFragment.java
...le/zxa01/iotclient/home/setting/view/SettingFragment.java
+58
-0
app/src/main/java/com/example/zxa01/iotclient/home/setting/viewModel/SettingViewModel.java
...01/iotclient/home/setting/viewModel/SettingViewModel.java
+75
-0
app/src/main/java/com/example/zxa01/iotclient/privacy/model/PrivacyModel.java
...m/example/zxa01/iotclient/privacy/model/PrivacyModel.java
+0
-3
app/src/main/java/com/example/zxa01/iotclient/privacy/view/PrivacyActivity.java
...example/zxa01/iotclient/privacy/view/PrivacyActivity.java
+1
-6
app/src/main/java/com/example/zxa01/iotclient/privacy/view/PrivacyAdapter.java
.../example/zxa01/iotclient/privacy/view/PrivacyAdapter.java
+0
-2
app/src/main/res/layout/activity_detail.xml
app/src/main/res/layout/activity_detail.xml
+27
-8
app/src/main/res/layout/fragment_setting.xml
app/src/main/res/layout/fragment_setting.xml
+37
-10
app/src/main/res/layout/recycler_view_record.xml
app/src/main/res/layout/recycler_view_record.xml
+1
-2
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+1
-2
No files found.
app/src/main/java/com/example/zxa01/iotclient/detail/model/DetailModel.java
View file @
505c4328
package
com.example.zxa01.iotclient.detail.model
;
import
android.arch.lifecycle.MutableLiveData
;
import
android.databinding.BaseObservable
;
import
android.databinding.ObservableField
;
import
android.util.Log
;
import
com.example.zxa01.iotclient.common.http.Api
;
import
com.example.zxa01.iotclient.common.pojo.device.Device
;
...
...
@@ -12,14 +12,17 @@ import retrofit2.Response;
public
class
DetailModel
extends
BaseObservable
{
private
ObservableField
<
Device
>
device
;
private
MutableLiveData
<
Device
>
deviceMLD
=
new
MutableLiveData
<>()
;
public
DetailModel
()
{
device
=
new
ObservableField
<>();
}
public
ObservableField
<
Device
>
getDevice
(){
return
device
;
public
void
setDeviceMLD
(
Device
device
){
deviceMLD
.
setValue
(
device
);
}
public
MutableLiveData
<
Device
>
getDeviceMLD
(){
return
deviceMLD
;
}
public
void
fetchDevice
()
{
...
...
@@ -27,8 +30,7 @@ public class DetailModel extends BaseObservable {
@Override
public
void
onResponse
(
Call
<
Object
>
call
,
Response
<
Object
>
response
)
{
// TODO transfer response
Log
.
i
(
"Test"
,
response
.
message
());
device
.
set
(
new
Device
()
setDeviceMLD
(
new
Device
()
.
setUDN
(
"a1252c49-4188-4e6d-a32e-66604c664fb8"
)
.
setName
(
"指尖式血氧機"
)
.
setType
(
Device
.
Type
.
Sensor
)
...
...
app/src/main/java/com/example/zxa01/iotclient/detail/view/DetailActivity.java
View file @
505c4328
...
...
@@ -4,8 +4,6 @@ import android.databinding.DataBindingUtil;
import
android.support.v7.app.AppCompatActivity
;
import
android.os.Bundle
;
import
android.view.MenuItem
;
import
android.widget.Toolbar
;
import
com.example.zxa01.iotclient.R
;
import
com.example.zxa01.iotclient.databinding.ActivityDetailBinding
;
import
com.example.zxa01.iotclient.detail.viewModel.DetailViewModel
;
...
...
@@ -28,6 +26,7 @@ public class DetailActivity extends AppCompatActivity {
public
void
init
(){
viewModel
.
fetchDevice
();
viewModel
.
observeDeviceMLD
().
observe
(
this
,
viewModel:
:
setDevice
);
}
@Override
...
...
app/src/main/java/com/example/zxa01/iotclient/detail/viewModel/DetailViewModel.java
View file @
505c4328
...
...
@@ -4,7 +4,7 @@ import com.example.zxa01.iotclient.R;
import
com.example.zxa01.iotclient.common.pojo.device.Device
;
import
com.example.zxa01.iotclient.detail.model.DetailModel
;
import
com.example.zxa01.iotclient.privacy.view.PrivacyActivity
;
import
android.arch.lifecycle.MutableLiveData
;
import
android.arch.lifecycle.ViewModel
;
import
android.content.Context
;
import
android.content.Intent
;
...
...
@@ -29,13 +29,15 @@ public class DetailViewModel extends ViewModel {
detailModel
.
fetchDevice
();
}
public
ObservableField
<
Device
>
getDevice
()
{
isLoading
.
set
(
false
);
return
detailModel
.
getDevice
();
public
MutableLiveData
<
Device
>
observeDeviceMLD
()
{
return
detailModel
.
getDeviceMLD
();
}
public
void
setDevice
(
Device
device
)
{
this
.
device
.
set
(
device
);
if
(
device
.
getUDN
()
!=
null
)
{
this
.
isLoading
.
set
(
false
);
this
.
device
.
set
(
device
);
}
}
public
void
settingPrivacy
()
{
...
...
@@ -47,7 +49,7 @@ public class DetailViewModel extends ViewModel {
public
void
downloadPrivacyReport
()
{
// TODO download
Toast
toast
=
Toast
.
makeText
(
context
,
R
.
string
.
detail_report_download
,
Toast
.
LENGTH_LONG
);
toast
.
setGravity
(
Gravity
.
BOTTOM
,
0
,
15
);
toast
.
setGravity
(
Gravity
.
BOTTOM
,
0
,
15
);
toast
.
show
();
}
}
app/src/main/java/com/example/zxa01/iotclient/home/HomeActivity.java
View file @
505c4328
...
...
@@ -3,7 +3,7 @@ import com.example.zxa01.iotclient.R;
import
com.example.zxa01.iotclient.databinding.ActivityHomeBinding
;
import
com.example.zxa01.iotclient.home.device.view.DeviceFragment
;
import
com.example.zxa01.iotclient.home.record.view.RecordFragment
;
import
com.example.zxa01.iotclient.home.setting.SettingFragment
;
import
com.example.zxa01.iotclient.home.setting.
view.
SettingFragment
;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.os.Bundle
;
...
...
app/src/main/java/com/example/zxa01/iotclient/home/device/model/DeviceModel.java
View file @
505c4328
...
...
@@ -4,14 +4,11 @@ import com.example.zxa01.iotclient.common.http.Api;
import
com.example.zxa01.iotclient.common.pojo.device.Device
;
import
com.example.zxa01.iotclient.common.pojo.device.Manufacturer
;
import
com.example.zxa01.iotclient.common.pojo.device.Model
;
import
android.arch.lifecycle.MutableLiveData
;
import
android.databinding.BaseObservable
;
import
android.util.Log
;
import
java.util.ArrayList
;
import
java.util.List
;
import
retrofit2.Call
;
import
retrofit2.Callback
;
import
retrofit2.Response
;
...
...
app/src/main/java/com/example/zxa01/iotclient/home/device/viewModel/DeviceViewModel.java
View file @
505c4328
...
...
@@ -36,6 +36,9 @@ public class DeviceViewModel extends ViewModel {
return
deviceModel
.
getDevicesMLD
();
}
/**
* create
*/
public
void
createDevice
(
String
address
)
{
deviceModel
.
createDevice
(
address
);
refreshDevices
();
...
...
app/src/main/java/com/example/zxa01/iotclient/home/record/model/RecordModel.java
View file @
505c4328
...
...
@@ -108,10 +108,9 @@ public class RecordModel extends BaseObservable {
.
setType
(
Recipient
.
Type
.
OURS
))
.
setRetention
(
Retention
.
STATED_PURPOSE
)));
public
RecordModel
(){
}
p
ublic
void
addPrivacyPolicyReport
(
PrivacyPolicyReport
privacyPolicyReport
){
p
rivate
void
addPrivacyPolicyReport
(
PrivacyPolicyReport
privacyPolicyReport
){
privacyPolicyReports
.
add
(
privacyPolicyReport
);
}
...
...
app/src/main/java/com/example/zxa01/iotclient/home/record/view/RecordFragment.java
View file @
505c4328
...
...
@@ -16,7 +16,6 @@ import com.example.zxa01.iotclient.home.record.viewModel.RecordViewModel;
public
class
RecordFragment
extends
Fragment
{
private
FragmentRecordBinding
binding
;
private
RecordViewModel
viewModel
;
...
...
@@ -50,7 +49,7 @@ public class RecordFragment extends Fragment {
private
void
init
()
{
viewModel
.
refreshRecord
();
viewModel
.
observePrivacyPolicyReportsMLD
D
().
observe
(
this
,
viewModel:
:
setAdapter
);
viewModel
.
observePrivacyPolicyReportsMLD
().
observe
(
this
,
viewModel:
:
setAdapter
);
}
public
interface
OnFragmentInteractionListener
{
...
...
app/src/main/java/com/example/zxa01/iotclient/home/record/viewModel/RecordViewModel.java
View file @
505c4328
...
...
@@ -33,7 +33,7 @@ public class RecordViewModel extends ViewModel {
recordModel
.
fetchRecord
();
}
public
MutableLiveData
<
List
<
PrivacyPolicyReport
>>
observePrivacyPolicyReportsMLD
D
()
{
public
MutableLiveData
<
List
<
PrivacyPolicyReport
>>
observePrivacyPolicyReportsMLD
()
{
return
recordModel
.
getPrivacyPolicyReportsMLD
();
}
...
...
app/src/main/java/com/example/zxa01/iotclient/home/setting/SettingAdapter.java
deleted
100644 → 0
View file @
a8725b95
package
com.example.zxa01.iotclient.home.setting
;
import
android.support.v7.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.TextView
;
import
com.example.zxa01.iotclient.R
;
import
com.example.zxa01.iotclient.common.pojo.Setting
;
import
java.util.LinkedList
;
public
class
SettingAdapter
extends
RecyclerView
.
Adapter
<
SettingAdapter
.
MyViewHolder
>
{
private
final
LinkedList
<
Setting
>
mList
;
public
SettingAdapter
(
LinkedList
<
Setting
>
mList
)
{
this
.
mList
=
mList
;
}
@Override
public
MyViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
View
mItemView
=
LayoutInflater
.
from
(
parent
.
getContext
()).
inflate
(
R
.
layout
.
recycler_view_setting
,
parent
,
false
);
return
new
MyViewHolder
(
mItemView
);
}
@Override
public
void
onBindViewHolder
(
MyViewHolder
mholder
,
int
position
)
{
Setting
setting
=
mList
.
get
(
position
);
mholder
.
position
=
position
;
mholder
.
textSettingKey
.
setText
(
setting
.
getKey
());
mholder
.
textSettingValue
.
setText
(
setting
.
getValue
());
}
@Override
public
int
getItemCount
()
{
return
mList
.
size
();
}
class
MyViewHolder
extends
RecyclerView
.
ViewHolder
implements
View
.
OnClickListener
{
public
int
position
;
public
TextView
textSettingKey
;
public
TextView
textSettingValue
;
public
MyViewHolder
(
View
view
)
{
super
(
view
);
this
.
textSettingKey
=
view
.
findViewById
(
R
.
id
.
text_setting_key
);
this
.
textSettingValue
=
view
.
findViewById
(
R
.
id
.
text_setting_value
);
}
@Override
public
void
onClick
(
View
v
)
{
}
}
}
\ No newline at end of file
app/src/main/java/com/example/zxa01/iotclient/home/setting/model/SettingModel.java
0 → 100644
View file @
505c4328
package
com.example.zxa01.iotclient.home.setting.model
;
import
android.arch.lifecycle.MutableLiveData
;
import
android.databinding.BaseObservable
;
import
com.example.zxa01.iotclient.common.pojo.Setting
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
SettingModel
extends
BaseObservable
{
private
List
<
Setting
>
settings
=
new
ArrayList
<>();
private
MutableLiveData
<
List
<
Setting
>>
settingsMLD
=
new
MutableLiveData
<>();
public
SettingModel
(){
}
private
void
addSettings
(
Setting
setting
)
{
settings
.
add
(
setting
);
}
public
MutableLiveData
<
List
<
Setting
>>
getSettingMLD
()
{
return
settingsMLD
;
}
public
void
fetchSetting
(){
// getSetting
addSettings
(
new
Setting
(
"Gateway address"
,
"192.168.2.69"
));
addSettings
(
new
Setting
(
"Account"
,
"Test"
));
addSettings
(
new
Setting
(
"HTTP port"
,
"8080"
));
addSettings
(
new
Setting
(
"WebSocket port"
,
"8081"
));
addSettings
(
new
Setting
(
"Log out"
,
"exchange account"
));
settingsMLD
.
setValue
(
settings
);
}
}
app/src/main/java/com/example/zxa01/iotclient/home/setting/view/SettingAdapter.java
0 → 100644
View file @
505c4328
package
com.example.zxa01.iotclient.home.setting.view
;
import
android.databinding.DataBindingUtil
;
import
android.databinding.ViewDataBinding
;
import
android.support.annotation.LayoutRes
;
import
android.support.annotation.NonNull
;
import
android.support.v7.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.ViewGroup
;
import
com.example.zxa01.iotclient.BR
;
import
com.example.zxa01.iotclient.common.pojo.Setting
;
import
com.example.zxa01.iotclient.home.setting.viewModel.SettingViewModel
;
import
java.util.List
;
public
class
SettingAdapter
extends
RecyclerView
.
Adapter
<
SettingAdapter
.
MyViewHolder
>
{
private
int
layoutId
;
private
List
<
Setting
>
settings
;
private
SettingViewModel
viewModel
;
public
SettingAdapter
(
@LayoutRes
int
layoutId
,
SettingViewModel
viewModel
)
{
this
.
layoutId
=
layoutId
;
this
.
viewModel
=
viewModel
;
}
private
int
getLayoutIdForPosition
(
int
position
)
{
return
layoutId
;
}
@Override
public
SettingAdapter
.
MyViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
return
new
SettingAdapter
.
MyViewHolder
(
DataBindingUtil
.
inflate
(
LayoutInflater
.
from
(
parent
.
getContext
()),
viewType
,
parent
,
false
));
}
@Override
public
void
onBindViewHolder
(
SettingAdapter
.
MyViewHolder
holder
,
int
position
)
{
holder
.
bind
(
viewModel
,
position
);
}
@Override
public
int
getItemCount
()
{
return
settings
==
null
?
0
:
settings
.
size
();
}
@Override
public
int
getItemViewType
(
int
position
)
{
return
getLayoutIdForPosition
(
position
);
}
public
void
setSettings
(
List
<
Setting
>
settings
)
{
this
.
settings
=
settings
;
}
class
MyViewHolder
extends
RecyclerView
.
ViewHolder
{
final
ViewDataBinding
binding
;
MyViewHolder
(
ViewDataBinding
binding
)
{
super
(
binding
.
getRoot
());
this
.
binding
=
binding
;
}
void
bind
(
SettingViewModel
viewModel
,
Integer
position
)
{
viewModel
.
getSettingAt
(
position
);
binding
.
setVariable
(
BR
.
viewModel
,
viewModel
);
binding
.
setVariable
(
BR
.
position
,
position
);
binding
.
executePendingBindings
();
}
}
}
\ No newline at end of file
app/src/main/java/com/example/zxa01/iotclient/home/setting/SettingFragment.java
→
app/src/main/java/com/example/zxa01/iotclient/home/setting/
view/
SettingFragment.java
View file @
505c4328
package
com.example.zxa01.iotclient.home.setting
;
package
com.example.zxa01.iotclient.home.setting
.view
;
import
android.content.Context
;
import
android.databinding.DataBindingUtil
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
android.support.v4.app.Fragment
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
com.example.zxa01.iotclient.R
;
import
com.example.zxa01.iotclient.common.pojo.Setting
;
import
java.util.LinkedList
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.Unbinder
;
import
com.example.zxa01.iotclient.databinding.FragmentSettingBinding
;
import
com.example.zxa01.iotclient.home.setting.viewModel.SettingViewModel
;
public
class
SettingFragment
extends
Fragment
{
private
FragmentSettingBinding
binding
;
private
SettingViewModel
viewModel
;
@BindView
(
R
.
id
.
setting_recycler_view
)
RecyclerView
settingRecyclerView
;
Unbinder
unbinder
;
private
LinkedList
<
Setting
>
mList
=
new
LinkedList
<>();
private
RecyclerView
mRecyclerView
;
private
OnFragmentInteractionListener
mListener
;
public
SettingFragment
()
{
// fake data
mList
.
add
(
new
Setting
(
"Gateway address"
,
"192.168.2.69"
));
mList
.
add
(
new
Setting
(
"Account"
,
"Test"
));
mList
.
add
(
new
Setting
(
"HTTP port"
,
"8080"
));
mList
.
add
(
new
Setting
(
"WebSocket port"
,
"8081"
));
mList
.
add
(
new
Setting
(
"Log out"
,
"exchange account"
));
}
public
static
SettingFragment
newInstance
(
String
param1
,
String
param2
)
{
return
new
SettingFragment
();
}
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
if
(
getArguments
()
!=
null
)
{
}
}
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
View
view
=
inflater
.
inflate
(
R
.
layout
.
fragment_setting
,
container
,
false
);
unbinder
=
ButterKnife
.
bind
(
this
,
view
);
if
(
savedInstanceState
==
null
){
buildRecyclerView
(
view
);
}
return
view
;
}
public
void
onButtonPressed
(
Uri
uri
)
{
if
(
mListener
!=
null
)
{
mListener
.
onSettingFragment
(
uri
);
}
binding
=
DataBindingUtil
.
inflate
(
inflater
,
R
.
layout
.
fragment_setting
,
container
,
false
);
viewModel
=
new
SettingViewModel
(
binding
.
getRoot
().
getContext
());
binding
.
setViewModel
(
viewModel
);
binding
.
settingRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
init
();
return
binding
.
getRoot
();
}
@Override
public
void
onAttach
(
Context
context
)
{
super
.
onAttach
(
context
);
if
(
context
instanceof
OnFragmentInteractionListener
)
{
mListener
=
(
OnFragmentInteractionListener
)
context
;
}
else
{
throw
new
RuntimeException
(
context
.
toString
()
+
" must implement OnFragmentInteractionListener"
);
}
}
@Override
public
void
onDetach
()
{
super
.
onDetach
();
mListener
=
null
;
}
@Override
public
void
onDestroyView
()
{
super
.
onDestroyView
();
unbinder
.
unbind
();
private
void
init
()
{
viewModel
.
refreshSetting
();
viewModel
.
observeSettingMLD
().
observe
(
this
,
viewModel:
:
setAdapter
);
}
public
interface
OnFragmentInteractionListener
{
void
onSettingFragment
(
Uri
uri
);
}
public
void
buildRecyclerView
(
View
view
){
mRecyclerView
=
view
.
findViewById
(
R
.
id
.
setting_recycler_view
);
mRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mRecyclerView
.
setAdapter
(
new
SettingAdapter
(
mList
));
}
}
app/src/main/java/com/example/zxa01/iotclient/home/setting/viewModel/SettingViewModel.java
0 → 100644
View file @
505c4328
package
com.example.zxa01.iotclient.home.setting.viewModel
;
import
android.arch.lifecycle.MutableLiveData
;
import
android.arch.lifecycle.ViewModel
;
import
android.content.Context
;
import
android.databinding.ObservableBoolean
;
import
com.example.zxa01.iotclient.R
;
import
com.example.zxa01.iotclient.common.pojo.Setting
;
import
com.example.zxa01.iotclient.home.setting.model.SettingModel
;
import
com.example.zxa01.iotclient.home.setting.view.SettingAdapter
;
import
java.util.List
;
public
class
SettingViewModel
extends
ViewModel
{
public
ObservableBoolean
isLoading
=
new
ObservableBoolean
(
true
);
private
SettingModel
settingModel
=
new
SettingModel
();
private
SettingAdapter
adapter
=
new
SettingAdapter
(
R
.
layout
.
recycler_view_setting
,
this
);
private
Context
context
;
public
SettingViewModel
(
Context
context
){
this
.
context
=
context
;
}
/**
* model
*/
public
void
refreshSetting
(){
settingModel
.
fetchSetting
();
}
public
MutableLiveData
<
List
<
Setting
>>
observeSettingMLD
()
{
return
settingModel
.
getSettingMLD
();
}
/**
* child model
*/
public
Setting
getSettingAt
(
Integer
index
)
{
if
(
settingModel
.
getSettingMLD
().
getValue
()
!=
null
&&
index
!=
null
&&
settingModel
.
getSettingMLD
().
getValue
().
size
()
>
index
)
{
return
settingModel
.
getSettingMLD
().
getValue
().
get
(
index
);
}
return
null
;
}
public
void
onSettingClick
(
Integer
index
)
{
if
(
settingModel
.
getSettingMLD
().
getValue
()
!=
null
&&
index
!=
null
&&
settingModel
.
getSettingMLD
().
getValue
().
size
()
>
index
)
{
// TODO setting alert
}
}
/**
* adapter
*/
public
SettingAdapter
getAdapter
()
{
return
adapter
;
}
public
void
setAdapter
(
List
<
Setting
>
settings
)
{
this
.
isLoading
.
set
(
false
);
this
.
adapter
.
setSettings
(
settings
);
this
.
adapter
.
notifyDataSetChanged
();
}
}
app/src/main/java/com/example/zxa01/iotclient/privacy/model/PrivacyModel.java
View file @
505c4328
...
...
@@ -3,9 +3,6 @@ package com.example.zxa01.iotclient.privacy.model;
import
android.arch.lifecycle.MutableLiveData
;
import
android.databinding.BaseObservable
;
import
android.util.Log
;
import
android.view.Gravity
;
import
android.widget.Toast
;
import
com.example.zxa01.iotclient.common.http.Api
;
import
com.example.zxa01.iotclient.common.pojo.device.Device
;
import
com.example.zxa01.iotclient.common.pojo.device.Manufacturer
;
...
...
app/src/main/java/com/example/zxa01/iotclient/privacy/view/PrivacyActivity.java
View file @
505c4328
package
com.example.zxa01.iotclient.privacy.view
;
import
android.databinding.DataBindingUtil
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.FragmentTransaction
;
import
android.support.v7.app.AlertDialog
;
import
android.support.v7.app.AppCompatActivity
;
import
android.os.Bundle
;
import
android.view.MenuItem
;
import
com.example.zxa01.iotclient.R
;
import
com.example.zxa01.iotclient.databinding.ActivityPrivacyBinding
;
import
com.example.zxa01.iotclient.detail.viewModel.DetailViewModel
;
import
com.example.zxa01.iotclient.home.device.view.create.DeviceCreateFragment
;
import
com.example.zxa01.iotclient.privacy.viewModel.PrivacyViewModel
;
public
class
PrivacyActivity
extends
AppCompatActivity
{
...
...
@@ -33,7 +28,7 @@ public class PrivacyActivity extends AppCompatActivity {
private
void
init
()
{
viewModel
.
fetchPrivacyPolicyReport
();
viewModel
.
observePrivacyPolicyReportMLD
().
observe
(
this
,
viewModel:
:
setPrivacyPolicyReport
);
viewModel
.
observeIsLoading
().
observe
(
this
,
viewModel:
:
setIsUpload
);
viewModel
.
observeIsLoading
MLD
().
observe
(
this
,
viewModel:
:
setIsUpload
);
}
@Override
...
...
app/src/main/java/com/example/zxa01/iotclient/privacy/view/PrivacyAdapter.java
View file @
505c4328
...
...
@@ -9,9 +9,7 @@ import android.view.LayoutInflater;
import
android.view.ViewGroup
;
import
com.example.zxa01.iotclient.BR
;
import
com.example.zxa01.iotclient.common.pojo.device.Device
;
import
com.example.zxa01.iotclient.common.pojo.privacy.PrivacyPolicy
;
import
com.example.zxa01.iotclient.home.device.viewModel.DeviceViewModel
;
import
com.example.zxa01.iotclient.privacy.viewModel.PrivacyViewModel
;
import
java.util.List
;
...
...
app/src/main/res/layout/activity_detail.xml
View file @
505c4328
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
>
<data>
...
...
@@ -14,23 +15,41 @@
<ScrollView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:visibility=
"@{viewModel.isLoading ? View.GONE : View.VISIBLE}"
>
android:background=
"@color/colorWhite"
>
<android.support.constraint.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/colorWhite"
android:paddingLeft=
"@dimen/padding"
android:paddingRight=
"@dimen/padding"
android:scrollbarAlwaysDrawHorizontalTrack=
"true"
tools:context=
".detail.view.DetailActivity"
>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<ProgressBar
android:id=
"@+id/progressBar"
style=
"@style/Widget.AppCompat.ProgressBar"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_margin=
"@dimen/margin_lg"
android:padding=
"@dimen/padding_lg"
android:secondaryProgress=
"40"
android:theme=
"@style/ProgressTheme"
android:visibility=
"@{viewModel.isLoading ? View.VISIBLE : View.GONE}"
/>
</FrameLayout>
<TableLayout
android:id=
"@+id/tableLayout"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/margin"
android:padding=
"@dimen/padding_sm"
android:visibility=
"@{viewModel.isLoading ? View.GONE : View.VISIBLE}"
tools:ignore=
"MissingConstraints"
tools:layout_editor_absoluteX=
"20dp"
>
...
...
@@ -62,20 +81,20 @@
style=
"@style/Widget.AppCompat.Button.Colored"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"@dimen/font_sm"
android:padding=
"@dimen/padding"
android:onClick=
"@{()->viewModel.settingPrivacy()}"
android:text=
"@string/detail_preference_setting"
/>
android:padding=
"@dimen/padding"
android:text=
"@string/detail_preference_setting"
android:textSize=
"@dimen/font_sm"
/>
<Button
android:id=
"@+id/buttonPrivacyReport"
style=
"@style/Widget.AppCompat.Button.Colored"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"@dimen/font_sm"
android:padding=
"@dimen/padding"
android:onClick=
"@{()->viewModel.downloadPrivacyReport()}"
android:text=
"@string/detail_detect_report"
/>
android:padding=
"@dimen/padding"
android:text=
"@string/detail_detect_report"
android:textSize=
"@dimen/font_sm"
/>
</LinearLayout>
...
...
app/src/main/res/layout/fragment_setting.xml
View file @
505c4328
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".home.setting.SettingFragment"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/setting_recycler_view"
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
>
<data>
<import
type=
"android.view.View"
/>
<variable
name=
"viewModel"
type=
"com.example.zxa01.iotclient.home.setting.viewModel.SettingViewModel"
/>
</data>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:listitem=
"@layout/recycler_view_setting"
/>
tools:context=
".home.setting.view.SettingFragment"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/setting_recycler_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
app:setAdapter=
"@{viewModel.getAdapter()}"
tools:listitem=
"@layout/recycler_view_setting"
/>
<ProgressBar
android:id=
"@+id/progressBar"
style=
"@style/Widget.AppCompat.ProgressBar"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:secondaryProgress=
"40"
android:theme=
"@style/ProgressTheme"
android:visibility=
"@{viewModel.isLoading ? View.VISIBLE : View.GONE}"
/>
</FrameLayout>
</FrameLayout>
\ No newline at end of file
</layout>
\ No newline at end of file
app/src/main/res/layout/recycler_view_record.xml
View file @
505c4328
...
...
@@ -17,9 +17,8 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/border_bottom"
android:orientation=
"vertical"
android:onClick=
"@{()->viewModel.onPrivacyPolicyReportClick(position)}"
android:orientation=
"vertical"
android:padding=
"@dimen/margin"
>
<LinearLayout
...
...
app/src/main/res/values/strings.xml
View file @
505c4328
...
...
@@ -21,7 +21,7 @@
<!--Detail-->
<string
name=
"detail_preference_setting"
>
隱私
偏好
設定
</string>
<string
name=
"detail_preference_setting"
>
隱私
選項
設定
</string>
<string
name=
"detail_detect_report"
>
檢測報告下載
</string>
<string
name=
"detail_report_download"
>
下載中...
</string>
...
...
@@ -38,7 +38,6 @@
<string
name=
"record_title"
>
隱私選擇記錄
</string>
<string
name=
"record_view"
>
檢視
</string>
<!--Login-->
<string
name=
"action_sign_in"
>
登入
</string>
<string
name=
"login_iot_gateway"
>
Login to IOT gateway
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment