package com.example.lessonClient.views; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; import com.example.lessonClient.R; import com.example.lessonClient.rest.AccountsRest; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.jackson.JacksonConverterFactory; public class SettingsActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EdgeToEdge.enable(this); setContentView(R.layout.activity_settings); ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; }); String str_account_id = getIntent().getStringExtra("account_id"); ((TextView) findViewById(R.id.account_id)).setText(str_account_id); //通信の初期化 Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://10.0.2.2:8080/") .addConverterFactory(JacksonConverterFactory.create()) .build(); AccountsRest accountsRest = retrofit.create(AccountsRest.class); // listボタンを押してlist画面に遷移 Button button_list = (Button) findViewById(R.id.List); button_list.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(SettingsActivity.this, AccountListActivity.class); startActivity(intent); } }); // changeボタンを押してメッセージ表示 Button button_change = (Button) findViewById(R.id.change); button_change.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { EditText pw = (EditText) findViewById(R.id.password); String oldpass = pw.getText().toString().trim(); EditText newpw = (EditText) findViewById(R.id.newpassword); String newpass = newpw.getText().toString().trim(); Call<Void> call = accountsRest.changePW(str_account_id, newpass, oldpass); call.enqueue(new Callback<Void>() { @Override public void onResponse(Call<Void> call, Response<Void> response) { if (response.isSuccessful()) { ((TextView) findViewById(R.id.message)).setText("パスワードが変更されました"); } else { ((TextView) findViewById(R.id.message)).setText("パスワードが違います"); } } @Override public void onFailure(Call<Void> call, Throwable t) { ((TextView) findViewById(R.id.message)).setText("Failure"); } }); } }); } }