Commit 56c043fc authored by DESKTOP-NFGF3PG\zxa01's avatar DESKTOP-NFGF3PG\zxa01

commit singleton Config

parent 505c4328
......@@ -16,7 +16,7 @@
android:theme="@style/AppTheme">
<activity
android:name=".login.view.LoginActivity"
android:name=".component.login.LoginActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan">
......@@ -27,18 +27,18 @@
</intent-filter>
</activity>
<activity
android:name=".home.HomeActivity"
android:name=".component.home.HomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".detail.view.DetailActivity"
android:name=".component.detail.DetailActivity"
android:label="@string/title_detail"
android:screenOrientation="portrait"></activity>
<activity
android:name=".privacy.view.PrivacyActivity"
android:name=".component.privacy.PrivacyActivity"
android:label="@string/title_privacy"
android:screenOrientation="portrait" />
</application>
......
......@@ -6,10 +6,10 @@ import android.support.v7.widget.RecyclerView;
public class CustomViewBindings {
@BindingAdapter("setAdapter")
public static void bindRecyclerViewAdapter(RecyclerView recyclerView, RecyclerView.Adapter<?> adapter) {
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));
recyclerView.setAdapter(adapter);
}
// @BindingAdapter("setAdapter")
// public static void bindRecyclerViewAdapter(RecyclerView recyclerView, RecyclerView.Adapter<?> adapter) {
// recyclerView.setHasFixedSize(true);
// recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));
// recyclerView.setAdapter(adapter);
// }
}
package com.example.zxa01.iotclient.common.shared;
import com.example.zxa01.iotclient.common.pojo.Setting;
import com.example.zxa01.iotclient.common.pojo.auth.User;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
public class Config {
private static Config config = new Config();
private User user;
private String gateway;
private List<Setting> settings;
private Config() {
this.user = new User();
this.gateway = "";
this.settings = new LinkedList<>();
}
public static Config getConfig() {
return config;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String getGateway() {
return gateway;
}
public void setGateway(String gateway) {
this.gateway = gateway;
}
public List<Setting> getSettings() {
return settings;
}
public void addSetting(Setting setting) {
this.settings = this.settings.stream()
.filter((item) -> !item.getKey().equals(setting.getKey()))
.collect(Collectors.toList());
this.settings.add(setting);
}
}
package com.example.zxa01.iotclient.detail.view;
package com.example.zxa01.iotclient.component.detail;
import android.databinding.DataBindingUtil;
import android.support.v7.app.AppCompatActivity;
......@@ -6,7 +6,6 @@ import android.os.Bundle;
import android.view.MenuItem;
import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.databinding.ActivityDetailBinding;
import com.example.zxa01.iotclient.detail.viewModel.DetailViewModel;
public class DetailActivity extends AppCompatActivity {
......
package com.example.zxa01.iotclient.detail.model;
package com.example.zxa01.iotclient.component.detail;
import android.arch.lifecycle.MutableLiveData;
import android.databinding.BaseObservable;
import android.util.Log;
......
package com.example.zxa01.iotclient.detail.viewModel;
package com.example.zxa01.iotclient.component.detail;
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 com.example.zxa01.iotclient.component.privacy.PrivacyActivity;
import android.arch.lifecycle.MutableLiveData;
import android.arch.lifecycle.ViewModel;
import android.content.Context;
......
package com.example.zxa01.iotclient.home;
package com.example.zxa01.iotclient.component.home;
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.view.SettingFragment;
import com.example.zxa01.iotclient.component.home.device.DeviceFragment;
import com.example.zxa01.iotclient.component.home.record.RecordFragment;
import com.example.zxa01.iotclient.component.home.setting.SettingFragment;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
......
package com.example.zxa01.iotclient.home.device.view;
package com.example.zxa01.iotclient.component.home.device;
import android.databinding.DataBindingUtil;
import android.databinding.ViewDataBinding;
......@@ -10,7 +10,6 @@ import android.view.ViewGroup;
import com.example.zxa01.iotclient.BR;
import com.example.zxa01.iotclient.common.pojo.device.Device;
import com.example.zxa01.iotclient.home.device.viewModel.DeviceViewModel;
import java.util.List;
......
package com.example.zxa01.iotclient.home.device.view;
package com.example.zxa01.iotclient.component.home.device;
import android.content.Context;
import android.databinding.DataBindingUtil;
......@@ -13,8 +13,7 @@ import android.view.ViewGroup;
import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.databinding.FragmentDeviceBinding;
import com.example.zxa01.iotclient.home.device.viewModel.DeviceViewModel;
import com.example.zxa01.iotclient.home.device.view.create.DeviceCreateFragment;
import com.example.zxa01.iotclient.component.home.device.create.DeviceCreateFragment;
public class DeviceFragment extends Fragment {
......
package com.example.zxa01.iotclient.home.device.model;
package com.example.zxa01.iotclient.component.home.device;
import com.example.zxa01.iotclient.common.http.Api;
import com.example.zxa01.iotclient.common.pojo.device.Device;
......
package com.example.zxa01.iotclient.home.device.viewModel;
package com.example.zxa01.iotclient.component.home.device;
import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.common.pojo.device.Device;
import com.example.zxa01.iotclient.detail.view.DetailActivity;
import com.example.zxa01.iotclient.home.device.view.DeviceAdapter;
import com.example.zxa01.iotclient.home.device.model.DeviceModel;
import com.example.zxa01.iotclient.component.detail.DetailActivity;
import android.arch.lifecycle.MutableLiveData;
import android.arch.lifecycle.ViewModel;
......
package com.example.zxa01.iotclient.home.device.view.create;
package com.example.zxa01.iotclient.component.home.device.create;
import android.app.AlertDialog;
import android.app.Dialog;
......@@ -13,7 +13,7 @@ import android.view.ViewGroup;
import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.databinding.FragmentDeviceCreateBinding;
import com.example.zxa01.iotclient.home.device.viewModel.DeviceViewModel;
import com.example.zxa01.iotclient.component.home.device.DeviceViewModel;
public class DeviceCreateFragment extends DialogFragment {
......
package com.example.zxa01.iotclient.home.record.view;
package com.example.zxa01.iotclient.component.home.record;
import android.databinding.DataBindingUtil;
import android.databinding.ViewDataBinding;
......@@ -9,7 +9,6 @@ import android.view.LayoutInflater;
import android.view.ViewGroup;
import com.example.zxa01.iotclient.BR;
import com.example.zxa01.iotclient.common.pojo.privacy.PrivacyPolicyReport;
import com.example.zxa01.iotclient.home.record.viewModel.RecordViewModel;
import java.util.List;
......
package com.example.zxa01.iotclient.home.record.view;
package com.example.zxa01.iotclient.component.home.record;
import android.content.Context;
import android.databinding.DataBindingUtil;
......@@ -12,7 +12,6 @@ import android.view.ViewGroup;
import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.databinding.FragmentRecordBinding;
import com.example.zxa01.iotclient.home.record.viewModel.RecordViewModel;
public class RecordFragment extends Fragment {
......
package com.example.zxa01.iotclient.home.record.model;
package com.example.zxa01.iotclient.component.home.record;
import android.arch.lifecycle.MutableLiveData;
import android.databinding.BaseObservable;
......
package com.example.zxa01.iotclient.home.record.viewModel;
package com.example.zxa01.iotclient.component.home.record;
import android.arch.lifecycle.MutableLiveData;
import android.arch.lifecycle.ViewModel;
......@@ -8,9 +8,7 @@ import android.databinding.ObservableBoolean;
import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.common.pojo.privacy.PrivacyPolicyReport;
import com.example.zxa01.iotclient.home.record.model.RecordModel;
import com.example.zxa01.iotclient.home.record.view.RecordAdapter;
import com.example.zxa01.iotclient.privacy.view.PrivacyActivity;
import com.example.zxa01.iotclient.component.privacy.PrivacyActivity;
import java.util.List;
......
package com.example.zxa01.iotclient.home.setting.view;
package com.example.zxa01.iotclient.component.home.setting;
import android.databinding.DataBindingUtil;
import android.databinding.ViewDataBinding;
......@@ -9,7 +9,7 @@ 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> {
......
package com.example.zxa01.iotclient.home.setting.view;
package com.example.zxa01.iotclient.component.home.setting;
import android.content.Context;
import android.databinding.DataBindingUtil;
......@@ -11,7 +11,6 @@ import android.view.View;
import android.view.ViewGroup;
import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.databinding.FragmentSettingBinding;
import com.example.zxa01.iotclient.home.setting.viewModel.SettingViewModel;
public class SettingFragment extends Fragment {
......
package com.example.zxa01.iotclient.home.setting.model;
package com.example.zxa01.iotclient.component.home.setting;
import android.arch.lifecycle.MutableLiveData;
import android.databinding.BaseObservable;
import com.example.zxa01.iotclient.common.pojo.Setting;
import java.util.ArrayList;
import com.example.zxa01.iotclient.common.shared.Config;
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() {
......@@ -26,12 +21,6 @@ public class SettingModel extends BaseObservable {
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);
settingsMLD.setValue(Config.getConfig().getSettings());
}
}
package com.example.zxa01.iotclient.home.setting.viewModel;
package com.example.zxa01.iotclient.component.home.setting;
import android.arch.lifecycle.MutableLiveData;
import android.arch.lifecycle.ViewModel;
......@@ -7,8 +7,6 @@ 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;
......
package com.example.zxa01.iotclient.login.view;
package com.example.zxa01.iotclient.component.login;
import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.databinding.ActivityLoginBinding;
import com.example.zxa01.iotclient.login.viewModel.LoginViewModel;
import android.app.Activity;
import android.databinding.DataBindingUtil;
import android.os.Bundle;
......
package com.example.zxa01.iotclient.login.model;
import com.example.zxa01.iotclient.login.pojo.LoginMessage;
package com.example.zxa01.iotclient.component.login;
import com.example.zxa01.iotclient.common.pojo.Setting;
import com.example.zxa01.iotclient.common.pojo.auth.User;
import com.example.zxa01.iotclient.common.shared.Config;
import com.example.zxa01.iotclient.component.login.pojo.LoginMessage;
import android.arch.lifecycle.MutableLiveData;
import android.databinding.BaseObservable;
import android.support.annotation.NonNull;
public class LoginModel extends BaseObservable {
private MutableLiveData<Boolean> isAuthorized = new MutableLiveData<>();
private MutableLiveData<Boolean> isAuthorized;
private static String USER = "使用者";
private static String GATEWAY = "閘道器位置";
private static String Port = "Port";
private static String LOGOUT = "登出";
private static String LOGOUT_MESSAGE = "登出本帳號";
public LoginModel() {
isAuthorized = new MutableLiveData<>();
isAuthorized.setValue(false);
}
......@@ -17,6 +27,14 @@ public class LoginModel extends BaseObservable {
}
public void login(@NonNull LoginMessage message) {
Config.getConfig().setUser(new User().setAccount(message.getAccount()));
Config.getConfig().setGateway(message.getGateway());
Config.getConfig().addSetting(new Setting(USER,Config.getConfig().getUser().getAccount()));
Config.getConfig().addSetting(new Setting(GATEWAY,message.getGateway()));
Config.getConfig().addSetting(new Setting(Port,message.getGateway()));
Config.getConfig().addSetting(new Setting(LOGOUT,LOGOUT_MESSAGE));
isAuthorized.setValue(true);
// Callback<Object> callback = new Callback<Object>() {
// @Override
......
package com.example.zxa01.iotclient.login.viewModel;
package com.example.zxa01.iotclient.component.login;
import com.example.zxa01.iotclient.home.HomeActivity;
import com.example.zxa01.iotclient.login.model.LoginModel;
import com.example.zxa01.iotclient.login.pojo.LoginMessage;
import com.example.zxa01.iotclient.component.home.HomeActivity;
import com.example.zxa01.iotclient.component.login.pojo.LoginMessage;
import android.arch.lifecycle.MutableLiveData;
import android.arch.lifecycle.ViewModel;
import android.content.Context;
......
package com.example.zxa01.iotclient.login.pojo;
package com.example.zxa01.iotclient.component.login.pojo;
import android.support.annotation.NonNull;
public class LoginMessage {
......
package com.example.zxa01.iotclient.privacy.view;
package com.example.zxa01.iotclient.component.privacy;
import android.databinding.DataBindingUtil;
import android.support.v7.app.AppCompatActivity;
......@@ -7,7 +7,6 @@ import android.view.MenuItem;
import com.example.zxa01.iotclient.R;
import com.example.zxa01.iotclient.databinding.ActivityPrivacyBinding;
import com.example.zxa01.iotclient.privacy.viewModel.PrivacyViewModel;
public class PrivacyActivity extends AppCompatActivity {
......
package com.example.zxa01.iotclient.privacy.view;
package com.example.zxa01.iotclient.component.privacy;
import android.databinding.DataBindingUtil;
import android.databinding.ViewDataBinding;
......@@ -10,7 +10,6 @@ import android.view.ViewGroup;
import com.example.zxa01.iotclient.BR;
import com.example.zxa01.iotclient.common.pojo.privacy.PrivacyPolicy;
import com.example.zxa01.iotclient.privacy.viewModel.PrivacyViewModel;
import java.util.List;
......
package com.example.zxa01.iotclient.privacy.model;
package com.example.zxa01.iotclient.component.privacy;
import android.arch.lifecycle.MutableLiveData;
import android.databinding.BaseObservable;
......
......@@ -9,7 +9,7 @@
<variable
name="viewModel"
type="com.example.zxa01.iotclient.detail.viewModel.DetailViewModel" />
type="com.example.zxa01.iotclient.component.detail.DetailViewModel" />
</data>
<ScrollView
......@@ -24,7 +24,7 @@
android:paddingLeft="@dimen/padding"
android:paddingRight="@dimen/padding"
android:scrollbarAlwaysDrawHorizontalTrack="true"
tools:context=".detail.view.DetailActivity">
tools:context=".component.detail.DetailActivity">
<FrameLayout
android:layout_width="match_parent"
......
......@@ -7,7 +7,7 @@
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".home.HomeActivity">
tools:context=".component.home.HomeActivity">
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
......
......@@ -7,7 +7,7 @@
<variable
name="viewModel"
type="com.example.zxa01.iotclient.login.viewModel.LoginViewModel" />
type="com.example.zxa01.iotclient.component.login.LoginViewModel" />
</data>
<LinearLayout
......@@ -20,7 +20,7 @@
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".login.view.LoginActivity">
tools:context=".component.login.LoginActivity">
<ScrollView
android:layout_width="282dp"
......
......@@ -9,14 +9,14 @@
<variable
name="viewModel"
type="com.example.zxa01.iotclient.privacy.viewModel.PrivacyViewModel" />
type="com.example.zxa01.iotclient.component.privacy.PrivacyViewModel" />
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorWhite"
tools:context=".privacy.view.PrivacyActivity">
tools:context=".component.privacy.PrivacyActivity">
<ProgressBar
android:id="@+id/progressBar"
......@@ -35,7 +35,7 @@
android:background="@color/colorWhite"
android:orientation="vertical"
android:visibility="@{viewModel.isLoading ? View.GONE : View.VISIBLE}"
tools:context=".privacy.view.PrivacyActivity">
tools:context=".component.privacy.PrivacyActivity">
<LinearLayout
android:layout_width="match_parent"
......
......@@ -9,13 +9,13 @@
<variable
name="viewModel"
type="com.example.zxa01.iotclient.home.device.viewModel.DeviceViewModel" />
type="com.example.zxa01.iotclient.component.home.device.DeviceViewModel" />
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".home.device.view.DeviceFragment">
tools:context=".component.home.device.DeviceFragment">
<android.support.v7.widget.RecyclerView
android:id="@+id/device_recycler_view"
......
......@@ -6,12 +6,12 @@
<variable
name="viewModel"
type="com.example.zxa01.iotclient.home.device.viewModel.DeviceViewModel" />
type="com.example.zxa01.iotclient.component.home.device.DeviceViewModel" />
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".home.device.view.create.DeviceCreateFragment">
tools:context=".component.home.device.create.DeviceCreateFragment">
<LinearLayout
android:layout_width="match_parent"
......
......@@ -9,13 +9,13 @@
<variable
name="viewModel"
type="com.example.zxa01.iotclient.home.record.viewModel.RecordViewModel" />
type="com.example.zxa01.iotclient.component.home.record.RecordViewModel" />
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".home.record.view.RecordFragment">
tools:context=".component.home.record.RecordFragment">
<ProgressBar
android:id="@+id/progressBar"
......
......@@ -9,14 +9,14 @@
<variable
name="viewModel"
type="com.example.zxa01.iotclient.home.setting.viewModel.SettingViewModel" />
type="com.example.zxa01.iotclient.component.home.setting.SettingViewModel" />
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".home.setting.view.SettingFragment">
tools:context=".component.home.setting.SettingFragment">
<android.support.v7.widget.RecyclerView
......
......@@ -11,7 +11,7 @@
<variable
name="viewModel"
type="com.example.zxa01.iotclient.home.device.viewModel.DeviceViewModel" />
type="com.example.zxa01.iotclient.component.home.device.DeviceViewModel" />
</data>
<android.support.constraint.ConstraintLayout
......
......@@ -9,7 +9,7 @@
<variable
name="viewModel"
type="com.example.zxa01.iotclient.privacy.viewModel.PrivacyViewModel" />
type="com.example.zxa01.iotclient.component.privacy.PrivacyViewModel" />
</data>
<android.support.constraint.ConstraintLayout
......
......@@ -10,7 +10,7 @@
<variable
name="viewModel"
type="com.example.zxa01.iotclient.home.record.viewModel.RecordViewModel" />
type="com.example.zxa01.iotclient.component.home.record.RecordViewModel" />
</data>
<LinearLayout
......
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