diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8de8a6e..c59d7c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,30 +3,34 @@
diff --git a/app/build.gradle b/app/build.gradle
index ccb56ae..dd92557 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -42,6 +42,7 @@
implementation 'androidx.navigation:navigation-ui:2.3.5'
implementation 'androidx.annotation:annotation:1.2.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
+ implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/Position.java b/app/src/main/java/org/ntlab/acanthus_client/entities/Position.java
index f311050..fc77782 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/entities/Position.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/entities/Position.java
@@ -2,7 +2,7 @@
//-----------------------------------------------------------------
// ペン座標
-public class Position implements Comparable {
+public class Position {
private int i;
private Float x;
private Float y;
@@ -31,15 +31,4 @@
//-----------------------------------------------------------------
//
- @Override
- public int compareTo(Object o) {
- if (o instanceof Position) {
- if (i < ((Position) o).i) {
- return -1;
- } else if (i > ((Position) o).i) {
- return 1;
- }
- }
- return 0;
- }
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/Stroke.java b/app/src/main/java/org/ntlab/acanthus_client/entities/Stroke.java
index da661cb..1d97c24 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/entities/Stroke.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/entities/Stroke.java
@@ -1,6 +1,7 @@
package org.ntlab.acanthus_client.entities;
import java.util.ArrayList;
+import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
@@ -12,7 +13,7 @@
private int pen;
private int color;
private int thickness;
- private SortedSet positions = new TreeSet<>();
+ private List positions = new ArrayList<>();
public int getStrokeNo() {
return this.strokeNo;
@@ -26,7 +27,7 @@
public int getThickness() {
return this.thickness;
}
- public SortedSet getPositions() {
+ public List getPositions() {
return this.positions;
}
}
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 2fb1662..899c755 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
@@ -45,7 +45,7 @@
//
@FormUrlEncoded
@POST("gallery/{aid}/pageMap/{pid}/layers/0/strokes/{strokeNo}/positions")
- Call addPositions(@Field("positionNo") int i, @Path("aid") Integer aid,
+ Call addPositions(@Field("positionNo") int i, @Path("aid") Integer aid,
@Path("pid") int pid, @Path("strokeNo") Integer strokeNo,
@Field("x") double x, @Field("y") double y);
@@ -63,4 +63,16 @@
//
@GET("gallery/{aid}/images")
Call> getPageUrls(@Path("aid") Integer aid);
+
+ //-----------------------------------------------------------------
+ //
+ @GET("gallery/{aid}/pageMap/{pid}/image")
+ Call getLayers(@Path("aid") Integer aid, @Path("pid") Integer pid);
+
+ //-----------------------------------------------------------------
+ //
+ @FormUrlEncoded
+ @POST("gallery/{aid}/pageMap/{pid}/image")
+ Call addImage(@Path("aid") Integer aid, @Path("pid") Integer pid, @Field("image") String image);
+
}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/MainActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/MainActivity.java
index fc7e634..0697841 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/MainActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/MainActivity.java
@@ -3,18 +3,28 @@
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.Toast;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import org.ntlab.acanthus_client.R;
import org.ntlab.acanthus_client.databinding.ActivityMainBinding;
+import org.ntlab.acanthus_client.views.main_menu_ui.mypage.MyPageFragment;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.app.ShareCompat;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
+import java.util.Random;
+
public class MainActivity extends AppCompatActivity {
@@ -40,22 +50,47 @@
NavigationUI.setupWithNavController(binding.navView, navController);
}
- // ツールバーにIconを表示
+ // ツールバーにbotton_nav_topを表示
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.botton_nav_icon, menu);
+ getMenuInflater().inflate(R.menu.botton_nav_top, menu);
return true;
}
- // Iconを押したときMyPageに遷移させたい
-// @Override
-// public boolean onOptionsItemSelected(MenuItem item) {
-// switch (item.getItemId()) {
-// case R.id.icon:
-// intent = new Intent(getApplication(), MyPageFragment.class);
-// startActivity(intent);
-// return true;
-// }
-// return super.onOptionsItemSelected(item);
-// }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ // shareボタンの処理
+ case R.id.editMenuShare:
+ ShareCompat.IntentBuilder builder
+ = ShareCompat.IntentBuilder.from(this);
+ String subject = "サブジェクト";
+ String bodyText = "アプリ名とかストアページURLとか...";
+ builder.setSubject(subject) /// 件名
+ .setText(bodyText) /// 本文
+ .setType("text/plain");
+ Intent intent = builder.createChooserIntent();
+
+ /// 結果を受け取らずに起動
+ builder.startChooser();
+ return true;
+
+ // Iconを押したときMyPageに遷移
+ case R.id.icon:
+ String[] poptext = { "I LOVE JENKINS", "わけわからん", "そうだ、新田研に行こう。", "大吉", "中吉", "吉", "凶" };
+ Random random = new Random();
+ Toast myToast = Toast.makeText(
+ getApplicationContext(),
+ poptext[random.nextInt(7)],
+ Toast.LENGTH_SHORT
+ );
+ myToast.show();
+ return true;
+
+ default:
+ return super.onOptionsItemSelected(item);
+
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java
index fd13098..242a3b8 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java
@@ -4,7 +4,6 @@
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
-import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
@@ -18,10 +17,8 @@
import org.ntlab.acanthus_client.Acanthus;
import org.ntlab.acanthus_client.R;
+import org.ntlab.acanthus_client.entities.AnimationJson;
import org.ntlab.acanthus_client.views.animation_detail.AnimationDetailActivity;
-import org.ntlab.acanthus_client.views.paint.PaintCanvas;
-import org.ntlab.acanthus_client.views.paint.PaintToolBar;
-import org.ntlab.acanthus_client.views.paint.PaintViewModel;
import java.util.HashMap;
import java.util.Timer;
@@ -62,6 +59,10 @@
//animationCanvas = this.findViewById(R.id.animationMyCanvas);
init();
+ //intentでHomeFragmentから渡されたanimation情報を取得
+ Intent intent = getIntent();
+ AnimationJson animationJson = (AnimationJson) intent.getSerializableExtra("AnimationJsonData");
+
//wecView初期設定
webView = this.findViewById(R.id.animationWebview);
webView .getSettings().setLoadWithOverviewMode(true);
@@ -126,6 +127,7 @@
buttonDetail.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent intent = new Intent(AnimationActivity.this, AnimationDetailActivity.class);
+ intent.putExtra("AnimationJsonData", animationJson);
startActivity(intent);
}
});
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java
index 5e8eb6e..64501ea 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java
@@ -25,7 +25,7 @@
private Acanthus acanthus;
private PaintModelContainer paintModelContainer;
private AnimationConnectionModel animationConnectionModel;
- private MutableLiveData> pages = new MutableLiveData<>();;
+ private MutableLiveData> pages = new MutableLiveData<>();
public void init(Acanthus acanthus) {
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/button/AlphaButton.java b/app/src/main/java/org/ntlab/acanthus_client/views/button/AlphaButton.java
new file mode 100644
index 0000000..33c146b
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/button/AlphaButton.java
@@ -0,0 +1,27 @@
+package org.ntlab.acanthus_client.views.button;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.Button;
+import androidx.appcompat.widget.AppCompatButton;
+
+/*** 半透明になるエフェクトのボタン ***/
+public class AlphaButton extends AppCompatButton {
+ public AlphaButton(Context context) {
+ super(context);
+ }
+
+ public AlphaButton(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ public void setPressed(boolean pressed) {
+ if(pressed){
+ this.setAlpha(0.75f);
+ }else{
+ this.setAlpha(1.0f);
+ }
+ super.setPressed(pressed);
+ }
+}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/button/PushButton.java b/app/src/main/java/org/ntlab/acanthus_client/views/button/PushButton.java
new file mode 100644
index 0000000..afd1a03
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/button/PushButton.java
@@ -0,0 +1,30 @@
+package org.ntlab.acanthus_client.views.button;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.Button;
+import androidx.appcompat.widget.AppCompatButton;
+
+/*** プッシュするエフェクトのボタン ***/
+public class PushButton extends AppCompatButton {
+ public PushButton(Context context) {
+ super(context);
+ }
+
+ public PushButton(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ public void setPressed(boolean pressed) {
+ if(pressed){
+ this.setScaleY(0.85f);
+ this.setScaleX(0.85f);
+ }else{
+ this.setScaleY(1.0f);
+ this.setScaleX(1.0f);
+ }
+ super.setPressed(pressed);
+ }
+
+}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java
index a564b35..7bdc090 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java
@@ -29,6 +29,7 @@
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import java.util.ArrayList;
import java.util.Collection;
@@ -40,7 +41,7 @@
import java.util.Comparator;
-public class EditFragment extends Fragment {
+public class EditFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener {
private EditViewModel editViewModel;
private FragmentEditBinding binding;
@@ -54,6 +55,8 @@
private String AnimationName;
private String AnimationLastUpDate;
+ private SwipeRefreshLayout mSwipeRefreshLayout;
+
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
editViewModel =
@@ -86,6 +89,9 @@
ListView listView = (ListView) getActivity().findViewById(R.id.list_view);
+ // SwipeRefreshLayoutを作成
+ createSwipeRefreshLayout();
+
editViewModel.getWorkJson().observe(getViewLifecycleOwner(), new Observer() {
//listViewの表示をしている
@@ -183,5 +189,18 @@
startActivity(intent);
}
+ // 引っ張って更新するSwipeRefreshLayoutを作成
+ public void createSwipeRefreshLayout(){
+ mSwipeRefreshLayout = (SwipeRefreshLayout) getActivity().findViewById(R.id.refresh_edit);
+ // 色指定
+ mSwipeRefreshLayout.setColorScheme(R.color.theme_color,R.color.blue,R.color.green);
+ mSwipeRefreshLayout.setOnRefreshListener(this);
+ }
+ // ひっぱり更新の処理
+ @Override
+ public void onRefresh() {
+
+ mSwipeRefreshLayout.setRefreshing(false);
+ }
}
\ No newline at end of file
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 0553b85..2f38308 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
@@ -25,6 +25,7 @@
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import java.io.IOException;
import java.util.ArrayList;
@@ -32,11 +33,13 @@
import java.util.Collections;
import java.util.Iterator;
-public class HomeFragment extends Fragment {
+public class HomeFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener {
private HomeViewModel homeViewModel;
private FragmentHomeBinding binding;
+ private SwipeRefreshLayout mSwipeRefreshLayout;
+
@Override
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
@@ -70,7 +73,13 @@
Integer uid = 1;
String token = "abc0";
+ View header = (View)getLayoutInflater().inflate(R.layout.animation_home_header,null);
+
ListView listView = (ListView) getActivity().findViewById(R.id.animation_view);
+ listView.addHeaderView(header);
+
+ // SwipeRefreshLayoutを作成
+ createSwipeRefreshLayout();
homeViewModel.updateGallery(acanthus);
@@ -103,14 +112,14 @@
public void onItemClick(AdapterView> adapterView, View view, int position, long id) {
// homeViewModel.setCurrentAnimation(animationJsonSortList.get(position).getAid(), acanthus);
// transitionAnimationActivity(animationJsonSortList.get(position));
- try {
- homeViewModel.setCurrentAnimation(animationJsonSortList.get(position).getAid(), acanthus);
- transitionAnimationActivity(animationJsonSortList.get(position));
- } catch (IOException e) {
- e.printStackTrace();
+ if (position != 0) {
+ try {
+ homeViewModel.setCurrentAnimation(animationJsonSortList.get(position-1).getAid(), acanthus);
+ transitionAnimationActivity(animationJsonSortList.get(position-1));
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
}
-
-
}
});
}
@@ -130,4 +139,19 @@
intent.putExtra("AnimationJsonData", animationJson);
startActivity(intent);
}
+
+ // 引っ張って更新するSwipeRefreshLayoutを作成
+ public void createSwipeRefreshLayout(){
+ mSwipeRefreshLayout = (SwipeRefreshLayout) getActivity().findViewById(R.id.refresh);
+ // 色指定
+ mSwipeRefreshLayout.setColorScheme(R.color.theme_color,R.color.blue,R.color.green);
+ mSwipeRefreshLayout.setOnRefreshListener(this);
+ }
+
+ // ひっぱり更新の処理
+ @Override
+ public void onRefresh() {
+
+ mSwipeRefreshLayout.setRefreshing(false);
+ }
}
\ No newline at end of file
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 f26c8dc..ff9c115 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
@@ -17,6 +17,7 @@
import org.ntlab.acanthus_client.entities.Stroke;
import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
import java.util.Base64;
import java.util.Collection;
import java.util.concurrent.ScheduledThreadPoolExecutor;
@@ -38,6 +39,11 @@
private Paint clonepaint;
//-----------------------------------------------------------------
+ private Paint latestpaint;
+ private ArrayList paints = new ArrayList<>();
+ private ArrayList paths = new ArrayList<>();
+ private ArrayList clonepaints = new ArrayList<>();
+ private ArrayList clonepaths = new ArrayList<>();
private PaintViewModel paintViewModel;
//-----------------------------------------------------------------
@@ -60,10 +66,17 @@
super(context, attrs);
pen = new Pen(255, 0, 0, 0, 20);
-
- //-----------------------------------------------------------------
+ //pen =new Pen(Color.BLACK,20);//新しくPenクラスを作り色と幅の値を設定
path = new Path(); // 図形描画
+ paths.add(path);
+ ///
+ clonepath = new Path(); // 図形描画
paint = new Paint();//筆の種類
+ paints.add(paint);
+ ///
+ clonepaint = new Paint();//筆の種類
+ latestpaint = new Paint();//筆の種類
+ paint.setColor(Color.argb(pen.getAlpha(), pen.getRed(), pen.getGreen(), pen.getBlue()));//色の指定
paint.setColor(Color.argb(pen.getAlpha(), pen.getRed(), pen.getGreen(), pen.getBlue()));//色の指定
paint.setStyle(Paint.Style.STROKE);//線をひく
paint.setStrokeWidth(pen.getThickness());//幅
@@ -101,8 +114,24 @@
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(curCanvas);
+ canvas.drawColor(0xFFFFFFFF);
+ paint.setColor(Color.argb(pen.getAlpha(), pen.getRed(), pen.getGreen(), pen.getBlue()));
paint.setColor(Color.argb(pen.getAlpha(), pen.getRed(), pen.getGreen(), pen.getBlue()));
paint.setStrokeWidth(pen.getThickness());
+ for (int i = 0; i < clonepaths.toArray().length; i++) {
+ try {
+ canvas.drawPath(paths.get(i), paints.get(i));
+ curCanvas.drawPath(paths.get(i), paints.get(i));
+ } catch (IndexOutOfBoundsException ex) {
+
+ }
+ try {
+ canvas.drawPath(clonepaths.get(i), clonepaints.get(i));
+ curCanvas.drawPath(clonepaths.get(i), clonepaints.get(i));
+ } catch (IndexOutOfBoundsException ex) {
+
+ }
+ }
canvas.drawPath(path, paint);
canvas.drawPath(clonepath, clonepaint);
@@ -125,7 +154,7 @@
Log.d("motion", "+++++++++++++++++++++++++++++++++++++++down======================================================");
onTouched(x, y);
paintViewModel.setmStrokeNo();
- paintViewModel.addLocalStrokeRequest(x, y);
+ paintViewModel.addLocalStrokeRequest(x, y, Color.argb(pen.getAlpha(), pen.getRed(), pen.getGreen(), pen.getBlue()), pen.getThickness());
//paintViewModel.addPositionLocal(x, y);
break;
@@ -138,6 +167,12 @@
case MotionEvent.ACTION_UP:
Log.d("motion", "=====================================up======================================================");
paintViewModel.addPositionRequestFirst();
+ path = new Path();
+ paint = new Paint();
+ paint.setColor(Color.argb(pen.getAlpha(), pen.getRed(), pen.getGreen(), pen.getBlue()));//色の指定
+ paint.setStyle(Paint.Style.STROKE);//線をひく
+ paths.add(path);
+ paints.add(paint);
break;
}
@@ -149,7 +184,11 @@
// 描画クリア
public void clearCanvas() {
paintViewModel.deleteStrokesRequest();
+ paths.clear();
path.reset();
+ paints.clear();
+ clonepaths.clear();
+ clonepaints.clear();
clonepath.reset();
invalidate();
}
@@ -179,7 +218,7 @@
//-----------------------------------------------------------------
// 押した瞬間の処理
private void onTouched2(float x, float y) {
-// path2 = new Path();
+ //path2 = new Path();
clonepath.moveTo(x, y);
invalidate();
}
@@ -199,6 +238,8 @@
image.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
String encode = Base64.getEncoder().encodeToString(byteArray);
+ paintViewModel.setImage(encode);
+
Log.d("motion", "=====================================up======================================================");
Log.d("motion", "=====================================up======================================================");
int stringcnt = 0;
@@ -243,6 +284,13 @@
clonepath.reset();
invalidate();
for (Stroke s : paintViewModel.getStroke().getValue()) {
+ clonepaint = new Paint();
+ clonepath = new Path();
+ clonepaint.setColor(Color.argb(Color.alpha(s.getColor()), Color.red(s.getColor()), Color.green(s.getColor()), Color.blue(s.getColor())));//色の指定
+ clonepaint.setStrokeWidth(s.getThickness());
+ clonepaint.setStyle(Paint.Style.STROKE);//線をひく
+ clonepaints.add(clonepaint);
+ clonepaths.add(clonepath);
for (Position p : s.getPositions()) {
if (cnt == 0) {
onTouched2(p.getX(), p.getY());
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 2372a45..0814924 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
@@ -32,8 +32,11 @@
private MutableLiveData mStrokeNo = new MutableLiveData(0);
private MutableLiveData> mlatestPosition = new MutableLiveData<>();
+ private MutableLiveData> mlatestPosition = new MutableLiveData<>();
private MutableLiveData> mStrokes = new MutableLiveData<>();
private MutableLiveData> mPreStroke = new MutableLiveData<>();
+ private MutableLiveData> mPages = new MutableLiveData<>(new HashMap<>());
+
private int strokeNo = 0;
private ScheduledThreadPoolExecutor thread = new ScheduledThreadPoolExecutor(1);
@@ -52,14 +55,14 @@
return this.mStrokes;
}
- public MutableLiveData getmStrokeNo() {
- return this.mStrokeNo;
- }
-
public LiveData getPageNo() {
return this.mCurPageNo;
}
+ public LiveData> getPages() {
+ return this.mPages;
+ }
+
public PaintModelContainer getPaintModelContainer() {
return paintModelContainer;
}
@@ -68,6 +71,10 @@
return this.mlatestPosition;
}
+ public MutableLiveData> getMlatestPosition() {
+ return this.mlatestPosition;
+ }
+
//-----------------------------------------------------------------
//-----------------------------------------------------------------
// init
@@ -96,8 +103,8 @@
//-----------------------------------------------------------------
// 描画APIの通信リクエスト
- public void addLocalStrokeRequest(float x, float y) {
- paintModelContainer.getPaintConnectionModel().addLocalStroke(strokeNo);
+ public void addLocalStrokeRequest(float x, float y , int color,int shick) {
+ paintModelContainer.getPaintConnectionModel().addLocalStroke(strokeNo,color,shick);
fsx = x;
fsy = y;
cnt = 1;
@@ -150,7 +157,6 @@
pageOperationModel.incrementPageNo(mCurPageNo, mPageSize.getValue());
pageConnectionModel.getPage(mCurPageId);
- updatePrePageId();
}
//-----------------------------------------------------------------
@@ -200,6 +206,14 @@
}
//-----------------------------------------------------------------
+ // ページのサムネイル取得
+ public void getPageThumbnailRequest() {
+ PageConnectionModel pageConnectionModel = paintModelContainer.getPageConnectionModel();
+
+ pageConnectionModel.getPageThumb(mPages);
+ }
+
+ //-----------------------------------------------------------------
//-----------------------------------------------------------------
// 筆跡の削除
public void deleteStroke() {
@@ -215,12 +229,19 @@
}
//-----------------------------------------------------------------
- // ページの枚数を取得する
+ //
public void getPageSizeRequest() {
paintModelContainer.getPageConnectionModel().getPageSize(mPageSize);
}
//-----------------------------------------------------------------
+ //最新のStrokePositionを取得
+ public void getPosition(Integer latestStrokeNo) {
+ paintModelContainer.getPaintConnectionModel().getLatestStrokePosition(latestStrokeNo, mlatestPosition);
+ //Log.d("debug", "run: "+mlatestPosition.getValue());
+ }
+
+ //-----------------------------------------------------------------
//-----------------------------------------------------------------
// 一定間隔でサーバー上の筆跡を取得する(GET)
@Override
@@ -240,6 +261,12 @@
}
//-----------------------------------------------------------------
+ //サーバーに画像データ(BASE64)を送る
+ public void setImage(String image){
+ paintModelContainer.getPaintConnectionModel().setImage(image);
+ }
+
+ //-----------------------------------------------------------------
//
public void stop() {
thread.shutdown();
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PenDetailsFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PenDetailsFragment.java
index 16e77d4..51a3d0d 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PenDetailsFragment.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PenDetailsFragment.java
@@ -20,49 +20,48 @@
import org.ntlab.acanthus_client.R;
import org.ntlab.acanthus_client.databinding.FragmentPenDetailBinding;
-public class PenDetailsFragment extends Fragment implements TextView.OnEditorActionListener,View.OnFocusChangeListener, SeekBar.OnSeekBarChangeListener {
+public class PenDetailsFragment extends Fragment implements TextView.OnEditorActionListener, View.OnFocusChangeListener, SeekBar.OnSeekBarChangeListener {
private PaintCanvas paintCanvas;
private FragmentPenDetailBinding binding;
- private SeekBar sbAlpha,sbRed,sbGreen,sbBlue, sbThickness;
- private EditText edtAlpha,edtRed,edtGreen,edtBlue, edtThickness;
+ private SeekBar sbAlpha, sbRed, sbGreen, sbBlue, sbThickness;
+ private EditText edtAlpha, edtRed, edtGreen, edtBlue, edtThickness;
private TextView txtColor;
private StrokeCanvasView strokeCanvasView;
-
@Override
public View onCreateView(@NonNull LayoutInflater inflater,
- ViewGroup container, Bundle savedInstanceState){
- binding = FragmentPenDetailBinding.inflate(inflater,container,false);
+ ViewGroup container, Bundle savedInstanceState) {
+ binding = FragmentPenDetailBinding.inflate(inflater, container, false);
View root = binding.getRoot();
//SeekBarやEditText、txtColorの紐づけ
txtColor = root.findViewById(R.id.txtColor);
- sbAlpha = root.findViewById(R.id.seekBarAlpha);
- sbRed = root.findViewById(R.id.seekBarRed);
- sbGreen = root.findViewById(R.id.seekBarGreen);
- sbBlue = root.findViewById(R.id.seekBarBlue);
+ sbAlpha = root.findViewById(R.id.seekBarAlpha);
+ sbRed = root.findViewById(R.id.seekBarRed);
+ sbGreen = root.findViewById(R.id.seekBarGreen);
+ sbBlue = root.findViewById(R.id.seekBarBlue);
sbThickness = root.findViewById(R.id.seekBarThickness);
edtAlpha = root.findViewById(R.id.edtAlpha);
- edtRed = root.findViewById(R.id.edtRed);
+ edtRed = root.findViewById(R.id.edtRed);
edtGreen = root.findViewById(R.id.edtGreen);
- edtBlue = root.findViewById(R.id.edtBlue);
+ edtBlue = root.findViewById(R.id.edtBlue);
edtThickness = root.findViewById(R.id.edtThickness);
//seekBarとEditTextの初期値
sbAlpha.setProgress(paintCanvas.getPen().getAlpha());
- edtAlpha.setText(String.format("%1$d",sbAlpha.getProgress()));
+ edtAlpha.setText(String.format("%1$d", sbAlpha.getProgress()));
sbRed.setProgress(paintCanvas.getPen().getRed());
- edtRed.setText(String.format("%1$d",sbRed.getProgress()));
+ edtRed.setText(String.format("%1$d", sbRed.getProgress()));
sbGreen.setProgress(paintCanvas.getPen().getGreen());
- edtGreen.setText(String.format("%1$d",sbGreen.getProgress()));
+ edtGreen.setText(String.format("%1$d", sbGreen.getProgress()));
sbBlue.setProgress(paintCanvas.getPen().getBlue());
- edtBlue.setText(String.format("%1$d",sbBlue.getProgress()));
+ edtBlue.setText(String.format("%1$d", sbBlue.getProgress()));
changeColor();
sbThickness.setProgress(paintCanvas.getPen().getThickness());
- edtThickness.setText(String.format("%1$d",sbThickness.getProgress()));
+ edtThickness.setText(String.format("%1$d", sbThickness.getProgress()));
//strokeCanvasView.setStrokeWidth(sbThickness.getProgress(),paintCanvas);
//SeekBarやEditTextの処理
@@ -88,10 +87,9 @@
edtThickness.setOnFocusChangeListener(this);
-
//cancelボタンを押したときの処理。
- View button =root.findViewById(R.id.PenDetailCancel);
- button.setOnClickListener(view ->{
+ View button = root.findViewById(R.id.PenDetailCancel);
+ button.setOnClickListener(view -> {
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.remove(this).commit();
@@ -101,19 +99,18 @@
}
//PaintToolBarから最初に呼び出されるメソッド
- public void init(AppCompatActivity appCompatActivity,PaintCanvas paintCanvas,Fragment fragment){
- FragmentManager fragmentManager=appCompatActivity.getSupportFragmentManager();
+ public void init(AppCompatActivity appCompatActivity, PaintCanvas paintCanvas, Fragment fragment) {
+ FragmentManager fragmentManager = appCompatActivity.getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
- transaction.replace(R.id.dummyFragment,fragment).commit();
+ transaction.replace(R.id.dummyFragment, fragment).commit();
setPaintCanvas(paintCanvas);
}
-
//SeekBarの具体的処理
@Override
- public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){
- switch (seekBar.getId()){
+ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+ switch (seekBar.getId()) {
case R.id.seekBarAlpha:
edtAlpha.setText(String.format("%1$d", progress));
paintCanvas.getPen().setAlpha(progress);
@@ -123,7 +120,7 @@
paintCanvas.getPen().setRed(progress);
break;
case R.id.seekBarGreen:
- edtGreen.setText(String.format("%1$d" , progress));
+ edtGreen.setText(String.format("%1$d", progress));
paintCanvas.getPen().setGreen(progress);
break;
case R.id.seekBarBlue:
@@ -135,10 +132,12 @@
paintCanvas.getPen().setThickness(progress);
//strokeCanvasView.setStrokeWidth(progress,paintCanvas);
break;
- default: return;
+ default:
+ return;
}
changeColor();
}
+
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
@@ -158,18 +157,18 @@
int value = 0;
//Log.d("strong", v.getText().toString());
try {
- value = Integer.parseInt(((TextView)v).getText().toString());
- }catch(NumberFormatException ex) {
+ value = Integer.parseInt(((TextView) v).getText().toString());
+ } catch (NumberFormatException ex) {
((TextView) v).setText("0");
}
- value = Math.max(0,Math.min(255,value));
+ value = Math.max(0, Math.min(255, value));
// 何も入力していないときの処理
// String txt = ((TextView)v).getText().toString();
// if(txt.equals("")) Toast.makeText(getActivity(), "入力してください", Toast.LENGTH_LONG).show();
- switch(v.getId()){
+ switch (v.getId()) {
case R.id.edtAlpha:
sbAlpha.setProgress(value);
break;
@@ -185,10 +184,11 @@
case R.id.edtThickness:
sbThickness.setProgress(value);
- value = Math.max(0,Math.min(50,value));
+ value = Math.max(0, Math.min(50, value));
//strokeCanvasView.setStrokeWidth(value,paintCanvas);
break;
- default:return;
+ default:
+ return;
}
changeColor();
@@ -200,16 +200,16 @@
//Log.d("strong", v.getText().toString());
try {
value = Integer.parseInt(v.getText().toString());
- }catch(NumberFormatException ex) {
+ } catch (NumberFormatException ex) {
v.setText("20");
}
- value = Math.max(0,Math.min(255,value));
+ value = Math.max(0, Math.min(255, value));
// 何も入力していないときの処理
- // if(v.getText().toString().equals("")) Toast.makeText(getActivity(), "入力してください", Toast.LENGTH_LONG).show();
+ // if(v.getText().toString().equals("")) Toast.makeText(getActivity(), "入力してください", Toast.LENGTH_LONG).show();
- switch(v.getId()){
+ switch (v.getId()) {
case R.id.edtAlpha:
sbAlpha.setProgress(value);
break;
@@ -223,30 +223,31 @@
sbBlue.setProgress(value);
break;
case R.id.edtThickness:
- value = Math.max(0,Math.min(50,value));
+ value = Math.max(0, Math.min(50, value));
sbThickness.setProgress(value);
//strokeCanvasView.setStrokeWidth(value,paintCanvas);
break;
- default:return false;
+ default:
+ return false;
}
changeColor();
return false;
}
- private void changeColor(){
- int a,r,g,b;
+ private void changeColor() {
+ int a, r, g, b;
a = Integer.parseInt(edtAlpha.getText().toString());
r = Integer.parseInt(edtRed.getText().toString());
g = Integer.parseInt(edtGreen.getText().toString());
b = Integer.parseInt(edtBlue.getText().toString());
- txtColor.setBackgroundColor(Color.argb(a ,r , g, b));
+ txtColor.setBackgroundColor(Color.argb(a, r, g, b));
}
//setter
- private void setPaintCanvas(PaintCanvas paintCanvas){
- this.paintCanvas=paintCanvas;
+ private void setPaintCanvas(PaintCanvas paintCanvas) {
+ this.paintCanvas = paintCanvas;
}
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageConnectionModel.java
index 1a28047..066f625 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageConnectionModel.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageConnectionModel.java
@@ -9,6 +9,8 @@
import org.ntlab.acanthus_client.resources.gallery.PagesRest;
import org.ntlab.acanthus_client.resources.gallery.StrokesRest;
+import java.util.HashMap;
+
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@@ -128,6 +130,29 @@
}
//-----------------------------------------------------------------
+ // ページのサムネイルを取得する
+ public void getPageThumb(MutableLiveData> mPages){
+ final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
+
+ Call> call = strokesRest.getPageUrls(acanthus.getAid());
+ call.enqueue(new Callback>() {
+ @Override
+ public void onResponse(Call> call, Response> response) {
+ if(response.isSuccessful()){
+ mPages.setValue(response.body());
+ }
+ }
+
+ @Override
+ public void onFailure(Call> call, Throwable t) {
+
+ }
+ });
+
+ }
+
+ //-----------------------------------------------------------------
+
// 前のページのIDを取得する
public void getPrePageId() {
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PaintConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PaintConnectionModel.java
index 623ecca..e23c35a 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PaintConnectionModel.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PaintConnectionModel.java
@@ -61,15 +61,15 @@
//-----------------------------------------------------------------
// ローカルでのストロークの追加(POST)
- public void addLocalStroke(int mStrokeNo) {
+ public void addLocalStroke(int mStrokeNo,int color,int shick) {
final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
Log.d("strokeNo:", "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^add----------------------");
//-----------------------------------------------------------------
// ストローク追加API
Call call = strokesRest.addStroke(
- acanthus.getAid(), acanthus.getEditingPageId(), 0, acanthus.getPreferenceUid(), mStrokeNo, acanthus.getPreferenceToken(),
- 0, 0, 10);
+ acanthus.getAid(), acanthus.getEditingPageId(), 0, acanthus.getPreferenceUid(),mStrokeNo, acanthus.getPreferenceToken(),
+ 0, color, shick);
// strokeNoを更新
call.enqueue(new Callback() {
@@ -95,15 +95,15 @@
//-----------------------------------------------------------------
// 座標追加
- Call call = strokesRest.addPositions(i, acanthus.getAid(), acanthus.getEditingPageId(), currentStrokeNo, x, y);
- call.enqueue(new Callback() {
+ Call call = strokesRest.addPositions(i, acanthus.getAid(), acanthus.getEditingPageId(), currentStrokeNo, x, y);
+ call.enqueue(new Callback() {
@Override
- public void onResponse(Call call, Response response) {
-
+ public void onResponse(Call call, Response response) {
+ Log.d("POSTsuccess: ", "i:" + i + ",x:" + x + ",y:" + y);
}
@Override
- public void onFailure(Call call, Throwable t) {
+ public void onFailure(Call call, Throwable t) {
Log.d("POSTonFailure: ", "i:" + i + ",x:" + x + ",y:" + y);
}
});
@@ -198,5 +198,25 @@
}
//-----------------------------------------------------------------
+ // "screenssc()"が実行されたとき、エンコードした文字列(BASE64)をサーバに送る
+ public void setImage(String image){
+ final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
+
+ //-----------------------------------------------------------------
+ Call call = strokesRest.addImage(acanthus.getAid(), acanthus.getEditingPageNo(), image);
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ }
+
+ @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/paint/page/PageActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/page/PageActivity.java
index baa2f3d..8b7dc37 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/page/PageActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/page/PageActivity.java
@@ -1,24 +1,23 @@
package org.ntlab.acanthus_client.views.paint.page;
import androidx.appcompat.app.AppCompatActivity;
-import androidx.core.app.ComponentActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
-import android.content.Intent;
import android.os.Bundle;
-import android.telephony.mbms.MbmsErrors;
+import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
+import android.webkit.WebView;
import com.fasterxml.jackson.databind.ser.VirtualBeanPropertyWriter;
import org.ntlab.acanthus_client.Acanthus;
import org.ntlab.acanthus_client.R;
import org.ntlab.acanthus_client.databinding.ActivityPageBinding;
-import org.ntlab.acanthus_client.views.paint.PaintActivity;
import org.ntlab.acanthus_client.views.paint.PaintViewModel;
+import java.util.HashMap;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@@ -126,6 +125,10 @@
binding = ActivityPageBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
+ WebView webView = binding.pageWebview;
+ webView.setInitialScale(1);
+ webView.getSettings().setLoadWithOverviewMode(true);
+ webView.getSettings().setUseWideViewPort(true);
}
//-----------------------------------------------------------------
@@ -135,6 +138,16 @@
@Override
public void onChanged(Integer pageNo) {
binding.textPageNo.setText(String.valueOf(pageNo));
+
+ paintViewModel.getPageThumbnailRequest();
+ }
+ });
+
+ paintViewModel.getPages().observe(this, new Observer>() {
+ @Override
+ public void onChanged(HashMap s) {
+ binding.pageWebview.loadUrl(s.get(paintViewModel.getPageNo().getValue()));
+ Log.d("a", "onFailure: -----------------------OK:Obs");
}
});
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleActivity.java
index b8ca99e..6f3cabb 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleActivity.java
@@ -17,6 +17,7 @@
import org.ntlab.acanthus_client.databinding.ActivityTitleBinding;
import org.ntlab.acanthus_client.views.MainActivity;
+import org.ntlab.acanthus_client.views.login.LoginScreenActivity;
import org.ntlab.acanthus_client.views.sign_up.SignUpActivity;
import org.w3c.dom.Text;
@@ -103,7 +104,7 @@
}
private void falseLogin() {
- transitionActivity(new SignUpActivity());
+ transitionActivity(new LoginScreenActivity());
}
private void transitionActivity(AppCompatActivity appCompatActivity) {
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/userpage/UserListViewAdapter.java b/app/src/main/java/org/ntlab/acanthus_client/views/userpage/UserListViewAdapter.java
index 0f50618..6f8ce34 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/userpage/UserListViewAdapter.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/userpage/UserListViewAdapter.java
@@ -19,14 +19,14 @@
//参照保存データ
static class ViewHolder {
- TextView textViewUid;
+ TextView textViewName;
}
- public UserListViewAdapter(Context context, int layoutId, ArrayList name) {
+ public UserListViewAdapter(Context context, int layoutId, ArrayList names) {
super();
this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.layoutId = layoutId;
- this.nameList = name;
+ this.nameList = names;
}
@Override
@@ -38,15 +38,15 @@
convertView = inflater.inflate(layoutId, parent, false);
//ViewHolderの生成とレイアウト内テキストのセット
viewHolder = new UserListViewAdapter.ViewHolder();
- viewHolder.textViewUid = convertView.findViewById(R.id.followOrFollowerUid);
+ viewHolder.textViewName = convertView.findViewById(R.id.followOrFollowerName);
convertView.setTag(viewHolder);
} else {
//既に初期セットの処理がされている場合、再利用する
viewHolder = (UserListViewAdapter.ViewHolder) convertView.getTag();
}
- //ViewHolder内のtextViewName,Dateに各ポジションのデータをセット
- if (nameList != null) viewHolder.textViewUid.setText(nameList.get(position));
+ //ViewHolder内のtextViewNameに各ポジションのデータをセット
+ if (nameList != null) viewHolder.textViewName.setText(nameList.get(position));
return convertView;
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/userpage/UserPageActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/userpage/UserPageActivity.java
index 3081e4f..e0bba96 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/userpage/UserPageActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/userpage/UserPageActivity.java
@@ -35,16 +35,17 @@
userPageViewModel = new ViewModelProvider(this).get(UserPageViewModel.class);
acanthus = (Acanthus) getApplication();
- Integer uid = 1;
-// Integer uid = acanthus.getPreferenceUid();
- String token = "abc0";
-// String token = acanthus.getPreferenceToken();
-// Intent intent = getIntent(); //FollowListActivity,FollowerListActivityからそれぞれuidをもらう
-// Integer uid2 = intent.getIntExtra("UID", 0);
- Integer uid2 = 2;
+ Integer loginUid = 1;
+// Integer loginUid = acanthus.getPreferenceUid();
+ String loginToken = "abc0";
+// String loginToken = acanthus.getPreferenceToken();
+ Intent intent = getIntent(); //FollowListActivity,FollowerListActivityからそれぞれuidをもらう
+// Integer uid = intent.getIntExtra("UID", 0);
+ Integer uid = 2;
+ String uname = intent.getStringExtra("NAME");
TextView userNameText = findViewById(R.id.userNameText);
-// userNameText.setText();
+ userNameText.setText(uname);
TextView profileText = findViewById(R.id.profileText);
@@ -61,18 +62,18 @@
Button followUserButton = findViewById(R.id.followUserButton);
//閲覧しているユーザーページが自分のページならフォローボタンを非表示する
- if (uid == uid2) {
+ if (loginUid == uid) {
followUserButton.setVisibility(View.INVISIBLE);
}
//ログインしているユーザーがフォローしているかの有無で画面表示時のボタンの文字を変更する
- userPageViewModel.getFollows(uid);
+ userPageViewModel.getFollows(loginUid);
userPageViewModel.getFollowJson().observe(this, new Observer() {
@Override
public void onChanged(@Nullable FollowJson followJson) {
followsUidList = followJson.getFollowUids();
- if (followsUidList.contains(uid2)) {
+ if (followsUidList.contains(uid)) {
followUserButton.setText("フォロー解除");
}else{
followUserButton.setText("フォローする");
@@ -85,13 +86,13 @@
followUserButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- if (!followsUidList.contains(uid2)) {
- userPageViewModel.addFollow(uid, token, uid2);
- followsUidList.add(uid2);
+ if (!followsUidList.contains(uid)) {
+ userPageViewModel.addFollow(loginUid, loginToken, uid);
+ followsUidList.add(uid);
followUserButton.setText("フォロー解除");
}else{
- userPageViewModel.releaseFollow(uid, token, uid2);
- followsUidList.remove(uid2);
+ userPageViewModel.releaseFollow(loginUid, loginToken, uid);
+ followsUidList.remove(uid);
followUserButton.setText("フォローする");
}
}
@@ -103,7 +104,7 @@
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplication(), FollowListActivity.class);
- intent.putExtra("UID", uid2);
+ intent.putExtra("UID", uid);
startActivity(intent);
}
});
@@ -114,7 +115,7 @@
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplication(), FollowerListActivity.class);
- intent.putExtra("UID", uid2);
+ intent.putExtra("UID", uid);
startActivity(intent);
}
});
@@ -125,7 +126,7 @@
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplication(), WorkListActivity.class);
- intent.putExtra("UID", uid2);
+ intent.putExtra("UID", uid);
startActivity(intent);
}
});
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/userpage/followList/FollowListActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/userpage/followList/FollowListActivity.java
index e3a7348..9d86815 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/userpage/followList/FollowListActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/userpage/followList/FollowListActivity.java
@@ -60,6 +60,7 @@
public void onItemClick(AdapterView> parent, View view, int position, long id) {
Intent intent = new Intent(getApplication(), UserPageActivity.class);
intent.putExtra("UID", followUidList.get(position));
+ intent.putExtra("NAME", followNameList.get(position));
startActivity(intent);
}
});
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/userpage/followerList/FollowerListActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/userpage/followerList/FollowerListActivity.java
index e001d96..22aad87 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/userpage/followerList/FollowerListActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/userpage/followerList/FollowerListActivity.java
@@ -62,6 +62,7 @@
public void onItemClick(AdapterView> parent, View view, int position, long id) {
Intent intent = new Intent(getApplication(), UserPageActivity.class);
intent.putExtra("UID", followerUidList.get(position));
+ intent.putExtra("NAME", followerNameList.get(position));
startActivity(intent);
}
});
diff --git a/app/src/main/res/drawable/acanthus_icon_black_500x500_removebg.png b/app/src/main/res/drawable/acanthus_icon_black_500x500_removebg.png
new file mode 100644
index 0000000..ca65d5c
--- /dev/null
+++ b/app/src/main/res/drawable/acanthus_icon_black_500x500_removebg.png
Binary files differ
diff --git a/app/src/main/res/drawable/flame_login.xml b/app/src/main/res/drawable/flame_login.xml
new file mode 100644
index 0000000..bf86498
--- /dev/null
+++ b/app/src/main/res/drawable/flame_login.xml
@@ -0,0 +1,17 @@
+
+
+
+ android:shape="rectangle" >
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/flame_theme_color.xml b/app/src/main/res/drawable/flame_theme_color.xml
new file mode 100644
index 0000000..cba2996
--- /dev/null
+++ b/app/src/main/res/drawable/flame_theme_color.xml
@@ -0,0 +1,17 @@
+
+
+
+ android:shape="rectangle" >
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/flame_theme_color_stroke.xml b/app/src/main/res/drawable/flame_theme_color_stroke.xml
new file mode 100644
index 0000000..78d24f0
--- /dev/null
+++ b/app/src/main/res/drawable/flame_theme_color_stroke.xml
@@ -0,0 +1,21 @@
+
+
+
+ android:shape="rectangle" >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/higeorgie.png b/app/src/main/res/drawable/higeorgie.png
deleted file mode 100644
index 91295d0..0000000
--- a/app/src/main/res/drawable/higeorgie.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable/ic_baseline_fast_forward.xml b/app/src/main/res/drawable/ic_baseline_fast_forward.xml
index cbce5f9..434728f 100644
--- a/app/src/main/res/drawable/ic_baseline_fast_forward.xml
+++ b/app/src/main/res/drawable/ic_baseline_fast_forward.xml
@@ -5,6 +5,6 @@
android:width="50dp"
xmlns:android="http://schemas.android.com/apk/res/android">
diff --git a/app/src/main/res/drawable/ic_baseline_fast_rewind.xml b/app/src/main/res/drawable/ic_baseline_fast_rewind.xml
index 71964b2..fade3d1 100644
--- a/app/src/main/res/drawable/ic_baseline_fast_rewind.xml
+++ b/app/src/main/res/drawable/ic_baseline_fast_rewind.xml
@@ -5,6 +5,6 @@
android:width="50dp"
xmlns:android="http://schemas.android.com/apk/res/android">
diff --git a/app/src/main/res/drawable/ic_baseline_library_add.xml b/app/src/main/res/drawable/ic_baseline_library_add.xml
index 2f49a21..a65f07b 100644
--- a/app/src/main/res/drawable/ic_baseline_library_add.xml
+++ b/app/src/main/res/drawable/ic_baseline_library_add.xml
@@ -5,6 +5,6 @@
android:width="50dp"
xmlns:android="http://schemas.android.com/apk/res/android">
diff --git a/app/src/main/res/drawable/ic_baseline_pause.xml b/app/src/main/res/drawable/ic_baseline_pause.xml
index 44d6b0b..c5bc87c 100644
--- a/app/src/main/res/drawable/ic_baseline_pause.xml
+++ b/app/src/main/res/drawable/ic_baseline_pause.xml
@@ -5,6 +5,6 @@
android:width="50dp"
xmlns:android="http://schemas.android.com/apk/res/android">
diff --git a/app/src/main/res/drawable/ic_baseline_pending.xml b/app/src/main/res/drawable/ic_baseline_pending.xml
index 832ccf3..14b5625 100644
--- a/app/src/main/res/drawable/ic_baseline_pending.xml
+++ b/app/src/main/res/drawable/ic_baseline_pending.xml
@@ -5,6 +5,6 @@
android:width="50dp"
xmlns:android="http://schemas.android.com/apk/res/android">
diff --git a/app/src/main/res/drawable/ic_baseline_person_add_alt_1.xml b/app/src/main/res/drawable/ic_baseline_person_add_alt_1.xml
new file mode 100644
index 0000000..dbf9979
--- /dev/null
+++ b/app/src/main/res/drawable/ic_baseline_person_add_alt_1.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_baseline_play_arrow.xml b/app/src/main/res/drawable/ic_baseline_play_arrow.xml
index e529c59..d4d0755 100644
--- a/app/src/main/res/drawable/ic_baseline_play_arrow.xml
+++ b/app/src/main/res/drawable/ic_baseline_play_arrow.xml
@@ -4,6 +4,6 @@
android:viewportWidth="25"
android:viewportHeight="25">
diff --git a/app/src/main/res/drawable/ic_baseline_refresh.xml b/app/src/main/res/drawable/ic_baseline_refresh.xml
index fcb5fcc..d460479 100644
--- a/app/src/main/res/drawable/ic_baseline_refresh.xml
+++ b/app/src/main/res/drawable/ic_baseline_refresh.xml
@@ -5,6 +5,6 @@
android:width="50dp"
xmlns:android="http://schemas.android.com/apk/res/android">
diff --git a/app/src/main/res/drawable/ic_baseline_video_library.xml b/app/src/main/res/drawable/ic_baseline_video_library.xml
new file mode 100644
index 0000000..b1e8f24
--- /dev/null
+++ b/app/src/main/res/drawable/ic_baseline_video_library.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_baseline_west.xml b/app/src/main/res/drawable/ic_baseline_west.xml
index 5427d83..d77e877 100644
--- a/app/src/main/res/drawable/ic_baseline_west.xml
+++ b/app/src/main/res/drawable/ic_baseline_west.xml
@@ -5,6 +5,6 @@
android:width="50dp"
xmlns:android="http://schemas.android.com/apk/res/android">
diff --git a/app/src/main/res/drawable/nitta_lab.png b/app/src/main/res/drawable/nitta_lab.png
new file mode 100644
index 0000000..47b8b40
--- /dev/null
+++ b/app/src/main/res/drawable/nitta_lab.png
Binary files differ
diff --git a/app/src/main/res/drawable/nitta_manga.jpg b/app/src/main/res/drawable/nitta_manga.jpg
new file mode 100644
index 0000000..757a5cc
--- /dev/null
+++ b/app/src/main/res/drawable/nitta_manga.jpg
Binary files differ
diff --git a/app/src/main/res/drawable/nitta_manga_removebg.png b/app/src/main/res/drawable/nitta_manga_removebg.png
new file mode 100644
index 0000000..f9c2f31
--- /dev/null
+++ b/app/src/main/res/drawable/nitta_manga_removebg.png
Binary files differ
diff --git a/app/src/main/res/drawable/nitta_naoya.jpg b/app/src/main/res/drawable/nitta_naoya.jpg
new file mode 100644
index 0000000..6c4b9e5
--- /dev/null
+++ b/app/src/main/res/drawable/nitta_naoya.jpg
Binary files differ
diff --git a/app/src/main/res/drawable/note.png b/app/src/main/res/drawable/note.png
deleted file mode 100644
index 60c647d..0000000
--- a/app/src/main/res/drawable/note.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/layout/activity_animation.xml b/app/src/main/res/layout/activity_animation.xml
index 70be5e9..c325be8 100644
--- a/app/src/main/res/layout/activity_animation.xml
+++ b/app/src/main/res/layout/activity_animation.xml
@@ -17,7 +17,7 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
-
-
-
-
-
-