diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/AnimationJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/AnimationJson.java index 8391ebc..5908e7a 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/entities/AnimationJson.java +++ b/app/src/main/java/org/ntlab/acanthus_client/entities/AnimationJson.java @@ -15,4 +15,10 @@ public AnimationJson() { } + public String getAnimationName(){return this.animationName;} + + public ArrayList getEditor(){return this.editors;} + + + } diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java index a1032b0..e65b460 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java @@ -33,13 +33,13 @@ //----------------------------------------------------------------- // - @GET("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/position") + @GET("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/positions") Call> getPositions(@Path("aid") Integer aid, @Path("strokeNo") Integer strokeNo); //----------------------------------------------------------------- // @FormUrlEncoded - @POST("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/position") + @POST("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/positions") Call addPositions(@Path("aid") Integer aid, @Path("strokeNo") Integer strokeNo, @Field("x") double x, @Field("y") double y); @@ -50,7 +50,7 @@ //----------------------------------------------------------------- // - @GET("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/position") + @GET("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/positions") Call deleteStrokeNo(@Path("aid") Integer aid, @Path("strokeNo") Integer strokeNo); //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java index 1ef9fef..6720486 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java @@ -3,6 +3,9 @@ import org.ntlab.acanthus_client.entities.AidJson; import org.ntlab.acanthus_client.entities.WorkJson; import org.ntlab.acanthus_client.resources.accounts.WorkRest; +import org.ntlab.acanthus_client.resources.gallery.InvitesRest; + +import java.util.concurrent.Callable; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; @@ -47,8 +50,8 @@ call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { - if (response.isSuccessful()){ - if (response.body()!=null){ + if (response.isSuccessful()) { + if (response.body() != null) { aid[0] = response.body().getAid(); aidJsonMutableLiveData.setValue(response.body()); } @@ -65,7 +68,7 @@ } //ユーザーの作成した作品の表示APIの呼び出し - public void getWorkList(Integer uid, String token){ + public void getWorkList(Integer uid, String token) { Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") .addConverterFactory(JacksonConverterFactory.create()) @@ -77,8 +80,8 @@ call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { - if (response.isSuccessful()){ - if (response.body()!=null){ + if (response.isSuccessful()) { + if (response.body() != null) { workJsonMutableLiveData.setValue(response.body()); } } @@ -91,4 +94,28 @@ }); } + //ユーザーの作品へ他ユーザーを招待するAPIの呼び出し + public void invitesEditor(Integer aid, String ownerUid, String invitedUid, String ownerToken) { + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + final InvitesRest invitesRest = retrofit.create(InvitesRest.class); + + //作品への招待 + Call call = invitesRest.addInvite(aid, ownerUid, invitedUid, ownerToken); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful() && response.body() != null) { + } + } + + @Override + public void onFailure(Call call, Throwable t) { + + } + }); + } + } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/WorkListViewAdapter.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/WorkListViewAdapter.java new file mode 100644 index 0000000..5dd6392 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/WorkListViewAdapter.java @@ -0,0 +1,73 @@ +package org.ntlab.acanthus_client.views.main_menu_ui.edit; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; +import android.content.Context; + +import org.ntlab.acanthus_client.R; + +public class WorkListViewAdapter extends BaseAdapter { + + private final LayoutInflater inflater; + private final int layoutId; + private final String[] animationName; + private final String[] lastUpdate; + + //参照保存データ + static class ViewHolder{ + TextView textViewName; + TextView textViewDate; + } + + //コンテキスト + public WorkListViewAdapter(Context context, int layoutId, String[] animationName, String[] lastUpdate) { + super(); + this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + this.layoutId = layoutId; + this.animationName = animationName; + this.lastUpdate = lastUpdate; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder viewHolder; + //Viewのinflate(拡張) + if (convertView == null){ + //fragment_edit.xmlにlistView用のレイアウトを入れ込む + convertView = inflater.inflate(layoutId, parent, false); + //ViewHolderの生成とレイアウト内テキストのセット + viewHolder = new ViewHolder(); + viewHolder.textViewName = convertView.findViewById(R.id.textViewName); + viewHolder.textViewDate = convertView.findViewById(R.id.textViewDate); + convertView.setTag(viewHolder); + }else { + //既に初期セットの処理がされている場合、再利用する + viewHolder = (ViewHolder) convertView.getTag(); + } + + //ViewHolder内のtextViewName,Dateに各ポジションのデータをセット + viewHolder.textViewName.setText(animationName[position]); + viewHolder.textViewDate.setText(lastUpdate[position]); + + return convertView; + } + + @Override + public int getCount() { + return 0; + } + + @Override + public Object getItem(int position) { + return null; + } + + @Override + public long getItemId(int position) { + return 0; + } + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java index 8d669ba..d10fa07 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java @@ -4,9 +4,15 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.LinearLayout; +import android.widget.ListView; import android.widget.TextView; +import org.ntlab.acanthus_client.R; import org.ntlab.acanthus_client.databinding.FragmentHomeBinding; +import org.ntlab.acanthus_client.entities.Animation; +import org.ntlab.acanthus_client.entities.AnimationJson; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -14,11 +20,14 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; +import java.util.Collection; + public class HomeFragment extends Fragment { private HomeViewModel homeViewModel; private FragmentHomeBinding binding; + @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { homeViewModel = @@ -27,6 +36,11 @@ binding = FragmentHomeBinding.inflate(inflater, container, false); View root = binding.getRoot(); + ListView listView = binding.option; + Collection animationJsons = null; + BaseAdapter adapter = new ListAnimationViewAdapter(this.getActivity().getApplicationContext(), R.layout.animation_home, animationJsons); + listView.setAdapter(adapter); + final TextView textView = binding.textHome; homeViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { @Override @@ -37,6 +51,9 @@ return root; } + public void onCreateAnimationView(Animation animation){ + } + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/ListAnimationViewAdapter.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/ListAnimationViewAdapter.java new file mode 100644 index 0000000..70e14e7 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/ListAnimationViewAdapter.java @@ -0,0 +1,95 @@ +package org.ntlab.acanthus_client.views.main_menu_ui.home; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; + +import org.ntlab.acanthus_client.R; +import org.ntlab.acanthus_client.entities.Animation; +import org.ntlab.acanthus_client.entities.AnimationJson; +import org.ntlab.acanthus_client.entities.Editor; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.HashSet; + +public class ListAnimationViewAdapter extends BaseAdapter { + + static class ViewHolder{ + TextView animationName; + TextView editorsName; + TextView LastUpDate; + } + + private LayoutInflater inflater; + private int itemLayoutId; + private ArrayList titles; + private ArrayList> animationEditors; + + ListAnimationViewAdapter(Context context, int itemLayoutId, + Collection animationJsons) { + super(); + int i = 0; + this.inflater = (LayoutInflater) + context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + this.itemLayoutId = itemLayoutId; + for(AnimationJson animationJson: animationJsons){ + this.titles.add(animationJson.getAnimationName()); + ArrayList editors = new ArrayList<>(); + for(Editor editor: animationJson.getEditor()){ + editors.add(editor.getEditorAccount().getName()); + } + animationEditors.add(editors); + } + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder holder; + // 最初だけ View を inflate して、それを再利用する + if (convertView == null) { + // activity_main.xml に list.xml を inflate して convertView とする + convertView = inflater.inflate(itemLayoutId, parent, false); + // ViewHolder を生成 + holder = new ViewHolder(); + holder.animationName = convertView.findViewById(R.id.animationName); + holder.editorsName = convertView.findViewById(R.id.editorsName); + holder.LastUpDate = convertView.findViewById(R.id.lastUpDate); + convertView.setTag(holder); + } + // holder を使って再利用 + else { + holder = (ViewHolder) convertView.getTag(); + } + + // holder の imageView にセット + holder.animationName.setText(titles.get(position)); + // 現在の position にあるファイル名リストを holder の textView にセット + for(String ed : animationEditors.get(position)){ + holder.editorsName.setText(ed); + + } + + return convertView; + } + + @Override + public int getCount() { + return 0; + } + + @Override + public Object getItem(int i) { + return null; + } + + @Override + public long getItemId(int i) { + return 0; + } + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteConnectionModel.java new file mode 100644 index 0000000..030ed32 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteConnectionModel.java @@ -0,0 +1,7 @@ +package org.ntlab.acanthus_client.views.paint; + +//----------------------------------------------------------------- +// 招待関係通信 +public class InviteConnectionModel { + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java index b2c1073..bcd5c55 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java @@ -9,6 +9,8 @@ import org.ntlab.acanthus_client.Acanthus; import org.ntlab.acanthus_client.R; +//----------------------------------------------------------------- +// 描画ページ public class PaintActivity extends AppCompatActivity { private PaintCanvas paintCanvas; diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintConnectionModel.java new file mode 100644 index 0000000..be7f575 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintConnectionModel.java @@ -0,0 +1,101 @@ +package org.ntlab.acanthus_client.views.paint; + +import androidx.navigation.ActivityNavigator; + +import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.entities.Animation; +import org.ntlab.acanthus_client.resources.gallery.GalleryRest; +import org.ntlab.acanthus_client.resources.gallery.StrokesRest; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; + +//----------------------------------------------------------------- +// 描画通信 +public class PaintConnectionModel { + private Animation editedAnimation; + private Integer currentStrokeNo; + private Retrofit retrofit; + private Acanthus acanthus; + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // + public PaintConnectionModel() { + retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + } + + //----------------------------------------------------------------- + // setter + public void setEditedAnimation(Animation editedAnimation) { + this.editedAnimation = editedAnimation; + } + + private void setCurrentStrokeNo(int strokeNo) { + this.currentStrokeNo = strokeNo; + } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // init + public void init(Acanthus acanthus) { + this.acanthus = acanthus; + } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // ローカルでのストロークの追加(POST) + public void addLocalStroke() { + final StrokesRest strokesRest = retrofit.create(StrokesRest.class); + + //----------------------------------------------------------------- + // ストローク追加API + Call call = strokesRest.addStroke( + acanthus.getAid(), acanthus.getPreferenceUid(), acanthus.getPreferenceToken(), + 0, 0, 10); + + // strokeNoを更新 + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()) setCurrentStrokeNo(response.body()); + } + + @Override + public void onFailure(Call call, Throwable t) { + + } + }); + } + + //----------------------------------------------------------------- + // ローカルでの筆跡追加(POST) + public void addPosition(float x, float y) { + final StrokesRest strokesRest = retrofit.create(StrokesRest.class); + + //----------------------------------------------------------------- + // 筆跡追加API + Call call = strokesRest.addPositions(acanthus.getAid(), this.currentStrokeNo, x, y); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + + } + + @Override + public void onFailure(Call call, Throwable t) { + + } + }); + } + //----------------------------------------------------------------- + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModel.java deleted file mode 100644 index e500459..0000000 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModel.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.ntlab.acanthus_client.views.paint; - -import androidx.navigation.ActivityNavigator; - -import org.ntlab.acanthus_client.Acanthus; -import org.ntlab.acanthus_client.entities.Animation; -import org.ntlab.acanthus_client.resources.gallery.GalleryRest; -import org.ntlab.acanthus_client.resources.gallery.StrokesRest; - -import retrofit2.Call; -import retrofit2.Callback; -import retrofit2.Response; -import retrofit2.Retrofit; -import retrofit2.converter.jackson.JacksonConverterFactory; -import retrofit2.converter.scalars.ScalarsConverterFactory; - -//----------------------------------------------------------------- -// -public class PaintModel { - private Animation editedAnimation; - private Integer currentStrokeNo; - private Retrofit retrofit; - private Acanthus acanthus; - - //----------------------------------------------------------------- - //----------------------------------------------------------------- - // - public PaintModel() { - retrofit = new Retrofit.Builder() - .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") - .addConverterFactory(ScalarsConverterFactory.create()) - .addConverterFactory(JacksonConverterFactory.create()) - .build(); - } - - //----------------------------------------------------------------- - // setter - public void setEditedAnimation(Animation editedAnimation) { - this.editedAnimation = editedAnimation; - } - - private void setCurrentStrokeNo(int strokeNo) { - this.currentStrokeNo = strokeNo; - } - - //----------------------------------------------------------------- - //----------------------------------------------------------------- - // init - public void init(Acanthus acanthus) { - this.acanthus = acanthus; - } - - //----------------------------------------------------------------- - //----------------------------------------------------------------- - // ローカルでのストロークの追加(POST) - public void addLocalStroke() { - final StrokesRest strokesRest = retrofit.create(StrokesRest.class); - - //----------------------------------------------------------------- - // ストローク追加API - Call call = strokesRest.addStroke( - acanthus.getAid(), acanthus.getPreferenceUid(), acanthus.getPreferenceToken(), - 0, 0, 10); - - // strokeNoを更新 - call.enqueue(new Callback() { - @Override - public void onResponse(Call call, Response response) { - if (response.isSuccessful()) setCurrentStrokeNo(response.body()); - } - - @Override - public void onFailure(Call call, Throwable t) { - - } - }); - } - - //----------------------------------------------------------------- - // ローカルでの筆跡追加(POST) - public void addPosition(float x, float y) { - final StrokesRest strokesRest = retrofit.create(StrokesRest.class); - - //----------------------------------------------------------------- - // 筆跡追加API - Call call = strokesRest.addPositions(acanthus.getAid(), this.currentStrokeNo, x, y); - } - //----------------------------------------------------------------- - -} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModelContainer.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModelContainer.java new file mode 100644 index 0000000..6dcc98b --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModelContainer.java @@ -0,0 +1,20 @@ +package org.ntlab.acanthus_client.views.paint; + +//----------------------------------------------------------------- +// 各種モデルの保持者 +public class PaintModelContainer { + private PaintConnectionModel paintConnectionModel; + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + //  + public PaintModelContainer(){ + this.paintConnectionModel = new PaintConnectionModel(); + } + //----------------------------------------------------------------- + // getter + public PaintConnectionModel getPaintConnectionModel() { + return this.paintConnectionModel; + } + //----------------------------------------------------------------- +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java index 98115b6..a2da854 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java @@ -1,54 +1,29 @@ package org.ntlab.acanthus_client.views.paint; -import android.graphics.Paint; import android.view.MotionEvent; -import android.view.View; -import androidx.appcompat.app.AppCompatActivity; -import androidx.constraintlayout.widget.ConstraintSet; -import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; import org.ntlab.acanthus_client.Acanthus; -import org.ntlab.acanthus_client.entities.Account; -import org.ntlab.acanthus_client.entities.Animation; -import org.ntlab.acanthus_client.entities.Stroke; -import org.ntlab.acanthus_client.resources.accounts.LoginRest; -import org.ntlab.acanthus_client.resources.gallery.StrokesRest; - -import java.text.CollationElementIterator; -import java.util.ArrayList; -import java.util.Collection; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledThreadPoolExecutor; -import java.util.concurrent.TimeUnit; - -import kotlinx.coroutines.sync.Mutex; -import retrofit2.Call; -import retrofit2.Callback; -import retrofit2.Response; -import retrofit2.Retrofit; -import retrofit2.converter.jackson.JacksonConverterFactory; -import retrofit2.converter.scalars.ScalarsConverterFactory; //----------------------------------------------------------------- -// 描画 +// 描画処理の仲介 public class PaintViewModel extends ViewModel { - private PaintModel paintModel; + private PaintModelContainer paintModelContainer; //----------------------------------------------------------------- //----------------------------------------------------------------- public PaintViewModel() { - paintModel = new PaintModel(); + paintModelContainer = new PaintModelContainer(); } //----------------------------------------------------------------- //----------------------------------------------------------------- // public void init(Acanthus acanthus) { - paintModel.init(acanthus); + paintModelContainer.getPaintConnectionModel().init(acanthus); } //----------------------------------------------------------------- @@ -59,11 +34,11 @@ switch (motionEvent.getAction()) { case MotionEvent.ACTION_DOWN: - paintModel.addLocalStroke(); + paintModelContainer.getPaintConnectionModel().addLocalStroke(); break; case MotionEvent.ACTION_MOVE: - paintModel.addPosition(x, y); + paintModelContainer.getPaintConnectionModel().addPosition(x, y); break; } } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/sign_up/SignUpActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/sign_up/SignUpActivity.java index c794096..8d4d1fa 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/sign_up/SignUpActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/sign_up/SignUpActivity.java @@ -4,6 +4,7 @@ import android.content.Intent; import android.os.Bundle; +import android.view.View; import android.widget.Button; import android.widget.TextView; @@ -32,53 +33,41 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); init(); - - onClickSignUp(); - onClickAlreadyLoggedIn(); } //----------------------------------------------------------------- //----------------------------------------------------------------- // サインアップ時押下時 - private void onClickSignUp() { + public void onClickSignUp(View view) { Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") .addConverterFactory(JacksonConverterFactory.create()) .build(); final AccountsRest accountsRest = retrofit.create(AccountsRest.class); - Button signUpButton = (Button) binding.buttonSignUpRegister; + // 各フォーム取得 + String name = binding.editTextTextSignUpPersonName.getText().toString(); + String emailAddress = binding.editTextTextSignUpEmailAddress.getText().toString(); + String password = binding.editTextTextSignUpPassword.getText().toString(); - // - signUpButton.setOnClickListener(v -> { - String name = binding.editTextTextSignUpPersonName.getText().toString(); - String emailAddress = binding.editTextTextSignUpEmailAddress.getText().toString(); - String password = binding.editTextTextSignUpPassword.getText().toString(); + Call call = accountsRest.createAccount(name, emailAddress, password); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()) transitionLoginActivity(); + else clearForm(); + } - Call call = accountsRest.createAccount(name, emailAddress, password); - call.enqueue(new Callback() { - @Override - public void onResponse(Call call, Response response) { - if (response.isSuccessful()) transitionLoginActivity(); - else clearForm(); - } - - @Override - public void onFailure(Call call, Throwable t) { - } - }); + @Override + public void onFailure(Call call, Throwable t) { + } }); } //----------------------------------------------------------------- // アカウント所持ボタン押下処理 - private void onClickAlreadyLoggedIn() { - Button alreadyLoggedInButton = (Button) binding.buttonAlreadyLoggedIn; - - // ログイン画面に遷移 - alreadyLoggedInButton.setOnClickListener(v -> { - transitionLoginActivity(); - }); + public void onClickAlreadyLoggedIn(View view) { + transitionLoginActivity(); } //----------------------------------------------------------------- diff --git a/app/src/main/res/layout/activity_sign_up.xml b/app/src/main/res/layout/activity_sign_up.xml index 2859182..f2ac124 100644 --- a/app/src/main/res/layout/activity_sign_up.xml +++ b/app/src/main/res/layout/activity_sign_up.xml @@ -89,6 +89,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="60dp" + android:onClick="onClickSignUp" android:text="新規登録" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" @@ -114,6 +115,7 @@ android:id="@+id/buttonAlreadyLoggedIn" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:onClick="onClickAlreadyLoggedIn" android:text="既にアカウントをお持ちの方" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/animation_home.xml b/app/src/main/res/layout/animation_home.xml new file mode 100644 index 0000000..c9bf824 --- /dev/null +++ b/app/src/main/res/layout/animation_home.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index dd4ed2f..89c3db1 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -68,6 +68,17 @@ android:layout_height="wrap_content" android:text="LastUpDate: 00:00:00" /> + + + + + diff --git a/app/src/main/res/layout/work_list.xml b/app/src/main/res/layout/work_list.xml new file mode 100644 index 0000000..2d34aa6 --- /dev/null +++ b/app/src/main/res/layout/work_list.xml @@ -0,0 +1,18 @@ + + + + + + + \ No newline at end of file