diff --git a/.idea/misc.xml b/.idea/misc.xml
index 0d1cc0d..10b388f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -4,33 +4,18 @@
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 75b22a4..993f4ef 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,7 +4,7 @@
-
+
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+ android:label="@string/title_activity_main"
+ android:screenOrientation="portrait"
+ android:windowSoftInputMode="adjustPan"/>
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/EditorJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/EditorJson.java
index dd5cb03..220bc75 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/entities/EditorJson.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/entities/EditorJson.java
@@ -1,11 +1,12 @@
package org.ntlab.acanthus_client.entities;
import java.util.ArrayList;
+import java.util.Collection;
//-----------------------------------------------------------------
// 作品編集者の一覧
public class EditorJson {
- private ArrayList uidList = new ArrayList<>();
+ private ArrayList uid = new ArrayList<>();
//-----------------------------------------------------------------
public EditorJson() {
@@ -13,13 +14,13 @@
//-----------------------------------------------------------------
// getter
- public ArrayList getUidList() {
- return uidList;
+ public Collection getUid() {
+ return uid;
}
//-----------------------------------------------------------------
// setter
- public void addUid(Integer uid) {
- this.uidList.add(uid);
+ public void setAid(ArrayList uid) {
+ this.uid = uid;
}
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/InvitesJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/InvitesJson.java
new file mode 100644
index 0000000..7f15a92
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/entities/InvitesJson.java
@@ -0,0 +1,22 @@
+package org.ntlab.acanthus_client.entities;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+public class InvitesJson {
+ @JsonProperty("invites")
+ private ArrayList invites = new ArrayList<>();
+
+ public InvitesJson() {
+ }
+
+ public ArrayList getInvites() {
+ return invites;
+ }
+
+ public void setInvitesJson(Integer uid){
+ this.invites.add(uid);
+ }
+}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/LoginResponseJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/LoginResponseJson.java
index 2270d30..ca7e9f1 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/entities/LoginResponseJson.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/entities/LoginResponseJson.java
@@ -5,6 +5,7 @@
public class LoginResponseJson {
private Integer uid;
private String token;
+ private String name;
public LoginResponseJson() {
}
@@ -18,5 +19,10 @@
public String getToken() {
return this.token;
}
+
+ public String getName() {
+ return this.name;
+ }
+
//-----------------------------------------------------------------
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java
index fc9ced3..ee28858 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java
@@ -1,6 +1,7 @@
package org.ntlab.acanthus_client.resources.gallery;
import org.ntlab.acanthus_client.entities.Account;
+import org.ntlab.acanthus_client.entities.InvitesJson;
import java.util.Collection;
@@ -18,7 +19,7 @@
//-----------------------------------------------------------------
@GET("gallery/{aid}/invites")
- Call> isGalleryInvites(
+ Call isGalleryInvites(
@Path("aid") Integer aid,
@Query("invited") String invitedUid,
@Query("invitedUserToken") String invitedUserToken,
@@ -29,7 +30,7 @@
@FormUrlEncoded
@PUT("gallery/{aid}/invites")
- Call addInvite(
+ Call addInvite(
@Path("aid") Integer aid,
@Field("ownerUid") String ownerUid,
@Field("invitedUid") String invitedUid,
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 0697841..9bbd223 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
@@ -14,6 +14,7 @@
import org.ntlab.acanthus_client.databinding.ActivityMainBinding;
import org.ntlab.acanthus_client.views.main_menu_ui.mypage.MyPageFragment;
+import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ShareCompat;
import androidx.fragment.app.FragmentManager;
@@ -29,6 +30,7 @@
public class MainActivity extends AppCompatActivity {
private ActivityMainBinding binding;
+ private NavController navController;
Intent intent;
@Override
@@ -43,9 +45,9 @@
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
- R.id.navigation_home, R.id.navigation_search, R.id.navigation_make, R.id.navigation_mypage)
+ R.id.navigation_home, R.id.navigation_search, R.id.navigation_edit, R.id.navigation_mypage)
.build();
- NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_activity_main);
+ navController = Navigation.findNavController(this, R.id.nav_host_fragment_activity_main);
NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
NavigationUI.setupWithNavController(binding.navView, navController);
}
@@ -53,7 +55,7 @@
// ツールバーにbotton_nav_topを表示
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.botton_nav_top, menu);
+ getMenuInflater().inflate(R.menu.top_nav_main, menu);
return true;
}
@@ -76,15 +78,16 @@
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();
+ case R.id.navigation_icon:
+ navController.navigate(R.id.navigation_mypage);
+// 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:
@@ -93,4 +96,12 @@
}
}
+ // 戻るボタン「←」をアクションバー(上部バー)にセットするメソッドを定義
+ public void setupBackButton(boolean enableBackButton) {
+ // アクションバーを取得
+ ActionBar actionBar = getSupportActionBar();
+ // アクションバーに戻るボタン「←」をセット(引数が true: 表示、false: 非表示)
+ actionBar.setDisplayHomeAsUpEnabled(enableBackButton);
+ }
+
}
\ 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 ab0ef4a..9a275da 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
@@ -43,6 +43,7 @@
//ボタン系
private boolean buttonView = true;
+ private boolean player = true;
private Button buttonPlayback;
private Button buttonReset;
private Button buttonClose;
@@ -56,6 +57,7 @@
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ setTheme(R.style.AppTheme_NoTitleBar);//タイトルバーを消す
setContentView(R.layout.activity_animation);
animationCanvas = this.findViewById(R.id.animationMyCanvas);
init();
@@ -81,12 +83,7 @@
buttonPlayback = findViewById(R.id.button_playback);
buttonPlayback.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
- if(onClickPlayback()){
- buttonPlayback.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_baseline_play_arrow));
- }
- else {
- buttonPlayback.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_baseline_pause));
- }
+ onClickPlayback();
}
});
@@ -127,6 +124,7 @@
buttonDetail = findViewById(R.id.button_detail);
buttonDetail.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
+ if(player) onClickPlayback();
Intent intent = new Intent(AnimationActivity.this, AnimationDetailActivity.class);
intent.putExtra("AnimationJsonData", animationJson);
startActivity(intent);
@@ -219,19 +217,21 @@
}
//アニメーションの再生停止
- public boolean onClickPlayback(){
+ public void onClickPlayback(){
if(timer != null){
//timerの終了
timer.cancel();
timer = null;
- return true;
+ buttonPlayback.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_baseline_play_arrow));
+ player = false;
}
else{
//timerの生成
this.timer = new Timer();
this.timerTask = new CountUpTimerTask();
this.timer.schedule(timerTask,0, this.msec);//スケジュールを100ms毎に設定する。
- return false;
+ buttonPlayback.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_baseline_pause));
+ player = true;
}
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationConnectionModel.java
index d5d059f..a45f7fc 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationConnectionModel.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationConnectionModel.java
@@ -39,7 +39,7 @@
final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
// 筆跡追加API
- Call> call = strokesRest.getPageUrls(1111);
+ Call> call = strokesRest.getPageUrls(acanthus.getAid());
call.enqueue(new Callback>() {
@Override
public void onResponse(Call> call, Response> response) {
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
index 33c146b..427f859 100644
--- 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
@@ -18,7 +18,7 @@
@Override
public void setPressed(boolean pressed) {
if(pressed){
- this.setAlpha(0.75f);
+ this.setAlpha(0.60f);
}else{
this.setAlpha(1.0f);
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenActivity.java
index f78cae3..250f5b3 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenActivity.java
@@ -41,6 +41,7 @@
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ setTheme(R.style.AppTheme_NoTitleBar);//タイトルバーを消す
init();
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java
index 2af6024..61a6513 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java
@@ -74,6 +74,7 @@
// ログイン成功時に値の変更を行う
private void setVariableFromResponse(Acanthus acanthus, LoginResponseJson loginResponse, String email, String password) {
acanthus.setPreferenceUid(loginResponse.getUid());
+ acanthus.setPreferenceName(loginResponse.getName());
acanthus.setPreferenceToken(loginResponse.getToken());
acanthus.setPreferenceEmail(email);
acanthus.setPreferencePassword(password);
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 a505b2e..7eb1d91 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
@@ -20,21 +20,32 @@
import org.ntlab.acanthus_client.R;
import org.ntlab.acanthus_client.databinding.FragmentCreateBinding;
import org.ntlab.acanthus_client.databinding.FragmentEditBinding;
+import org.ntlab.acanthus_client.views.MainActivity;
import org.ntlab.acanthus_client.views.main_menu_ui.edit.EditViewModel;
+import org.ntlab.acanthus_client.views.main_menu_ui.home.HomeFragment;
+import org.ntlab.acanthus_client.views.main_menu_ui.home.HomeViewModel;
import org.ntlab.acanthus_client.views.paint.PaintActivity;
public class CreateFragment extends Fragment {
private CreateViewModel createViewModel;
private FragmentCreateBinding binding;
+ private HomeViewModel homeViewModel;
+ private Acanthus acanthus;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
createViewModel =
new ViewModelProvider(this).get(CreateViewModel.class);
+ homeViewModel =
+ new ViewModelProvider(this).get(HomeViewModel.class);
binding = FragmentCreateBinding.inflate(inflater, container, false);
View root = binding.getRoot();
+ // 戻るボタン
+ MainActivity activity = (MainActivity) getActivity();
+ activity.setupBackButton(false);
+
return root;
}
@@ -47,13 +58,14 @@
Integer uid = 1;
String token = "abc0";
- Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ acanthus = (Acanthus) getActivity().getApplication();
appButton.setOnClickListener(v -> {
//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);
+ homeViewModel.updateGallery(acanthus);
transitionPaintActivity();
});
@@ -70,6 +82,7 @@
private void transitionPaintActivity() {
Acanthus acanthus = (Acanthus) getActivity().getApplication();
Intent intent = new Intent(acanthus, PaintActivity.class);
+ homeViewModel.updateGallery(acanthus); // ギャラリーをアップデート
startActivity(intent);
}
}
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 7bdc090..9d473e0 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
@@ -22,6 +22,8 @@
import org.ntlab.acanthus_client.entities.Animation;
import org.ntlab.acanthus_client.entities.AnimationJson;
import org.ntlab.acanthus_client.entities.WorkJson;
+import org.ntlab.acanthus_client.views.main_menu_ui.home.HomeFragment;
+import org.ntlab.acanthus_client.views.main_menu_ui.home.HomeViewModel;
import org.ntlab.acanthus_client.views.paint.PaintActivity;
import androidx.annotation.NonNull;
@@ -45,7 +47,8 @@
private EditViewModel editViewModel;
private FragmentEditBinding binding;
- private ArrayList aidList;
+ private ArrayList userAidList;
+ private ArrayList aidList = new ArrayList<>();
private ArrayList AnimationJsonList;
private ArrayList nameList;
private ArrayList lastUpDateList;
@@ -54,6 +57,8 @@
private Integer AnimationAid;
private String AnimationName;
private String AnimationLastUpDate;
+ private HomeViewModel homeViewModel;
+ private Acanthus acanthus;
private SwipeRefreshLayout mSwipeRefreshLayout;
@@ -61,10 +66,14 @@
ViewGroup container, Bundle savedInstanceState) {
editViewModel =
new ViewModelProvider(this).get(EditViewModel.class);
+ homeViewModel =
+ new ViewModelProvider(this).get(HomeViewModel.class);
binding = FragmentEditBinding.inflate(inflater, container, false);
View root = binding.getRoot();
+ homeViewModel.updateGallery(acanthus); // ギャラリーをアップデート
+
return root;
}
@@ -80,14 +89,19 @@
Integer uid = 1;
String token = "abc0";
editViewModel.getWorkList(uid, token);
- aidList = new ArrayList<>();
+ userAidList = new ArrayList<>();
nameList = new ArrayList<>();
lastUpDateList = new ArrayList<>();
AnimationJsonList = new ArrayList<>();
Map nameHashMap = new HashMap();
Map lastUpDateHashMap = new HashMap();
+ View header = (View)getLayoutInflater().inflate(R.layout.fragment_edit_header,null);
+
ListView listView = (ListView) getActivity().findViewById(R.id.list_view);
+ listView.addHeaderView(header);
+
+ homeViewModel.updateGallery(acanthus); // ギャラリーをアップデート
// SwipeRefreshLayoutを作成
createSwipeRefreshLayout();
@@ -97,23 +111,22 @@
//listViewの表示をしている
@Override
public void onChanged(@Nullable WorkJson workJson) {
- aidList = (ArrayList) editViewModel.getWorkJson().getValue().getAid();
+ userAidList = (ArrayList) editViewModel.getWorkJson().getValue().getAid();
AnimationJsonList = (ArrayList) acanthus.getAnimationJsonList();
- ArrayList workList = new ArrayList<>();
+ HashMap workList = new HashMap<>();
if(AnimationJsonList != null){
- for(int i=0; i entry : list_entries) {
lastUpDateList.add(entry.getValue());
nameList.add(nameHashMap.get(entry.getKey()));
+ aidList.add(entry.getKey());
}
//--------------------------------------------------------------------------------------------------------------------
@@ -141,7 +155,7 @@
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> adapterView, View view, int position, long id) {
- transitionPaintActivity(workList.get(position));
+ transitionPaintActivity(aidList.get(position-1));
}
});
}
@@ -182,10 +196,10 @@
}
//各作品毎の画面遷移
- private void transitionPaintActivity(AnimationJson animationJson) {
+ private void transitionPaintActivity(Integer aid) {
Acanthus acanthus = (Acanthus) getActivity().getApplication();
Intent intent = new Intent(acanthus, PaintActivity.class);
- acanthus.setAid(animationJson.getAid());
+ acanthus.setAid(aid);
startActivity(intent);
}
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 2f38308..d614b1f 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
@@ -37,6 +37,7 @@
private HomeViewModel homeViewModel;
private FragmentHomeBinding binding;
+ private Acanthus acanthus;
private SwipeRefreshLayout mSwipeRefreshLayout;
@@ -50,8 +51,6 @@
View root = binding.getRoot();
ListView listView = binding.animationView;
-
-// homeViewModel.updateGallery();
//
// final TextView textView = binding.textHome;
// homeViewModel.getText().observe(getViewLifecycleOwner(), new Observer() {
@@ -69,7 +68,7 @@
super.onActivityCreated(savedInstanceState);
Log.d("CreatedActivity", "EditFragment");
- Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ acanthus = (Acanthus) getActivity().getApplication();
Integer uid = 1;
String token = "abc0";
@@ -127,6 +126,10 @@
}
+ public void updateGallery() {
+ homeViewModel.updateGallery(acanthus);
+ }
+
@Override
public void onDestroyView() {
super.onDestroyView();
@@ -151,7 +154,7 @@
// ひっぱり更新の処理
@Override
public void onRefresh() {
-
+ homeViewModel.updateGallery(acanthus);
mSwipeRefreshLayout.setRefreshing(false);
}
}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageFragment.java
index 7654c96..88e72f5 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageFragment.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageFragment.java
@@ -7,16 +7,21 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
-import android.widget.EditText;
import android.widget.TextView;
import org.ntlab.acanthus_client.Acanthus;
import org.ntlab.acanthus_client.R;
import org.ntlab.acanthus_client.databinding.FragmentMypageBinding;
-import org.ntlab.acanthus_client.entities.Animation;
import org.ntlab.acanthus_client.views.animation.AnimationActivity;
-import org.ntlab.acanthus_client.views.paint.PaintActivity;
+import org.ntlab.acanthus_client.views.main_menu_ui.mypage.help.HowToUseActivity;
+import org.ntlab.acanthus_client.views.main_menu_ui.mypage.help.InquiryActivity;
+import org.ntlab.acanthus_client.views.main_menu_ui.mypage.others.AppInformationActivity;
+import org.ntlab.acanthus_client.views.main_menu_ui.mypage.logout.LogoutActivity;
+import org.ntlab.acanthus_client.views.main_menu_ui.mypage.others.PrivacyPolicyActivity;
+import org.ntlab.acanthus_client.views.main_menu_ui.mypage.others.TermsOfServiceActivity;
+import org.ntlab.acanthus_client.views.userpage.followList.FollowListActivity;
+import org.ntlab.acanthus_client.views.userpage.followerList.FollowerListActivity;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -24,8 +29,6 @@
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
-import static android.os.Build.VERSION_CODES.R;
-
//-----------------------------------------------------------------
//
public class MyPageFragment extends Fragment {
@@ -47,8 +50,16 @@
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
+ onClickFollow(view);
+ onClickFollower(view);
onClickAccept(view);
onClickAnimation(view);
+ onClickAppInformation(view);
+ onClickPrivacyPolicy(view);
+ onClickTermsOfService(view);
+ onClickLogout(view);
+ onClickHowToUse(view);
+ onClickInquiry(view);
}
//-----------------------------------------------------------------
@@ -61,6 +72,26 @@
//-----------------------------------------------------------------
//
+ public void onClickFollow(View view) {
+ Button button = view.findViewById(R.id.followListButton);
+
+ button.setOnClickListener(v -> {
+ transitionFollowListActivity();
+ });
+ }
+
+ //-----------------------------------------------------------------
+ //
+ public void onClickFollower(View view) {
+ Button button = view.findViewById(R.id.followerListButton);
+
+ button.setOnClickListener(v -> {
+ transitionFollowerListActivity();
+ });
+ }
+
+ //-----------------------------------------------------------------
+ //
public void onClickAccept(View view) {
Button buttonIsInvited = view.findViewById(org.ntlab.acanthus_client.R.id.buttonIsInvited);
@@ -80,10 +111,72 @@
}
//-----------------------------------------------------------------
+ //
+ public void onClickAppInformation(View view) {
+ Button button = view.findViewById(org.ntlab.acanthus_client.R.id.app_information);
+
+ button.setOnClickListener(v -> {
+ transitionAppInformationActivity();
+ });
+ }
+
+ //-----------------------------------------------------------------
+ //
+ public void onClickPrivacyPolicy(View view) {
+ Button button = view.findViewById(org.ntlab.acanthus_client.R.id.privacy_policy);
+
+ button.setOnClickListener(v -> {
+ transitionPrivacyPolicyActivity();
+ });
+ }
+
+ //-----------------------------------------------------------------
+ //
+ public void onClickTermsOfService(View view) {
+ Button button = view.findViewById(org.ntlab.acanthus_client.R.id.terms_of_service);
+
+ button.setOnClickListener(v -> {
+ transitionTermsOfServiceActivity();
+ });
+ }
+
+ //-----------------------------------------------------------------
+ //
+ public void onClickLogout(View view) {
+ Button button = view.findViewById(org.ntlab.acanthus_client.R.id.logout);
+
+ button.setOnClickListener(v -> {
+ transitionLogoutActivity();
+ });
+ }
+
+ //-----------------------------------------------------------------
+ //
+ public void onClickHowToUse(View view) {
+ Button button = view.findViewById(R.id.How_to_use);
+
+ button.setOnClickListener(v -> {
+ transitionHowToUseActivity();
+ });
+ }
+
+ //-----------------------------------------------------------------
+ //
+ public void onClickInquiry(View view) {
+ Button button = view.findViewById(R.id.inquiry);
+
+ button.setOnClickListener(v -> {
+ transitionInquiryActivity();
+ });
+ }
+
+ //-----------------------------------------------------------------
//-----------------------------------------------------------------
// init
private void init() {
Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ TextView loginNameText = binding.textMyname;
+ loginNameText.setText(acanthus.getPreferenceName());
mypageViewModel = new ViewModelProvider(this).get(MyPageViewModel.class);
mypageViewModel.init(acanthus);
startObserve();
@@ -127,11 +220,76 @@
//-----------------------------------------------------------------
//
+ public void transitionFollowListActivity() {
+ Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ Intent intent = new Intent(acanthus, FollowListActivity.class);
+ intent.putExtra("UID", acanthus.getPreferenceUid());
+ startActivity(intent);
+ }
+
+ //-----------------------------------------------------------------
+ //
+ public void transitionFollowerListActivity() {
+ Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ Intent intent = new Intent(acanthus, FollowerListActivity.class);
+ intent.putExtra("UID", acanthus.getPreferenceUid());
+ startActivity(intent);
+ }
+
+ //-----------------------------------------------------------------
+ //
private void transitionAnimationActivity() {
Acanthus acanthus = (Acanthus) getActivity().getApplication();
Intent intent = new Intent(acanthus, AnimationActivity.class);
startActivity(intent);
}
+
//-----------------------------------------------------------------
+ //
+ private void transitionAppInformationActivity() {
+ Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ Intent intent = new Intent(acanthus, AppInformationActivity.class);
+ startActivity(intent);
+ }
+
+ //-----------------------------------------------------------------
+ //
+ private void transitionPrivacyPolicyActivity() {
+ Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ Intent intent = new Intent(acanthus, PrivacyPolicyActivity.class);
+ startActivity(intent);
+ }
+
+ //-----------------------------------------------------------------
+ //
+ private void transitionTermsOfServiceActivity() {
+ Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ Intent intent = new Intent(acanthus, TermsOfServiceActivity.class);
+ startActivity(intent);
+ }
+
+ //-----------------------------------------------------------------
+ //
+ private void transitionLogoutActivity() {
+ Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ Intent intent = new Intent(acanthus, LogoutActivity.class);
+ startActivity(intent);
+ }
+
+ //-----------------------------------------------------------------
+ //
+ private void transitionHowToUseActivity() {
+ Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ Intent intent = new Intent(acanthus, HowToUseActivity.class);
+ startActivity(intent);
+ }
+
+ //-----------------------------------------------------------------
+ //
+ private void transitionInquiryActivity() {
+ Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ Intent intent = new Intent(acanthus, InquiryActivity.class);
+ startActivity(intent);
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/help/HowToUseActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/help/HowToUseActivity.java
new file mode 100644
index 0000000..d761ab5
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/help/HowToUseActivity.java
@@ -0,0 +1,24 @@
+package org.ntlab.acanthus_client.views.main_menu_ui.mypage.help;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+import org.ntlab.acanthus_client.R;
+
+public class HowToUseActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setTitle( "使い方" );
+ init();
+ }
+
+ //-----------------------------------------------------------------
+ //-----------------------------------------------------------------
+ // 初期化
+ private void init() {
+ setContentView(R.layout.activity_how_to_use);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/help/InquiryActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/help/InquiryActivity.java
new file mode 100644
index 0000000..20d04ca
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/help/InquiryActivity.java
@@ -0,0 +1,25 @@
+package org.ntlab.acanthus_client.views.main_menu_ui.mypage.help;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+import org.ntlab.acanthus_client.R;
+
+public class InquiryActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setTitle( "お問い合わせ" );
+ init();
+ }
+
+ //-----------------------------------------------------------------
+ //-----------------------------------------------------------------
+ // 初期化
+ private void init() {
+ setContentView(R.layout.activity_inquiry);
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/logout/LogoutActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/logout/LogoutActivity.java
new file mode 100644
index 0000000..5462e09
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/logout/LogoutActivity.java
@@ -0,0 +1,57 @@
+package org.ntlab.acanthus_client.views.main_menu_ui.mypage.logout;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.widget.Button;
+
+import org.ntlab.acanthus_client.R;
+import org.ntlab.acanthus_client.views.login.LoginScreenActivity;
+
+public class LogoutActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setTitle( "ログアウト" );
+ init();
+ onClickLogout();
+ onClickCancelLogout();
+ }
+
+ //-----------------------------------------------------------------
+ //-----------------------------------------------------------------
+ // 初期化
+ private void init() {
+ setContentView(R.layout.activity_logout);
+ }
+
+ //-----------------------------------------------------------------
+ //
+ public void onClickLogout() {
+ Button button = findViewById(R.id.logout_yes);
+
+ button.setOnClickListener(v -> {
+ transitionLoginScreenActivity();
+ });
+ }
+
+ //-----------------------------------------------------------------
+ //
+ public void onClickCancelLogout() {
+ Button button = findViewById(R.id.logout_no);
+
+ button.setOnClickListener(v -> {
+ finish();
+ });
+ }
+
+ //-----------------------------------------------------------------
+ //
+ public void transitionLoginScreenActivity() {
+ Intent intent = new Intent(getApplication(), LoginScreenActivity.class);
+ startActivity(intent);
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/others/AppInformationActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/others/AppInformationActivity.java
new file mode 100644
index 0000000..6e7ef55
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/others/AppInformationActivity.java
@@ -0,0 +1,25 @@
+package org.ntlab.acanthus_client.views.main_menu_ui.mypage.others;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+import org.ntlab.acanthus_client.R;
+
+public class AppInformationActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setTitle( "アプリ情報" );
+ init();
+ }
+
+ //-----------------------------------------------------------------
+ //-----------------------------------------------------------------
+ // 初期化
+ private void init() {
+ setContentView(R.layout.activity_app_information);
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/others/PrivacyPolicyActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/others/PrivacyPolicyActivity.java
new file mode 100644
index 0000000..9f3a45c
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/others/PrivacyPolicyActivity.java
@@ -0,0 +1,25 @@
+package org.ntlab.acanthus_client.views.main_menu_ui.mypage.others;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+import org.ntlab.acanthus_client.R;
+
+public class PrivacyPolicyActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setTitle( "プライバシーポリシー" );
+ init();
+ }
+
+ //-----------------------------------------------------------------
+ //-----------------------------------------------------------------
+ // 初期化
+ private void init() {
+ setContentView(R.layout.activity_privacy_policy);
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/others/TermsOfServiceActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/others/TermsOfServiceActivity.java
new file mode 100644
index 0000000..057a9dc
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/others/TermsOfServiceActivity.java
@@ -0,0 +1,25 @@
+package org.ntlab.acanthus_client.views.main_menu_ui.mypage.others;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+import org.ntlab.acanthus_client.R;
+
+public class TermsOfServiceActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setTitle( "利用規約" );
+ init();
+ }
+
+ //-----------------------------------------------------------------
+ //-----------------------------------------------------------------
+ // 初期化
+ private void init() {
+ setContentView(R.layout.activity_terms_of_service);
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java
index 2ad1829..6e9bee7 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java
@@ -8,16 +8,35 @@
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import org.ntlab.acanthus_client.Acanthus;
import org.ntlab.acanthus_client.R;
+import org.ntlab.acanthus_client.entities.Account;
+import org.ntlab.acanthus_client.entities.AccountJson;
+import org.ntlab.acanthus_client.entities.EditorJson;
+import org.ntlab.acanthus_client.entities.FollowerJson;
+import org.ntlab.acanthus_client.entities.InvitesJson;
+import org.ntlab.acanthus_client.entities.WorkJson;
+import org.ntlab.acanthus_client.views.main_menu_ui.edit.EditViewModel;
-public class InviteActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
+import java.util.ArrayList;
+import java.util.Collection;
+
+public class InviteActivity extends AppCompatActivity {
private InviteViewModel inviteViewModel;
- private static final String[] scenes = {
- "UserName",
- };
+ private Integer aid;
+ private Integer uid;
+ private Integer invitedUid;
+ private String ownerToken;
+ private Acanthus acanthus;
+ private ArrayList followersUidList = new ArrayList<>();
+ private ArrayList followersNameList = new ArrayList<>();
+ private ArrayList collectionAccountUid = new ArrayList<>();
+ private EditorJson editorJson;
+ private InvitesJson invitedUidList;
+ private Integer followersNameIndex;
//-----------------------------------------------------------------
@Override
@@ -27,32 +46,80 @@
setContentView((R.layout.activity_invite));
// ListViewのインスタンスを生成
ListView listView = findViewById(R.id.list_view);
+ Acanthus acanthus = (Acanthus) getApplication();
+ inviteViewModel = new ViewModelProvider(this).get(InviteViewModel.class);
+ aid = acanthus.getAid();
+ uid = 1;
+ ownerToken = acanthus.getPreferenceToken();
- // BaseAdapter を継承したadapterのインスタンスを生成
- // レイアウトファイル list.xml を activity_main.xml に
- // inflate するためにadapterに引数として渡す
- BaseAdapter adapter = new ListViewAdapter(this.getApplicationContext(), R.layout.list, scenes);
- // ListViewにadapterをセット
- listView.setAdapter(adapter);
+ //フォロワー情報を取得する
+ inviteViewModel.startFollowersUidJson(uid, aid, ownerToken);
+ inviteViewModel.getFollowerUidJson().observe(this, new Observer() {
+ @Override
+ public void onChanged(FollowerJson followerUidJson) {
+ followersUidList = inviteViewModel.getFollowerUidJson().getValue().getFollowerUids();
+ followersNameList = inviteViewModel.getFollowerUidJson().getValue().getFollowerNames();
+ inviteViewModel.startGalleryInvites(aid, ownerToken);
+ }
+ });
- // クリックリスナーをセット
- listView.setOnItemClickListener(this);
+ //すべての招待情報を取得する
+ inviteViewModel.getInvitesJson().observe(this, new Observer() {
+ @Override
+ public void onChanged(InvitesJson collectionAccount) {
+ invitedUidList = inviteViewModel.getInvitesJson().getValue();
+
+ inviteViewModel.startGalleryEditors(aid);
+ }
+ });
+
+ inviteViewModel.getEditorJson().observe(this, new Observer() {
+ @Override
+ public void onChanged(EditorJson collectionAccount) {
+ editorJson = inviteViewModel.getEditorJson().getValue();
+
+ if(editorJson != null){
+ for(Integer editorUid : editorJson.getUid()){
+ followersNameIndex = followersUidList.indexOf(editorUid);
+ followersUidList.remove(editorUid);
+ followersNameList.remove(followersNameIndex);
+ }
+ }
+
+ if(invitedUidList != null){
+ for(Integer invitedUid : invitedUidList.getInvites()){
+ followersNameList.remove(followersUidList.indexOf(invitedUid));
+ followersUidList.remove(invitedUid);
+ }
+ }
+
+ // BaseAdapter を継承したadapterのインスタンスを生成
+ // レイアウトファイル list.xml を activity_main.xml に
+ // inflate するためにadapterに引数として渡す
+ BaseAdapter adapter = new ListViewAdapter(getApplication(), R.layout.invites_list, followersNameList);
+
+ // ListViewにadapterをセット
+ listView.setAdapter(adapter);
+
+ listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> adapterView, View view, int position, long id) {
+ invitedUid = followersUidList.get(position);
+ inviteViewModel.addInvite(aid, uid.toString(), invitedUid.toString(), ownerToken);
+ }
+ });
+ }
+ });
+
+ inviteViewModel.getMessage().observe(this, new Observer() {
+ @Override
+ public void onChanged(Boolean message) {
+ finish();
+ }
+ });
}
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- Intent intent = new Intent(
- this.getApplicationContext(), PaintActivity.class);
-
- // clickされたpositionのtextとphotoのID
- String selectedText = scenes[position];
- // インテントにセット
- intent.putExtra("Text", selectedText);
-
- // SubActivityへ遷移
- startActivity(intent);
- }
//-----------------------------------------------------------------
// init
@@ -60,4 +127,4 @@
Acanthus acanthus = (Acanthus) getApplication();
inviteViewModel = new ViewModelProvider(this).get(InviteViewModel.class);
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteViewModel.java
index 7de98da..5fda98b 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteViewModel.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteViewModel.java
@@ -1,8 +1,167 @@
package org.ntlab.acanthus_client.views.paint;
+import android.util.Log;
+
+import androidx.lifecycle.LiveData;
+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.AccountJson;
+import org.ntlab.acanthus_client.entities.AidJson;
+import org.ntlab.acanthus_client.entities.Animation;
+import org.ntlab.acanthus_client.entities.AnimationJson;
+import org.ntlab.acanthus_client.entities.EditorJson;
+import org.ntlab.acanthus_client.entities.FollowerJson;
+import org.ntlab.acanthus_client.entities.InvitesJson;
+import org.ntlab.acanthus_client.resources.accounts.AccountsRest;
+import org.ntlab.acanthus_client.resources.accounts.FollowersRest;
+import org.ntlab.acanthus_client.resources.gallery.EditorsRest;
+import org.ntlab.acanthus_client.resources.gallery.GalleryRest;
+import org.ntlab.acanthus_client.resources.gallery.InvitesRest;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+import retrofit2.Retrofit;
+import retrofit2.converter.jackson.JacksonConverterFactory;
+
public class InviteViewModel extends ViewModel {
+ private MutableLiveData followersUidJsonMutableLiveData;
+ private MutableLiveData> collectionAccountJsonMutableLiveData;
+ private MutableLiveData collectionInvitesJsonMutableLiveData;
+ private MutableLiveData messageMutableLiveData;
+ private MutableLiveData editorJsonMutableLiveData;
-}
+
+ public InviteViewModel() {
+ this.followersUidJsonMutableLiveData = new MutableLiveData<>();
+ this.collectionAccountJsonMutableLiveData = new MutableLiveData<>();
+ this.collectionInvitesJsonMutableLiveData = new MutableLiveData<>();
+ this.messageMutableLiveData = new MutableLiveData<>();
+ this.editorJsonMutableLiveData = new MutableLiveData<>();
+ }
+
+ public LiveData getFollowerUidJson() {
+ return this.followersUidJsonMutableLiveData;
+ }
+
+ public LiveData> getCollectionAccountJson() {
+ return this.collectionAccountJsonMutableLiveData;
+ }
+
+ public LiveData getInvitesJson() {
+ return this.collectionInvitesJsonMutableLiveData;
+ }
+
+ public LiveData getMessage() {
+ return this.messageMutableLiveData;
+ }
+
+ public LiveData getEditorJson() {
+ return this.editorJsonMutableLiveData;
+ }
+
+ public void startFollowersUidJson(Integer uid, Integer aid, String ownerToken){
+ Retrofit retrofit = new Retrofit.Builder()
+ .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/")
+ .addConverterFactory(JacksonConverterFactory.create())
+ .build();
+ final FollowersRest followersRest = retrofit.create(FollowersRest.class);
+ Call call = followersRest.getFollowers(uid);
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if(response.isSuccessful()){
+ if (response.body() != null) {
+ followersUidJsonMutableLiveData.setValue(response.body());
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ startGalleryInvites(aid, ownerToken);
+ }
+ });
+ }
+
+ public void startGalleryInvites(Integer aid, 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.isGalleryInvites(aid, null, null, ownerToken);
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if(response.isSuccessful()){
+ if (response.body() != null) {
+ collectionInvitesJsonMutableLiveData.setValue(response.body());
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ startGalleryEditors(aid);
+ }
+ });
+ }
+
+ public void startGalleryEditors(Integer aid){
+ Retrofit retrofit = new Retrofit.Builder()
+ .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/")
+ .addConverterFactory(JacksonConverterFactory.create())
+ .build();
+ final EditorsRest invitesRest = retrofit.create(EditorsRest.class);
+ Call call = invitesRest.getEditors(aid);
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if(response.isSuccessful()){
+ if (response.body() != null) {
+ editorJsonMutableLiveData.setValue(response.body());
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ editorJsonMutableLiveData.setValue(null);
+ }
+ });
+ }
+
+
+ public void addInvite(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()){
+ if (response.body() != null) {
+ messageMutableLiveData.setValue(response.body());
+ }
+ }
+ }
+
+ @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/ListViewAdapter.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/ListViewAdapter.java
index c4c0adf..e3d1bf5 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/ListViewAdapter.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/ListViewAdapter.java
@@ -9,6 +9,9 @@
import org.ntlab.acanthus_client.R;
+import java.util.ArrayList;
+import java.util.Collection;
+
public class ListViewAdapter extends BaseAdapter {
static class ViewHolder {
@@ -17,16 +20,16 @@
private LayoutInflater inflater;
private int itemLayoutId;
- private String[] titles;
+ private ArrayList titles = new ArrayList<>();
private int[] ids;
ListViewAdapter(Context context, int itemLayoutId,
- String[] scenes) {
+ ArrayList collectionAccountName) {
super();
this.inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.itemLayoutId = itemLayoutId;
- this.titles = scenes;
+ this.titles = collectionAccountName;
}
@Override
@@ -38,7 +41,7 @@
convertView = inflater.inflate(itemLayoutId, parent, false);
// ViewHolder を生成
holder = new ViewHolder();
- holder.textView = convertView.findViewById(R.id.textView);
+ holder.textView = convertView.findViewById(R.id.textViewInvitesName);
convertView.setTag(holder);
}
// holder を使って再利用
@@ -47,7 +50,7 @@
}
// 現在の position にあるファイル名リストを holder の textView にセット
- holder.textView.setText(titles[position]);
+ holder.textView.setText(titles.get(position));
return convertView;
}
@@ -55,7 +58,7 @@
@Override
public int getCount() {
// texts 配列の要素数
- return titles.length;
+ return titles.size();
}
@Override
@@ -67,4 +70,4 @@
public long getItemId(int position) {
return 0;
}
-}
+}
\ No newline at end of file
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 ff2a349..5bd3edb 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
@@ -26,7 +26,7 @@
private PaintToolBar paintToolBar;
- private PaintScreenShot paintScreenShot;
+
private ActivityPaintBinding binding;
private PaintViewModel paintViewModel;
@@ -37,14 +37,13 @@
@Override
public void onDestroy() {
super.onDestroy();
-
- paintScreenShot.onDestroy();
}
//-----------------------------------------------------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ setTheme(R.style.AppTheme_NoTitleBar);//タイトルバーを消す
init();
initView();
@@ -79,7 +78,7 @@
//-----------------------------------------------------------------
@Override
- protected void onPause(){
+ protected void onPause() {
super.onPause();
paintViewModel.stop();
}
@@ -108,12 +107,7 @@
paintOnionCanvas.init(paintViewModel);
- paintScreenShot = new PaintScreenShot(this);
paintToolBar = new PaintToolBar(this, paintCanvas, paintOnionCanvas);
-
- findViewById(R.id.capture).setVisibility(View.INVISIBLE);
- findViewById(R.id.image).setVisibility(View.INVISIBLE);
- findViewById(R.id.textView3).setVisibility(View.INVISIBLE);
}
//-----------------------------------------------------------------
@@ -142,7 +136,6 @@
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
- paintScreenShot.onActivityResult(requestCode, resultCode, data);
}
//------------------------------------------------------------------
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintScreenShot.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintScreenShot.java
index 67cd22d..6511199 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintScreenShot.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintScreenShot.java
@@ -1,141 +1,141 @@
-package org.ntlab.acanthus_client.views.paint;
-
-import androidx.appcompat.app.AppCompatActivity;
-
-import android.app.Activity;
-import android.graphics.ImageFormat;
-import android.os.Bundle;
-import android.content.Intent;
-import android.graphics.Bitmap;
-import android.graphics.PixelFormat;
-import android.hardware.display.DisplayManager;
-import android.hardware.display.VirtualDisplay;
-import android.media.Image;
-import android.media.ImageReader;
-import android.media.projection.MediaProjection;
-import android.media.projection.MediaProjectionManager;
-import android.util.DisplayMetrics;
-import android.util.Log;
-import android.view.View;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.Toast;
-
-import com.google.android.material.bottomnavigation.BottomNavigationView;
-
-import org.ntlab.acanthus_client.R;
-
-import java.nio.ByteBuffer;
-
-import static android.app.Activity.RESULT_OK;
-import static android.content.Context.MEDIA_PROJECTION_SERVICE;
-import static android.graphics.ImageFormat.JPEG;
-
-
-public class PaintScreenShot {
-
- private AppCompatActivity appCompatActivity;
- private MediaProjectionManager mpManager;
- private MediaProjection mProjection;
- private static final int REQUEST_MEDIA_PROJECTION = 1001;
-
- private int displayWidth, displayHeight;
- private ImageReader imageReader;
- private VirtualDisplay virtualDisplay;
- private int screenDensity;
- private ImageView imageView;
-
- public PaintScreenShot(AppCompatActivity appCompatActivity) {
- this.appCompatActivity = appCompatActivity;
- }
-
- public void onCreate() {
-
- Button button = appCompatActivity.findViewById(R.id.capture);
- // ボタンタップでスクリーンショットを撮る
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- getScreenshot();
- }
- });
-
- // 撮影したスクリーンを表示するImageView
- imageView = appCompatActivity.findViewById(R.id.image);
-
- // 画面の縦横サイズとdpを取得
- DisplayMetrics displayMetrics = new DisplayMetrics();
- appCompatActivity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
- screenDensity = displayMetrics.densityDpi;
- displayWidth = displayMetrics.widthPixels;
- displayHeight = displayMetrics.heightPixels;
-
- mpManager = (MediaProjectionManager)
- appCompatActivity.getSystemService(MEDIA_PROJECTION_SERVICE);
-
- // permissionを確認するintentを投げ、ユーザーの許可・不許可を受け取る
- if(mpManager != null){
- appCompatActivity.startActivityForResult(mpManager.createScreenCaptureIntent(),
- REQUEST_MEDIA_PROJECTION);
- }
- }
-
- // ユーザーの許可を受け取る
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
-
- if (REQUEST_MEDIA_PROJECTION == requestCode) {
- if (resultCode != RESULT_OK) {
- // 拒否された
- Toast.makeText(appCompatActivity,
- "User cancelled", Toast.LENGTH_LONG).show();
- return;
- }
- // 許可された結果を受け取る
- setUpMediaProjection(resultCode, data);
- }
- }
-
- private void setUpMediaProjection(int code, Intent intent) {
- mProjection = mpManager.getMediaProjection(code, intent);
- setUpVirtualDisplay();
- }
-
- private void setUpVirtualDisplay() {
- imageReader = ImageReader.newInstance(
- displayWidth, displayHeight, 0x1, 2);
-
- virtualDisplay = mProjection.createVirtualDisplay("ScreenCapture",
- displayWidth, displayHeight, screenDensity,
- DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
- imageReader.getSurface(), null, null);
- }
-
- private void getScreenshot() {
- // ImageReaderから画面を取り出す
- Log.d("debug", "getScreenshot");
-
- Image image = imageReader.acquireLatestImage();
- Image.Plane[] planes = image.getPlanes();
- ByteBuffer buffer = planes[0].getBuffer();
-
- int pixelStride = planes[0].getPixelStride();
- int rowStride = planes[0].getRowStride();
- int rowPadding = rowStride - pixelStride * displayWidth;
-
- // バッファからBitmapを生成
- Bitmap bitmap = Bitmap.createBitmap(
- displayWidth + rowPadding / pixelStride, displayHeight,
- Bitmap.Config.ARGB_8888);
- bitmap.copyPixelsFromBuffer(buffer);
- image.close();
-
- imageView.setImageBitmap(bitmap);
- }
-
- public void onDestroy() {
- if (virtualDisplay != null) {
- Log.d("debug","release VirtualDisplay");
- virtualDisplay.release();
- }
- }
-}
\ No newline at end of file
+//package org.ntlab.acanthus_client.views.paint;
+//
+//import androidx.appcompat.app.AppCompatActivity;
+//
+//import android.app.Activity;
+//import android.graphics.ImageFormat;
+//import android.os.Bundle;
+//import android.content.Intent;
+//import android.graphics.Bitmap;
+//import android.graphics.PixelFormat;
+//import android.hardware.display.DisplayManager;
+//import android.hardware.display.VirtualDisplay;
+//import android.media.Image;
+//import android.media.ImageReader;
+//import android.media.projection.MediaProjection;
+//import android.media.projection.MediaProjectionManager;
+//import android.util.DisplayMetrics;
+//import android.util.Log;
+//import android.view.View;
+//import android.widget.Button;
+//import android.widget.ImageView;
+//import android.widget.Toast;
+//
+//import com.google.android.material.bottomnavigation.BottomNavigationView;
+//
+//import org.ntlab.acanthus_client.R;
+//
+//import java.nio.ByteBuffer;
+//
+//import static android.app.Activity.RESULT_OK;
+//import static android.content.Context.MEDIA_PROJECTION_SERVICE;
+//import static android.graphics.ImageFormat.JPEG;
+//
+//
+//public class PaintScreenShot {
+//
+// private AppCompatActivity appCompatActivity;
+// private MediaProjectionManager mpManager;
+// private MediaProjection mProjection;
+// private static final int REQUEST_MEDIA_PROJECTION = 1001;
+//
+// private int displayWidth, displayHeight;
+// private ImageReader imageReader;
+// private VirtualDisplay virtualDisplay;
+// private int screenDensity;
+// private ImageView imageView;
+//
+// public PaintScreenShot(AppCompatActivity appCompatActivity) {
+// this.appCompatActivity = appCompatActivity;
+// }
+//
+// public void onCreate() {
+//
+// Button button = appCompatActivity.findViewById(R.id.capture);
+// // ボタンタップでスクリーンショットを撮る
+// button.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View view) {
+// getScreenshot();
+// }
+// });
+//
+// // 撮影したスクリーンを表示するImageView
+// imageView = appCompatActivity.findViewById(R.id.image);
+//
+// // 画面の縦横サイズとdpを取得
+// DisplayMetrics displayMetrics = new DisplayMetrics();
+// appCompatActivity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
+// screenDensity = displayMetrics.densityDpi;
+// displayWidth = displayMetrics.widthPixels;
+// displayHeight = displayMetrics.heightPixels;
+//
+// mpManager = (MediaProjectionManager)
+// appCompatActivity.getSystemService(MEDIA_PROJECTION_SERVICE);
+//
+// // permissionを確認するintentを投げ、ユーザーの許可・不許可を受け取る
+// if(mpManager != null){
+// appCompatActivity.startActivityForResult(mpManager.createScreenCaptureIntent(),
+// REQUEST_MEDIA_PROJECTION);
+// }
+// }
+//
+// // ユーザーの許可を受け取る
+// public void onActivityResult(int requestCode, int resultCode, Intent data) {
+//
+// if (REQUEST_MEDIA_PROJECTION == requestCode) {
+// if (resultCode != RESULT_OK) {
+// // 拒否された
+// Toast.makeText(appCompatActivity,
+// "User cancelled", Toast.LENGTH_LONG).show();
+// return;
+// }
+// // 許可された結果を受け取る
+// setUpMediaProjection(resultCode, data);
+// }
+// }
+//
+// private void setUpMediaProjection(int code, Intent intent) {
+// mProjection = mpManager.getMediaProjection(code, intent);
+// setUpVirtualDisplay();
+// }
+//
+// private void setUpVirtualDisplay() {
+// imageReader = ImageReader.newInstance(
+// displayWidth, displayHeight, 0x1, 2);
+//
+// virtualDisplay = mProjection.createVirtualDisplay("ScreenCapture",
+// displayWidth, displayHeight, screenDensity,
+// DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
+// imageReader.getSurface(), null, null);
+// }
+//
+// private void getScreenshot() {
+// // ImageReaderから画面を取り出す
+// Log.d("debug", "getScreenshot");
+//
+// Image image = imageReader.acquireLatestImage();
+// Image.Plane[] planes = image.getPlanes();
+// ByteBuffer buffer = planes[0].getBuffer();
+//
+// int pixelStride = planes[0].getPixelStride();
+// int rowStride = planes[0].getRowStride();
+// int rowPadding = rowStride - pixelStride * displayWidth;
+//
+// // バッファからBitmapを生成
+// Bitmap bitmap = Bitmap.createBitmap(
+// displayWidth + rowPadding / pixelStride, displayHeight,
+// Bitmap.Config.ARGB_8888);
+// bitmap.copyPixelsFromBuffer(buffer);
+// image.close();
+//
+// imageView.setImageBitmap(bitmap);
+// }
+//
+// public void onDestroy() {
+// if (virtualDisplay != null) {
+// Log.d("debug","release VirtualDisplay");
+// virtualDisplay.release();
+// }
+// }
+//}
\ No newline at end of file
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 51a3d0d..58a20ca 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
@@ -2,7 +2,6 @@
import android.graphics.Color;
import android.os.Bundle;
-import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
@@ -49,6 +48,9 @@
edtBlue = root.findViewById(R.id.edtBlue);
edtThickness = root.findViewById(R.id.edtThickness);
+ strokeCanvasView = root.findViewById(R.id.strokeCanvasView);
+ strokeCanvasView.setStrokeWidth(paintCanvas.getPen().getThickness());
+
//seekBarとEditTextの初期値
sbAlpha.setProgress(paintCanvas.getPen().getAlpha());
edtAlpha.setText(String.format("%1$d", sbAlpha.getProgress()));
@@ -130,7 +132,8 @@
case R.id.seekBarThickness:
edtThickness.setText(String.format("%1$d", progress));
paintCanvas.getPen().setThickness(progress);
- //strokeCanvasView.setStrokeWidth(progress,paintCanvas);
+ strokeCanvasView.setStrokeWidth(progress);
+ strokeCanvasView.clearCanvas();
break;
default:
return;
@@ -146,6 +149,7 @@
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
+
}
@@ -185,7 +189,8 @@
case R.id.edtThickness:
sbThickness.setProgress(value);
value = Math.max(0, Math.min(50, value));
- //strokeCanvasView.setStrokeWidth(value,paintCanvas);
+ strokeCanvasView.setStrokeWidth(value);
+ strokeCanvasView.clearCanvas();
break;
default:
return;
@@ -225,7 +230,8 @@
case R.id.edtThickness:
value = Math.max(0, Math.min(50, value));
sbThickness.setProgress(value);
- //strokeCanvasView.setStrokeWidth(value,paintCanvas);
+ strokeCanvasView.setStrokeWidth(value);
+ strokeCanvasView.clearCanvas();
break;
default:
return false;
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/StrokeCanvasView.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/StrokeCanvasView.java
index 59b596c..c57eb39 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/StrokeCanvasView.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/StrokeCanvasView.java
@@ -13,7 +13,7 @@
public class StrokeCanvasView extends View{
private Paint paint;
private PaintCanvas paintCanvas;
- private Integer strokeWidth=20;
+ private Integer strokeWidth;
private boolean viewflg;
public StrokeCanvasView(Context context, AttributeSet attrs) {
@@ -23,25 +23,19 @@
}
@Override
protected void onDraw(Canvas canvas){
- //this.strokeWidth = this.paintCanvas.getPen().getThickness();
- if(viewflg) {
- paint.setStrokeWidth(this.strokeWidth);
- paint.setColor(Color.argb(255, 0, 0, 0));
- canvas.drawLine(0, 25, 150, 25, paint);
- }else
- canvas.drawColor(0, PorterDuff.Mode.CLEAR);
+ paint.setStrokeWidth(this.strokeWidth);
+ paint.setColor(Color.argb(255, 0, 0, 0));
+ canvas.drawLine(0, 60, 200, 60, paint);
}
- public void setStrokeWidth(Integer width ,PaintCanvas paintCanvas){
+ public void setStrokeWidth(Integer width ){
this.strokeWidth = width;
- this.paintCanvas = paintCanvas;
}
- public void showCanvas(boolean flg){
- viewflg = flg;
+ public void clearCanvas(){
// 再描画
invalidate();
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/InvitesConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/InvitesConnectionModel.java
index a014d0c..0fa352e 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/InvitesConnectionModel.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/InvitesConnectionModel.java
@@ -50,15 +50,15 @@
String token = "abc0";
int dummyAid = 1111;
- Call call = invitesRest.addInvite(dummyAid, owner.toString(), invitedUid.toString(), token);
- call.enqueue(new Callback() {
+ Call call = invitesRest.addInvite(dummyAid, owner.toString(), invitedUid.toString(), token);
+ call.enqueue(new Callback() {
@Override
- public void onResponse(Call call, Response response) {
+ public void onResponse(Call call, Response response) {
if (response.isSuccessful()) ;
}
@Override
- public void onFailure(Call call, Throwable t) {
+ public void onFailure(Call call, Throwable t) {
}
});
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 8d4d1fa..cbef89d 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
@@ -8,6 +8,7 @@
import android.widget.Button;
import android.widget.TextView;
+import org.ntlab.acanthus_client.Acanthus;
import org.ntlab.acanthus_client.R;
import org.ntlab.acanthus_client.databinding.ActivitySignUpBinding;
import org.ntlab.acanthus_client.entities.AccountUidJson;
@@ -32,6 +33,7 @@
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ setTheme(R.style.AppTheme_NoTitleBar);//タイトルバーを消す
init();
}
@@ -45,6 +47,8 @@
.build();
final AccountsRest accountsRest = retrofit.create(AccountsRest.class);
+ Acanthus acanthus = (Acanthus) getApplication();
+
// 各フォーム取得
String name = binding.editTextTextSignUpPersonName.getText().toString();
String emailAddress = binding.editTextTextSignUpEmailAddress.getText().toString();
@@ -54,8 +58,12 @@
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
- if (response.isSuccessful()) transitionLoginActivity();
- else clearForm();
+ if (response.isSuccessful()) {
+ acanthus.setPreferenceName(name);
+ acanthus.setPreferenceEmail(emailAddress);
+ acanthus.setPreferencePassword(password);
+ transitionLoginActivity();
+ } else clearForm();
}
@Override
diff --git a/app/src/main/res/drawable/flame_underline.xml b/app/src/main/res/drawable/flame_underline.xml
new file mode 100644
index 0000000..37b58b1
--- /dev/null
+++ b/app/src/main/res/drawable/flame_underline.xml
@@ -0,0 +1,10 @@
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_baseline_cancel_24.xml b/app/src/main/res/drawable/ic_baseline_cancel_24.xml
index 1062dda..0d13f4d 100644
--- a/app/src/main/res/drawable/ic_baseline_cancel_24.xml
+++ b/app/src/main/res/drawable/ic_baseline_cancel_24.xml
@@ -1,5 +1,11 @@
-
-
+
+
diff --git a/app/src/main/res/drawable/ic_baseline_group_add.xml b/app/src/main/res/drawable/ic_baseline_group_add.xml
new file mode 100644
index 0000000..d5363ae
--- /dev/null
+++ b/app/src/main/res/drawable/ic_baseline_group_add.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_launcher.png b/app/src/main/res/drawable/ic_launcher.png
new file mode 100644
index 0000000..67ade20
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/drawable/shape_style.xml b/app/src/main/res/drawable/shape_style.xml
index d1dd42d..32e0d22 100644
--- a/app/src/main/res/drawable/shape_style.xml
+++ b/app/src/main/res/drawable/shape_style.xml
@@ -1,7 +1,10 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_animation.xml b/app/src/main/res/layout/activity_animation.xml
index bc38433..06571be 100644
--- a/app/src/main/res/layout/activity_animation.xml
+++ b/app/src/main/res/layout/activity_animation.xml
@@ -6,6 +6,18 @@
android:layout_height="match_parent"
tools:context=".views.animation.AnimationActivity">
+
+
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_app_information.xml b/app/src/main/res/layout/activity_app_information.xml
new file mode 100644
index 0000000..2a95221
--- /dev/null
+++ b/app/src/main/res/layout/activity_app_information.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_how_to_use.xml b/app/src/main/res/layout/activity_how_to_use.xml
new file mode 100644
index 0000000..6bc0748
--- /dev/null
+++ b/app/src/main/res/layout/activity_how_to_use.xml
@@ -0,0 +1,9 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_inquiry.xml b/app/src/main/res/layout/activity_inquiry.xml
new file mode 100644
index 0000000..d684a3b
--- /dev/null
+++ b/app/src/main/res/layout/activity_inquiry.xml
@@ -0,0 +1,9 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_login_screen.xml b/app/src/main/res/layout/activity_login_screen.xml
index ff13fca..9ec0573 100644
--- a/app/src/main/res/layout/activity_login_screen.xml
+++ b/app/src/main/res/layout/activity_login_screen.xml
@@ -51,7 +51,8 @@
android:gravity="center|center_vertical"
android:ems="10"
android:inputType="textEmailAddress"
- android:text="d0@dummy.com" />
+ android:text="d0@dummy.com"
+ android:textColor="@color/black"/>
@@ -82,7 +83,8 @@
android:gravity="center|center_vertical"
android:ems="10"
android:inputType="textPassword"
- android:text="nittalab" />
+ android:text="nittalab"
+ android:textColor="@color/black"/>
@@ -115,6 +117,7 @@
android:gravity="center|center_vertical"
android:onClick="onClickSignUp"
android:text="新規登録はこちら"
+ android:textColor="@color/black"
android:textStyle="bold" />
diff --git a/app/src/main/res/layout/activity_logout.xml b/app/src/main/res/layout/activity_logout.xml
new file mode 100644
index 0000000..6452088
--- /dev/null
+++ b/app/src/main/res/layout/activity_logout.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 20e04a9..7d8d694 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -6,31 +6,38 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
-
-
+ tools:layout_editor_absoluteX="0dp">
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_paint.xml b/app/src/main/res/layout/activity_paint.xml
index 7d0ecc4..0e344df 100644
--- a/app/src/main/res/layout/activity_paint.xml
+++ b/app/src/main/res/layout/activity_paint.xml
@@ -7,6 +7,17 @@
android:orientation="vertical"
tools:context=".views.paint.PaintActivity">
+
-
-
-
-
-
-
-
+ tools:layout_editor_absoluteX="0dp">
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_privacy_policy.xml b/app/src/main/res/layout/activity_privacy_policy.xml
new file mode 100644
index 0000000..b703c4c
--- /dev/null
+++ b/app/src/main/res/layout/activity_privacy_policy.xml
@@ -0,0 +1,641 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_sign_up.xml b/app/src/main/res/layout/activity_sign_up.xml
index 34e086d..3300896 100644
--- a/app/src/main/res/layout/activity_sign_up.xml
+++ b/app/src/main/res/layout/activity_sign_up.xml
@@ -50,7 +50,8 @@
android:gravity="center|center_vertical"
android:ems="10"
android:inputType="textPersonName"
- android:text="name" />
+ android:text="name"
+ android:textColor="@color/black"/>
@@ -81,7 +82,8 @@
android:gravity="center|center_vertical"
android:ems="10"
android:inputType="textEmailAddress"
- android:text="d0@dummy.com" />
+ android:text="d0@dummy.com"
+ android:textColor="@color/black"/>
@@ -112,7 +114,8 @@
android:gravity="center|center_vertical"
android:ems="10"
android:inputType="textPassword"
- android:text="nittalab" />
+ android:text="nittalab"
+ android:textColor="@color/black"/>
@@ -145,7 +148,8 @@
android:gravity="center|center_vertical"
android:onClick="onClickAlreadyLoggedIn"
android:text="ログインはこちら"
- android:textStyle="bold" />
+ android:textStyle="bold"
+ android:textColor="@color/black"/>
diff --git a/app/src/main/res/layout/activity_terms_of_service.xml b/app/src/main/res/layout/activity_terms_of_service.xml
new file mode 100644
index 0000000..1f1b26a
--- /dev/null
+++ b/app/src/main/res/layout/activity_terms_of_service.xml
@@ -0,0 +1,796 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_userpage.xml b/app/src/main/res/layout/activity_userpage.xml
index 9a44e1b..a4adfe0 100644
--- a/app/src/main/res/layout/activity_userpage.xml
+++ b/app/src/main/res/layout/activity_userpage.xml
@@ -104,7 +104,7 @@
android:layout_marginRight="10dp"
android:layout_weight="0.5"
android:background="@drawable/flame_edit_list"
- android:text="フォロー"
+ android:text="フォロー中"
android:typeface="sans"/>
+ android:clipToPadding="false" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_edit_header.xml b/app/src/main/res/layout/fragment_edit_header.xml
new file mode 100644
index 0000000..7468fea
--- /dev/null
+++ b/app/src/main/res/layout/fragment_edit_header.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
\ 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 4b49da8..59f7625 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -14,15 +14,11 @@
android:id="@+id/animation_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_margin="0dp"
- android:padding="16dp"
+ android:layout_marginLeft="0dp"
+ android:paddingTop="16dp"
+ android:paddingBottom="16dp"
android:clipToPadding="false"
android:divider="@color/white"
- android:dividerHeight="14dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0" />
+ android:dividerHeight="14dp" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_mypage.xml b/app/src/main/res/layout/fragment_mypage.xml
index 0bbf1db..5ab7128 100644
--- a/app/src/main/res/layout/fragment_mypage.xml
+++ b/app/src/main/res/layout/fragment_mypage.xml
@@ -12,11 +12,21 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
- android:layout_margin="40dp"
- android:paddingBottom="70dp"
+ android:layout_margin="16dp"
+ android:paddingBottom="50dp"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="0dp">
+
+
-
-
+ android:layout_marginBottom="10dp">
+
+
+
+
+
+
+
+
+
+
+ android:layout_marginTop="10dp"
+ android:layout_marginBottom="10dp">
+
+
-
+
+
+
+
+
-
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_pen_detail.xml b/app/src/main/res/layout/fragment_pen_detail.xml
index 887445f..893167c 100644
--- a/app/src/main/res/layout/fragment_pen_detail.xml
+++ b/app/src/main/res/layout/fragment_pen_detail.xml
@@ -4,230 +4,267 @@
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/PenDetailFragment"
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="15dp"
+ android:padding="25dp"
android:background="@drawable/shape_style">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ tools:layout_editor_absoluteX="0dp">
-
+
-
+
-
+
+
+
-
+
-
+
-
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml
index cc7bfca..2228c3d 100644
--- a/app/src/main/res/layout/fragment_search.xml
+++ b/app/src/main/res/layout/fragment_search.xml
@@ -178,6 +178,32 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/invites_list.xml b/app/src/main/res/layout/invites_list.xml
new file mode 100644
index 0000000..26edc44
--- /dev/null
+++ b/app/src/main/res/layout/invites_list.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/work_list.xml b/app/src/main/res/layout/work_list.xml
index 311fd17..5f5d70d 100644
--- a/app/src/main/res/layout/work_list.xml
+++ b/app/src/main/res/layout/work_list.xml
@@ -9,6 +9,8 @@
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginLeft="16dp"
+ android:layout_marginRight="16dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingRight="7dp"
diff --git a/app/src/main/res/menu/bottom_nav_menu.xml b/app/src/main/res/menu/bottom_nav_menu.xml
index 5ace756..c633581 100644
--- a/app/src/main/res/menu/bottom_nav_menu.xml
+++ b/app/src/main/res/menu/bottom_nav_menu.xml
@@ -14,7 +14,7 @@
android:icon="@android:drawable/ic_menu_add"
android:title="@string/title_create" />
-
-
\ No newline at end of file
diff --git a/app/src/main/res/menu/top_nav_main.xml b/app/src/main/res/menu/top_nav_main.xml
new file mode 100644
index 0000000..fa37784
--- /dev/null
+++ b/app/src/main/res/menu/top_nav_main.xml
@@ -0,0 +1,16 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml
index ec8b35f..bf3974f 100644
--- a/app/src/main/res/navigation/mobile_navigation.xml
+++ b/app/src/main/res/navigation/mobile_navigation.xml
@@ -23,7 +23,7 @@
tools:layout="@layout/fragment_create" />
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 8c78da0..12faa9e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -9,7 +9,7 @@
#FF03DAC5
#FF018786
#FF000000
- #c0c0c0
+ #ACABAB
#FFFFFFFF
#F14B16
#F14B16
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 463f2c3..eb6c8ab 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -3,8 +3,17 @@
+
+
@@ -18,7 +27,6 @@
-