diff --git a/app/src/main/java/com/example/citrusclient/views/SettingsFragment.java b/app/src/main/java/com/example/citrusclient/views/SettingsFragment.java index 4a45c8c..f2138ce 100644 --- a/app/src/main/java/com/example/citrusclient/views/SettingsFragment.java +++ b/app/src/main/java/com/example/citrusclient/views/SettingsFragment.java @@ -61,6 +61,7 @@ return fragment; } + SettingsViewModel settingsViewModel; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -87,6 +88,27 @@ SettingsViewModel settingsViewModel = new ViewModelProvider(this).get(SettingsViewModel.class); MutableLiveData accountColor = settingsViewModel.getAccountColorLiveData(); + MutableLiveData error_changePw_LiveData = settingsViewModel.getError_changePw_LiveData(); + MutableLiveData error_changeAccount_LiveData = settingsViewModel.getError_changeAccount_LiveData(); + + error_changePw_LiveData.observe(getViewLifecycleOwner(), new Observer(){ + @Override + public void onChanged(Integer error_changePw_LiveData) { + + //ここを完成させる + + } + }); + error_changeAccount_LiveData.observe(getViewLifecycleOwner(), new Observer(){ + @Override + public void onChanged(Integer error_changePw_LiveData) { + + //ここを完成させる + + } + }); + + accountColor.observe(getViewLifecycleOwner(), new Observer() { @Override public void onChanged(String accountColor) { @@ -122,34 +144,36 @@ TextView textNote1 = (TextView) view.findViewById(R.id.textNotes1); //ユーザネーム変更でパスワードやユーザーネームなどの入力が無かったら入力してと表示する - if (NowPassEditable == null ||textNote1 != null) { //現在のパスワードの入力がなかったら + if (NowPassEditable == null) { //現在のパスワードの入力がなかったら System.out.println("現在のパスワードを正しく入力してください"); textNote1.setText("現在のパスワードを正しく入力してください!");//画面に表示 - String nowpass = NowPassEditable.toString().trim(); - //String nowpass = NowPass.getText().toString().trim(); //こっちでもよき - if (nowpass == null || nowpass.length() == 0) { //現在のパスワードの入力がなかったら - System.out.println("現在のパスワードを正しく入力してください"); - } - - } else if(NewIdEditable == null || textNote1 != null){ //新しいユーザーネームの入力が無かったら + } else if(NewIdEditable == null){ //新しいユーザーネームの入力が無かったら System.out.println("新しいユーザネームを正しく入力してください"); textNote1.setText("新しいユーザネームを正しく入力してください!"); //画面に表示 - String newUsername = NewIdEditable.toString().trim(); -// String newUsername = newUsername.getText().toString().trim(); //こっちでもよき - if (newUsername == null || newUsername.length() == 0) { //新しいユーザネームの入力がなかったら - System.out.println("新しいユーザネームを正しく入力してください"); - } - } else { System.out.println(NowPass); //確認のため System.out.println(NewUsername); + String nowpass = NowPassEditable.toString().trim(); + //String nowpass = NowPass.getText().toString().trim(); //こっちでもよき + + if (nowpass == null || nowpass.length() == 0) { //現在のパスワードの入力がなかったら + System.out.println("現在のパスワードを正しく入力してください"); + } + String newUsername = NewIdEditable.toString().trim(); + // String newUsername = newUsername.getText().toString().trim(); //こっちでもよき + if (newUsername == null || newUsername.length() == 0) { //新しいユーザネームの入力がなかったら + System.out.println("新しいユーザネームを正しく入力してください"); + } + String accountId = ((Citrus) getActivity().getApplication()).getAccountId(); String token = ((Citrus) getActivity().getApplication()).getToken(); - //SettingsViewModel.createBook(accountId, nowpass, color, publicity, token); //SettingsViewModelを呼ぶ + settingsViewModel.changeAccount(accountId, newUsername, nowpass, token); //SettingsViewModelを呼ぶ + + textNote1.setText("ユーザーネームの変更完了!"); } } }); @@ -159,7 +183,7 @@ view.findViewById(R.id.UpdatePass).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view2) { - EditText NowPass = (EditText) view.findViewById(R.id.EnterNowPassword); //現在のパスワードを入力する + EditText NowPass = (EditText) view.findViewById(R.id.EnterNowPassword2); //現在のパスワードを入力する Editable NowPassEditable = NowPass.getText(); EditText NewPass = (EditText) view.findViewById(R.id.EnterNewPassword); //新しいパスワードを入力する @@ -168,34 +192,38 @@ TextView textNote2 = (TextView) view.findViewById(R.id.textNotes2); //パスワード変更で入力が足りないとき - if (NowPassEditable == null || textNote2 != null) { //現在のパスワードの入力がなかったら + if (NowPassEditable == null) { //現在のパスワードの入力がなかったら System.out.println("現在のパスワードを正しく入力してください"); textNote2.setText("現在のパスワードを正しく入力してください!");//画面に表示 - String nowpass = NowPassEditable.toString().trim(); - //String nowpass = NowPass.getText().toString().trim(); //こっちでもよき - if (nowpass == null || nowpass.length() == 0) { //現在のパスワードの入力がなかったら - System.out.println("現在のパスワードを正しく入力してください"); - } - - } else if(NewPassEditable == null || textNote2 != null){ //新しいパスワードの入力が無かったら + } else if(NewPassEditable == null){ //新しいパスワードの入力が無かったら System.out.println("新しいパスワードを正しく入力してください"); textNote2.setText("新しいパスワードを正しく入力してください!"); //画面に表示 - String newUsername = NewPassEditable.toString().trim(); -// String newUsername = newUsername.getText().toString().trim(); //こっちでもよき - if (newUsername == null || newUsername.length() == 0) { //新しいユーザネームの入力がなかったら - System.out.println("新しいパスワードを正しく入力してください"); - } - } else { System.out.println(NowPass); //確認のため System.out.println(NewPass); + String nowpass = NowPassEditable.toString().trim(); + //String nowpass = NowPass.getText().toString().trim(); //こっちでもよき + if (nowpass == null || nowpass.length() == 0) { //現在のパスワードの入力がなかったら + System.out.println("現在のパスワードを正しく入力してください"); + return; + } + + String newPassword = NewPassEditable.toString().trim(); +// String newUsername = newUsername.getText().toString().trim(); //こっちでもよき + if (newPassword == null || newPassword.length() == 0) { //新しいユーザネームの入力がなかったら + System.out.println("新しいパスワードを正しく入力してください"); + return; + } + String accountId = ((Citrus) getActivity().getApplication()).getAccountId(); String token = ((Citrus) getActivity().getApplication()).getToken(); - //SettingsViewModel.createBook(accountId, nowpass, color, publicity, token); //SettingsViewModelを呼ぶ + settingsViewModel.changePW(accountId, newPassword, nowpass, token); //SettingsViewModelを呼ぶ + + textNote2.setText("パスワードの変更完了!"); //画面に表示 } } }); @@ -205,7 +233,7 @@ } public void returnAccountColor(String iconColor){ - accountColor = iconColor;//createBookの変数colorに入る + accountColor = iconColor;//SettingsFragmentの変数accountColorに入る View view = getView(); // FragmentのView