Commit 505c4328 authored by DESKTOP-NFGF3PG\zxa01's avatar DESKTOP-NFGF3PG\zxa01

commit remove unused import

parent a8725b95
package com.example.zxa01.iotclient.detail.model; package com.example.zxa01.iotclient.detail.model;
import android.arch.lifecycle.MutableLiveData;
import android.databinding.BaseObservable; import android.databinding.BaseObservable;
import android.databinding.ObservableField;
import android.util.Log; import android.util.Log;
import com.example.zxa01.iotclient.common.http.Api; 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.Device;
...@@ -12,14 +12,17 @@ import retrofit2.Response; ...@@ -12,14 +12,17 @@ import retrofit2.Response;
public class DetailModel extends BaseObservable { public class DetailModel extends BaseObservable {
private ObservableField<Device> device; private MutableLiveData<Device> deviceMLD = new MutableLiveData<>();
public DetailModel() { public DetailModel() {
device = new ObservableField<>();
} }
public ObservableField<Device> getDevice(){ public void setDeviceMLD(Device device){
return device; deviceMLD.setValue(device);
}
public MutableLiveData<Device> getDeviceMLD(){
return deviceMLD;
} }
public void fetchDevice() { public void fetchDevice() {
...@@ -27,8 +30,7 @@ public class DetailModel extends BaseObservable { ...@@ -27,8 +30,7 @@ public class DetailModel extends BaseObservable {
@Override @Override
public void onResponse(Call<Object> call, Response<Object> response) { public void onResponse(Call<Object> call, Response<Object> response) {
// TODO transfer response // TODO transfer response
Log.i("Test", response.message()); setDeviceMLD(new Device()
device.set(new Device()
.setUDN("a1252c49-4188-4e6d-a32e-66604c664fb8") .setUDN("a1252c49-4188-4e6d-a32e-66604c664fb8")
.setName("指尖式血氧機") .setName("指尖式血氧機")
.setType(Device.Type.Sensor) .setType(Device.Type.Sensor)
......
...@@ -4,8 +4,6 @@ import android.databinding.DataBindingUtil; ...@@ -4,8 +4,6 @@ import android.databinding.DataBindingUtil;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; import android.os.Bundle;
import android.view.MenuItem; import android.view.MenuItem;
import android.widget.Toolbar;
import com.example.zxa01.iotclient.R; import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.databinding.ActivityDetailBinding; import com.example.zxa01.iotclient.databinding.ActivityDetailBinding;
import com.example.zxa01.iotclient.detail.viewModel.DetailViewModel; import com.example.zxa01.iotclient.detail.viewModel.DetailViewModel;
...@@ -28,6 +26,7 @@ public class DetailActivity extends AppCompatActivity { ...@@ -28,6 +26,7 @@ public class DetailActivity extends AppCompatActivity {
public void init(){ public void init(){
viewModel.fetchDevice(); viewModel.fetchDevice();
viewModel.observeDeviceMLD().observe(this,viewModel::setDevice);
} }
@Override @Override
......
...@@ -4,7 +4,7 @@ import com.example.zxa01.iotclient.R; ...@@ -4,7 +4,7 @@ import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.common.pojo.device.Device; import com.example.zxa01.iotclient.common.pojo.device.Device;
import com.example.zxa01.iotclient.detail.model.DetailModel; import com.example.zxa01.iotclient.detail.model.DetailModel;
import com.example.zxa01.iotclient.privacy.view.PrivacyActivity; import com.example.zxa01.iotclient.privacy.view.PrivacyActivity;
import android.arch.lifecycle.MutableLiveData;
import android.arch.lifecycle.ViewModel; import android.arch.lifecycle.ViewModel;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
...@@ -29,13 +29,15 @@ public class DetailViewModel extends ViewModel { ...@@ -29,13 +29,15 @@ public class DetailViewModel extends ViewModel {
detailModel.fetchDevice(); detailModel.fetchDevice();
} }
public ObservableField<Device> getDevice() { public MutableLiveData<Device> observeDeviceMLD() {
isLoading.set(false); return detailModel.getDeviceMLD();
return detailModel.getDevice();
} }
public void setDevice(Device device) { public void setDevice(Device device) {
this.device.set(device); if (device.getUDN() != null) {
this.isLoading.set(false);
this.device.set(device);
}
} }
public void settingPrivacy() { public void settingPrivacy() {
...@@ -47,7 +49,7 @@ public class DetailViewModel extends ViewModel { ...@@ -47,7 +49,7 @@ public class DetailViewModel extends ViewModel {
public void downloadPrivacyReport() { public void downloadPrivacyReport() {
// TODO download // TODO download
Toast toast = Toast.makeText(context, R.string.detail_report_download, Toast.LENGTH_LONG); 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(); toast.show();
} }
} }
...@@ -3,7 +3,7 @@ import com.example.zxa01.iotclient.R; ...@@ -3,7 +3,7 @@ import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.databinding.ActivityHomeBinding; import com.example.zxa01.iotclient.databinding.ActivityHomeBinding;
import com.example.zxa01.iotclient.home.device.view.DeviceFragment; import com.example.zxa01.iotclient.home.device.view.DeviceFragment;
import com.example.zxa01.iotclient.home.record.view.RecordFragment; 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.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
......
...@@ -4,14 +4,11 @@ import com.example.zxa01.iotclient.common.http.Api; ...@@ -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.Device;
import com.example.zxa01.iotclient.common.pojo.device.Manufacturer; import com.example.zxa01.iotclient.common.pojo.device.Manufacturer;
import com.example.zxa01.iotclient.common.pojo.device.Model; import com.example.zxa01.iotclient.common.pojo.device.Model;
import android.arch.lifecycle.MutableLiveData; import android.arch.lifecycle.MutableLiveData;
import android.databinding.BaseObservable; import android.databinding.BaseObservable;
import android.util.Log; import android.util.Log;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;
......
...@@ -36,6 +36,9 @@ public class DeviceViewModel extends ViewModel { ...@@ -36,6 +36,9 @@ public class DeviceViewModel extends ViewModel {
return deviceModel.getDevicesMLD(); return deviceModel.getDevicesMLD();
} }
/**
* create
*/
public void createDevice(String address) { public void createDevice(String address) {
deviceModel.createDevice(address); deviceModel.createDevice(address);
refreshDevices(); refreshDevices();
......
...@@ -108,10 +108,9 @@ public class RecordModel extends BaseObservable { ...@@ -108,10 +108,9 @@ public class RecordModel extends BaseObservable {
.setType(Recipient.Type.OURS)) .setType(Recipient.Type.OURS))
.setRetention(Retention.STATED_PURPOSE))); .setRetention(Retention.STATED_PURPOSE)));
public RecordModel(){ public RecordModel(){
} }
public void addPrivacyPolicyReport(PrivacyPolicyReport privacyPolicyReport){ private void addPrivacyPolicyReport(PrivacyPolicyReport privacyPolicyReport){
privacyPolicyReports.add(privacyPolicyReport); privacyPolicyReports.add(privacyPolicyReport);
} }
......
...@@ -16,7 +16,6 @@ import com.example.zxa01.iotclient.home.record.viewModel.RecordViewModel; ...@@ -16,7 +16,6 @@ import com.example.zxa01.iotclient.home.record.viewModel.RecordViewModel;
public class RecordFragment extends Fragment { public class RecordFragment extends Fragment {
private FragmentRecordBinding binding; private FragmentRecordBinding binding;
private RecordViewModel viewModel; private RecordViewModel viewModel;
...@@ -50,7 +49,7 @@ public class RecordFragment extends Fragment { ...@@ -50,7 +49,7 @@ public class RecordFragment extends Fragment {
private void init() { private void init() {
viewModel.refreshRecord(); viewModel.refreshRecord();
viewModel.observePrivacyPolicyReportsMLDD().observe(this, viewModel::setAdapter); viewModel.observePrivacyPolicyReportsMLD().observe(this, viewModel::setAdapter);
} }
public interface OnFragmentInteractionListener { public interface OnFragmentInteractionListener {
......
...@@ -33,7 +33,7 @@ public class RecordViewModel extends ViewModel { ...@@ -33,7 +33,7 @@ public class RecordViewModel extends ViewModel {
recordModel.fetchRecord(); recordModel.fetchRecord();
} }
public MutableLiveData<List<PrivacyPolicyReport>> observePrivacyPolicyReportsMLDD() { public MutableLiveData<List<PrivacyPolicyReport>> observePrivacyPolicyReportsMLD() {
return recordModel.getPrivacyPolicyReportsMLD(); return recordModel.getPrivacyPolicyReportsMLD();
} }
......
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
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);
}
}
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
package com.example.zxa01.iotclient.home.setting; package com.example.zxa01.iotclient.home.setting.view;
import android.content.Context; import android.content.Context;
import android.databinding.DataBindingUtil;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import com.example.zxa01.iotclient.R; import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.common.pojo.Setting; import com.example.zxa01.iotclient.databinding.FragmentSettingBinding;
import com.example.zxa01.iotclient.home.setting.viewModel.SettingViewModel;
import java.util.LinkedList;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
public class SettingFragment extends Fragment { 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() { 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) { public static SettingFragment newInstance(String param1, String param2) {
return new SettingFragment(); return new SettingFragment();
} }
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
}
}
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_setting, container, false); binding = DataBindingUtil.inflate(inflater, R.layout.fragment_setting, container, false);
unbinder = ButterKnife.bind(this, view); viewModel = new SettingViewModel(binding.getRoot().getContext());
if(savedInstanceState == null){ binding.setViewModel(viewModel);
buildRecyclerView(view); binding.settingRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
} init();
return view; return binding.getRoot();
}
public void onButtonPressed(Uri uri) {
if (mListener != null) {
mListener.onSettingFragment(uri);
}
} }
@Override @Override
public void onAttach(Context context) { public void onAttach(Context context) {
super.onAttach(context); super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
}
} }
@Override @Override
public void onDetach() { public void onDetach() {
super.onDetach(); super.onDetach();
mListener = null;
} }
@Override private void init() {
public void onDestroyView() { viewModel.refreshSetting();
super.onDestroyView(); viewModel.observeSettingMLD().observe(this,viewModel::setAdapter);
unbinder.unbind();
} }
public interface OnFragmentInteractionListener { public interface OnFragmentInteractionListener {
void onSettingFragment(Uri uri); 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));
}
} }
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();
}
}
...@@ -3,9 +3,6 @@ package com.example.zxa01.iotclient.privacy.model; ...@@ -3,9 +3,6 @@ package com.example.zxa01.iotclient.privacy.model;
import android.arch.lifecycle.MutableLiveData; import android.arch.lifecycle.MutableLiveData;
import android.databinding.BaseObservable; import android.databinding.BaseObservable;
import android.util.Log; 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.http.Api;
import com.example.zxa01.iotclient.common.pojo.device.Device; 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.Manufacturer;
......
package com.example.zxa01.iotclient.privacy.view; package com.example.zxa01.iotclient.privacy.view;
import android.databinding.DataBindingUtil; 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.support.v7.app.AppCompatActivity;
import android.os.Bundle; import android.os.Bundle;
import android.view.MenuItem; import android.view.MenuItem;
import com.example.zxa01.iotclient.R; import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.databinding.ActivityPrivacyBinding; 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; import com.example.zxa01.iotclient.privacy.viewModel.PrivacyViewModel;
public class PrivacyActivity extends AppCompatActivity { public class PrivacyActivity extends AppCompatActivity {
...@@ -33,7 +28,7 @@ public class PrivacyActivity extends AppCompatActivity { ...@@ -33,7 +28,7 @@ public class PrivacyActivity extends AppCompatActivity {
private void init() { private void init() {
viewModel.fetchPrivacyPolicyReport(); viewModel.fetchPrivacyPolicyReport();
viewModel.observePrivacyPolicyReportMLD().observe(this, viewModel::setPrivacyPolicyReport); viewModel.observePrivacyPolicyReportMLD().observe(this, viewModel::setPrivacyPolicyReport);
viewModel.observeIsLoading().observe(this, viewModel::setIsUpload); viewModel.observeIsLoadingMLD().observe(this, viewModel::setIsUpload);
} }
@Override @Override
......
...@@ -9,9 +9,7 @@ import android.view.LayoutInflater; ...@@ -9,9 +9,7 @@ import android.view.LayoutInflater;
import android.view.ViewGroup; import android.view.ViewGroup;
import com.example.zxa01.iotclient.BR; 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.common.pojo.privacy.PrivacyPolicy;
import com.example.zxa01.iotclient.home.device.viewModel.DeviceViewModel;
import com.example.zxa01.iotclient.privacy.viewModel.PrivacyViewModel; import com.example.zxa01.iotclient.privacy.viewModel.PrivacyViewModel;
import java.util.List; import java.util.List;
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <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"> xmlns:tools="http://schemas.android.com/tools">
<data> <data>
...@@ -14,23 +15,41 @@ ...@@ -14,23 +15,41 @@
<ScrollView <ScrollView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:visibility="@{viewModel.isLoading ? View.GONE : View.VISIBLE}"> android:background="@color/colorWhite">
<android.support.constraint.ConstraintLayout <android.support.constraint.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/colorWhite"
android:paddingLeft="@dimen/padding" android:paddingLeft="@dimen/padding"
android:paddingRight="@dimen/padding" android:paddingRight="@dimen/padding"
android:scrollbarAlwaysDrawHorizontalTrack="true" android:scrollbarAlwaysDrawHorizontalTrack="true"
tools:context=".detail.view.DetailActivity"> 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 <TableLayout
android:id="@+id/tableLayout" android:id="@+id/tableLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin" android:layout_marginTop="@dimen/margin"
android:padding="@dimen/padding_sm" android:padding="@dimen/padding_sm"
android:visibility="@{viewModel.isLoading ? View.GONE : View.VISIBLE}"
tools:ignore="MissingConstraints" tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="20dp"> tools:layout_editor_absoluteX="20dp">
...@@ -62,20 +81,20 @@ ...@@ -62,20 +81,20 @@
style="@style/Widget.AppCompat.Button.Colored" style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/font_sm"
android:padding="@dimen/padding"
android:onClick="@{()->viewModel.settingPrivacy()}" 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 <Button
android:id="@+id/buttonPrivacyReport" android:id="@+id/buttonPrivacyReport"
style="@style/Widget.AppCompat.Button.Colored" style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/font_sm"
android:padding="@dimen/padding"
android:onClick="@{()->viewModel.downloadPrivacyReport()}" 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> </LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" <layout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent" xmlns:tools="http://schemas.android.com/tools">
tools:context=".home.setting.SettingFragment">
<data>
<android.support.v7.widget.RecyclerView <import type="android.view.View" />
android:id="@+id/setting_recycler_view"
<variable
name="viewModel"
type="com.example.zxa01.iotclient.home.setting.viewModel.SettingViewModel" />
</data>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="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> </layout>
\ No newline at end of file \ No newline at end of file
...@@ -17,9 +17,8 @@ ...@@ -17,9 +17,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/border_bottom" android:background="@drawable/border_bottom"
android:orientation="vertical"
android:onClick="@{()->viewModel.onPrivacyPolicyReportClick(position)}" android:onClick="@{()->viewModel.onPrivacyPolicyReportClick(position)}"
android:orientation="vertical"
android:padding="@dimen/margin"> android:padding="@dimen/margin">
<LinearLayout <LinearLayout
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<!--Detail--> <!--Detail-->
<string name="detail_preference_setting">隱私偏好設定</string> <string name="detail_preference_setting">隱私選項設定</string>
<string name="detail_detect_report">檢測報告下載</string> <string name="detail_detect_report">檢測報告下載</string>
<string name="detail_report_download">下載中...</string> <string name="detail_report_download">下載中...</string>
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
<string name="record_title">隱私選擇記錄</string> <string name="record_title">隱私選擇記錄</string>
<string name="record_view">檢視</string> <string name="record_view">檢視</string>
<!--Login--> <!--Login-->
<string name="action_sign_in">登入</string> <string name="action_sign_in">登入</string>
<string name="login_iot_gateway">Login to IOT gateway</string> <string name="login_iot_gateway">Login to IOT gateway</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment