package com.emop.client.tasks;
import android.content.Context;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.provider.SyncStateContract.Columns;
import android.util.Log;
import android.view.Display;
import com.emop.client.Constants;
import com.emop.client.io.FmeiClient;
import com.emop.client.io.TaodianApi;
import com.emop.client.provider.Schema;
import com.emop.client.provider.model.Topic;
/**
* 刷新一些应用关键数据。
* @author deonwu
*
*/
public class ClientDataRefresh extends Thread{
private Context ctx = null;
private FmeiClient client = null;
private Display display = null;
public ClientDataRefresh(Context context, Display display){
this.ctx = context;
client = FmeiClient.getInstance(context);
this.display = display;
}
public void run(){
client.isInited = true;
loadUserInfo();
client.updateLocalTrackId();
client.getTrackPid();
client.refreshActivityItemList(ctx.getContentResolver());
Cursor c = ctx.getContentResolver().query(Schema.TOPIC_LIST, new String[]{Columns._ID}, null, null, null);
c.close();
loadTopicImage();
c = ctx.getContentResolver().query(Schema.CATE_LIST, new String[]{Columns._ID}, null, null, null);
c.close();
c = ctx.getContentResolver().query(Schema.HOT_CATE_LIST, new String[]{Columns._ID}, null, null, null);
c.close();
client.cleanExpiredData(ctx.getContentResolver());
}
public void loadTopicImage(){
Cursor c = client.getTopicList(ctx.getContentResolver());
boolean hasMore = c.moveToFirst();
int picIndex = 0;
if(hasMore){
picIndex = c.getColumnIndex(Topic.FRONT_PIC);
}
if(display != null){
int width = display.getWidth();
for(int i = 0; i < 5 && hasMore; hasMore = c.moveToNext(), i++){
String pic = c.getString(picIndex);
client.tmpImgLoader.loadToCache(pic, width);
}
}
c.close();
}
private void loadUserInfo(){
SharedPreferences settings = ctx.getSharedPreferences(Constants.PREFS_NAME, 0);
String userId = settings.getString(Constants.PREFS_OAUTH_ID, "");
String trackId = settings.getString(Constants.PREFS_TRACK_ID, "");
Log.d(Constants.TAG_EMOP, "User id:" + userId);
client.userId = userId;
client.trackUserId = trackId;
}
}