package com.airplayer.activity.fetchpicture;
import android.os.Bundle;
import android.view.View;
import com.airplayer.model.Picture;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
/**
* Created by ZiyiTsang on 15/7/21.
*/
public class FetchAlbumArtActivity extends FetchPictureActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public String getSearchLink() {
return SEARCH_LINK_ALBUM_ART;
}
@Override
public ArrayList<Picture> onDecodeJson(String response) {
ArrayList<Picture> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray musicInfoArray = jsonObject.getJSONArray("musics");
for (int i = 0; i < musicInfoArray.length(); i++) {
JSONObject firstResultInfo = musicInfoArray.getJSONObject(i);
String objUrl = changeToBigImageUrl(firstResultInfo.getString("image"));
Picture picture = new Picture(objUrl, objUrl);
list.add(picture);
}
return list;
} catch (JSONException e) {
e.printStackTrace();
return null;
}
}
private String changeToBigImageUrl(String smallImageUrl) {
String[] array = smallImageUrl.split("/");
StringBuilder builder = new StringBuilder();
for (int i = 0; i < array.length; i++) {
if (i == 3) {
builder.append("lpic/");
} else if (i + 1 == array.length) {
builder.append(array[i]);
} else {
builder.append(array[i]).append("/");
}
}
return builder.toString();
}
@Override
public void onFetchMorePictures(int nextPage) {
executeDownloadTask(MODE_DOWNLOAD_ADD, "&start=" + (nextPage - 1) * 20);
}
}