diff --git a/.idea/misc.xml b/.idea/misc.xml index 6199cc2..35ebcc0 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -6,4 +6,11 @@ + + + \ No newline at end of file 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 new file mode 100644 index 0000000..3556733 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java @@ -0,0 +1,65 @@ +package org.ntlab.acanthus_client.views.main_menu_ui.create; + +import android.content.Intent; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.ViewModelProvider; + +import org.ntlab.acanthus_client.Acanthus; +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.main_menu_ui.edit.EditViewModel; +import org.ntlab.acanthus_client.views.paint.PaintActivity; + +public class CreateFragment extends Fragment { + private CreateViewModel createViewModel; + private FragmentCreateBinding binding; + + public View onCreateView(@NonNull LayoutInflater inflater, + ViewGroup container, Bundle savedInstanceState) { + createViewModel = + new ViewModelProvider(this).get(CreateViewModel.class); + + binding = FragmentCreateBinding.inflate(inflater, container, false); + View root = binding.getRoot(); + + return root; + } + + @Override + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + Button appButton = view.findViewById(R.id.Paint_button_create); + + //ダミーユーザー + Integer uid = 1; + String token = "abc0"; + + appButton.setOnClickListener(v -> { + Acanthus acanthus = (Acanthus) getActivity().getApplication(); + //Integer uid = acanthus.getPreferenceUid(); + String name = ((EditText)view.findViewById(R.id.AnimationNameCreate)).getText().toString(); + //String token = acanthus.getPreferenceToken(); + Integer aid = createViewModel.startWorkCreate(uid, name, token); + acanthus.setAid(aid); + transitionPaintActivity(); + }); + } + + //----------------------------------------------------------------- + // 画面遷移 + private void transitionPaintActivity() { + Acanthus acanthus = (Acanthus) getActivity().getApplication(); + Intent intent = new Intent(acanthus, PaintActivity.class); + startActivity(intent); + } +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateViewModel.java new file mode 100644 index 0000000..4bb88e7 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateViewModel.java @@ -0,0 +1,46 @@ +package org.ntlab.acanthus_client.views.main_menu_ui.create; + +import androidx.lifecycle.ViewModel; + +import org.ntlab.acanthus_client.entities.AidJson; +import org.ntlab.acanthus_client.resources.accounts.WorkRest; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; + +public class CreateViewModel extends ViewModel { + //新規作品作成APIの呼び出し + public Integer startWorkCreate(Integer uid, String animationName, String token) { + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + final WorkRest workRest = retrofit.create(WorkRest.class); + + final Integer[] aid = new Integer[1]; + + //作品の新規作成 + Call call = workRest.createWork(uid, animationName, token); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()) { + if (response.body() != null) { + aid[0] = response.body().getAid(); + //aidJsonMutableLiveData.setValue(response.body()); + } + } + } + + @Override + public void onFailure(Call call, Throwable t) { + + } + }); + + return aid[0]; + } +} 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 80f2e93..5ae613e 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 @@ -61,4 +61,5 @@ } //----------------------------------------------------------------- + } diff --git a/app/src/main/res/layout/fragment_create.xml b/app/src/main/res/layout/fragment_create.xml new file mode 100644 index 0000000..74ccc83 --- /dev/null +++ b/app/src/main/res/layout/fragment_create.xml @@ -0,0 +1,34 @@ + + + +