Merge pull request #691 from mfietz/issue/app-tests
Fixes non-working app tests, especially GUI tests
This commit is contained in:
commit
f5a824ce1b
@ -2,7 +2,12 @@ package de.test.antennapod.service.download;
|
|||||||
|
|
||||||
import android.test.InstrumentationTestCase;
|
import android.test.InstrumentationTestCase;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import de.danoeh.antennapod.core.feed.FeedFile;
|
import de.danoeh.antennapod.core.feed.FeedFile;
|
||||||
|
import de.danoeh.antennapod.core.preferences.UserPreferences;
|
||||||
import de.danoeh.antennapod.core.service.download.DownloadRequest;
|
import de.danoeh.antennapod.core.service.download.DownloadRequest;
|
||||||
import de.danoeh.antennapod.core.service.download.DownloadStatus;
|
import de.danoeh.antennapod.core.service.download.DownloadStatus;
|
||||||
import de.danoeh.antennapod.core.service.download.Downloader;
|
import de.danoeh.antennapod.core.service.download.Downloader;
|
||||||
@ -10,9 +15,6 @@ import de.danoeh.antennapod.core.service.download.HttpDownloader;
|
|||||||
import de.danoeh.antennapod.core.util.DownloadError;
|
import de.danoeh.antennapod.core.util.DownloadError;
|
||||||
import de.test.antennapod.util.service.download.HTTPBin;
|
import de.test.antennapod.util.service.download.HTTPBin;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
public class HttpDownloaderTest extends InstrumentationTestCase {
|
public class HttpDownloaderTest extends InstrumentationTestCase {
|
||||||
private static final String TAG = "HttpDownloaderTest";
|
private static final String TAG = "HttpDownloaderTest";
|
||||||
private static final String DOWNLOAD_DIR = "testdownloads";
|
private static final String DOWNLOAD_DIR = "testdownloads";
|
||||||
@ -41,6 +43,7 @@ public class HttpDownloaderTest extends InstrumentationTestCase {
|
|||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
|
UserPreferences.createInstance(getInstrumentation().getTargetContext());
|
||||||
destDir = getInstrumentation().getTargetContext().getExternalFilesDir(DOWNLOAD_DIR);
|
destDir = getInstrumentation().getTargetContext().getExternalFilesDir(DOWNLOAD_DIR);
|
||||||
assertNotNull(destDir);
|
assertNotNull(destDir);
|
||||||
assertTrue(destDir.exists());
|
assertTrue(destDir.exists());
|
||||||
@ -90,7 +93,7 @@ public class HttpDownloaderTest extends InstrumentationTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testGzip() {
|
public void testGzip() {
|
||||||
download("http://httpbin.org/gzip", "testGzip", true);
|
download(HTTPBin.BASE_URL + "/gzip/100", "testGzip", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void test404() {
|
public void test404() {
|
||||||
|
@ -3,12 +3,13 @@ package de.test.antennapod.ui;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
import android.test.ActivityInstrumentationTestCase2;
|
||||||
import android.view.View;
|
import android.widget.ListView;
|
||||||
|
|
||||||
import com.robotium.solo.Solo;
|
import com.robotium.solo.Solo;
|
||||||
|
|
||||||
import de.danoeh.antennapod.R;
|
import de.danoeh.antennapod.R;
|
||||||
import de.danoeh.antennapod.activity.DefaultOnlineFeedViewActivity;
|
import de.danoeh.antennapod.activity.DefaultOnlineFeedViewActivity;
|
||||||
import de.danoeh.antennapod.activity.MainActivity;
|
import de.danoeh.antennapod.activity.MainActivity;
|
||||||
import de.danoeh.antennapod.activity.PreferenceActivityGingerbread;
|
|
||||||
import de.danoeh.antennapod.core.feed.Feed;
|
import de.danoeh.antennapod.core.feed.Feed;
|
||||||
import de.danoeh.antennapod.core.storage.PodDBAdapter;
|
import de.danoeh.antennapod.core.storage.PodDBAdapter;
|
||||||
import de.danoeh.antennapod.preferences.PreferenceController;
|
import de.danoeh.antennapod.preferences.PreferenceController;
|
||||||
@ -49,10 +50,14 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
|
|||||||
super.tearDown();
|
super.tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void openNavDrawer() {
|
||||||
|
solo.clickOnScreen(50, 50);
|
||||||
|
}
|
||||||
|
|
||||||
public void testAddFeed() throws Exception {
|
public void testAddFeed() throws Exception {
|
||||||
uiTestUtils.addHostedFeedData();
|
uiTestUtils.addHostedFeedData();
|
||||||
final Feed feed = uiTestUtils.hostedFeeds.get(0);
|
final Feed feed = uiTestUtils.hostedFeeds.get(0);
|
||||||
solo.setNavigationDrawer(Solo.OPENED);
|
openNavDrawer();
|
||||||
solo.clickOnText(solo.getString(R.string.add_feed_label));
|
solo.clickOnText(solo.getString(R.string.add_feed_label));
|
||||||
solo.enterText(0, feed.getDownload_url());
|
solo.enterText(0, feed.getDownload_url());
|
||||||
solo.clickOnButton(0);
|
solo.clickOnButton(0);
|
||||||
@ -65,39 +70,43 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
|
|||||||
|
|
||||||
public void testClickNavDrawer() throws Exception {
|
public void testClickNavDrawer() throws Exception {
|
||||||
uiTestUtils.addLocalFeedData(false);
|
uiTestUtils.addLocalFeedData(false);
|
||||||
final View home = solo.getView(UITestUtils.HOME_VIEW);
|
|
||||||
|
|
||||||
// all episodes
|
// all episodes
|
||||||
|
openNavDrawer();
|
||||||
|
solo.clickOnText(solo.getString(R.string.all_episodes_label));
|
||||||
solo.waitForView(android.R.id.list);
|
solo.waitForView(android.R.id.list);
|
||||||
assertEquals(solo.getString(R.string.all_episodes_label), getActionbarTitle());
|
assertEquals(solo.getString(R.string.all_episodes_label), getActionbarTitle());
|
||||||
|
|
||||||
// queue
|
// queue
|
||||||
solo.clickOnView(home);
|
openNavDrawer();
|
||||||
solo.clickOnText(solo.getString(R.string.queue_label));
|
solo.clickOnText(solo.getString(R.string.queue_label));
|
||||||
solo.waitForView(android.R.id.list);
|
solo.waitForView(android.R.id.list);
|
||||||
assertEquals(solo.getString(R.string.queue_label), getActionbarTitle());
|
assertEquals(solo.getString(R.string.queue_label), getActionbarTitle());
|
||||||
|
|
||||||
// downloads
|
// downloads
|
||||||
solo.clickOnView(home);
|
openNavDrawer();
|
||||||
solo.clickOnText(solo.getString(R.string.downloads_label));
|
solo.clickOnText(solo.getString(R.string.downloads_label));
|
||||||
solo.waitForView(android.R.id.list);
|
solo.waitForView(android.R.id.list);
|
||||||
assertEquals(solo.getString(R.string.downloads_label), getActionbarTitle());
|
assertEquals(solo.getString(R.string.downloads_label), getActionbarTitle());
|
||||||
|
|
||||||
// playback history
|
// playback history
|
||||||
solo.clickOnView(home);
|
openNavDrawer();
|
||||||
solo.clickOnText(solo.getString(R.string.playback_history_label));
|
solo.clickOnText(solo.getString(R.string.playback_history_label));
|
||||||
solo.waitForView(android.R.id.list);
|
solo.waitForView(android.R.id.list);
|
||||||
assertEquals(solo.getString(R.string.playback_history_label), getActionbarTitle());
|
assertEquals(solo.getString(R.string.playback_history_label), getActionbarTitle());
|
||||||
|
|
||||||
// add podcast
|
// add podcast
|
||||||
solo.clickOnView(home);
|
openNavDrawer();
|
||||||
solo.clickOnText(solo.getString(R.string.add_feed_label));
|
solo.clickOnText(solo.getString(R.string.add_feed_label));
|
||||||
solo.waitForView(R.id.txtvFeedurl);
|
solo.waitForView(R.id.txtvFeedurl);
|
||||||
assertEquals(solo.getString(R.string.add_feed_label), getActionbarTitle());
|
assertEquals(solo.getString(R.string.add_feed_label), getActionbarTitle());
|
||||||
|
|
||||||
// podcasts
|
// podcasts
|
||||||
|
ListView list = (ListView)solo.getView(R.id.nav_list);
|
||||||
for (int i = 0; i < uiTestUtils.hostedFeeds.size(); i++) {
|
for (int i = 0; i < uiTestUtils.hostedFeeds.size(); i++) {
|
||||||
Feed f = uiTestUtils.hostedFeeds.get(i);
|
Feed f = uiTestUtils.hostedFeeds.get(i);
|
||||||
solo.clickOnView(home);
|
solo.clickOnScreen(50, 50); // open nav drawer
|
||||||
|
solo.scrollListToLine(list, i);
|
||||||
solo.clickOnText(f.getTitle());
|
solo.clickOnText(f.getTitle());
|
||||||
solo.waitForView(android.R.id.list);
|
solo.waitForView(android.R.id.list);
|
||||||
assertEquals("", getActionbarTitle());
|
assertEquals("", getActionbarTitle());
|
||||||
@ -109,7 +118,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testGoToPreferences() {
|
public void testGoToPreferences() {
|
||||||
solo.setNavigationDrawer(Solo.CLOSED);
|
openNavDrawer();
|
||||||
solo.clickOnMenuItem(solo.getString(R.string.settings_label));
|
solo.clickOnMenuItem(solo.getString(R.string.settings_label));
|
||||||
solo.waitForActivity(PreferenceController.getPreferenceActivity());
|
solo.waitForActivity(PreferenceController.getPreferenceActivity());
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,11 @@ import android.content.SharedPreferences;
|
|||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
import android.test.ActivityInstrumentationTestCase2;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.robotium.solo.Solo;
|
import com.robotium.solo.Solo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import de.danoeh.antennapod.R;
|
import de.danoeh.antennapod.R;
|
||||||
import de.danoeh.antennapod.activity.AudioplayerActivity;
|
import de.danoeh.antennapod.activity.AudioplayerActivity;
|
||||||
import de.danoeh.antennapod.activity.MainActivity;
|
import de.danoeh.antennapod.activity.MainActivity;
|
||||||
@ -16,8 +20,6 @@ import de.danoeh.antennapod.core.storage.DBReader;
|
|||||||
import de.danoeh.antennapod.core.storage.DBWriter;
|
import de.danoeh.antennapod.core.storage.DBWriter;
|
||||||
import de.danoeh.antennapod.core.storage.PodDBAdapter;
|
import de.danoeh.antennapod.core.storage.PodDBAdapter;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test cases for starting and ending playback from the MainActivity and AudioPlayerActivity
|
* Test cases for starting and ending playback from the MainActivity and AudioPlayerActivity
|
||||||
*/
|
*/
|
||||||
@ -40,6 +42,7 @@ public class PlaybackTest extends ActivityInstrumentationTestCase2<MainActivity>
|
|||||||
PodDBAdapter adapter = new PodDBAdapter(getInstrumentation().getTargetContext());
|
PodDBAdapter adapter = new PodDBAdapter(getInstrumentation().getTargetContext());
|
||||||
adapter.open();
|
adapter.open();
|
||||||
adapter.close();
|
adapter.close();
|
||||||
|
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getInstrumentation().getTargetContext());
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getInstrumentation().getTargetContext());
|
||||||
prefs.edit().putBoolean(UserPreferences.PREF_UNPAUSE_ON_HEADSET_RECONNECT, false).commit();
|
prefs.edit().putBoolean(UserPreferences.PREF_UNPAUSE_ON_HEADSET_RECONNECT, false).commit();
|
||||||
prefs.edit().putBoolean(UserPreferences.PREF_PAUSE_ON_HEADSET_DISCONNECT, false).commit();
|
prefs.edit().putBoolean(UserPreferences.PREF_PAUSE_ON_HEADSET_DISCONNECT, false).commit();
|
||||||
@ -59,6 +62,10 @@ public class PlaybackTest extends ActivityInstrumentationTestCase2<MainActivity>
|
|||||||
super.tearDown();
|
super.tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void openNavDrawer() {
|
||||||
|
solo.clickOnScreen(50, 50);
|
||||||
|
}
|
||||||
|
|
||||||
private void setContinuousPlaybackPreference(boolean value) {
|
private void setContinuousPlaybackPreference(boolean value) {
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getInstrumentation().getTargetContext());
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getInstrumentation().getTargetContext());
|
||||||
prefs.edit().putBoolean(UserPreferences.PREF_FOLLOW_QUEUE, value).commit();
|
prefs.edit().putBoolean(UserPreferences.PREF_FOLLOW_QUEUE, value).commit();
|
||||||
@ -71,7 +78,9 @@ public class PlaybackTest extends ActivityInstrumentationTestCase2<MainActivity>
|
|||||||
|
|
||||||
private void startLocalPlayback() {
|
private void startLocalPlayback() {
|
||||||
assertTrue(solo.waitForActivity(MainActivity.class));
|
assertTrue(solo.waitForActivity(MainActivity.class));
|
||||||
solo.setNavigationDrawer(Solo.CLOSED);
|
openNavDrawer();
|
||||||
|
solo.clickOnText(solo.getString(R.string.all_episodes_label));
|
||||||
|
solo.waitForView(android.R.id.list);
|
||||||
solo.clickOnView(solo.getView(R.id.butSecondaryAction));
|
solo.clickOnView(solo.getView(R.id.butSecondaryAction));
|
||||||
assertTrue(solo.waitForActivity(AudioplayerActivity.class));
|
assertTrue(solo.waitForActivity(AudioplayerActivity.class));
|
||||||
assertTrue(solo.waitForView(solo.getView(R.id.butPlay)));
|
assertTrue(solo.waitForView(solo.getView(R.id.butPlay)));
|
||||||
@ -79,10 +88,10 @@ public class PlaybackTest extends ActivityInstrumentationTestCase2<MainActivity>
|
|||||||
|
|
||||||
private void startLocalPlaybackFromQueue() {
|
private void startLocalPlaybackFromQueue() {
|
||||||
assertTrue(solo.waitForActivity(MainActivity.class));
|
assertTrue(solo.waitForActivity(MainActivity.class));
|
||||||
solo.clickOnView(solo.getView(UITestUtils.HOME_VIEW));
|
openNavDrawer();
|
||||||
solo.clickOnText(solo.getString(R.string.queue_label));
|
solo.clickOnText(solo.getString(R.string.queue_label));
|
||||||
assertTrue(solo.waitForView(solo.getView(R.id.butSecondaryAction)));
|
assertTrue(solo.waitForView(solo.getView(R.id.butSecondaryAction)));
|
||||||
solo.clickOnImageButton(0);
|
solo.clickOnImageButton(1);
|
||||||
assertTrue(solo.waitForActivity(AudioplayerActivity.class));
|
assertTrue(solo.waitForActivity(AudioplayerActivity.class));
|
||||||
assertTrue(solo.waitForView(solo.getView(R.id.butPlay)));
|
assertTrue(solo.waitForView(solo.getView(R.id.butPlay)));
|
||||||
}
|
}
|
||||||
@ -108,7 +117,7 @@ public class PlaybackTest extends ActivityInstrumentationTestCase2<MainActivity>
|
|||||||
setContinuousPlaybackPreference(false);
|
setContinuousPlaybackPreference(false);
|
||||||
uiTestUtils.addLocalFeedData(true);
|
uiTestUtils.addLocalFeedData(true);
|
||||||
List<FeedItem> queue = DBReader.getQueue(getInstrumentation().getTargetContext());
|
List<FeedItem> queue = DBReader.getQueue(getInstrumentation().getTargetContext());
|
||||||
FeedItem second = queue.get(1);
|
FeedItem second = queue.get(0);
|
||||||
|
|
||||||
startLocalPlaybackFromQueue();
|
startLocalPlaybackFromQueue();
|
||||||
assertTrue(solo.waitForText(second.getTitle()));
|
assertTrue(solo.waitForText(second.getTitle()));
|
||||||
@ -147,4 +156,6 @@ public class PlaybackTest extends ActivityInstrumentationTestCase2<MainActivity>
|
|||||||
public void testReplayEpisodeContinuousPlaybackOff() throws Exception {
|
public void testReplayEpisodeContinuousPlaybackOff() throws Exception {
|
||||||
replayEpisodeCheck(false);
|
replayEpisodeCheck(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,12 +5,8 @@ import android.content.Context;
|
|||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
||||||
import de.danoeh.antennapod.R;
|
|
||||||
import de.danoeh.antennapod.core.feed.*;
|
|
||||||
import de.danoeh.antennapod.core.storage.PodDBAdapter;
|
|
||||||
import de.test.antennapod.util.service.download.HTTPBin;
|
|
||||||
import de.test.antennapod.util.syndication.feedgenerator.RSS2Generator;
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@ -23,6 +19,16 @@ import java.util.ArrayList;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import de.danoeh.antennapod.R;
|
||||||
|
import de.danoeh.antennapod.core.feed.EventDistributor;
|
||||||
|
import de.danoeh.antennapod.core.feed.Feed;
|
||||||
|
import de.danoeh.antennapod.core.feed.FeedImage;
|
||||||
|
import de.danoeh.antennapod.core.feed.FeedItem;
|
||||||
|
import de.danoeh.antennapod.core.feed.FeedMedia;
|
||||||
|
import de.danoeh.antennapod.core.storage.PodDBAdapter;
|
||||||
|
import de.test.antennapod.util.service.download.HTTPBin;
|
||||||
|
import de.test.antennapod.util.syndication.feedgenerator.RSS2Generator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility methods for UI tests.
|
* Utility methods for UI tests.
|
||||||
* Starts a web server that hosts feeds, episodes and images.
|
* Starts a web server that hosts feeds, episodes and images.
|
||||||
@ -174,7 +180,8 @@ public class UITestUtils {
|
|||||||
feed.setDownloaded(true);
|
feed.setDownloaded(true);
|
||||||
if (feed.getImage() != null) {
|
if (feed.getImage() != null) {
|
||||||
FeedImage image = feed.getImage();
|
FeedImage image = feed.getImage();
|
||||||
image.setFile_url(image.getDownload_url());
|
int fileId = Integer.parseInt(StringUtils.substringAfter(image.getDownload_url(), "files/"));
|
||||||
|
image.setFile_url(server.accessFile(fileId).getAbsolutePath());
|
||||||
image.setDownloaded(true);
|
image.setDownloaded(true);
|
||||||
}
|
}
|
||||||
if (downloadEpisodes) {
|
if (downloadEpisodes) {
|
||||||
|
@ -2,15 +2,28 @@ package de.test.antennapod.util.service.download;
|
|||||||
|
|
||||||
import android.util.Base64;
|
import android.util.Base64;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import de.danoeh.antennapod.BuildConfig;
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.net.URLConnection;
|
import java.net.URLConnection;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Random;
|
||||||
import java.util.zip.GZIPOutputStream;
|
import java.util.zip.GZIPOutputStream;
|
||||||
|
|
||||||
|
import de.danoeh.antennapod.BuildConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Http server for testing purposes
|
* Http server for testing purposes
|
||||||
* <p/>
|
* <p/>
|
||||||
@ -264,7 +277,7 @@ public class HTTPBin extends NanoHTTPD {
|
|||||||
|
|
||||||
private Response getGzippedResponse(int size) throws IOException {
|
private Response getGzippedResponse(int size) throws IOException {
|
||||||
try {
|
try {
|
||||||
Thread.sleep(5000);
|
Thread.sleep(200);
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -272,14 +285,15 @@ public class HTTPBin extends NanoHTTPD {
|
|||||||
Random random = new Random(System.currentTimeMillis());
|
Random random = new Random(System.currentTimeMillis());
|
||||||
random.nextBytes(buffer);
|
random.nextBytes(buffer);
|
||||||
|
|
||||||
ByteArrayOutputStream compressed = new ByteArrayOutputStream();
|
ByteArrayOutputStream compressed = new ByteArrayOutputStream(buffer.length);
|
||||||
GZIPOutputStream gzipOutputStream = new GZIPOutputStream(compressed);
|
GZIPOutputStream gzipOutputStream = new GZIPOutputStream(compressed);
|
||||||
gzipOutputStream.write(buffer);
|
gzipOutputStream.write(buffer);
|
||||||
|
gzipOutputStream.close();
|
||||||
|
|
||||||
InputStream inputStream = new ByteArrayInputStream(compressed.toByteArray());
|
InputStream inputStream = new ByteArrayInputStream(compressed.toByteArray());
|
||||||
Response response = new Response(Response.Status.OK, MIME_PLAIN, inputStream);
|
Response response = new Response(Response.Status.OK, MIME_PLAIN, inputStream);
|
||||||
response.addHeader("Content-encoding", "gzip");
|
response.addHeader("Content-Encoding", "gzip");
|
||||||
response.addHeader("Content-length", String.valueOf(compressed.size()));
|
response.addHeader("Content-Length", String.valueOf(compressed.size()));
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,10 +2,10 @@ package de.danoeh.antennapod.core.feed;
|
|||||||
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
|
||||||
import de.danoeh.antennapod.core.asynctask.PicassoImageResource;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
|
import de.danoeh.antennapod.core.asynctask.PicassoImageResource;
|
||||||
|
|
||||||
|
|
||||||
public class FeedImage extends FeedFile implements PicassoImageResource {
|
public class FeedImage extends FeedFile implements PicassoImageResource {
|
||||||
public static final int FEEDFILETYPE_FEEDIMAGE = 1;
|
public static final int FEEDFILETYPE_FEEDIMAGE = 1;
|
||||||
@ -65,6 +65,8 @@ public class FeedImage extends FeedFile implements PicassoImageResource {
|
|||||||
public Uri getImageUri() {
|
public Uri getImageUri() {
|
||||||
if (file_url != null && downloaded) {
|
if (file_url != null && downloaded) {
|
||||||
return Uri.fromFile(new File(file_url));
|
return Uri.fromFile(new File(file_url));
|
||||||
|
} else if(download_url != null) {
|
||||||
|
return Uri.parse(download_url);
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user