[update]消えた進捗を取り戻しました #83

Merged r-kuraoka merged 1 commit into nitta-lab-2021:master from nitta-lab-2021:feature/accept_invitation on 29 Jun 2021
Showing 5 changed files
View
2
■■■
.idea/misc.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
View
2
■■■
app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java
@FormUrlEncoded
@DELETE("gallery/{aid}/incites")
Call<String> deleteInvite(
@Path("aid") Integer aid,
@Field("invitedUid") String incitedUid,
@Field("invitedUid") String invitedUid,
@Field("invitedToken") String invitedToken
);
 
//-----------------------------------------------------------------
View
3
■■
app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java
Call<String> deleteStrokes(@Path("aid") Integer aid, @Field("uid") Integer uid);
 
//-----------------------------------------------------------------
//
@GET("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/positions")
@DELETE("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/positions")
Call<String> deleteStrokeNo(@Path("aid") Integer aid, @Path("strokeNo") Integer strokeNo);
//-----------------------------------------------------------------
}
View
33
app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintConnectionModel.java
package org.ntlab.acanthus_client.views.paint;
 
import androidx.lifecycle.MutableLiveData;
import androidx.navigation.ActivityNavigator;
 
import org.ntlab.acanthus_client.Acanthus;
import org.ntlab.acanthus_client.entities.Animation;
import org.ntlab.acanthus_client.entities.Position;
import org.ntlab.acanthus_client.resources.gallery.GalleryRest;
import org.ntlab.acanthus_client.resources.gallery.StrokesRest;
 
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection;
 
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
private Animation editedAnimation;
private Integer currentStrokeNo;
private Retrofit retrofit;
private Acanthus acanthus;
private Collection getPaint;
 
//-----------------------------------------------------------------
//-----------------------------------------------------------------
//
//-----------------------------------------------------------------
// init
public void init(Acanthus acanthus) {
this.acanthus = acanthus;
this.getPaint = new ArrayList();
this.retrofit = new Retrofit.Builder()
.baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/")
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(JacksonConverterFactory.create())
}
});
}
//-----------------------------------------------------------------
//Getを追加
public void apigetPosition(MutableLiveData<Collection<Position>> paintPosition){
final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
 
//-----------------------------------------------------------------
// 筆跡追加API
Call<Collection<Position>> call = strokesRest.getPositions(acanthus.getAid(),0);
call.enqueue(new Callback<Collection<Position>>() {
@Override
public void onResponse(Call<Collection<Position>> call, Response<Collection<Position>> response) {
if (response.isSuccessful()) paintPosition.setValue(response.body());
}
 
@Override
public void onFailure(Call<Collection<Position>> call, Throwable t) {
 
}
});
 
}
 
public Collection getPosition(){
return this.getPaint;
}
 
}
View
23
app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java
package org.ntlab.acanthus_client.views.paint;
 
import android.util.Log;
import android.view.MotionEvent;
 
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
 
import org.jetbrains.annotations.NotNull;
import org.ntlab.acanthus_client.Acanthus;
import org.ntlab.acanthus_client.entities.Position;
 
import java.util.ArrayList;
import java.util.Collection;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
 
 
//-----------------------------------------------------------------
// 描画処理の仲介
public class PaintViewModel extends ViewModel {
public class PaintViewModel extends ViewModel implements Runnable{
 
private PaintModelContainer paintModelContainer;
private MutableLiveData<Collection<Position>> paintPosition;
 
//-----------------------------------------------------------------
//-----------------------------------------------------------------
// init
public void init(Acanthus acanthus) {
paintModelContainer = new PaintModelContainer(acanthus);
paintModelContainer.getPaintConnectionModel().init(acanthus);
paintModelContainer.getInvitesConnectionModel().init(acanthus);
paintPosition = new MutableLiveData<>();
ScheduledThreadPoolExecutor thread = new ScheduledThreadPoolExecutor(1);
thread.scheduleWithFixedDelay(this, 1000L, 100L, TimeUnit.MICROSECONDS);
}
 
//-----------------------------------------------------------------
// 描画APIの通信リクエスト
}
 
//-----------------------------------------------------------------
// 一定間隔でサーバー上の筆跡を取得する(GET)
public void startObservationOfChangedStroke() {
@Override
public void run() {
Log.d("debug", "run: ");
paintModelContainer.getPaintConnectionModel().apigetPosition(paintPosition);
}
 
//-----------------------------------------------------------------
}