From d685031ee8801735d868807c9890399a55706ec3 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 21 Nov 2020 09:37:18 +0100 Subject: [PATCH] Fix upload --- app/build.gradle | 4 +- .../fedilabtube/PeertubeUploadActivity.java | 45 ++++++++----------- 2 files changed, 20 insertions(+), 29 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 2f44110..029324c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -118,8 +118,8 @@ dependencies { implementation "com.github.bumptech.glide:glide:4.11.0" annotationProcessor "com.github.bumptech.glide:compiler:4.11.0" implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" - implementation "net.gotev:uploadservice:4.5.0" - implementation "net.gotev:uploadservice-okhttp:4.5.0" + implementation "net.gotev:uploadservice:4.4.2" + implementation "net.gotev:uploadservice-okhttp:4.4.2" implementation "com.google.code.gson:gson:2.8.6" implementation 'androidx.media:media:1.2.0' implementation 'com.github.ybq:Android-SpinKit:1.4.0' diff --git a/app/src/main/java/app/fedilab/fedilabtube/PeertubeUploadActivity.java b/app/src/main/java/app/fedilab/fedilabtube/PeertubeUploadActivity.java index ed306cd..91b36c1 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/PeertubeUploadActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/PeertubeUploadActivity.java @@ -29,10 +29,6 @@ import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; -import android.widget.Button; -import android.widget.EditText; -import android.widget.Spinner; -import android.widget.TextView; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; @@ -58,6 +54,7 @@ import java.util.Map; import app.fedilab.fedilabtube.client.APIResponse; import app.fedilab.fedilabtube.client.data.ChannelData; +import app.fedilab.fedilabtube.databinding.ActivityPeertubeUploadBinding; import app.fedilab.fedilabtube.helper.Helper; import app.fedilab.fedilabtube.viewmodel.ChannelsVM; import es.dmoral.toasty.Toasty; @@ -71,16 +68,12 @@ public class PeertubeUploadActivity extends AppCompatActivity { public static final int MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE = 724; private final int PICK_IVDEO = 52378; - private Button set_upload_file, set_upload_submit; - private Spinner set_upload_privacy, set_upload_channel; - private TextView set_upload_file_name; - private EditText video_title; private HashMap channels; private Uri uri; private String filename; private HashMap privacyToSend; private HashMap channelToSend; - + private ActivityPeertubeUploadBinding binding; @Override protected void onCreate(Bundle savedInstanceState) { @@ -89,14 +82,10 @@ public class PeertubeUploadActivity extends AppCompatActivity { if (getSupportActionBar() != null) getSupportActionBar().setDisplayHomeAsUpEnabled(true); - setContentView(R.layout.activity_peertube_upload); + binding = ActivityPeertubeUploadBinding.inflate(getLayoutInflater()); + View view = binding.getRoot(); + setContentView(view); - set_upload_file = findViewById(R.id.set_upload_file); - set_upload_file_name = findViewById(R.id.set_upload_file_name); - set_upload_channel = findViewById(R.id.set_upload_channel); - set_upload_privacy = findViewById(R.id.set_upload_privacy); - set_upload_submit = findViewById(R.id.set_upload_submit); - video_title = findViewById(R.id.video_title); ChannelsVM viewModelC = new ViewModelProvider(PeertubeUploadActivity.this).get(ChannelsVM.class); viewModelC.get(MY_CHANNELS, null).observe(PeertubeUploadActivity.this, this::manageVIewChannels); @@ -112,7 +101,7 @@ public class PeertubeUploadActivity extends AppCompatActivity { Toasty.error(PeertubeUploadActivity.this, getString(R.string.toot_select_image_error), Toast.LENGTH_LONG).show(); return; } - set_upload_submit.setEnabled(true); + binding.setUploadSubmit.setEnabled(true); uri = data.getData(); filename = null; DocumentFile documentFile = DocumentFile.fromSingleUri(this, uri); @@ -122,8 +111,8 @@ public class PeertubeUploadActivity extends AppCompatActivity { if (filename == null) { filename = new Date().toString(); } - set_upload_file_name.setVisibility(View.VISIBLE); - set_upload_file_name.setText(filename); + binding.setUploadFileName.setVisibility(View.VISIBLE); + binding.setUploadFileName.setText(filename); } } @@ -167,7 +156,7 @@ public class PeertubeUploadActivity extends AppCompatActivity { channelToSend.put(channelName[0], channelId[0]); ArrayAdapter adapterChannel = new ArrayAdapter<>(PeertubeUploadActivity.this, android.R.layout.simple_spinner_dropdown_item, channelName); - set_upload_channel.setAdapter(adapterChannel); + binding.setUploadChannel.setAdapter(adapterChannel); if (peertubeInformation == null) { return; @@ -197,10 +186,10 @@ public class PeertubeUploadActivity extends AppCompatActivity { ArrayAdapter adapterPrivacies = new ArrayAdapter<>(PeertubeUploadActivity.this, android.R.layout.simple_spinner_dropdown_item, privaciesA); - set_upload_privacy.setAdapter(adapterPrivacies); + binding.setUploadPrivacy.setAdapter(adapterPrivacies); //Manage privacies - set_upload_privacy.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + binding.setUploadPrivacy.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { LinkedHashMap privaciesCheck = new LinkedHashMap<>(peertubeInformation.getPrivacies()); @@ -223,9 +212,9 @@ public class PeertubeUploadActivity extends AppCompatActivity { } }); - set_upload_file.setEnabled(true); + binding.setUploadFile.setEnabled(true); - set_upload_file.setOnClickListener(v -> { + binding.setUploadFile.setOnClickListener(v -> { if (ContextCompat.checkSelfPermission(PeertubeUploadActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(PeertubeUploadActivity.this, @@ -243,7 +232,7 @@ public class PeertubeUploadActivity extends AppCompatActivity { }); //Manage languages - set_upload_channel.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + binding.setUploadChannel.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { LinkedHashMap channelsCheck = new LinkedHashMap<>(channels); @@ -267,7 +256,7 @@ public class PeertubeUploadActivity extends AppCompatActivity { } }); - set_upload_submit.setOnClickListener(v -> { + binding.setUploadSubmit.setOnClickListener(v -> { if (uri != null) { Map.Entry channelM = channelToSend.entrySet().iterator().next(); String idChannel = channelM.getValue(); @@ -277,17 +266,19 @@ public class PeertubeUploadActivity extends AppCompatActivity { try { SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); String token = sharedpreferences.getString(Helper.PREF_KEY_OAUTH_TOKEN, null); + new MultipartUploadRequest(PeertubeUploadActivity.this, "https://" + Helper.getLiveInstance(PeertubeUploadActivity.this) + "/api/v1/videos/upload") .setMethod("POST") .setBearerAuth(token) .addHeader("User-Agent", getString(R.string.app_name) + "/" + BuildConfig.VERSION_NAME) .addParameter("privacy", String.valueOf(idPrivacy)) .addParameter("nsfw", "false") + .addParameter("name", filename) .addParameter("commentsEnabled", "true") .addParameter("downloadEnabled", "true") .addParameter("waitTranscoding", "true") .addParameter("channelId", idChannel) - .addFileToUpload(uri.toString(), "videofile", filename) + .addFileToUpload(uri.toString(), "videofile") .setNotificationConfig((context, uploadId) -> getNotificationConfig(uploadId)) .setMaxRetries(2) .startUpload();