diff --git a/app/src/main/java/org/ntlab/amaryllis/client/Amaryllis.java b/app/src/main/java/org/ntlab/amaryllis/client/Amaryllis.java index 39700eb..2f7159c 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/Amaryllis.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/Amaryllis.java @@ -7,6 +7,7 @@ private String token = null; private String uid = null; private String password=null; + private String name = null; private String latitude=null; private String longitude=null; @@ -40,6 +41,21 @@ return password; } + public void setName(String name) { + SharedPreferences prefData = getSharedPreferences("pref_data", MODE_PRIVATE); + SharedPreferences.Editor editor = prefData.edit(); + editor.putString("name", name); + editor.commit(); + } + + public String getName() { + if(name == null){ + SharedPreferences prefData = getSharedPreferences("pref_data", MODE_PRIVATE); + name = prefData.getString("name", ""); + } + return name; + } + public void setToken(String token) { SharedPreferences prefData = getSharedPreferences("pref_data", MODE_PRIVATE); SharedPreferences.Editor editor = prefData.edit(); diff --git a/app/src/main/java/org/ntlab/amaryllis/client/LoginActivity.java b/app/src/main/java/org/ntlab/amaryllis/client/LoginActivity.java index d125da9..8b210d4 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/LoginActivity.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/LoginActivity.java @@ -55,7 +55,8 @@ app.setToken(signUpJson.getToken()); app.setUid(nameText.getText().toString()); app.setPassword(passWordEditText.getText().toString()); - Intent intent = new Intent(LoginActivity.this, MainActivity.class); + app.setName(nameText.getText().toString()); + Intent intent = new Intent(getApplication(), MainActivity.class); startActivity(intent); finish(); } diff --git a/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java b/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java index 0be6295..5c972db 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java @@ -202,10 +202,14 @@ public void method() { Amaryllis amaryllis =(Amaryllis) getApplication(); amaryllis.setPassword(""); + amaryllis.setName(""); + amaryllis.setUid(""); } - public void logout(){ - Intent intent = new Intent(MainActivity.this, LoginActivity.class); + + public void logout() { + Intent intent = new Intent(getApplication(), LoginActivity.class); startActivity(intent); finish(); } + } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/amaryllis/client/SignUpActivity.java b/app/src/main/java/org/ntlab/amaryllis/client/SignUpActivity.java index 7c34b9a..4894894 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/SignUpActivity.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/SignUpActivity.java @@ -7,6 +7,7 @@ import android.content.Intent; import android.os.Bundle; import android.text.Editable; +import android.text.TextUtils; import android.text.TextWatcher; import android.view.View; import android.widget.Button; @@ -43,9 +44,9 @@ Amaryllis amaryllis =(Amaryllis) getApplication(); String uid = amaryllis.getUid(); String passWord = amaryllis.getPassword(); - if(uid.length() != 0 && passWord.length() != 0){ + if(TextUtils.isEmpty(uid) == false && TextUtils.isEmpty(passWord) == false){ signUpService.accountLogin(uid,passWord); - Intent intent = new Intent(SignUpActivity.this, MainActivity.class); + Intent intent = new Intent(getApplication(), MainActivity.class); startActivity(intent); finish(); } @@ -76,7 +77,8 @@ amaryllis.setToken(token); amaryllis.setUid(signUpJson.getUid()); amaryllis.setPassword(passWordEditText.getText().toString()); - Intent intent = new Intent(SignUpActivity.this, MainActivity.class); + amaryllis.setName(nameEditText.getText().toString()); + Intent intent = new Intent(getApplication(), MainActivity.class); startActivity(intent); finish(); } diff --git a/app/src/main/java/org/ntlab/amaryllis/client/fragment/AccountFragment.java b/app/src/main/java/org/ntlab/amaryllis/client/fragment/AccountFragment.java index 9597543..95bac7e 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/fragment/AccountFragment.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/fragment/AccountFragment.java @@ -6,10 +6,15 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; + +import android.text.Editable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; +import android.widget.EditText; +import android.text.TextWatcher; +import android.widget.TextView; import org.ntlab.amaryllis.client.Amaryllis; import org.ntlab.amaryllis.client.MainActivity; @@ -30,7 +35,7 @@ * Use the {@link AccountFragment#newInstance} factory method to * create an instance of this fragment. */ -public class AccountFragment extends Fragment { +public class AccountFragment extends Fragment implements TextWatcher{ // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER @@ -40,6 +45,11 @@ // TODO: Rename and change types of parameters private String mParam1; private String mParam2; + TextView nameTextView; + EditText nameEditText; + TextView introductionTextView; + EditText introductionEditText; + Button changeButton; Button logoutButton; private static final int READ_REQUEST_CODE = 42; @@ -80,6 +90,18 @@ .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/amaryllis/") .addConverterFactory(JacksonConverterFactory.create()) .build(); + Amaryllis app =(Amaryllis) getActivity().getApplication(); + nameEditText = (EditText)view.findViewById(R.id.name); + nameEditText.addTextChangedListener(this); + nameTextView = view.findViewById(R.id.name); + String name = app.getName(); + nameEditText.setText(name); + introductionEditText =(EditText)view.findViewById(R.id.introduction); + introductionEditText.addTextChangedListener(this); + introductionTextView = view.findViewById(R.id.introduction); + introductionEditText.setEnabled(false); + changeButton = (Button)view.findViewById(R.id.change); + changeButton.setEnabled(true); logoutButton = (Button)view.findViewById(R.id.logout); logoutButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { @@ -87,9 +109,8 @@ ma.method(); ma.logout(); } - }); - - } + }); + } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -98,4 +119,22 @@ return inflater.inflate(R.layout.fragment_account, container, false); } + + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } + + @Override + public void afterTextChanged(Editable s) { + if(nameTextView.length() == 0 && introductionTextView.length() == 0){ + changeButton.setEnabled(false); + } + + } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_account.xml b/app/src/main/res/layout/fragment_account.xml index f3b801b..b295566 100644 --- a/app/src/main/res/layout/fragment_account.xml +++ b/app/src/main/res/layout/fragment_account.xml @@ -12,7 +12,7 @@