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 6aa4ab8..2b06546 100644
--- a/app/src/main/java/org/ntlab/amaryllis/client/Amaryllis.java
+++ b/app/src/main/java/org/ntlab/amaryllis/client/Amaryllis.java
@@ -8,6 +8,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;
@@ -41,6 +42,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 @@