From c8dbbe9497a0cc80856d2c08ccbc7e25ed38344c Mon Sep 17 00:00:00 2001 From: Victor Date: Tue, 25 Mar 2014 23:38:46 +0200 Subject: [PATCH] Add VideoSearchTask --- .../donetskwebcam/VideoSearchTask.java | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/com/annimon/donetskwebcam/VideoSearchTask.java diff --git a/src/com/annimon/donetskwebcam/VideoSearchTask.java b/src/com/annimon/donetskwebcam/VideoSearchTask.java new file mode 100644 index 0000000..10c2340 --- /dev/null +++ b/src/com/annimon/donetskwebcam/VideoSearchTask.java @@ -0,0 +1,62 @@ +package com.annimon.donetskwebcam; + +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import android.os.AsyncTask; +import android.widget.ArrayAdapter; + +public final class VideoSearchTask extends AsyncTask> { + + private final ArrayAdapter urlsAdapter; + + public VideoSearchTask(ArrayAdapter urlsAdapter) { + this.urlsAdapter = urlsAdapter; + } + + @Override + protected List doInBackground(Long... params) { + long startTime = params[0]; + long period = params[1]; + String vs = "vs" + params[2]; + long camera = params[3]; + + List list = new ArrayList<>(); + + for (int i = 0; i < period; i++) { + String url = "http://" + vs + ".videoprobki.com.ua/streams/cam" + + camera + "stream_" + (startTime + i) + ".mp4"; + if (isHttpOk(url)) { + list.add(url); + i += 50; + } + } + return list; + } + + + + @Override + protected void onPostExecute(List result) { + super.onPostExecute(result); + if (result != null) { + for (String url : result) { + urlsAdapter.add(url); + } + } + } + + private static boolean isHttpOk(String siteUrl) { + try { + URL url = new URL(siteUrl); + HttpURLConnection conn = (HttpURLConnection)url.openConnection(); + + int code = conn.getResponseCode(); + return (code == HttpURLConnection.HTTP_OK); + } catch (IOException ioe) { + return false; + } + } +}