summaryrefslogtreecommitdiffstats
path: root/app/src/main/java
diff options
context:
space:
mode:
authorstom79 <tschneider.ac@gmail.com>2019-01-08 19:29:07 +0100
committerstom79 <tschneider.ac@gmail.com>2019-01-08 19:29:07 +0100
commitcdfad1b0d9254dfb4f8a717399bee3c32311c262 (patch)
tree2115573fb49ae8ed537e7c22c24f160ea5d0220d /app/src/main/java
parent6bf512cf56ce0207a3d48490c7c01452f86b1b2e (diff)
Id + String for elements
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/fr/gouv/etalab/mastodon/activities/PeertubeEditUploadActivity.java22
-rw-r--r--app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Peertube.java69
-rw-r--r--app/src/main/java/fr/gouv/etalab/mastodon/client/PeertubeAPI.java78
3 files changed, 122 insertions, 47 deletions
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/PeertubeEditUploadActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/PeertubeEditUploadActivity.java
index 2ddcf477a..f6b236088 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/PeertubeEditUploadActivity.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/PeertubeEditUploadActivity.java
@@ -35,6 +35,7 @@ import android.widget.Toast;
import com.jaredrummler.materialspinner.MaterialSpinner;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
@@ -241,11 +242,20 @@ public class PeertubeEditUploadActivity extends BaseActivity implements OnRetrie
Peertube peertube = apiResponse.getPeertubes().get(0);
new RetrievePeertubeChannelsAsyncTask(PeertubeEditUploadActivity.this, PeertubeEditUploadActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
- String language = peertube.getLanguage();
- String license = peertube.getLicense();
- String description = peertube.getDescription();
- String privacy = peertube.getPrivacy();
- String category = peertube.getCategory();
+ HashMap<String, String> languageM = peertube.getLanguage();
+ HashMap<Integer, String> licenseM = peertube.getLicense();
+ HashMap<Integer, String> privacyM = peertube.getPrivacy();
+ HashMap<Integer, String> categoryM = peertube.getCategory();
+
+ Map.Entry<String,String> entryString = languageM.entrySet().iterator().next();
+ String language = entryString.getValue();
+ Map.Entry<Integer,String> entryInt = licenseM.entrySet().iterator().next();
+ String license = entryInt.getValue();
+ entryInt = privacyM.entrySet().iterator().next();
+ String privacy = entryInt.getValue();
+ entryInt = categoryM.entrySet().iterator().next();
+ String category = entryInt.getValue();
+
channel = peertube.getChannel();
String title = peertube.getName();
boolean commentEnabled = peertube.isCommentsEnabled();
@@ -255,7 +265,7 @@ public class PeertubeEditUploadActivity extends BaseActivity implements OnRetrie
set_upload_nsfw.setChecked(isNSFW);
p_video_title.setText(title);
- p_video_description.setText(description);
+ p_video_description.setText(peertube.getDescription());
LinkedHashMap<Integer, String> categories = new LinkedHashMap<>(peertubeInformation.getCategories());
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Peertube.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Peertube.java
index 49d15d2bf..cb8656258 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Peertube.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Peertube.java
@@ -17,6 +17,7 @@ package fr.gouv.etalab.mastodon.client.Entities;
import org.json.JSONObject;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
/**
@@ -45,10 +46,10 @@ public class Peertube {
private List<String> tags;
private boolean commentsEnabled;
private boolean sensitive;
- private String category;
- private String license;
- private String language;
- private String privacy;
+ private HashMap<Integer, String> category;
+ private HashMap<Integer, String> license;
+ private HashMap<String, String> language;
+ private HashMap<Integer, String> privacy;
private String myRating = "none";
private JSONObject cache;
@@ -244,29 +245,8 @@ public class Peertube {
this.sensitive = sensitive;
}
- public String getCategory() {
- return category;
- }
-
- public void setCategory(String category) {
- this.category = category;
- }
-
- public String getLicense() {
- return license;
- }
-
- public void setLicense(String license) {
- this.license = license;
- }
- public String getLanguage() {
- return language;
- }
- public void setLanguage(String language) {
- this.language = language;
- }
public String getMyRating() {
return myRating;
@@ -284,13 +264,6 @@ public class Peertube {
this.channel = channel;
}
- public String getPrivacy() {
- return privacy;
- }
-
- public void setPrivacy(String privacy) {
- this.privacy = privacy;
- }
public List<String> getTags() {
return tags;
@@ -299,4 +272,36 @@ public class Peertube {
public void setTags(List<String> tags) {
this.tags = tags;
}
+
+ public HashMap<Integer, String> getCategory() {
+ return category;
+ }
+
+ public void setCategory(HashMap<Integer, String> category) {
+ this.category = category;
+ }
+
+ public HashMap<Integer, String> getLicense() {
+ return license;
+ }
+
+ public void setLicense(HashMap<Integer, String> license) {
+ this.license = license;
+ }
+
+ public HashMap<String, String> getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(HashMap<String, String> language) {
+ this.language = language;
+ }
+
+ public HashMap<Integer, String> getPrivacy() {
+ return privacy;
+ }
+
+ public void setPrivacy(HashMap<Integer, String> privacy) {
+ this.privacy = privacy;
+ }
}
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/PeertubeAPI.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/PeertubeAPI.java
index dc6aed3e3..3811f4fd1 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/client/PeertubeAPI.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/PeertubeAPI.java
@@ -153,6 +153,44 @@ public class PeertubeAPI {
+ /**
+ * Update video meta data *synchronously*
+ *
+ * @param peertube Peertube
+ * @return APIResponse
+ */
+ @SuppressWarnings("SameParameterValue")
+ private APIResponse updateVideo(Peertube peertube) {
+
+ HashMap<String, String> params = new HashMap<>();
+ params.put("id",peertube.getId());
+
+ List<Peertube> peertubes = new ArrayList<>();
+ try {
+
+ HttpsConnection httpsConnection = new HttpsConnection(context);
+ String response = httpsConnection.put(getAbsoluteUrl(String.format("/videos/%s", peertube.getId())), 60, params, prefKeyOauthTokenT);
+
+ JSONArray jsonArray = new JSONObject(response).getJSONArray("data");
+ peertubes = parsePeertube(jsonArray);
+
+ } catch (HttpsConnection.HttpsConnectionException e) {
+ setError(e.getStatusCode(), e);
+ e.printStackTrace();
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (KeyManagementException e) {
+ e.printStackTrace();
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ apiResponse.setPeertubes(peertubes);
+ return apiResponse;
+ }
+
+
/***
* Update credential of the authenticated user *synchronously*
* @return APIResponse
@@ -1712,10 +1750,6 @@ public class PeertubeAPI {
peertube.setDislike(Integer.parseInt(resobj.get("dislikes").toString()));
peertube.setDuration(Integer.parseInt(resobj.get("duration").toString()));
peertube.setSensitive(Boolean.parseBoolean(resobj.get("nsfw").toString()));
- peertube.setCategory(resobj.getJSONObject("category").get("label").toString());
- peertube.setLicense(resobj.getJSONObject("licence").get("label").toString());
- peertube.setLanguage(resobj.getJSONObject("language").get("label").toString());
- peertube.setPrivacy(resobj.getJSONObject("privacy").get("label").toString());
try {
peertube.setCommentsEnabled(Boolean.parseBoolean(resobj.get("commentsEnabled").toString()));
}catch (Exception ignored){}
@@ -1725,6 +1759,22 @@ public class PeertubeAPI {
} catch (ParseException e) {
e.printStackTrace();
}
+
+ try {
+ LinkedHashMap<String, String> langue = new LinkedHashMap<>();
+ LinkedHashMap<Integer, String> category = new LinkedHashMap<>();
+ LinkedHashMap<Integer, String> license = new LinkedHashMap<>();
+ LinkedHashMap<Integer, String> privacy = new LinkedHashMap<>();
+ category.put(resobj.getJSONObject("category").getInt("id"), resobj.getJSONObject("category").get("label").toString());
+ license.put(resobj.getJSONObject("licence").getInt("id"), resobj.getJSONObject("licence").get("label").toString());
+ privacy.put(resobj.getJSONObject("privacy").getInt("id"), resobj.getJSONObject("privacy").get("label").toString());
+ langue.put(resobj.getJSONObject("language").get("id").toString(), resobj.getJSONObject("language").get("label").toString());
+
+ peertube.setCategory(category);
+ peertube.setLicense(license);
+ peertube.setLanguage(langue);
+ peertube.setPrivacy(privacy);
+ }catch (Exception ignored){}
} catch (JSONException e) {
e.printStackTrace();
}
@@ -1769,11 +1819,6 @@ public class PeertubeAPI {
peertube.setChannel(parseAccountResponsePeertube(context, resobj.getJSONObject("channel")));
}catch (Exception ignored){}
peertube.setSensitive(Boolean.parseBoolean(resobj.get("nsfw").toString()));
- peertube.setCategory(resobj.getJSONObject("category").get("label").toString());
- peertube.setLicense(resobj.getJSONObject("licence").get("label").toString());
- peertube.setLanguage(resobj.getJSONObject("language").get("label").toString());
- peertube.setPrivacy(resobj.getJSONObject("privacy").get("label").toString());
-
try {
peertube.setCreated_at(Helper.mstStringToDate(context, resobj.get("createdAt").toString()));
} catch (ParseException e) {
@@ -1791,6 +1836,21 @@ public class PeertubeAPI {
JSONObject attObj = files.getJSONObject(j);
resolutions.add(attObj.getJSONObject("resolution").get("id").toString());
}
+ try {
+ LinkedHashMap<String, String> langue = new LinkedHashMap<>();
+ LinkedHashMap<Integer, String> category = new LinkedHashMap<>();
+ LinkedHashMap<Integer, String> license = new LinkedHashMap<>();
+ LinkedHashMap<Integer, String> privacy = new LinkedHashMap<>();
+ category.put(resobj.getJSONObject("category").getInt("id"), resobj.getJSONObject("category").get("label").toString());
+ license.put(resobj.getJSONObject("licence").getInt("id"), resobj.getJSONObject("licence").get("label").toString());
+ privacy.put(resobj.getJSONObject("privacy").getInt("id"), resobj.getJSONObject("privacy").get("label").toString());
+ langue.put(resobj.getJSONObject("language").get("id").toString(), resobj.getJSONObject("language").get("label").toString());
+
+ peertube.setCategory(category);
+ peertube.setLicense(license);
+ peertube.setLanguage(langue);
+ peertube.setPrivacy(privacy);
+ }catch (Exception ignored){}
peertube.setResolution(resolutions);
} catch (JSONException e) {
e.printStackTrace();