package com.d3.d3xmpp.constant;
import java.lang.Thread.UncaughtExceptionHandler;
import java.util.Timer;
import java.util.TimerTask;
import com.d3.d3xmpp.xmpp.XmppConnection;
import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;
public class MyApplication extends Application implements UncaughtExceptionHandler{
private static MyApplication instance;
public static SharedPreferences sharedPreferences;
public static double lat = 23.117055306224895;
public static double lon = 113.2759952545166;
public static MyApplication getInstance() {
return instance;
}
@Override
public void onCreate() {
super.onCreate();
instance = this;
//ȫ��δ֪�쳣����
// Thread.setDefaultUncaughtExceptionHandler(this);
sharedPreferences = getSharedPreferences(Constants.SHARED_PREFERENCES, Context.MODE_PRIVATE);
ImgConfig.initImageLoader();
new Timer().schedule(new TimerTask() { //1���ʼ��5�����ϴ�һ���Լ���λ��
@Override
public void run() {
if (MyApplication.sharedPreferences.getBoolean("isShare", true)) {
uploadAdr();
}
}
}, 1000,Constants.UPDATE_TIME);
}
public void uploadAdr(){
if (Constants.loginUser != null && (lat != 23.117055306224895 || lon != 113.2759952545166)) { //
Constants.loginUser.vCard.setField("latAndlon", lat+","+lon);
XmppConnection.getInstance().changeVcard(Constants.loginUser.vCard);
}
}
public void clearAdr(){
if (Constants.loginUser != null) {
Constants.loginUser.vCard.setField("latAndlon", 4.9E-324+","+4.9E-324);
XmppConnection.getInstance().changeVcard(Constants.loginUser.vCard);
}
}
@Override
public void uncaughtException(Thread thread, Throwable ex) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(1);
}
}