diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 300967e..679b1a3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,44 +1,65 @@
+
+
+
+
-
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
+ android:theme="@style/AppTheme.NoActionBar" />
+
+
-
-
-
+ android:theme="@style/AppTheme.NoActionBar" />
\ No newline at end of file
diff --git a/app/src/main/java/com/example/cosmosclient/views/ForgotPasswordActivity.java b/app/src/main/java/com/example/cosmosclient/views/ForgotPasswordActivity.java
new file mode 100644
index 0000000..651439d
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/views/ForgotPasswordActivity.java
@@ -0,0 +1,57 @@
+package com.example.cosmosclient.views;
+
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+
+import com.example.cosmosclient.R;
+
+public class ForgotPasswordActivity extends AppCompatActivity {
+ //public class ForgotPasswordActivity extends AppCompatActivity implements TextWatcher{
+ String EMailPattern = "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$";
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_forgot_password);
+
+ //idの取得
+ final EditText EmailAddressText = findViewById(R.id.NameText);
+ Button SendButton = findViewById(R.id.SendButton);
+
+ //EmailAddressText.addTextChangedListener(this);
+
+ //送信ボタン処理
+ SendButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String MailAddress = EmailAddressText.getText().toString();
+
+ //メールアドレスをサーバに送信する処理の予定
+ Toast.makeText(ForgotPasswordActivity.this,
+ "入力されたアドレスにメールを送信しました", Toast.LENGTH_SHORT).show();
+ finish();
+ }
+ });
+ } //@Override
+// public void beforeTextChanged(CharSequence s, int start, int count,int after) {
+// //ignore
+// }
+//
+// @Override
+// public void onTextChanged(CharSequence s, int start, int before, int count) {
+// //ignore
+// }
+//
+// @Override
+// public void afterTextChanged(Editable s) {
+// //操作後のEtidTextの状態を取得する
+// String inputStr = s.toString();
+//
+// }
+
+}
diff --git a/app/src/main/java/com/example/cosmosclient/views/GroupList.java b/app/src/main/java/com/example/cosmosclient/views/GroupList.java
index b512f02..a905987 100644
--- a/app/src/main/java/com/example/cosmosclient/views/GroupList.java
+++ b/app/src/main/java/com/example/cosmosclient/views/GroupList.java
@@ -28,7 +28,7 @@
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
- /*とりあえずの画面遷移なので変更するかも*/
+ /* とりあえずの画面遷移なので変更するかも */
TextView group1 = findViewById(R.id.group1);
group1.setOnClickListener(new View.OnClickListener() {
@Override
@@ -38,6 +38,7 @@
}
});
+
DrawerLayout drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
@@ -82,10 +83,18 @@
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
+
+
// Handle navigation view item clicks here.
int id = item.getItemId();
if ( id == R.id.createNewGroupButton){
+ } else if (id == R.id.joinGroupButton){
+ Intent intent=new Intent(GroupList.this, com.example.cosmosclient.views.JoinGroupActionsActivity.class);
+ startActivity(intent);
+ } else if (id == R.id.signOutButton){
+ Intent intent=new Intent(GroupList.this, com.example.cosmosclient.views.SigninActivity.class);
+ startActivity(intent);
}
/*
if (id == R.id.nav_home) {
diff --git a/app/src/main/java/com/example/cosmosclient/views/JoinGroupActionsActivity.java b/app/src/main/java/com/example/cosmosclient/views/JoinGroupActionsActivity.java
new file mode 100644
index 0000000..321bf48
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/views/JoinGroupActionsActivity.java
@@ -0,0 +1,68 @@
+package com.example.cosmosclient.views;
+
+import android.content.Intent;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.BaseAdapter;
+import android.widget.ListView;
+
+import com.example.cosmosclient.R;
+
+public class JoinGroupActionsActivity extends AppCompatActivity implements AdapterView.OnItemClickListener{
+
+ private static final String[] scenes = {
+ "QRコードでグループに入る",
+ "IDでグループに入る",
+ "メールでグループに入る"
+ };
+
+ // ちょっと冗長的ですが分かり易くするために
+ private static final int[] photos = {
+ R.drawable.camera_image,
+ R.drawable.search_image,
+ R.drawable.mail_image,
+
+ };
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_join_group_actions);
+
+ // ListViewのインスタンスを生成
+ ListView listView = findViewById(R.id.list_view_join);
+
+ // BaseAdapter を継承したadapterのインスタンスを生成
+ // レイアウトファイル list.xml を activity_main.xml に
+ // inflate するためにadapterに引数として渡す
+ BaseAdapter adapter = new ListViewAdapter(this.getApplicationContext(),
+ R.layout.list, scenes, photos);
+
+ // ListViewにadapterをセット
+ listView.setAdapter(adapter);
+
+ // クリックリスナーをセット
+ listView.setOnItemClickListener(this);
+ }
+ @Override
+ public void onItemClick(AdapterView> parent, View v,
+ int position, long id) {
+
+
+ Intent intent = null;
+ // clickされたpositionのtextとphotoのID
+ String selectedText = scenes[position];
+ if(selectedText.contains("QR")==true){
+ intent = new Intent(this.getApplicationContext(), QRcodeReadingActivity.class);
+ }else if(selectedText.contains("ID")==true){
+ intent = new Intent(this.getApplicationContext(), JoinGroupByIDActivity.class);
+ }else{
+ intent = new Intent(this.getApplicationContext(), QRcodeReadingActivity.class);
+ }
+
+// Intent intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class);
+ // SubActivityへ遷移
+ startActivity(intent);
+ }
+}
diff --git a/app/src/main/java/com/example/cosmosclient/views/JoinGroupByIDActivity.java b/app/src/main/java/com/example/cosmosclient/views/JoinGroupByIDActivity.java
new file mode 100644
index 0000000..b861a8e
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/views/JoinGroupByIDActivity.java
@@ -0,0 +1,32 @@
+package com.example.cosmosclient.views;
+
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+
+import com.example.cosmosclient.R;
+
+public class JoinGroupByIDActivity extends AppCompatActivity {
+ private String GroupID=null;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_join_group_by_id);
+ //テストでグループIDを出力
+ final TextView result = (TextView)findViewById(R.id.IDresult);
+ //buttonを取得
+ Button btn = (Button)findViewById(R.id.button);
+ btn.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ //ボタンを押されると入力されたグループIDを取得
+ EditText inputGroupID = (EditText)findViewById(R.id.inputGroupID);
+ GroupID = inputGroupID.getText().toString();
+ result.setText(GroupID);
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/example/cosmosclient/views/QRcodeReadingActivity.java b/app/src/main/java/com/example/cosmosclient/views/QRcodeReadingActivity.java
new file mode 100644
index 0000000..af17d80
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/views/QRcodeReadingActivity.java
@@ -0,0 +1,45 @@
+package com.example.cosmosclient.views;
+
+import android.content.Intent;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.TextView;
+
+import com.example.cosmosclient.R;
+import com.google.zxing.integration.android.IntentIntegrator;
+import com.google.zxing.integration.android.IntentResult;
+import com.journeyapps.barcodescanner.CaptureActivity;
+
+public class QRcodeReadingActivity extends CaptureActivity {
+ public String QRcodeData = null;
+ TextView QRcodeResult;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_qrcode_reading);
+ QRcodeResult = findViewById(R.id.QRcodeResult);
+
+ //ここでQRコードリーダーオブジェクト生成
+ IntentIntegrator integrator = new IntentIntegrator(this);
+// new IntentIntegrator(QRcodeReadingActivity.this).initiateScan();
+ // スキャン画面の回転の制御
+ integrator.setOrientationLocked(false);
+ //バーコードリーダーの起動
+ integrator.initiateScan();
+
+ }
+
+ //QRコードから読み取った結果の取得
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
+ if(result != null) {
+ QRcodeData = (String)result.getContents();
+ QRcodeResult.setText(QRcodeData);
+ } else {
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+ }
+}
diff --git a/app/src/main/java/com/example/cosmosclient/views/SigninActivity.java b/app/src/main/java/com/example/cosmosclient/views/SigninActivity.java
index 2fed0e0..d95f002 100644
--- a/app/src/main/java/com/example/cosmosclient/views/SigninActivity.java
+++ b/app/src/main/java/com/example/cosmosclient/views/SigninActivity.java
@@ -3,13 +3,25 @@
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
+import android.widget.Toast;
import com.example.cosmosclient.R;
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+import retrofit2.Retrofit;
+import retrofit2.converter.jackson.JacksonConverterFactory;
+
public class SigninActivity extends AppCompatActivity {
+ private boolean uIdEnable;
+ private boolean pwEnable;
+ Button SigninButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -17,19 +29,65 @@
setContentView(R.layout.activity_signin);
//各種IDを取得
- Button SigninButton = findViewById(R.id.SigninButton);
+ SigninButton = findViewById(R.id.SigninButton);
Button SignupButton = findViewById(R.id.SignupButton);
- EditText EmailAddressText = findViewById(R.id.EMailAddressText);
- EditText PasswordText = findViewById(R.id.PasswordText);
+ final EditText NameText = findViewById(R.id.NameText);
+ final EditText PasswordText = findViewById(R.id.PasswordText);
Button ForgotPasswordButton = findViewById(R.id.ForgotPasswordButton);
+ //ボタン無効化
+ SigninButton.setEnabled(false);
+
+ //TextWatcherで入力監視
+ NameText.addTextChangedListener(new SigninActivity.GenericTextWatcher(NameText));
+ PasswordText.addTextChangedListener(new SigninActivity.GenericTextWatcher(PasswordText));
+
+ //retrofitの処理
+ final Retrofit retrofit = new Retrofit.Builder()
+ .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/")
+ .addConverterFactory(JacksonConverterFactory.create())
+ .build();
+ //interfaceから実装を取得
+ final SigninService signinService = retrofit.create(SigninService.class);
+
//Sign inボタンの処理
SigninButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Intent intent = new Intent(getApplication(), GroupList.class);
- startActivity(intent);
- finish();
+ //APIに値を送信
+ Call call = signinService.loginList(NameText.getText().toString(), PasswordText.getText().toString());
+
+ //サーバからのレスポンス
+ call.enqueue(new Callback() {
+ //成功時
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()) {
+ SigninResponse result = response.body();
+ Intent intent = new Intent(getApplication(), GroupList.class);
+ //intent.putExtra("UserInfomation",result);
+ Toast.makeText(SigninActivity.this,
+ "ログインしました", Toast.LENGTH_SHORT).show();
+
+ startActivity(intent);
+ finish();
+
+ }else{
+ //onFailureでキャッチできないエラーの処理
+ Toast.makeText(SigninActivity.this,
+ "通信エラー",Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ //失敗時
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ //t.printStackTrace();
+ Toast.makeText(SigninActivity.this,
+ "ユーザIDもしくはパスワードが間違っています",Toast.LENGTH_SHORT).show();
+ }
+
+ });
}
});
@@ -42,5 +100,53 @@
finish();
}
});
+
+ //パスワード再登録画面への遷移処理
+ ForgotPasswordButton.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Intent intent = new Intent(getApplication(), ForgotPasswordActivity.class);
+ startActivity(intent);
+ //finish();
+ }
+ });
+ }
+ private class GenericTextWatcher implements TextWatcher{
+ private View view;
+
+ private GenericTextWatcher(View view){
+ this.view = view;
+ }
+
+ @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){
+ switch(view.getId()) {
+ case R.id.NameText:
+ if (s.length() > 0) {
+ uIdEnable = true;
+ } else {
+ uIdEnable = false;
+ }
+ break;
+ case R.id.PasswordText:
+ if(s.length()>0){
+ pwEnable=true;
+ }else{
+ pwEnable=false;
+ }
+ break;
+ }
+ //ボタン有効&無効
+ if(uIdEnable && pwEnable ){
+ SigninButton.setEnabled(true);
+ }else{
+ SigninButton.setEnabled(false);
+ }
+ }
}
}
diff --git a/app/src/main/java/com/example/cosmosclient/views/SigninResponse.java b/app/src/main/java/com/example/cosmosclient/views/SigninResponse.java
new file mode 100644
index 0000000..c47556d
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/views/SigninResponse.java
@@ -0,0 +1,5 @@
+package com.example.cosmosclient.views;
+
+public class SigninResponse {
+ public String token;
+}
diff --git a/app/src/main/java/com/example/cosmosclient/views/SigninService.java b/app/src/main/java/com/example/cosmosclient/views/SigninService.java
new file mode 100644
index 0000000..84dcb18
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/views/SigninService.java
@@ -0,0 +1,11 @@
+package com.example.cosmosclient.views;
+
+import retrofit2.Call;
+import retrofit2.http.POST;
+import retrofit2.http.Path;
+import retrofit2.http.Query;
+
+public interface SigninService {
+ @POST("users/{uId}/login")
+ Call loginList(@Path("uId") String uId, @Query("pw") String pw);
+}
diff --git a/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java b/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java
index c738fa8..b3cffe2 100644
--- a/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java
+++ b/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java
@@ -3,33 +3,111 @@
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
+import android.widget.Toast;
import com.example.cosmosclient.R;
-public class SignupActivity extends AppCompatActivity {
+
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+import retrofit2.Retrofit;
+import retrofit2.converter.jackson.JacksonConverterFactory;
+
+public class SignupActivity extends AppCompatActivity{
+// public static final String UserInfomation="com.example.cosmosclient.views";
+ private boolean nameEnable;
+ private boolean pwEnable;
+ private boolean cpwEnable;
+ private Button MakeAccountButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
+ //retrofitの処理
+ final Retrofit retrofit = new Retrofit.Builder()
+ .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/")
+ .addConverterFactory(JacksonConverterFactory.create())
+ .build();
+ //interfaceから実装を取得
+ final SignupService signupService = retrofit.create(SignupService.class);
+
//各種idを取得
Button LoginButton = findViewById(R.id.LoginButton);
- Button MakeAccountButton = findViewById(R.id.MakeAccountButton);
- EditText EmailAddressText = findViewById(R.id.EMailAddressText);
- EditText PasswordText = findViewById(R.id.PasswordText);
- EditText ConfirmPasswordText = findViewById(R.id.ConfirmPasswordText);
+ MakeAccountButton = findViewById(R.id.MakeAccountButton);
+ final EditText NameText = findViewById(R.id.NameText);
+ final EditText PasswordText = findViewById(R.id.PasswordText);
+ final EditText ConfirmPasswordText = findViewById(R.id.ConfirmPasswordText);
+
+ //入力欄監視
+ NameText.addTextChangedListener(new GenericTextWatcher(NameText));
+ PasswordText.addTextChangedListener(new GenericTextWatcher(PasswordText));
+ ConfirmPasswordText.addTextChangedListener(new GenericTextWatcher(ConfirmPasswordText));
+
+ //アカウント登録ボタン無効化
+ MakeAccountButton.setEnabled(false);
//Make Accountボタンの処理
MakeAccountButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
- Intent intent = new Intent(getApplication(), GroupList.class);
- startActivity(intent);
- finish();
+ String pw = PasswordText.getText().toString();
+ String confirmPw = ConfirmPasswordText.getText().toString();
+
+ //パスワードと確認パスワードが一致していない際の処理
+ if(!pw.equals(confirmPw)){
+ PasswordText.setError("入力されたパスワードが一致しません");
+ ConfirmPasswordText.setError("入力されたパスワードが一致しません");
+ return;
+ }
+
+ //API呼び出しのための値入力
+ Call call = signupService.createUser(NameText.getText().toString(),
+ PasswordText.getText().toString(),"https://yumenavi.info/live/2018/photo/k/s015980019.jpg");
+
+ //サーバからデータ受け取り
+ call.enqueue(new Callback() {
+ //成功時
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()) {
+ SignupResponse result = response.body();
+ Intent intent = new Intent(getApplication(), GroupList.class);
+ //intent.putExtra("UserInfomation",result);
+
+ //test
+ System.out.println(result.uId);
+ System.out.println(result.name);
+ System.out.println(result.uri);
+ System.out.println(result.token);
+ System.out.println(result.iconUri);
+ System.out.println(result.pw);
+
+ startActivity(intent);
+ finish();
+
+ }else{
+ //onFailureでキャッチできないエラー用
+ Toast.makeText(SignupActivity.this,
+ "アカウント作成失敗",Toast.LENGTH_SHORT);
+ }
+ }
+
+ //失敗時
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ t.printStackTrace();
+ Toast.makeText(SignupActivity.this,
+ "アカウント作成失敗",Toast.LENGTH_SHORT);
+ }
+ });
}
});
@@ -42,6 +120,53 @@
finish();
}
});
-
}
+
+ //入力欄監視処理内容
+ private class GenericTextWatcher implements TextWatcher{
+ private View view;
+
+ private GenericTextWatcher(View view){
+ this.view = view;
+ }
+
+ @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){
+ switch(view.getId()) {
+ case R.id.NameText:
+ if (s.length() > 0) {
+ nameEnable = true;
+ } else {
+ nameEnable = false;
+ }
+ break;
+ case R.id.PasswordText:
+ if(s.length()>0){
+ pwEnable=true;
+ }else{
+ pwEnable=false;
+ }
+ break;
+ case R.id.ConfirmPasswordText:
+ if(s.length()>0){
+ cpwEnable=true;
+ }else{
+ cpwEnable=false;
+ }
+ break;
+ }
+ //ボタン有効&無効
+ if(nameEnable && pwEnable && cpwEnable){
+ MakeAccountButton.setEnabled(true);
+ }else{
+ MakeAccountButton.setEnabled(false);
+ }
+ }
+ }
+
}
diff --git a/app/src/main/java/com/example/cosmosclient/views/SignupResponse.java b/app/src/main/java/com/example/cosmosclient/views/SignupResponse.java
new file mode 100644
index 0000000..963dfce
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/views/SignupResponse.java
@@ -0,0 +1,15 @@
+package com.example.cosmosclient.views;
+
+import java.util.List;
+
+public class SignupResponse {
+ public String uId;
+ public String name;
+ public String pw;
+ public String uri;
+ public List token;
+ public String iconUri;
+ public boolean login;
+
+
+}
diff --git a/app/src/main/java/com/example/cosmosclient/views/SignupService.java b/app/src/main/java/com/example/cosmosclient/views/SignupService.java
new file mode 100644
index 0000000..2ac3075
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/views/SignupService.java
@@ -0,0 +1,12 @@
+package com.example.cosmosclient.views;
+
+import retrofit2.Call;
+import retrofit2.http.Field;
+import retrofit2.http.FormUrlEncoded;
+import retrofit2.http.POST;
+
+public interface SignupService {
+ @POST("users")
+ @FormUrlEncoded
+ Call createUser(@Field("name") String name, @Field("pw") String pw, @Field("icon-image") String icon_image);
+}
diff --git a/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml b/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml
new file mode 100644
index 0000000..beafea3
--- /dev/null
+++ b/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_group_add_black_24dp.xml b/app/src/main/res/drawable/ic_group_add_black_24dp.xml
new file mode 100644
index 0000000..b3a2fb3
--- /dev/null
+++ b/app/src/main/res/drawable/ic_group_add_black_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_group_black_24dp.xml b/app/src/main/res/drawable/ic_group_black_24dp.xml
new file mode 100644
index 0000000..4cfd869
--- /dev/null
+++ b/app/src/main/res/drawable/ic_group_black_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/white.png b/app/src/main/res/drawable/white.png
deleted file mode 100644
index 15f8d06..0000000
--- a/app/src/main/res/drawable/white.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/layout/activity_add_member.xml b/app/src/main/res/layout/activity_add_member.xml
index 44839a0..7274a61 100644
--- a/app/src/main/res/layout/activity_add_member.xml
+++ b/app/src/main/res/layout/activity_add_member.xml
@@ -7,17 +7,6 @@
tools:context=".views.AddMemberActivity">
-
-
-
-
+ app:layout_constraintVertical_bias="0.405" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_forgot_password.xml b/app/src/main/res/layout/activity_forgot_password.xml
new file mode 100644
index 0000000..e5b5ac9
--- /dev/null
+++ b/app/src/main/res/layout/activity_forgot_password.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_join_group_actions.xml b/app/src/main/res/layout/activity_join_group_actions.xml
new file mode 100644
index 0000000..1fb2b70
--- /dev/null
+++ b/app/src/main/res/layout/activity_join_group_actions.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_join_group_by_id.xml b/app/src/main/res/layout/activity_join_group_by_id.xml
new file mode 100644
index 0000000..0ec48a6
--- /dev/null
+++ b/app/src/main/res/layout/activity_join_group_by_id.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_qrcode_reading.xml b/app/src/main/res/layout/activity_qrcode_reading.xml
new file mode 100644
index 0000000..3a7780e
--- /dev/null
+++ b/app/src/main/res/layout/activity_qrcode_reading.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_signin.xml b/app/src/main/res/layout/activity_signin.xml
index 7416c05..94e7a79 100644
--- a/app/src/main/res/layout/activity_signin.xml
+++ b/app/src/main/res/layout/activity_signin.xml
@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="#FFFFFF"
tools:context=".views.SigninActivity">
+ app:layout_constraintTop_toBottomOf="@+id/NameText" />
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_signup.xml b/app/src/main/res/layout/activity_signup.xml
index 3088668..92cbdbe 100644
--- a/app/src/main/res/layout/activity_signup.xml
+++ b/app/src/main/res/layout/activity_signup.xml
@@ -4,16 +4,17 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="#FFFFFF"
tools:context=".views.SignupActivity">
+ app:layout_constraintTop_toBottomOf="@+id/NameText" />
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_group_list.xml b/app/src/main/res/layout/content_group_list.xml
index 0cd1e28..f5435db 100644
--- a/app/src/main/res/layout/content_group_list.xml
+++ b/app/src/main/res/layout/content_group_list.xml
@@ -10,17 +10,23 @@
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/group1"
+ app:layout_constraintVertical_bias="1.0" />
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6e835f1..7794610 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,17 +1,17 @@
CosmosClient
or
- E-MAIL ADDRESS
- PASSWORD
- CONFIRM PASSWORD
- Sign Up
- Already have a account?
- Login
- Make Account
- Sign in
- Don\'t have an account?
- Forgot Password?
- Sign up Now
+ ユーザー名
+ パスワード
+ パスワードの確認
+ 新規登録
+ アカウントをすでにお持ちですか?
+ ログイン
+ アカウント作成
+ サインイン
+ アカウントをお持ちではない場合
+ パスワードを忘れた場合
+ 新規登録
AddMemberActivity
RequestListActivity
GroupListActivity
diff --git a/app/src/main/res/xml/network_security_config.xml b/app/src/main/res/xml/network_security_config.xml
new file mode 100644
index 0000000..e51fa8c
--- /dev/null
+++ b/app/src/main/res/xml/network_security_config.xml
@@ -0,0 +1,6 @@
+
+
+
+ nitta-lab-www.is.konan-u.ac.jp
+
+
\ No newline at end of file