Commit 1c292d68 authored by Adam Barth's avatar Adam Barth

Merge pull request #1241 from abarth/stock_data

Switch back to GitHub hosting of stock data
parents 2508d34d 174164bc
...@@ -53,20 +53,10 @@ class StockData { ...@@ -53,20 +53,10 @@ class StockData {
} }
typedef void StockDataCallback(StockData data); typedef void StockDataCallback(StockData data);
const _kChunkSize = 100; const _kChunkCount = 30;
String _urlToFetch(int chunk) { String _urlToFetch(int chunk) {
Map<String, String> queryParameters = { return 'https://domokit.github.io/examples/stocks/data/stock_data_$chunk.json';
'limitToFirst': _kChunkSize.toString(),
'startAt': '\"${chunk * _kChunkSize}\"',
'orderBy': '"\$key"',
};
// Just a demo firebase app owned by eseidel.
return new Uri.https(
'sizzling-torch-6112.firebaseio.com',
'.json',
queryParameters=queryParameters
).toString();
} }
class StockDataFetcher { class StockDataFetcher {
...@@ -82,7 +72,6 @@ class StockDataFetcher { ...@@ -82,7 +72,6 @@ class StockDataFetcher {
void _fetchNextChunk() { void _fetchNextChunk() {
if (!actuallyFetchData) if (!actuallyFetchData)
return; return;
http.get(_urlToFetch(_nextChunk++)).then((http.Response response) { http.get(_urlToFetch(_nextChunk++)).then((http.Response response) {
String json = response.body; String json = response.body;
if (json == null) { if (json == null) {
...@@ -90,9 +79,8 @@ class StockDataFetcher { ...@@ -90,9 +79,8 @@ class StockDataFetcher {
return; return;
} }
JsonDecoder decoder = new JsonDecoder(); JsonDecoder decoder = new JsonDecoder();
Map responseJson = decoder.convert(json); callback(new StockData(decoder.convert(json)));
callback(new StockData(responseJson.values.toList())); if (_nextChunk < _kChunkCount)
if (responseJson.isNotEmpty)
_fetchNextChunk(); _fetchNextChunk();
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment