63 lines
2.1 KiB
Java
63 lines
2.1 KiB
Java
package app.fedilab.fedilabtube.services;
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.SharedPreferences;
|
|
|
|
|
|
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
|
|
|
import net.gotev.uploadservice.ServerResponse;
|
|
import net.gotev.uploadservice.UploadInfo;
|
|
import net.gotev.uploadservice.UploadServiceBroadcastReceiver;
|
|
|
|
import org.json.JSONException;
|
|
import org.json.JSONObject;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import app.fedilab.fedilabtube.helper.Helper;
|
|
|
|
|
|
public class PeertubeUploadReceiver extends UploadServiceBroadcastReceiver {
|
|
|
|
|
|
@Override
|
|
public void onProgress(Context context, UploadInfo uploadInfo) {
|
|
// your code here
|
|
}
|
|
|
|
@Override
|
|
public void onError(Context context, UploadInfo uploadInfo, ServerResponse serverResponse,
|
|
Exception exception) {
|
|
// your code here
|
|
}
|
|
|
|
@Override
|
|
public void onCompleted(Context context, UploadInfo uploadInfo, ServerResponse serverResponse) {
|
|
try {
|
|
JSONObject response = new JSONObject(serverResponse.getBodyAsString());
|
|
|
|
if (!response.has("video")) { //IT's not from Peertube
|
|
ArrayList<String> file = uploadInfo.getSuccessfullyUploadedFiles();
|
|
Intent addMedia = new Intent(Helper.INTENT_ADD_UPLOADED_MEDIA);
|
|
addMedia.putExtra("response", serverResponse.getBodyAsString());
|
|
addMedia.putStringArrayListExtra("uploadInfo", file);
|
|
LocalBroadcastManager.getInstance(context).sendBroadcast(addMedia);
|
|
} else {
|
|
String videoID = response.getJSONObject("video").get("id").toString();
|
|
SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
|
SharedPreferences.Editor editor = sharedpreferences.edit();
|
|
editor.putString(Helper.VIDEO_ID, videoID);
|
|
editor.commit();
|
|
}
|
|
} catch (JSONException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onCancelled(Context context, UploadInfo uploadInfo) {
|
|
// your code here
|
|
}
|
|
} |