diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/FollowAddJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/FollowAddJson.java new file mode 100644 index 0000000..c4841b3 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/entities/FollowAddJson.java @@ -0,0 +1,23 @@ +package org.ntlab.acanthus_client.entities; + +public class FollowAddJson { + private Integer uid; + private Integer followUid; + + public Integer getUid() { + return uid; + } + + public Integer getFollowUid() { + return followUid; + } + + public void setUid(Integer uid) { + this.uid = uid; + } + + public void setFollowUid(Integer followUid) { + this.followUid = followUid; + } + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/FollowUidJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/FollowUidJson.java new file mode 100644 index 0000000..ddf8087 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/entities/FollowUidJson.java @@ -0,0 +1,17 @@ +package org.ntlab.acanthus_client.entities; + +import java.util.ArrayList; +import java.util.Collection; + +public class FollowUidJson { + private Collection uidList = new ArrayList<>(); + + public Collection getUidList() { + return uidList; + } + + public void setUidList(Collection uidList) { + this.uidList = uidList; + } + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/FollowerUidJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/FollowerUidJson.java new file mode 100644 index 0000000..3498d99 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/entities/FollowerUidJson.java @@ -0,0 +1,16 @@ +package org.ntlab.acanthus_client.entities; + +import java.util.ArrayList; +import java.util.Collection; + +public class FollowerUidJson { + private Collection uidList = new ArrayList<>(); + + public Collection getUidList() { + return uidList; + } + + public void setUidList(Collection uidList) { + this.uidList = uidList; + } +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/FollowersRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/FollowersRest.java new file mode 100644 index 0000000..b5d7e75 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/FollowersRest.java @@ -0,0 +1,19 @@ +package org.ntlab.acanthus_client.resources.accounts; + +import org.ntlab.acanthus_client.entities.FollowerUidJson; + +import retrofit2.Call; +import retrofit2.http.GET; +import retrofit2.http.Path; +import retrofit2.http.Query; + +public interface FollowersRest { + + //アカウント別のフォロワー情報を取得するメソッド + + @GET("accounts/{uid}/followers") + Call getFollowers( + @Path("uid") Integer uid + ); + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/FollowsRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/FollowsRest.java new file mode 100644 index 0000000..b177235 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/FollowsRest.java @@ -0,0 +1,44 @@ +package org.ntlab.acanthus_client.resources.accounts; + +import org.ntlab.acanthus_client.entities.FollowAddJson; +import org.ntlab.acanthus_client.entities.FollowUidJson; + +import retrofit2.Call; +import retrofit2.http.DELETE; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Path; +import retrofit2.http.Query; + +public interface FollowsRest { + + //アカウント別のフォロー情報を取得するメソッド + + @GET("accounts/{uid}/follows") + Call getFollows( + @Path("uid") Integer uid + ); + + //ユーザーをフォローするメソッド + + @FormUrlEncoded + @POST("accounts/{uid}/follows") + Call addFollows( + @Path("uid") Integer uid, + @Field("token") String token, + @Field("followUid") Integer followUid + ); + + //ユーザーのフォローを解除するメソッド + + @FormUrlEncoded + @DELETE("accounts/{uid}/follows") + Call releaseFollows( + @Path("uid") Integer uid, + @Field("token") String token, + @Field("followUid") Integer followUid + ); + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java index 25e565d..d5b3c2e 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java @@ -44,16 +44,22 @@ Integer uid = 1; String token = "abc0"; + Acanthus acanthus = (Acanthus) getActivity().getApplication(); appButton.setOnClickListener(v -> { - Acanthus acanthus = (Acanthus) getActivity().getApplication(); //Integer uid = acanthus.getPreferenceUid(); String name = ((EditText)view.findViewById(R.id.AnimationNameCreate)).getText().toString(); //String token = acanthus.getPreferenceToken(); createViewModel.startWorkCreate(uid, name, token); //Integer aid = createViewModel.startWorkCreate(uid, name, token); - //acanthus.setAid(aid); transitionPaintActivity(); }); + + createViewModel.getAidJson().observe(getViewLifecycleOwner(), list -> { + acanthus.setAid(createViewModel.getAidJson().getValue().getAid()); + }); + + + } //----------------------------------------------------------------- diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java index ed8e222..f93b07a 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java @@ -18,6 +18,8 @@ import java.util.ArrayList; import java.util.List; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import androidx.annotation.Nullable; import androidx.lifecycle.LiveData; @@ -32,14 +34,14 @@ //----------------------------------------------------------------- // 描画キャンバスの本体 -public class PaintCanvas extends View { +public class PaintCanvas extends View implements Runnable{ private Path path; private Path path2; private Paint paint; private Paint paint2; private PaintViewModel paintViewModel; - + private ScheduledThreadPoolExecutor thread = new ScheduledThreadPoolExecutor(1); //----------------------------------------------------------------- //----------------------------------------------------------------- public PaintCanvas(Context context, @Nullable AttributeSet attrs) { @@ -55,6 +57,7 @@ paint2.setColor(Color.RED);//色の指定 paint2.setStyle(Paint.Style.STROKE);//線をひく paint2.setStrokeWidth(20);//幅 + thread.scheduleWithFixedDelay(this, 1000L, 1000L, TimeUnit.MILLISECONDS); } //----------------------------------------------------------------- @@ -71,7 +74,6 @@ super.onDraw(canvas); canvas.drawPath(path, paint); canvas.drawPath(path2, paint2); - getCanvas(); } //----------------------------------------------------------------- @@ -118,7 +120,7 @@ //----------------------------------------------------------------- // 押した瞬間の処理 private void onTouched(float x, float y) { - path = new Path(); + //path = new Path(); path.moveTo(x, y); invalidate(); } @@ -134,7 +136,7 @@ //----------------------------------------------------------------- // 押した瞬間の処理 private void onTouched2(float x, float y) { - path2 = new Path(); + //path2 = new Path(); path2.moveTo(x, y); invalidate(); } @@ -149,6 +151,7 @@ //描写するための取得 public void getCanvas() { int cnt = 0; + path2.reset();//ここで一旦クリア for (Stroke s : paintViewModel.getStroke().getValue()) { for (Position p : s.getPositions()) { if (cnt == 0) { @@ -161,4 +164,10 @@ cnt = 0; } } + + // 一定間隔でサーバー上の筆跡を取得する(GET) + @Override + public void run() { + getCanvas(); + } } \ No newline at end of file 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 84adc88..a9860dc 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 @@ -56,7 +56,7 @@ mStrokes.setValue(new ArrayList<>()); mStrokes.getValue().add(new Stroke()); - thread.scheduleWithFixedDelay(this, 1000L, 100L, TimeUnit.MILLISECONDS); + thread.scheduleWithFixedDelay(this, 1000L, 200L, TimeUnit.MILLISECONDS); } //----------------------------------------------------------------- diff --git a/app/src/main/res/layout/activity_login_screen.xml b/app/src/main/res/layout/activity_login_screen.xml index 7f26930..a84789c 100644 --- a/app/src/main/res/layout/activity_login_screen.xml +++ b/app/src/main/res/layout/activity_login_screen.xml @@ -10,74 +10,77 @@ android:id="@+id/textLoginEmail" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="16dp" - android:layout_marginTop="130dp" android:text="メールアドレス" + app:layout_constraintBottom_toTopOf="@+id/editTextTextLoginEmail" + app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.817" />