package com.kitty.poclient.data;
import java.sql.SQLDataException;
import java.util.ArrayList;
import java.util.List;
import android.content.Intent;
import android.util.Log;
import com.kitty.poclient.bean.LocalAlbums;
import com.kitty.poclient.bean.LocalSingles;
import com.kitty.poclient.bean.LocalThemes;
import com.kitty.poclient.common.Constant;
import com.kitty.poclient.common.UIHelper;
import com.kitty.poclient.common.UpnpApp;
import com.kitty.poclient.dao.AlbumDao;
import com.kitty.poclient.dao.MusicDao;
import com.kitty.poclient.domain.Album;
import com.kitty.poclient.domain.Music;
import com.kitty.poclient.domain.Pack;
import com.kitty.poclient.service.impl.AlbumServiceImpl;
import com.kitty.poclient.service.impl.MusicServiceImpl;
import com.kitty.poclient.service.impl.PackServiceImpl;
/**
* 控制端本地数据,已经加载到程序。
*
*/
public class VirtualData {
public static final String TAG = "VirtualData";
public static boolean dataInitiated = false;
public static List<Album> albums = new ArrayList<Album>();// VirtualData.albums.add,VirtualData.albums
public static List<Music> musics = new ArrayList<Music>();
public static List<Pack> packs = new ArrayList<Pack>();//VirtualData.packs.add
public static Album refetchingMusicContainerAlbum;
public static LocalAlbums localAlbums;
public static LocalThemes localThemes;//VirtualData.localThemes=,VirtualData.localThemes =
public static LocalSingles localSingles;
// public static Local
public static void clearcacheinitData() {
albums = new AlbumServiceImpl().getalbumlist();
// if(albums!=null){
// localAlbums = LocalAlbums.translateAlbumList(albums);
// }
musics = new MusicServiceImpl().getAllMusic();
// localMusics = LocalMusics.translateMusics(musics);
packs = new PackServiceImpl().getAllPack();
// themes = LocalThemes.translatePacks(VirtualData.packs);
dataInitiated = true;
// 刷新“我的音乐” 专辑、单曲、主题
UIHelper.refreshAllLocalView();
UpnpApp.context.sendBroadcast(new Intent("updateListPurchased")); // 刷新“应用商店-已购音乐”
}
private static void printAlbums(List<Album> albums) {
Log.e(TAG, "albums.size()=" + albums.size());
for (Album album : albums) {
Log.e(TAG, album.getName());
}
}
public static void initData() {// VirtualData.initData()
albums = new AlbumServiceImpl().getalbumlist();
// localAlbums = LocalAlbums.translateAlbumList(albums);
musics = new MusicServiceImpl().getAllMusic();
// localMusics = LocalMusics.translateMusics(musics);
packs = new PackServiceImpl().getAllPack();
// themes = LocalThemes.translatePacks(VirtualData.packs);
dataInitiated = true;
UIHelper.refreshAllLocalView();
UpnpApp.context.sendBroadcast(new Intent("updateListPurchased"));
}
public static void setMusicContainerAlbumLocal(Music music) {
// 查询该单曲的包装专辑ID
long albumId = -1;
try {
albumId = new MusicDao().getMusicContainerAlbumId(music.getId());
} catch (SQLDataException e) {
e.printStackTrace();
Log.e(TAG, "查询单曲的包装专辑时发生异常");
return;
}
Log.e(TAG, "refetchingMusicContainerAlbumId=" + albumId);
// 将数据库中对应专辑的状态修改为在本地
new AlbumDao().updateAlbumLocationState(albumId, Constant.LOCATION_STATE_LOCAL);
Log.e(TAG, "refetchingMusicContainerAlbum locationState set done");
}
}