@@ -0,0 +1,1710 @@
+package de.metalmatze.krautreporter.helpers;%0A%0Aimport com.android.volley.NetworkResponse;%0Aimport com.android.volley.ParseError;%0Aimport com.android.volley.Request;%0Aimport com.android.volley.Response;%0Aimport com.android.volley.toolbox.HttpHeaderParser;%0A%0Aimport org.xmlpull.v1.XmlPullParserException;%0A%0Aimport java.io.ByteArrayInputStream;%0Aimport java.io.IOException;%0Aimport java.io.InputStream;%0Aimport java.util.List;%0A%0Aimport de.metalmatze.krautreporter.KrautreporterRssParser;%0Aimport de.metalmatze.krautreporter.models.ArticleModel;%0A%0Apublic class RssRequest extends Request%3CList%3CArticleModel%3E%3E %7B%0A%0A    private final Response.Listener%3CList%3CArticleModel%3E%3E responseListener;%0A%0A    public RssRequest(int method, String url, Response.Listener%3CList%3CArticleModel%3E%3E responseListener, Response.ErrorListener errorListener) %7B%0A        super(method, url, errorListener);%0A        this.responseListener = responseListener;%0A    %7D%0A%0A    @Override%0A    protected Response%3CList%3CArticleModel%3E%3E parseNetworkResponse(NetworkResponse response) %7B%0A%0A        List%3CArticleModel%3E articles;%0A%0A        try %7B%0A%0A            InputStream inputStream = new ByteArrayInputStream(response.data);%0A            KrautreporterRssParser parser = new KrautreporterRssParser();%0A%0A            articles = parser.parse(inputStream);%0A%0A        %7D catch (XmlPullParserException e) %7B%0A            return Response.error(new ParseError(e));%0A        %7D catch (IOException e) %7B%0A            return Response.error(new ParseError(e));%0A        %7D%0A%0A        return Response.success(articles, HttpHeaderParser.parseCacheHeaders(response));%0A    %7D%0A%0A    @Override%0A    protected void deliverResponse(List%3CArticleModel%3E response) %7B%0A        this.responseListener.onResponse(response);%0A    %7D%0A%7D%0A

Create RssRequest