Commit cac9468f by Yu-Tung

上傳影片,影片分割後上傳&廠課破圖&加上傳完成或失敗的dialog&解決

parent 279c854b
AudiovisualRecord
\ No newline at end of file
...@@ -64,22 +64,6 @@ public class LoginActivity extends BaseActivity implements LoginContract.View, V ...@@ -64,22 +64,6 @@ public class LoginActivity extends BaseActivity implements LoginContract.View, V
switch (v.getId()) { switch (v.getId()) {
case R.id.btn_login: case R.id.btn_login:
btnLogin.setEnabled(false); btnLogin.setEnabled(false);
// showProgressDialog("登入中");
// new Thread(){
// public void run(){
// try{
// sleep(5000);
// presenter.onLogin("", "");
// dismissProgressDialog();
// }
// catch(Exception e){
// e.printStackTrace();
// }
// finally{
// dismissProgressDialog();
// }
// }
// }.start();
presenter.onLogin("", ""); presenter.onLogin("", "");
break; break;
...@@ -106,4 +90,9 @@ public class LoginActivity extends BaseActivity implements LoginContract.View, V ...@@ -106,4 +90,9 @@ public class LoginActivity extends BaseActivity implements LoginContract.View, V
intent.putExtras(bag); intent.putExtras(bag);
startActivity(intent); startActivity(intent);
} }
@Override
public void setButtonEnable(Boolean boo) {
btnLogin.setEnabled(boo);
}
} }
...@@ -6,6 +6,7 @@ import com.example.audiovisualrecord.base.BaseView; ...@@ -6,6 +6,7 @@ import com.example.audiovisualrecord.base.BaseView;
public interface LoginContract { public interface LoginContract {
interface View extends BaseView { interface View extends BaseView {
void onCompleteLogin(String token); void onCompleteLogin(String token);
void setButtonEnable(Boolean boo);
} }
interface Presenter<V extends View> extends BaseAttacher<V> { interface Presenter<V extends View> extends BaseAttacher<V> {
......
...@@ -27,7 +27,6 @@ public class LoginPresenter<V extends LoginContract.View> implements LoginContra ...@@ -27,7 +27,6 @@ public class LoginPresenter<V extends LoginContract.View> implements LoginContra
public LoginPresenter(V view) { public LoginPresenter(V view) {
this.view = view; this.view = view;
api = HttpMethods.getInstance().getApi(); api = HttpMethods.getInstance().getApi();
// loginPreferences = new LoginPreferences(context);
compositeDisposable = new CompositeDisposable(); compositeDisposable = new CompositeDisposable();
} }
...@@ -41,11 +40,8 @@ public class LoginPresenter<V extends LoginContract.View> implements LoginContra ...@@ -41,11 +40,8 @@ public class LoginPresenter<V extends LoginContract.View> implements LoginContra
.subscribeWith(new DisposableObserver<LoginResponse>() { .subscribeWith(new DisposableObserver<LoginResponse>() {
@Override @Override
public void onNext(LoginResponse loginResponse) { public void onNext(LoginResponse loginResponse) {
Log.e("next", loginResponse.getmMsg());
if ("True".equals(loginResponse.getmResult())) { if ("True".equals(loginResponse.getmResult())) {
// loginPreferences.setToken(loginResponse.getmToken());
view.onCompleteLogin(loginResponse.getmMsg()); view.onCompleteLogin(loginResponse.getmMsg());
} else { } else {
view.showDialogCaveatMessage("登入失敗"); view.showDialogCaveatMessage("登入失敗");
...@@ -60,12 +56,11 @@ public class LoginPresenter<V extends LoginContract.View> implements LoginContra ...@@ -60,12 +56,11 @@ public class LoginPresenter<V extends LoginContract.View> implements LoginContra
view.showDialogCaveatMessage("請檢查網路狀態"); view.showDialogCaveatMessage("請檢查網路狀態");
} }
view.showDialogCaveatMessage("登入失敗"); view.showDialogCaveatMessage("登入失敗");
view.setButtonEnable(true);
} }
@Override @Override
public void onComplete() { public void onComplete() {
Log.e("com", "asdasd");
} }
}) })
); );
......
...@@ -25,13 +25,16 @@ import com.example.audiovisualrecord.MagicFileChooser; ...@@ -25,13 +25,16 @@ import com.example.audiovisualrecord.MagicFileChooser;
import com.example.audiovisualrecord.R; import com.example.audiovisualrecord.R;
import com.example.audiovisualrecord.base.BaseActivity; import com.example.audiovisualrecord.base.BaseActivity;
import com.example.audiovisualrecord.ui.chooseitem.ChooseDeviceItemData; import com.example.audiovisualrecord.ui.chooseitem.ChooseDeviceItemData;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResponse; import com.example.audiovisualrecord.utils.api.apidata.searchco.COResponse;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResponse; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResponse;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDResponse; import com.example.audiovisualrecord.utils.api.searchshift.SHIFTResponse;
import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTResponse; import com.example.audiovisualrecord.utils.api.searchpz.PZResponse;
import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTResponse; import com.example.audiovisualrecord.utils.api.searchdp.DPResponse;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
...@@ -73,7 +76,8 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -73,7 +76,8 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
String token, imageFilePath; String token, imageFilePath;
int countFile = 0; int countFile = 0;
TextView tvCompany, tvFactory, tvClass, tvUnit, tvShootType; private TextView tvCompany, tvFactory, tvClass, tvUnit, tvShootType;
private TextView textCompany, textFactory, textClass, textUnit, textShootType;
private MainPresenter mPresenter; private MainPresenter mPresenter;
private MainData mMainData; private MainData mMainData;
private ChooseDeviceItemData mChooseDeviceItemData; private ChooseDeviceItemData mChooseDeviceItemData;
...@@ -117,6 +121,12 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -117,6 +121,12 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
tvUnit.setOnClickListener(this); tvUnit.setOnClickListener(this);
tvClass.setOnClickListener(this); tvClass.setOnClickListener(this);
tvShootType.setOnClickListener(this); tvShootType.setOnClickListener(this);
textCompany = findViewById(R.id.text_company);
textUnit = findViewById(R.id.text_unit);
textShootType = findViewById(R.id.text_shoottype);
textFactory = findViewById(R.id.text_factory);
textClass = findViewById(R.id.text_class);
} }
private void pickImageFromGallery() { private void pickImageFromGallery() {
...@@ -236,17 +246,13 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -236,17 +246,13 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
if (data.getClipData() != null) { if (data.getClipData() != null) {
for (int i = 0; i < data.getClipData().getItemCount(); i++) { for (int i = 0; i < data.getClipData().getItemCount(); i++) {
uriList.add(getPath(data.getClipData().getItemAt(i).getUri())); uriList.add(getPath(data.getClipData().getItemAt(i).getUri()));
Log.e("gggg", "" + uriList.get(i)); // Log.e("gggg", "" + uriList.get(i));
} }
} else if (Build.VERSION.SDK_INT >= 16 && data.getClipData() == null) { } else if (Build.VERSION.SDK_INT >= 16 && data.getClipData() == null) {
uriList.add(getPath(data.getData())); uriList.add(getPath(data.getData()));
Log.e("eee", getPath(data.getData()));
} }
//照片的uri //照片的uri
mPresenter.onGetSid(uriList,getResourceString(R.string.on_upload_image)); mPresenter.onGetSid(uriList,getResourceString(R.string.on_upload_image));
// onUploadFile(uriList, getResourceString(R.string.on_upload_image));
// onUploadFile1();
} }
if (requestCode == PICK_VIDEO_FROM_GALLERY_REQUEST_CODE && resultCode == RESULT_OK) { if (requestCode == PICK_VIDEO_FROM_GALLERY_REQUEST_CODE && resultCode == RESULT_OK) {
...@@ -259,12 +265,8 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -259,12 +265,8 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
uriList.add(getPath(data.getClipData().getItemAt(i).getUri())); uriList.add(getPath(data.getClipData().getItemAt(i).getUri()));
filename.add(FileUtil.fileName(getPath(data.getClipData().getItemAt(i).getUri()))); filename.add(FileUtil.fileName(getPath(data.getClipData().getItemAt(i).getUri())));
Log.e("gggg", "" + uriList.get(i)); // Log.e("gggg", "" + uriList.get(i));
Log.e("dddd", "" + filename.get(i)); // Log.e("dddd", "" + filename.get(i));
// mPresenter.segVideo(uriList.get(i), filename.get(i));
// onUploadFile(uriList, getResourceString(R.string.on_upload_vedio));
} }
Log.e("aaa", count + ""); Log.e("aaa", count + "");
...@@ -274,21 +276,8 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -274,21 +276,8 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
String path = FileUtil.getFileAbsolutePath(this, data.getData()); String path = FileUtil.getFileAbsolutePath(this, data.getData());
String name = FileUtil.fileName(path); String name = FileUtil.fileName(path);
uriList.add(path); uriList.add(path);
// onUploadFile(uriList, getResourceString(R.string.on_upload_vedio)); mPresenter.segVideo(path, getResourceString(R.string.on_upload_vedio));
ArrayList segVideoList = new ArrayList();
segVideoList = mPresenter.segVideo(path, name);
for (int i=0;i<segVideoList.size();i++)
Log.e("aaa",segVideoList.get(i).toString());
mPresenter.onGetSid(segVideoList,getResourceString(R.string.on_upload_vedio));
Log.e("path", path);
// TODO here==================== // TODO here====================
// onUploadFile(compressList, getResourceString(R.string.on_upload_vedio));
// onUploadFile(uriList, getResourceString(R.string.on_upload_vedio));
//影片的uri //影片的uri
} }
...@@ -296,10 +285,9 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -296,10 +285,9 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
} }
if (requestCode == PICK_FILE_REQUEST_CODE && resultCode == RESULT_OK) { if (requestCode == PICK_FILE_REQUEST_CODE && resultCode == RESULT_OK) {
Uri selectedFile = data.getData(); Uri selectedFile = data.getData();
Log.e("ggggg", "" + selectedFile);
String filePath = MagicFileChooser.getAbsolutePathFromUri(this, selectedFile); String filePath = MagicFileChooser.getAbsolutePathFromUri(this, selectedFile);
Log.e("filePath", filePath + ""); // Log.e("filePath", filePath + "");
// Log.e("ggggg", "" + selectedFile);
checkFileTypeAndOpen(filePath, selectedFile); checkFileTypeAndOpen(filePath, selectedFile);
} }
} }
...@@ -425,31 +413,31 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -425,31 +413,31 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
} }
@Override @Override
public void setPZData(List<MNTFCTResponse> adapterData) { public void setPZData(List<PZResponse> adapterData) {
dialogString.clear(); dialogString.clear();
mMainData.setmMNTFCTDataList(adapterData); mMainData.setmPZDataList(adapterData);
for (MNTFCTResponse mMNTFCTResponse : adapterData) { for (PZResponse mPZResponse : adapterData) {
dialogString.add(mMNTFCTResponse.getmPZNM()); dialogString.add(mPZResponse.getmPZNM());
} }
showItemDialog(dialogString, onFavtoryAreaDialogItemClick); showItemDialog(dialogString, onFavtoryAreaDialogItemClick);
} }
@Override @Override
public void setDPNMData(List<PMFCTResponse> adapterData) { public void setDPNMData(List<DPResponse> adapterData) {
dialogString.clear(); dialogString.clear();
mMainData.setmPMFCTDataList(adapterData); mMainData.setmDPDataList(adapterData);
for (PMFCTResponse mPMFCTResponse : adapterData) { for (DPResponse mDPResponse : adapterData) {
dialogString.add(mPMFCTResponse.getmDPNM()); dialogString.add(mDPResponse.getmDPNM());
} }
showItemDialog(dialogString, onFactoryClassDialogItemClick); showItemDialog(dialogString, onFactoryClassDialogItemClick);
} }
@Override @Override
public void setEQKDData(List<EQKDResponse> adapterData) { public void setEQKDData(List<SHIFTResponse> adapterData) {
dialogString.clear(); dialogString.clear();
mMainData.setmEQKDDataList(adapterData); mMainData.setmSHIFTDataList(adapterData);
for (EQKDResponse mEQKDResponse : adapterData) { for (SHIFTResponse mSHIFTResponse : adapterData) {
dialogString.add(mEQKDResponse.getmShift()); dialogString.add(mSHIFTResponse.getmShift());
} }
showItemDialog(dialogString, onClassUnitDialogItemClick); showItemDialog(dialogString, onClassUnitDialogItemClick);
} }
...@@ -464,10 +452,17 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -464,10 +452,17 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
showItemDialog(dialogString, onShootTypeCategoryDialogItemClick); showItemDialog(dialogString, onShootTypeCategoryDialogItemClick);
} }
//如果能改成用retrofit加rxjava最好,已經嘗試過三天的,可能有缺什麼,不過緊急所以先求功能 @Override
protected void onPause() {
super.onPause();
dismissProgressDialog();
}
//如果能改成用retrofit加rxjava最好,已經嘗試過,可能有缺什麼,不過緊急所以先求功能
@Override @Override
public void onUploadFile(final ArrayList<String> uriList, String type, final String sid) { public void onUploadFile(final ArrayList<String> uriList, String type, final String sid) {
uploadPath = mPresenter.onJudgmentPath(pathCompany, pathFactoryArea,pathFactoryClass,pathClass,pathShootType); uploadPath = mPresenter.onJudgmentPath(pathCompany, pathFactoryArea,pathFactoryClass,pathClass,pathShootType);
dismissProgressDialog();
showProgressDialog(type); showProgressDialog(type);
new Thread(new Runnable() { new Thread(new Runnable() {
@Override @Override
...@@ -498,18 +493,40 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -498,18 +493,40 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
.method("POST", body) .method("POST", body)
.build(); .build();
Log.e("test_url", request.url().toString());
try { try {
Response response = client.newCall(request).execute(); Response response = client.newCall(request).execute();
Log.e("response", response.body().string()); final String responsemessage = response.message();
dismissProgressDialog(); final String responsebody = response.body().string();
JSONObject json = null;
try {
json = new JSONObject(responsebody);
} catch (JSONException e) {
e.printStackTrace();
}
Log.e("response", responsebody);
// dismissProgressDialog();
if (json.get("success").equals("true"))
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
dismissProgressDialog();
showDialogMessage("上傳完成");
}
});
// Log.e("isSuccess",json.get("IsSuccess").toString()); // Log.e("isSuccess",json.get("IsSuccess").toString());
mPresenter.onLogoutSid(sidData); mPresenter.onLogoutSid(sidData); //登出sid
} catch (IOException e) { } catch (final IOException | JSONException e) {
e.printStackTrace(); MainActivity.this.runOnUiThread(new Runnable() {
dismissProgressDialog(); @Override
// showDialogCaveatMessage("上傳失敗"); public void run() {
Log.e("error", "" + e.getMessage()); dismissProgressDialog();
e.printStackTrace();
showDialogMessage("上傳失敗");
Log.e("error", "" + e.getMessage());
}
});
} }
} }
}).start(); }).start();
...@@ -518,7 +535,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -518,7 +535,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
private DialogInterface.OnClickListener onCompanyDialogItemClick = new DialogInterface.OnClickListener() { private DialogInterface.OnClickListener onCompanyDialogItemClick = new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
tvCompany.setText(mMainData.getmCODataList().get(which).getcONM()); textCompany.setText(mMainData.getmCODataList().get(which).getcONM());
pathCompany = mMainData.getmCODataList().get(which).getcONM(); pathCompany = mMainData.getmCODataList().get(which).getcONM();
mChooseDeviceItemData.setCompany(mMainData.getmCODataList().get(which).getcONM()); mChooseDeviceItemData.setCompany(mMainData.getmCODataList().get(which).getcONM());
mChooseDeviceItemData.setCompanyId(mMainData.getmCODataList().get(which).getcO()); mChooseDeviceItemData.setCompanyId(mMainData.getmCODataList().get(which).getcO());
...@@ -529,21 +546,21 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -529,21 +546,21 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
private DialogInterface.OnClickListener onFavtoryAreaDialogItemClick = new DialogInterface.OnClickListener() { private DialogInterface.OnClickListener onFavtoryAreaDialogItemClick = new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
tvFactory.setText(mMainData.getmMNTFCTDataList().get(which).getmPZNM()); textFactory.setText(mMainData.getmPZDataList().get(which).getmPZNM());
pathFactoryArea = mMainData.getmMNTFCTDataList().get(which).getmPZNM(); pathFactoryArea = mMainData.getmPZDataList().get(which).getmPZNM();
mChooseDeviceItemData.setFactoryAreaName(mMainData.getmMNTFCTDataList().get(which).getmPZNM()); mChooseDeviceItemData.setFactoryAreaName(mMainData.getmPZDataList().get(which).getmPZNM());
mChooseDeviceItemData.setFactoryAreaId(mMainData.getmMNTFCTDataList().get(which).getmPZ()); mChooseDeviceItemData.setFactoryAreaId(mMainData.getmPZDataList().get(which).getmPZ());
} }
}; };
private DialogInterface.OnClickListener onFactoryClassDialogItemClick = new DialogInterface.OnClickListener() { private DialogInterface.OnClickListener onFactoryClassDialogItemClick = new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
tvUnit.setText(mMainData.getmPMFCTDataList().get(which).getmDPNM()); textUnit.setText(mMainData.getmDPDataList().get(which).getmDPNM());
pathFactoryClass = mMainData.getmPMFCTDataList().get(which).getmDPNM(); pathFactoryClass = mMainData.getmDPDataList().get(which).getmDPNM();
mChooseDeviceItemData.setFactoryClassCode(mMainData.getmPMFCTDataList().get(which).getmDP()); mChooseDeviceItemData.setFactoryClassCode(mMainData.getmDPDataList().get(which).getmDP());
mChooseDeviceItemData.setFactoryClass(mMainData.getmPMFCTDataList().get(which).getmDPNM()); mChooseDeviceItemData.setFactoryClass(mMainData.getmDPDataList().get(which).getmDPNM());
mChooseDeviceItemData.setProductionPlantId(mMainData.getmPMFCTDataList().get(which).getmPMFCT()); mChooseDeviceItemData.setProductionPlantId(mMainData.getmDPDataList().get(which).getmPMFCT());
} }
}; };
...@@ -551,16 +568,16 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -551,16 +568,16 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
private DialogInterface.OnClickListener onClassUnitDialogItemClick = new DialogInterface.OnClickListener() { private DialogInterface.OnClickListener onClassUnitDialogItemClick = new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
tvClass.setText(mMainData.getmEQKDDataList().get(which).getmShift()); textClass.setText(mMainData.getmSHIFTDataList().get(which).getmShift());
pathClass = mMainData.getmEQKDDataList().get(which).getmShift(); pathClass = mMainData.getmSHIFTDataList().get(which).getmShift();
mChooseDeviceItemData.setDeviceCategory(mMainData.getmEQKDDataList().get(which).getmShift()); mChooseDeviceItemData.setDeviceCategory(mMainData.getmSHIFTDataList().get(which).getmShift());
} }
}; };
private DialogInterface.OnClickListener onShootTypeCategoryDialogItemClick = new DialogInterface.OnClickListener() { private DialogInterface.OnClickListener onShootTypeCategoryDialogItemClick = new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
tvShootType.setText(mMainData.getmTYPEDataList().get(which).getmType()); textShootType.setText(mMainData.getmTYPEDataList().get(which).getmType());
pathShootType = mMainData.getmTYPEDataList().get(which).getmType(); pathShootType = mMainData.getmTYPEDataList().get(which).getmType();
mChooseDeviceItemData.setShootType(mMainData.getmTYPEDataList().get(which).getmType()); mChooseDeviceItemData.setShootType(mMainData.getmTYPEDataList().get(which).getmType());
} }
......
...@@ -2,12 +2,12 @@ package com.example.audiovisualrecord.ui.main; ...@@ -2,12 +2,12 @@ package com.example.audiovisualrecord.ui.main;
import com.example.audiovisualrecord.base.BaseView; import com.example.audiovisualrecord.base.BaseView;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResponse; import com.example.audiovisualrecord.utils.api.apidata.searchco.COResponse;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResponse; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResponse;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDResponse; import com.example.audiovisualrecord.utils.api.searchshift.SHIFTResponse;
import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTResponse; import com.example.audiovisualrecord.utils.api.searchpz.PZResponse;
import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTResponse; import com.example.audiovisualrecord.utils.api.searchdp.DPResponse;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -15,20 +15,19 @@ import java.util.List; ...@@ -15,20 +15,19 @@ import java.util.List;
public interface MainContract { public interface MainContract {
interface View extends BaseView { interface View extends BaseView {
void setCOData(List<COResponse> adapterData); void setCOData(List<COResponse> adapterData);
void setPZData(List<MNTFCTResponse> adapterData); void setPZData(List<PZResponse> adapterData);
void setDPNMData(List<PMFCTResponse> adapterData); void setDPNMData(List<DPResponse> adapterData);
void setEQKDData(List<EQKDResponse> adapterData); void setEQKDData(List<SHIFTResponse> adapterData);
void setTYPEData(List<TYPEResponse> adapterData); void setTYPEData(List<TYPEResponse> adapterData);
void onUploadFile(ArrayList<String> uriList, String type,String sid); void onUploadFile(ArrayList<String> uriList, String type,String sid);
} }
interface Presenter<V extends MainContract.View> { interface Presenter<V extends MainContract.View> {
// void onGetDisposableToken(String DeviceId);
void onGetComData(); void onGetComData();
void onGetPZData(); void onGetPZData();
void onGetDPData(String CO, String PZ); void onGetDPData(String CO, String PZ);
void onGetSHIFTData(String CO, String PMFCT); void onGetSHIFTData(String CO, String PMFCT);
ArrayList<String> segVideo(String path,String name); void segVideo(String path,String name);
void onGetTYPEData(String CO,String PMFCT); void onGetTYPEData(String CO,String PMFCT);
void onGetSid(ArrayList<String> uriList, String type); void onGetSid(ArrayList<String> uriList, String type);
void onLogoutSid(String sid); void onLogoutSid(String sid);
......
package com.example.audiovisualrecord.ui.main; package com.example.audiovisualrecord.ui.main;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResponse; import com.example.audiovisualrecord.utils.api.apidata.searchco.COResponse;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResponse; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResponse;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDResponse; import com.example.audiovisualrecord.utils.api.searchshift.SHIFTResponse;
import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTResponse; import com.example.audiovisualrecord.utils.api.searchpz.PZResponse;
import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTResponse; import com.example.audiovisualrecord.utils.api.searchdp.DPResponse;
import java.util.List; import java.util.List;
public class MainData { public class MainData {
// private String mMNTCO="";//保養公司代碼 private List<COResponse> mCODataList; //公司代碼
// private String mMNTFCT="";//保養廠代碼 private List<PZResponse> mPZDataList; //廠區代碼
// private String mCO="";//公司代碼 private List<DPResponse> mDPDataList; //廠課代碼
// private String mPMFCT="";//生產廠代碼 private List<SHIFTResponse> mSHIFTDataList; //班別代碼
// private String mPMFCTNM="";//生產廠代碼 private List<TYPEResponse> mTYPEDataList; //錄影類型
// private String mEQKD="";//設備類別代碼
// private String mEQKDNM="";//設備類別名稱
// private String mEQNO="";//設備編號
// private String mEQNM="";//設備名稱
// private String mNTCO="";//保養公司代碼
private List<COResponse> mCODataList;
private List<MNTFCTResponse> mMNTFCTDataList;
private List<PMFCTResponse> mPMFCTDataList;
private List<EQKDResponse> mEQKDDataList;
private List<TYPEResponse> mTYPEDataList;
private String MSidData; private String MSidData;
...@@ -32,32 +21,32 @@ public class MainData { ...@@ -32,32 +21,32 @@ public class MainData {
return mCODataList; return mCODataList;
} }
public List<MNTFCTResponse> getmMNTFCTDataList() { public List<PZResponse> getmPZDataList() {
return mMNTFCTDataList; return mPZDataList;
} }
public void setmMNTFCTDataList(List<MNTFCTResponse> mMNTFCTDataList) { public void setmPZDataList(List<PZResponse> mPZDataList) {
this.mMNTFCTDataList = mMNTFCTDataList; this.mPZDataList = mPZDataList;
} }
public void setmCODataList(List<COResponse> mCODataList) { public void setmCODataList(List<COResponse> mCODataList) {
this.mCODataList = mCODataList; this.mCODataList = mCODataList;
} }
public List<PMFCTResponse> getmPMFCTDataList() { public List<DPResponse> getmDPDataList() {
return mPMFCTDataList; return mDPDataList;
} }
public void setmPMFCTDataList(List<PMFCTResponse> mPMFCTDataList) { public void setmDPDataList(List<DPResponse> mDPDataList) {
this.mPMFCTDataList = mPMFCTDataList; this.mDPDataList = mDPDataList;
} }
public List<EQKDResponse> getmEQKDDataList() { public List<SHIFTResponse> getmSHIFTDataList() {
return mEQKDDataList; return mSHIFTDataList;
} }
public void setmEQKDDataList(List<EQKDResponse> mEQKDDataList) { public void setmSHIFTDataList(List<SHIFTResponse> mSHIFTDataList) {
this.mEQKDDataList = mEQKDDataList; this.mSHIFTDataList = mSHIFTDataList;
} }
public List<TYPEResponse> getmTYPEDataList() { public List<TYPEResponse> getmTYPEDataList() {
...@@ -76,83 +65,4 @@ public class MainData { ...@@ -76,83 +65,4 @@ public class MainData {
this.MSidData = MSidData; this.MSidData = MSidData;
} }
// public String getmCO() {
// return mMNTCO;
// }
//
// public void setmCO(String mMNTCO) {
// this.mMNTCO = mMNTCO;
// }
//
// public String getmPZ() {
// return mMNTFCT;
// }
//
// public void setmPZ(String mMNTFCT) {
// this.mMNTFCT = mMNTFCT;
// }
//
// public String getmCO() {
// return mCO;
// }
//
// public void setmCO(String mCO) {
// this.mCO = mCO;
// }
//
// public String getmPMFCT() {
// return mPMFCT;
// }
//
// public void setmPMFCT(String mPMFCT) {
// this.mPMFCT = mPMFCT;
// }
//
// public String getmDPNM() {
// return mPMFCTNM;
// }
//
// public void setmDPNM(String mPMFCTNM) {
// this.mPMFCTNM = mPMFCTNM;
// }
//
// public String getmEQKD() {
// return mEQKD;
// }
//
// public void setmEQKD(String mEQKD) {
// this.mEQKD = mEQKD;
// }
//
// public String getmEQKDNM() {
// return mEQKDNM;
// }
//
// public void setmEQKDNM(String mEQKDNM) {
// this.mEQKDNM = mEQKDNM;
// }
//
// public String getmEQNO() {
// return mEQNO;
// }
//
// public void setmEQNO(String mEQNO) {
// this.mEQNO = mEQNO;
// }
//
// public String getmEQNM() {
// return mEQNM;
// }
//
// public void setmEQNM(String mEQNM) {
// this.mEQNM = mEQNM;
// }
//
// public String getmPZ() {
// return mNTCO;
// }
//
// public void setmPZ(String mNTCO) {
// this.mNTCO = mNTCO;
// }
} }
package com.example.audiovisualrecord.ui.main; package com.example.audiovisualrecord.ui.main;
import android.os.Environment; import android.os.Environment;
import android.text.LoginFilter;
import android.util.Log; import android.util.Log;
import com.arthenica.mobileffmpeg.Config; import com.arthenica.mobileffmpeg.Config;
...@@ -11,23 +10,22 @@ import com.example.audiovisualrecord.R; ...@@ -11,23 +10,22 @@ import com.example.audiovisualrecord.R;
import com.example.audiovisualrecord.utils.api.ApiService; import com.example.audiovisualrecord.utils.api.ApiService;
import com.example.audiovisualrecord.utils.api.HttpMethods; import com.example.audiovisualrecord.utils.api.HttpMethods;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.CORequest; import com.example.audiovisualrecord.utils.api.apidata.searchco.CORequest;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResultList; import com.example.audiovisualrecord.utils.api.apidata.searchco.COResultList;
import com.example.audiovisualrecord.utils.api.apidata.logoutsid.LogoutSidResponse; import com.example.audiovisualrecord.utils.api.apidata.logoutsid.LogoutSidResponse;
import com.example.audiovisualrecord.utils.api.apidata.searchsid.SIDDataList; import com.example.audiovisualrecord.utils.api.apidata.searchsid.SIDDataList;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPERequest; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPERequest;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResultList; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResultList;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDRequest; import com.example.audiovisualrecord.utils.api.searchshift.SHIFTRequest;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDResultList; import com.example.audiovisualrecord.utils.api.searchshift.SHIFTResultList;
import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTRequest; import com.example.audiovisualrecord.utils.api.searchpz.PZRequest;
import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTResultList; import com.example.audiovisualrecord.utils.api.searchpz.PZResultList;
import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTRequest; import com.example.audiovisualrecord.utils.api.searchdp.DPRequest;
import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTResultList; import com.example.audiovisualrecord.utils.api.searchdp.DPResultList;
import com.example.audiovisualrecord.utils.rxjava.SchedulerProviderImp; import com.example.audiovisualrecord.utils.rxjava.SchedulerProviderImp;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import io.reactivex.disposables.CompositeDisposable; import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.observers.DisposableObserver; import io.reactivex.observers.DisposableObserver;
...@@ -45,11 +43,6 @@ public class MainPresenter<V extends MainContract.View> implements MainContract. ...@@ -45,11 +43,6 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
private String KEY_SEARCH_TYPE = "145ce81d-7bae-4848-a38a-e0e738385681"; private String KEY_SEARCH_TYPE = "145ce81d-7bae-4848-a38a-e0e738385681";
private String USER_ID = "N000158385"; private String USER_ID = "N000158385";
// private String pathCompany = "";
// private String pathFactoryArea = "";
// private String pathFactoryClass = "";
// private String pathClass = "";
// private String pathShootType = "";
private V view; private V view;
private String LOGIN_AUTHORIZED_ID = "acd9be92-46bf-4185-8721-5b60c67f0742"; private String LOGIN_AUTHORIZED_ID = "acd9be92-46bf-4185-8721-5b60c67f0742";
private ApiService api; private ApiService api;
...@@ -94,15 +87,15 @@ public class MainPresenter<V extends MainContract.View> implements MainContract. ...@@ -94,15 +87,15 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
@Override @Override
public void onGetPZData() { public void onGetPZData() {
String url = view.getResourceString(R.string.api_on_getMNTFCT); String url = view.getResourceString(R.string.api_on_getMNTFCT);
MNTFCTRequest mMNTFCTRequest = new MNTFCTRequest(KEY_SEARCH_PZ, USER_ID); PZRequest mPZRequest = new PZRequest(KEY_SEARCH_PZ, USER_ID);
compositeDisposable.add(api.getPZ(url, mMNTFCTRequest) compositeDisposable.add(api.getPZ(url, mPZRequest)
.subscribeOn(schedulerProviderImp.io()) .subscribeOn(schedulerProviderImp.io())
.observeOn(schedulerProviderImp.ui()) .observeOn(schedulerProviderImp.ui())
.subscribeWith(new DisposableObserver<MNTFCTResultList>() { .subscribeWith(new DisposableObserver<PZResultList>() {
@Override @Override
public void onNext(MNTFCTResultList mMNTFCTResultList) { public void onNext(PZResultList mPZResultList) {
view.setPZData(mMNTFCTResultList.getmNTFCTResponse()); view.setPZData(mPZResultList.getmNTFCTResponse());
} }
@Override @Override
...@@ -121,19 +114,19 @@ public class MainPresenter<V extends MainContract.View> implements MainContract. ...@@ -121,19 +114,19 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
@Override @Override
public void onGetDPData(String CO, String PZ) { public void onGetDPData(String CO, String PZ) {
final PMFCTRequest mPMFCTRequest = new PMFCTRequest(KEY_SEARCH_DP, USER_ID, CO, PZ); final DPRequest mDPRequest = new DPRequest(KEY_SEARCH_DP, USER_ID, CO, PZ);
String url = view.getResourceString(R.string.api_on_getDP); String url = view.getResourceString(R.string.api_on_getDP);
compositeDisposable.add(api.getDP(url, mPMFCTRequest) compositeDisposable.add(api.getDP(url, mDPRequest)
.subscribeOn(schedulerProviderImp.io()) .subscribeOn(schedulerProviderImp.io())
.observeOn(schedulerProviderImp.ui()) .observeOn(schedulerProviderImp.ui())
.subscribeWith(new DisposableObserver<PMFCTResultList>() { .subscribeWith(new DisposableObserver<DPResultList>() {
@Override @Override
public void onNext(PMFCTResultList mPMFCTResultList) { public void onNext(DPResultList mDPResultList) {
if (mPMFCTResultList.getmPMFCTResponseList().size() < 1) { if (mDPResultList.getmDPResponseList().size() < 1) {
view.showDialogCaveatMessage(view.getResourceString(R.string.get_pmfct_error_no_data)); view.showDialogCaveatMessage(view.getResourceString(R.string.get_pmfct_error_no_data));
} else { } else {
view.setDPNMData(mPMFCTResultList.getmPMFCTResponseList()); view.setDPNMData(mDPResultList.getmDPResponseList());
} }
} }
...@@ -154,19 +147,19 @@ public class MainPresenter<V extends MainContract.View> implements MainContract. ...@@ -154,19 +147,19 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
@Override @Override
public void onGetSHIFTData(String CO, String PMFCT) { public void onGetSHIFTData(String CO, String PMFCT) {
EQKDRequest mEQKDRequest = new EQKDRequest(KEY_SEARCH_SHIFT, USER_ID, CO, PMFCT); SHIFTRequest mSHIFTRequest = new SHIFTRequest(KEY_SEARCH_SHIFT, USER_ID, CO, PMFCT);
String url = view.getResourceString(R.string.api_on_getSHIFT); String url = view.getResourceString(R.string.api_on_getSHIFT);
compositeDisposable.add(api.getEQKD(url, mEQKDRequest) compositeDisposable.add(api.getSHIFT(url, mSHIFTRequest)
.subscribeOn(schedulerProviderImp.io()) .subscribeOn(schedulerProviderImp.io())
.observeOn(schedulerProviderImp.ui()) .observeOn(schedulerProviderImp.ui())
.subscribeWith(new DisposableObserver<EQKDResultList>() { .subscribeWith(new DisposableObserver<SHIFTResultList>() {
@Override @Override
public void onNext(EQKDResultList mEQKDResultList) { public void onNext(SHIFTResultList mSHIFTResultList) {
if (mEQKDResultList.getmEQKDResponseList().size() < 1) { if (mSHIFTResultList.getmSHIFTResponseList().size() < 1) {
view.showDialogCaveatMessage(view.getResourceString(R.string.get_shift_error_no_data)); view.showDialogCaveatMessage(view.getResourceString(R.string.get_shift_error_no_data));
} else { } else {
view.setEQKDData(mEQKDResultList.getmEQKDResponseList()); view.setEQKDData(mSHIFTResultList.getmSHIFTResponseList());
} }
} }
...@@ -216,7 +209,6 @@ public class MainPresenter<V extends MainContract.View> implements MainContract. ...@@ -216,7 +209,6 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
@Override @Override
public void onGetSid(final ArrayList<String> uriList, final String type) { public void onGetSid(final ArrayList<String> uriList, final String type) {
// TYPERequest mTypeRequest = new TYPERequest(KEY_SEARCH_TYPE,USER_ID,CO, PMFCT);
String url = view.getResourceString(R.string.api_on_getSID); String url = view.getResourceString(R.string.api_on_getSID);
compositeDisposable.add(api.getSID(url) compositeDisposable.add(api.getSID(url)
.subscribeOn(schedulerProviderImp.io()) .subscribeOn(schedulerProviderImp.io())
...@@ -224,21 +216,18 @@ public class MainPresenter<V extends MainContract.View> implements MainContract. ...@@ -224,21 +216,18 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
.subscribeWith(new DisposableObserver<SIDDataList>() { .subscribeWith(new DisposableObserver<SIDDataList>() {
@Override @Override
public void onNext(SIDDataList mSIDDataList) { public void onNext(SIDDataList mSIDDataList) {
view.onUploadFile(uriList,type,mSIDDataList.getsIdDataList().getSid()); view.onUploadFile(uriList,type,mSIDDataList.getsIdDataList().getSid());
Log.e("sss", mSIDDataList.getSuccess()); // Log.e("sss", mSIDDataList.getSuccess());
} }
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
view.showDialogCaveatMessage("請重試或檢查網路狀態"); view.showDialogCaveatMessage("請重試或檢查網路狀態");
Log.e("error", e.getMessage()); Log.e("error", e.getMessage());
} }
@Override @Override
public void onComplete() { public void onComplete() {
} }
}) })
); );
...@@ -265,123 +254,24 @@ public class MainPresenter<V extends MainContract.View> implements MainContract. ...@@ -265,123 +254,24 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
@Override @Override
public void onComplete() { public void onComplete() {
} }
})); }));
} }
@Override @Override
public ArrayList<String> segVideo(final String path, final String name) { public void segVideo(final String path, final String name) {
view.showProgressDialog("影片分割中");
view.showProgressDialog("影片分割中");
view.showProgressDialog("影片分割中");
view.showProgressDialog("影片分割中");
view.showProgressDialog("影片分割中");
view.showProgressDialog("影片分割中"); view.showProgressDialog("影片分割中");
view.showProgressDialog("影片分割中");
view.showProgressDialog("影片分割中");
view.showProgressDialog("影片分割中");
final ArrayList<String> segVideoList = new ArrayList<>(); final ArrayList<String> segVideoList = new ArrayList<>();
// Runnable runnable = new Runnable() {
// @Override
// public void run() {
// File video = new File(path);
// int sizeLimit = 50 * 1024 * 1024;
// Log.e("size", video.length() + "");
//// Log.e("path2", );
// int duration = (int) (FFprobe.getMediaInformation(path).getDuration() / 1000); //影片秒數
// int startTime = 0;
// int segTime = 30; //分割秒數
// int loop = 0;
// if (duration % segTime != 0) {
// loop = duration / segTime + 1;
// } else {
// loop = duration / segTime;
// }
// if (video.length() > sizeLimit) {
// for (int i = 0; i < loop; i++) {
//
// int rc = FFmpeg.execute("-ss " + startTime + " -i " + path + " -t " + segTime + " " + Environment.getExternalStorageDirectory().toString() + "/seg_" + i +"_"+ name);
// segVideoList.add(Environment.getExternalStorageDirectory().toString() + "/seg_" + i +"_"+ name);
//
//
// if (rc == RETURN_CODE_SUCCESS) {
// Log.i(Config.TAG, "Command execution completed successfully.");
// } else if (rc == RETURN_CODE_CANCEL) {
// Log.i(Config.TAG, "Command execution cancelled by user.");
// } else {
//
// Log.i(Config.TAG, String.format("Command execution failed with rc=%d and the output below.", rc));
// Config.printLastCommandOutput(Log.INFO);
// }
// startTime += segTime;
// }
// view.dismissProgressDialog();
//
// } else {
// //沒超過
// segVideoList.add(path);
// view.dismissProgressDialog();
// }
// }
//
// };
// Thread thread = new Thread(runnable);
// view.showProgressDialog("影片分割中");
// thread.start();
// try {
// thread.join();
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// Thread a = new Thread(new Runnable(){
// @Override
// public void run() {
// File video = new File(path);
// int sizeLimit = 50 * 1024 * 1024;
// Log.e("size", video.length() + "");
//// Log.e("path2", );
// int duration = (int) (FFprobe.getMediaInformation(path).getDuration() / 1000); //影片秒數
// int startTime = 0;
// int segTime = 30; //分割秒數
// int loop = 0;
// if (duration % segTime != 0) {
// loop = duration / segTime + 1;
// } else {
// loop = duration / segTime;
// }
// if (video.length() > sizeLimit) {
// for (int i = 0; i < loop; i++) {
//
// int rc = FFmpeg.execute("-ss " + startTime + " -i " + path + " -t " + segTime + " " + Environment.getExternalStorageDirectory().toString() + "/seg_" + i +"_"+ name);
// segVideoList.add(Environment.getExternalStorageDirectory().toString() + "/seg_" + i +"_"+ name);
//
//
// if (rc == RETURN_CODE_SUCCESS) {
// Log.i(Config.TAG, "Command execution completed successfully.");
// } else if (rc == RETURN_CODE_CANCEL) {
// Log.i(Config.TAG, "Command execution cancelled by user.");
// } else {
//
// Log.i(Config.TAG, String.format("Command execution failed with rc=%d and the output below.", rc));
// Config.printLastCommandOutput(Log.INFO);
// }
// startTime += segTime;
// }
// view.dismissProgressDialog();
//
// } else {
// //沒超過
// segVideoList.add(path);
// view.dismissProgressDialog();
// }
// }
// }, "Thread-a");
// a.run();
// a.start();
//
// try {
// a.join();
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
new Thread(new Runnable() { new Thread(new Runnable() {
@Override @Override
...@@ -389,7 +279,6 @@ public class MainPresenter<V extends MainContract.View> implements MainContract. ...@@ -389,7 +279,6 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
File video = new File(path); File video = new File(path);
int sizeLimit = 50 * 1024 * 1024; int sizeLimit = 50 * 1024 * 1024;
Log.e("size", video.length() + ""); Log.e("size", video.length() + "");
// Log.e("path2", );
int duration = (int) (FFprobe.getMediaInformation(path).getDuration() / 1000); //影片秒數 int duration = (int) (FFprobe.getMediaInformation(path).getDuration() / 1000); //影片秒數
int startTime = 0; int startTime = 0;
int segTime = 30; //分割秒數 int segTime = 30; //分割秒數
...@@ -402,8 +291,9 @@ public class MainPresenter<V extends MainContract.View> implements MainContract. ...@@ -402,8 +291,9 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
if (video.length() > sizeLimit) { if (video.length() > sizeLimit) {
for (int i = 0; i < loop; i++) { for (int i = 0; i < loop; i++) {
int rc = FFmpeg.execute("-ss " + startTime + " -i " + path + " -t " + segTime + " " + Environment.getExternalStorageDirectory().toString() + "/seg_" + i +"_"+ name); int rc = FFmpeg.execute("-ss " + startTime + " -i " + path + " -t " + segTime + " " + Environment.getExternalStorageDirectory().toString() + "/seg_" + i +"_"+ video.getName().replace(".mp4", "") +".mp4");
segVideoList.add(Environment.getExternalStorageDirectory().toString() + "/seg_" + i +"_"+ name); segVideoList.add(Environment.getExternalStorageDirectory().toString() + "/seg_" + i +"_"+ video.getName());
if (rc == RETURN_CODE_SUCCESS) { if (rc == RETURN_CODE_SUCCESS) {
Log.i(Config.TAG, "Command execution completed successfully."); Log.i(Config.TAG, "Command execution completed successfully.");
...@@ -416,20 +306,16 @@ public class MainPresenter<V extends MainContract.View> implements MainContract. ...@@ -416,20 +306,16 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
} }
startTime += segTime; startTime += segTime;
} }
view.dismissProgressDialog(); view.dismissProgressDialog();
onGetSid(segVideoList, "video");
} else { } else {
//沒超過 //沒超過
segVideoList.add(path); segVideoList.add(path);
view.dismissProgressDialog(); view.dismissProgressDialog();
onGetSid(segVideoList, "video");
} }
} }
}).start(); }).start();
Log.e("asd", segVideoList.size()+"");
return segVideoList;
} }
@Override @Override
......
package com.example.audiovisualrecord.utils.api; package com.example.audiovisualrecord.utils.api;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.CORequest; import com.example.audiovisualrecord.utils.api.apidata.searchco.CORequest;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResultList; import com.example.audiovisualrecord.utils.api.apidata.searchco.COResultList;
import com.example.audiovisualrecord.utils.api.apidata.login.LoginRequest; import com.example.audiovisualrecord.utils.api.apidata.login.LoginRequest;
import com.example.audiovisualrecord.utils.api.apidata.login.LoginResponse; import com.example.audiovisualrecord.utils.api.apidata.login.LoginResponse;
import com.example.audiovisualrecord.utils.api.apidata.logoutsid.LogoutSidResponse; import com.example.audiovisualrecord.utils.api.apidata.logoutsid.LogoutSidResponse;
import com.example.audiovisualrecord.utils.api.apidata.searchsid.SIDDataList; import com.example.audiovisualrecord.utils.api.apidata.searchsid.SIDDataList;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPERequest; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPERequest;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResultList; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResultList;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDRequest; import com.example.audiovisualrecord.utils.api.searchshift.SHIFTRequest;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDResultList; import com.example.audiovisualrecord.utils.api.searchshift.SHIFTResultList;
import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTRequest; import com.example.audiovisualrecord.utils.api.searchpz.PZRequest;
import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTResultList; import com.example.audiovisualrecord.utils.api.searchpz.PZResultList;
import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTRequest; import com.example.audiovisualrecord.utils.api.searchdp.DPRequest;
import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTResultList; import com.example.audiovisualrecord.utils.api.searchdp.DPResultList;
import io.reactivex.Observable; import io.reactivex.Observable;
import retrofit2.http.Body; import retrofit2.http.Body;
import retrofit2.http.GET; import retrofit2.http.GET;
import retrofit2.http.POST; import retrofit2.http.POST;
import retrofit2.http.Query;
import retrofit2.http.Url; import retrofit2.http.Url;
public interface ApiService { public interface ApiService {
@POST @POST
Observable<COResultList> getCO(@Url String url, @Body CORequest mCORequest); Observable<COResultList> getCO(@Url String url, @Body CORequest mCORequest);
@POST @POST
Observable<MNTFCTResultList> getPZ(@Url String url, @Body MNTFCTRequest mMNTFCTRequest); Observable<PZResultList> getPZ(@Url String url, @Body PZRequest mPZRequest);
@POST @POST
Observable<PMFCTResultList> getDP(@Url String url, @Body PMFCTRequest mPMFCTRequest); Observable<DPResultList> getDP(@Url String url, @Body DPRequest mDPRequest);
@POST @POST
Observable<EQKDResultList> getEQKD(@Url String url, @Body EQKDRequest mEQKDRequest); Observable<SHIFTResultList> getSHIFT(@Url String url, @Body SHIFTRequest mSHIFTRequest);
@POST @POST
Observable<TYPEResultList>getTYPE(@Url String url, @Body TYPERequest mTypeRequest); Observable<TYPEResultList>getTYPE(@Url String url, @Body TYPERequest mTypeRequest);
@POST @POST
......
package com.example.audiovisualrecord.utils.api.apidata.CORequest; package com.example.audiovisualrecord.utils.api.apidata.searchco;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
......
package com.example.audiovisualrecord.utils.api.apidata.CORequest; package com.example.audiovisualrecord.utils.api.apidata.searchco;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
......
package com.example.audiovisualrecord.utils.api.apidata.CORequest; package com.example.audiovisualrecord.utils.api.apidata.searchco;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
......
package com.example.audiovisualrecord.utils.api.apidata.searchtype; package com.example.audiovisualrecord.utils.api.apidata.searchtype;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDResponse;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
......
package com.example.audiovisualrecord.utils.api.searchpmfct; package com.example.audiovisualrecord.utils.api.searchdp;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
public class PMFCTRequest { public class DPRequest {
@SerializedName("AuthorizedId") @SerializedName("AuthorizedId")
@Expose @Expose
private String authorizedId; private String authorizedId;
...@@ -16,7 +16,7 @@ public class PMFCTRequest { ...@@ -16,7 +16,7 @@ public class PMFCTRequest {
@SerializedName("PZ") @SerializedName("PZ")
@Expose @Expose
private String mPZ; private String mPZ;
public PMFCTRequest(String authorizedId, String idNo, String mCO, String mPZ) { public DPRequest(String authorizedId, String idNo, String mCO, String mPZ) {
this.authorizedId=authorizedId; this.authorizedId=authorizedId;
this.idNo=idNo; this.idNo=idNo;
this.mCO = mCO; this.mCO = mCO;
......
package com.example.audiovisualrecord.utils.api.searchpmfct; package com.example.audiovisualrecord.utils.api.searchdp;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
public class PMFCTResponse { public class DPResponse {
@SerializedName("CO") @SerializedName("CO")
@Expose @Expose
private String mCO; private String mCO;
......
package com.example.audiovisualrecord.utils.api.searcheqkd; package com.example.audiovisualrecord.utils.api.searchdp;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import java.util.List; import java.util.List;
public class EQKDResultList { public class DPResultList {
@SerializedName("ResultList") @SerializedName("ResultList")
@Expose @Expose
private List<EQKDResponse> mEQKDResponseList; private List<DPResponse> mDPResponseList;
public List<EQKDResponse> getmEQKDResponseList() { public List<DPResponse> getmDPResponseList() {
return mEQKDResponseList; return mDPResponseList;
} }
public void setmEQKDResponseList(List<EQKDResponse> mEQKDResponseList) { public void setmDPResponseList(List<DPResponse> mDPResponseList) {
this.mEQKDResponseList = mEQKDResponseList; this.mDPResponseList = mDPResponseList;
} }
} }
package com.example.audiovisualrecord.utils.api.searchmntfct; package com.example.audiovisualrecord.utils.api.searchpz;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
public class MNTFCTRequest { public class PZRequest {
@SerializedName("AuthorizedId") @SerializedName("AuthorizedId")
@Expose @Expose
private String authorizedId; private String authorizedId;
@SerializedName("IdNo") @SerializedName("IdNo")
@Expose @Expose
private String idNo; private String idNo;
public MNTFCTRequest(String authorizedId, String idNo) { public PZRequest(String authorizedId, String idNo) {
this.authorizedId=authorizedId; this.authorizedId=authorizedId;
this.idNo=idNo; this.idNo=idNo;
} }
......
package com.example.audiovisualrecord.utils.api.searchmntfct; package com.example.audiovisualrecord.utils.api.searchpz;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
public class MNTFCTResponse { public class PZResponse {
@SerializedName("PZ") @SerializedName("PZ")
@Expose @Expose
private String mPZ; private String mPZ;
......
package com.example.audiovisualrecord.utils.api.searchmntfct; package com.example.audiovisualrecord.utils.api.searchpz;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import java.util.List; import java.util.List;
public class MNTFCTResultList { public class PZResultList {
@SerializedName("ResultList") @SerializedName("ResultList")
@Expose @Expose
private List<MNTFCTResponse> mNTFCTResponse; private List<PZResponse> mNTFCTResponse;
public List<MNTFCTResponse> getmNTFCTResponse() { public List<PZResponse> getmNTFCTResponse() {
return mNTFCTResponse; return mNTFCTResponse;
} }
public void setmNTFCTResponse(List<MNTFCTResponse> mNTFCTResponse) { public void setmNTFCTResponse(List<PZResponse> mNTFCTResponse) {
this.mNTFCTResponse = mNTFCTResponse; this.mNTFCTResponse = mNTFCTResponse;
} }
} }
package com.example.audiovisualrecord.utils.api.searcheqkd; package com.example.audiovisualrecord.utils.api.searchshift;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
public class EQKDRequest { public class SHIFTRequest {
@SerializedName("AuthorizedId") @SerializedName("AuthorizedId")
@Expose @Expose
private String authorizedId; private String authorizedId;
...@@ -16,7 +16,7 @@ public class EQKDRequest { ...@@ -16,7 +16,7 @@ public class EQKDRequest {
@SerializedName("PMFCT") @SerializedName("PMFCT")
@Expose @Expose
private String mPMFCT; private String mPMFCT;
public EQKDRequest(String authorizedId, String idNo, String mCO, String mPMFCT) { public SHIFTRequest(String authorizedId, String idNo, String mCO, String mPMFCT) {
this.authorizedId=authorizedId; this.authorizedId=authorizedId;
this.idNo=idNo; this.idNo=idNo;
this.mCO=mCO; this.mCO=mCO;
......
package com.example.audiovisualrecord.utils.api.searcheqkd; package com.example.audiovisualrecord.utils.api.searchshift;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
public class EQKDResponse { public class SHIFTResponse {
@SerializedName("Shift") @SerializedName("Shift")
@Expose @Expose
private String mShift; private String mShift;
......
package com.example.audiovisualrecord.utils.api.searchpmfct; package com.example.audiovisualrecord.utils.api.searchshift;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import java.util.List; import java.util.List;
public class PMFCTResultList { public class SHIFTResultList {
@SerializedName("ResultList") @SerializedName("ResultList")
@Expose @Expose
private List<PMFCTResponse> mPMFCTResponseList; private List<SHIFTResponse> mSHIFTResponseList;
public List<PMFCTResponse> getmPMFCTResponseList() { public List<SHIFTResponse> getmSHIFTResponseList() {
return mPMFCTResponseList; return mSHIFTResponseList;
} }
public void setmPMFCTResponseList(List<PMFCTResponse> mPMFCTResponseList) { public void setmSHIFTResponseList(List<SHIFTResponse> mSHIFTResponseList) {
this.mPMFCTResponseList = mPMFCTResponseList; this.mSHIFTResponseList = mSHIFTResponseList;
} }
} }
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/background" android:background="@drawable/background"
android:id="@+id/mConstrainLayout"
> >
<androidx.constraintlayout.widget.Guideline <androidx.constraintlayout.widget.Guideline
...@@ -100,115 +101,116 @@ ...@@ -100,115 +101,116 @@
app:layout_constraintGuide_percent="0.95" /> app:layout_constraintGuide_percent="0.95" />
<!-- 選擇區域 --> <!-- 選擇區域 -->
<Button <TextView
android:id="@+id/tv_company" android:id="@+id/tv_company"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:background="@drawable/p2_conpany" android:background="@drawable/p2_conpany"
app:layout_constraintHeight_percent="0.07" app:layout_constraintHeight_percent="0.07"
app:layout_constraintWidth_percent="0.84"
app:layout_constraintTop_toBottomOf="@+id/guide_line_horizontal_12"
app:layout_constraintStart_toEndOf="@id/guide_line_vertical_10" app:layout_constraintStart_toEndOf="@id/guide_line_vertical_10"
/> app:layout_constraintTop_toBottomOf="@+id/guide_line_horizontal_12"
app:layout_constraintWidth_percent="0.84" />
<TextView <TextView
android:id="@+id/text_company"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
app:layout_constraintWidth_percent="0.45" android:gravity="center"
app:layout_constraintHeight_percent="0.05"
android:textColor="@color/black" android:textColor="@color/black"
app:layout_constraintTop_toTopOf="@+id/tv_company"
app:layout_constraintBottom_toBottomOf="@id/tv_company" app:layout_constraintBottom_toBottomOf="@id/tv_company"
app:layout_constraintHeight_percent="0.05"
app:layout_constraintStart_toEndOf="@id/guide_line_vertical_40" app:layout_constraintStart_toEndOf="@id/guide_line_vertical_40"
/> app:layout_constraintTop_toTopOf="@id/tv_company"
app:layout_constraintWidth_percent="0.45" />
<Button <TextView
android:id="@+id/tv_factory" android:id="@+id/tv_factory"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:background="@drawable/p2_factory" android:background="@drawable/p2_factory"
app:layout_constraintHeight_percent="0.07" app:layout_constraintHeight_percent="0.07"
app:layout_constraintWidth_percent="0.84"
app:layout_constraintTop_toBottomOf="@+id/guide_line_horizontal_20"
app:layout_constraintStart_toEndOf="@id/guide_line_vertical_10" app:layout_constraintStart_toEndOf="@id/guide_line_vertical_10"
/> app:layout_constraintTop_toBottomOf="@+id/guide_line_horizontal_20"
app:layout_constraintWidth_percent="0.84" />
<TextView <TextView
android:id="@+id/text_factory"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
app:layout_constraintWidth_percent="0.45" android:gravity="center"
app:layout_constraintHeight_percent="0.05"
android:textColor="@color/black" android:textColor="@color/black"
app:layout_constraintTop_toTopOf="@+id/tv_factory"
app:layout_constraintBottom_toBottomOf="@id/tv_factory" app:layout_constraintBottom_toBottomOf="@id/tv_factory"
app:layout_constraintHeight_percent="0.05"
app:layout_constraintStart_toEndOf="@id/guide_line_vertical_40" app:layout_constraintStart_toEndOf="@id/guide_line_vertical_40"
/> app:layout_constraintTop_toTopOf="@+id/tv_factory"
app:layout_constraintWidth_percent="0.45" />
<Button <TextView
android:id="@+id/tv_unit" android:id="@+id/tv_unit"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:background="@drawable/p2_unit" android:background="@drawable/p2_unit"
app:layout_constraintHeight_percent="0.07" app:layout_constraintHeight_percent="0.07"
app:layout_constraintWidth_percent="0.84"
app:layout_constraintTop_toBottomOf="@+id/guide_line_horizontal_28"
app:layout_constraintStart_toEndOf="@id/guide_line_vertical_10" app:layout_constraintStart_toEndOf="@id/guide_line_vertical_10"
/> app:layout_constraintTop_toBottomOf="@+id/guide_line_horizontal_28"
app:layout_constraintWidth_percent="0.84" />
<TextView <TextView
android:id="@+id/text_unit"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
app:layout_constraintWidth_percent="0.35" android:gravity="center"
app:layout_constraintHeight_percent="0.05"
android:textColor="@color/black" android:textColor="@color/black"
app:layout_constraintTop_toTopOf="@+id/tv_unit"
app:layout_constraintBottom_toBottomOf="@id/tv_unit" app:layout_constraintBottom_toBottomOf="@id/tv_unit"
app:layout_constraintStart_toEndOf="@id/guide_line_vertical_45" app:layout_constraintHeight_percent="0.05"
/> app:layout_constraintStart_toEndOf="@id/guide_line_vertical_40"
app:layout_constraintTop_toTopOf="@+id/tv_unit"
app:layout_constraintWidth_percent="0.46" />
<Button <TextView
android:id="@+id/tv_class" android:id="@+id/tv_class"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:background="@drawable/p2_class" android:background="@drawable/p2_class"
android:gravity="center_horizontal"
app:layout_constraintHeight_percent="0.07" app:layout_constraintHeight_percent="0.07"
app:layout_constraintWidth_percent="0.84"
app:layout_constraintTop_toBottomOf="@+id/guide_line_horizontal_36"
app:layout_constraintStart_toEndOf="@id/guide_line_vertical_10" app:layout_constraintStart_toEndOf="@id/guide_line_vertical_10"
/> app:layout_constraintTop_toBottomOf="@+id/guide_line_horizontal_36"
app:layout_constraintWidth_percent="0.84" />
<TextView <TextView
android:id="@+id/text_class"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
app:layout_constraintWidth_percent="0.45" android:gravity="center"
app:layout_constraintHeight_percent="0.05"
android:textColor="@color/black" android:textColor="@color/black"
app:layout_constraintTop_toTopOf="@+id/tv_class"
app:layout_constraintBottom_toBottomOf="@id/tv_class" app:layout_constraintBottom_toBottomOf="@id/tv_class"
app:layout_constraintHeight_percent="0.05"
app:layout_constraintStart_toEndOf="@id/guide_line_vertical_40" app:layout_constraintStart_toEndOf="@id/guide_line_vertical_40"
/> app:layout_constraintTop_toTopOf="@+id/tv_class"
app:layout_constraintWidth_percent="0.45" />
<Button <TextView
android:id="@+id/tv_shoottype" android:id="@+id/tv_shoottype"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:background="@drawable/p2_shoottype" android:background="@drawable/p2_shoottype"
app:layout_constraintHeight_percent="0.07" app:layout_constraintHeight_percent="0.07"
app:layout_constraintWidth_percent="0.84"
app:layout_constraintTop_toBottomOf="@+id/guide_line_horizontal_44"
app:layout_constraintStart_toEndOf="@id/guide_line_vertical_10" app:layout_constraintStart_toEndOf="@id/guide_line_vertical_10"
/> app:layout_constraintTop_toBottomOf="@+id/guide_line_horizontal_44"
app:layout_constraintWidth_percent="0.84" />
<TextView <TextView
android:id="@+id/text_shoottype"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
app:layout_constraintWidth_percent="0.45" android:gravity="center"
app:layout_constraintHeight_percent="0.05"
android:textColor="@color/black" android:textColor="@color/black"
app:layout_constraintTop_toTopOf="@+id/tv_shoottype"
app:layout_constraintBottom_toBottomOf="@id/tv_shoottype" app:layout_constraintBottom_toBottomOf="@id/tv_shoottype"
app:layout_constraintHeight_percent="0.05"
app:layout_constraintStart_toEndOf="@id/guide_line_vertical_40" app:layout_constraintStart_toEndOf="@id/guide_line_vertical_40"
/> app:layout_constraintTop_toTopOf="@+id/tv_shoottype"
app:layout_constraintWidth_percent="0.45" />
<!-- 建立現場資料 --> <!-- 建立現場資料 -->
<View <View
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment