diff options
author | stom79 <tschneider.ac@gmail.com> | 2019-01-08 19:29:07 +0100 |
---|---|---|
committer | stom79 <tschneider.ac@gmail.com> | 2019-01-08 19:29:07 +0100 |
commit | cdfad1b0d9254dfb4f8a717399bee3c32311c262 (patch) | |
tree | 2115573fb49ae8ed537e7c22c24f160ea5d0220d /app/src/main/java/fr/gouv | |
parent | 6bf512cf56ce0207a3d48490c7c01452f86b1b2e (diff) |
Id + String for elements
Diffstat (limited to 'app/src/main/java/fr/gouv')
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(); |