private void exampleGetVideo(){ String shortCode = "z7sw"; AndroidStreamable.getVideo(shortCode, new VideoCallback() { @Override public void onSuccess(int statusCode, Video video) { Log.i("VIDEO", GSON.toJson(video)); } @Override public void onFailure(int statusCode, Throwable error) { error.printStackTrace(); } }); }
private void exampleGetAuthUser(){ AndroidStreamable.getAuthUser(new UserCallback() { @Override public void onSuccess(int statusCode, User user) { Log.i("AUTH USER", GSON.toJson(user)); } @Override public void onFailure(int statusCode, Throwable error) { error.printStackTrace(); } }); }
private void exampleGetUser(){ String username = "streamable"; AndroidStreamable.getUser(username, new UserCallback() { @Override public void onSuccess(int statusCode, User user) { Log.i("USER", GSON.toJson(user)); } @Override public void onFailure(int statusCode, Throwable error) { error.printStackTrace(); } }); } }
public static Video fromJson(JSONObject json) throws JSONException { Video video = new Video(); if(json.has("title")) { video.setTitle(json.getString("title")); } if(json.has("url")) { video.setUrl(AndroidStreamableUtil.fixUrl(json.getString("url"))); } if(json.has("thumbnail_url")) { video.setThumbnailUrl(AndroidStreamableUtil.fixUrl(json.getString("thumbnail_url"))); } if(json.has("message")) { video.setMessage(json.getString("message")); } if(json.has("status")) { video.setStatus(AndroidStreamableUtil.toInt(json.getString("status"))); } Map<String, VideoFile> hash = new HashMap<>(); for(Iterator<String> i = json.getJSONObject("files").keys(); i.hasNext(); ){ String format = i.next(); JSONObject videoFileJson = json.getJSONObject("files").getJSONObject(format); VideoFile videoFile = VideoFile.fromJson(videoFileJson); hash.put(format, videoFile); } video.setFiles(hash); return video; }
public static VideoFile fromJson(JSONObject json) throws JSONException { VideoFile videoFile = new VideoFile(); if(json.has("url")) { videoFile.setUrl(AndroidStreamableUtil.fixUrl(json.getString("url"))); } if(json.has("width")) { videoFile.setWidth(json.getString("width")); } if(json.has("height")) { videoFile.setHeight(json.getString("height")); } return videoFile; }
public static NewVideo fromJson(JSONObject json) throws JSONException { NewVideo newVideo = new NewVideo(); if(json.has("shortcode")) { newVideo.setShortCode(json.getString("shortcode")); } if(json.has("status")) { newVideo.setStatus(AndroidStreamableUtil.toInt(json.getString("status"))); } return newVideo; }
private void exampleUploadVideo(){ InputStream is = null; String title = "Upload Example"; try { is = getAssets().open("dp56.mp4"); } catch (Exception e){ } if(is != null) { AndroidStreamable.uploadVideo(is, title, new NewVideoCallback() { @Override public void onSuccess(int statusCode, NewVideo newVideo) { Log.i("UPLOADED VIDEO", GSON.toJson(newVideo)); } @Override public void onFailure(int statusCode, Throwable error) { error.printStackTrace(); } }); } }
public static void uploadVideo(InputStream videoInputStream, String title, NewVideoCallback callback){ RequestParams params = new RequestParams(); params.put("file", videoInputStream); params.put("title", title); uploadVideo(params, callback); }
public static String fixUrl(String url){ if(isNotEmpty(url)) { if (url.startsWith("//")) { url = url.replace("//", "http://"); } else if (!url.startsWith("http://")) { url = "http://" + url; } } return url; }
private void exampleImportVideo(){ String url = "https://archive.org/download/Windows7WildlifeSampleVideo/Wildlife.wmv"; String title = "Import Example"; AndroidStreamable.importVideo(url, title, new NewVideoCallback() { @Override public void onSuccess(int statusCode, NewVideo newVideo) { Log.i("IMPORTED VIDEO", GSON.toJson(newVideo)); } @Override public void onFailure(int statusCode, Throwable error) { error.printStackTrace(); } }); }
public static void uploadVideo(File videoFile, String title, NewVideoCallback callback) throws FileNotFoundException { RequestParams params = new RequestParams(); params.put("file", videoFile); params.put("title", title); uploadVideo(params, callback); }
private static void uploadVideo(RequestParams params, final NewVideoCallback callback) { String url = STREAMABLE_BASE_URL + STREAMABLE_UPLOAD_VIDEO_ENDPOINT; if(AndroidStreamableUtil.isNotEmpty(username) && AndroidStreamableUtil.isNotEmpty(password)) { REST_CLIENT.setBasicAuth(username, password); } REST_CLIENT.setTimeout(timeout); REST_CLIENT.post(url, params, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { try { JSONObject json = new JSONObject(new String(responseBody)); NewVideo newVideo = NewVideo.fromJson(json); callback.onSuccess(statusCode, newVideo); } catch (JSONException e){ callback.onFailure(statusCode, e); } } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { callback.onFailure(statusCode, error); } }); }
public static void getVideo(String shortCode, final VideoCallback callback){ String url = STREAMABLE_BASE_URL + STREAMABLE_RETRIEVE_VIDEO_ENDPOINT + shortCode; if(AndroidStreamableUtil.isNotEmpty(username) && AndroidStreamableUtil.isNotEmpty(password)) { REST_CLIENT.setBasicAuth(username, password); } REST_CLIENT.setTimeout(timeout); REST_CLIENT.get(url, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { try { JSONObject json = new JSONObject(new String(responseBody)); Video newVideo = Video.fromJson(json); callback.onSuccess(statusCode, newVideo); } catch (JSONException e){ callback.onFailure(statusCode, e); } } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { callback.onFailure(statusCode, error); } }); }
public static void getAuthUser(final UserCallback callback){ String url = STREAMABLE_BASE_URL + STREAMABLE_RETRIEVE_AUTH_USER_ENDPOINT; if(AndroidStreamableUtil.isNotEmpty(username) && AndroidStreamableUtil.isNotEmpty(password)) { REST_CLIENT.setBasicAuth(username, password); } REST_CLIENT.setTimeout(timeout); REST_CLIENT.get(url, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { try { JSONObject json = new JSONObject(new String(responseBody)); User user = User.fromJson(json); callback.onSuccess(statusCode, user); } catch (JSONException e){ callback.onFailure(statusCode, e); } } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { callback.onFailure(statusCode, error); } }); }
public static void getUser(String username, final UserCallback callback){ String url = STREAMABLE_BASE_URL + STREAMABLE_RETRIEVE_USER_ENDPOINT + username; if(AndroidStreamableUtil.isNotEmpty(username) && AndroidStreamableUtil.isNotEmpty(password)) { REST_CLIENT.setBasicAuth(username, password); } REST_CLIENT.setTimeout(timeout); REST_CLIENT.get(url, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { try { JSONObject json = new JSONObject(new String(responseBody)); User user = User.fromJson(json); callback.onSuccess(statusCode, user); } catch (JSONException e){ callback.onFailure(statusCode, e); } } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { callback.onFailure(statusCode, error); } }); } }
public static void importVideo(String videoUrl, String title, final NewVideoCallback callback){ String url = String.format(STREAMABLE_BASE_URL + STREAMABLE_IMPORT_VIDEO_ENDPOINT, videoUrl, title); if(AndroidStreamableUtil.isNotEmpty(username) && AndroidStreamableUtil.isNotEmpty(password)) { REST_CLIENT.setBasicAuth(username, password); } REST_CLIENT.setTimeout(timeout); REST_CLIENT.get(url, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { try { JSONObject json = new JSONObject(new String(responseBody)); NewVideo newVideo = NewVideo.fromJson(json); callback.onSuccess(statusCode, newVideo); } catch (JSONException e){ callback.onFailure(statusCode, e); } } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { callback.onFailure(statusCode, error); } }); }