diff --git a/app/src/main/java/com/example/tampopo_client/Tampopo.java b/app/src/main/java/com/example/tampopo_client/Tampopo.java index 52a0285..7f183cd 100644 --- a/app/src/main/java/com/example/tampopo_client/Tampopo.java +++ b/app/src/main/java/com/example/tampopo_client/Tampopo.java @@ -4,11 +4,6 @@ import android.content.SharedPreferences; public class Tampopo extends Application { - private SharedPreferences prefs; - - //public String getUserId; - - //public String getToken; private String token; private String userId; private String password; @@ -16,28 +11,12 @@ private String mailaddress; private String nickname; private String icon; -// -// @Override -// public void onCreate() { -// super.onCreate(); -// prefs = getSharedPreferences("user_prefs", MODE_PRIVATE); -// -// // 起動時に保存された値を読み込む -// token = prefs.getString("token", ""); -// userId = prefs.getString("userId", ""); -// password = prefs.getString("password", ""); -// chatroomId = prefs.getString("chatroomId", ""); -// mailaddress = prefs.getString("mailaddress", ""); -// nickname = prefs.getString("nickname", ""); -// icon = prefs.getString("icon", ""); -// } public String getToken() {return token;} public void setToken(String token) { this.token = token; - //prefs.edit().putString("token", token).apply(); } public String getUserId() { @@ -46,14 +25,12 @@ public void setUserId(String userId) { this.userId = userId; - //prefs.edit().putString("userId", userId).apply(); } public String getMailaddress() { return mailaddress; } public void setMailaddress(String mailaddress) { this.mailaddress = mailaddress; - //prefs.edit().putString("mailaddress", mailaddress).apply(); } @@ -64,7 +41,6 @@ public void setPassword(String password) { this.password = password; - //prefs.edit().putString("password", password).apply(); } public String getChatroomId() { @@ -81,13 +57,11 @@ public void setNickname(String nickname) { this.nickname = nickname; - //prefs.edit().putString("nickname", nickname).apply(); } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; - //prefs.edit().putString("icon", icon).apply(); } } diff --git a/app/src/main/java/com/example/tampopo_client/resources/UserResource.java b/app/src/main/java/com/example/tampopo_client/resources/UserResource.java index 5e9f426..c582de0 100644 --- a/app/src/main/java/com/example/tampopo_client/resources/UserResource.java +++ b/app/src/main/java/com/example/tampopo_client/resources/UserResource.java @@ -74,7 +74,8 @@ @PUT("users/{user-id}/password") Call updatePassword( @Path("user-id") String userId, - @Field("new-password") String newPassword + @Field("new-password") String newPassword, + @Field("token") String token //市井 ); //単一アカウントのemailの取得 diff --git a/app/src/main/java/com/example/tampopo_client/viewmodels/UserViewModel.java b/app/src/main/java/com/example/tampopo_client/viewmodels/UserViewModel.java index af14415..e7c7920 100644 --- a/app/src/main/java/com/example/tampopo_client/viewmodels/UserViewModel.java +++ b/app/src/main/java/com/example/tampopo_client/viewmodels/UserViewModel.java @@ -132,10 +132,10 @@ }); } //パスワードの変更(市井) - public void updatePassword(String userId, String newPassword) { + public void updatePassword(String userId, String newPassword ,String tokenValue) { loading.setValue(true); - userResource.updatePassword(userId, newPassword).enqueue(new Callback() { + userResource.updatePassword(userId, newPassword ,tokenValue).enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { loading.setValue(false); diff --git a/app/src/main/java/com/example/tampopo_client/views/AccountActivity.java b/app/src/main/java/com/example/tampopo_client/views/AccountActivity.java index fbc4948..ead07da 100644 --- a/app/src/main/java/com/example/tampopo_client/views/AccountActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/AccountActivity.java @@ -39,10 +39,12 @@ userViewModel = new ViewModelProvider(this).get(UserViewModel.class); //アカウント編集画面から設定画面への遷移 - ImageButton buttonReturn = findViewById(R.id.buttonReturn); - buttonReturn.setOnClickListener(v -> { - Intent intent = new Intent(AccountActivity.this, SettingActivity.class); - startActivity(intent); + ImageButton buttonReturn = (ImageButton)findViewById(R.id.buttonReturn); + buttonReturn.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + Intent intent = new Intent(AccountActivity.this, SettingActivity.class); + startActivity(intent); + } }); //もともとのメールアドレスを表示 @@ -53,7 +55,7 @@ Button dicisionbutton = findViewById(R.id.dicisionbutton); dicisionbutton.setOnClickListener(new View.OnClickListener() { - @Override + //@Override public void onClick(View v) { Tampopo app = (Tampopo) AccountActivity.this.getApplication(); @@ -81,7 +83,7 @@ EditText mailbuttonInput = findViewById(R.id.mailbutton); String mailbutton = mailbuttonInput.getText().toString(); - // バリデーション + // 1) 現在のパスワードが一致するか if (!beforepasswordbutton.equals(currentStoredPassword)) { Toast.makeText(AccountActivity.this, "現在のパスワードが違います。", Toast.LENGTH_SHORT).show(); @@ -100,36 +102,17 @@ return; } - // 全て通れば保存 - app.setPassword(afterpasswordbutton1); + + // 全て通ればApplication(Tampopo)に保存 + app.setPassword(afterpasswordbutton2); app.setMailaddress(mailbutton); + userViewModel.updatePassword(app.getUserId(),afterpasswordbutton2,app.getToken()); + userViewModel.updateEmail(app.getUserId(),mailbutton,app.getToken()); + Toast.makeText(AccountActivity.this, "アカウント情報を更新しました。", Toast.LENGTH_SHORT).show(); - // Application(Tampopo)に保存(→SharedPreferencesにも自動保存される) - app = (Tampopo) getApplication(); - app.setPassword(afterpasswordbutton1); - app.setMailaddress(mailbutton); -// // ---- ★ サーバに送信する部分 ★ ---- -// String userId = app.getUserId(); -// String token = app.getToken(); -// -// UserViewModel.updatePassword(userId, afterpasswordbutton1, token); -// -// // サーバ送信の結果を監視して成功したら保存 -// UserViewModel.getError().observe(this, msg -> { -// if (msg != null) { -// Toast.makeText(AccountActivity.this, msg, Toast.LENGTH_SHORT).show(); -// } else { -// // 成功時のみアプリ内も更新 -// app.setPassword(afterpasswordbutton1); -// app.setMailaddress(mailbutton); -// Toast.makeText(AccountActivity.this, "アカウント情報を更新しました。", Toast.LENGTH_SHORT).show(); -// -// Intent intent = new Intent(AccountActivity.this, SettingActivity.class); -// startActivity(intent); -// } //決定を押したら設定画面に遷移 Intent intent = new Intent(AccountActivity.this, SettingActivity.class); @@ -138,4 +121,5 @@ } }); } -} + + } diff --git a/app/src/main/java/com/example/tampopo_client/views/ProfileActivity.java b/app/src/main/java/com/example/tampopo_client/views/ProfileActivity.java index 3d16dc4..79898ba 100644 --- a/app/src/main/java/com/example/tampopo_client/views/ProfileActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/ProfileActivity.java @@ -15,9 +15,12 @@ import com.example.tampopo_client.R; import com.example.tampopo_client.Tampopo; +import com.example.tampopo_client.viewmodels.UserViewModel; public class ProfileActivity extends AppCompatActivity { + private UserViewModel userViewModel; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -66,27 +69,14 @@ app.setNickname(usernickname); app.setUserId(userid); + userViewModel.updateName(app.getUserId(),usernickname, app.getToken()); + // 設定画面に戻る Intent intent = new Intent(ProfileActivity.this, SettingActivity.class); startActivity(intent); } }); - //決定を押したら設定画面に遷移 -// dicisionbutton.setOnClickListener(new View.OnClickListener() { -// -// private Object getApplication; -// -// public void onClick(View v) { -// -// //決定を押したら設定画面に遷移 -// Intent intent = new Intent(ProfileActivity.this, SettingActivity.class); -// startActivity(intent); -// -// -// } -// }); - }