package com.partynetwork.iparty.app.ui;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
import com.lidroid.xutils.DbUtils;
import com.openfire.manager.XmppConnection;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.app.AppContext;
import com.partynetwork.iparty.app.AppManager;
import com.partynetwork.iparty.app.common.UIHelper;
import com.partynetwork.iparty.app.manager.MessageManager;
import com.partynetwork.iparty.app.manager.NoticeManager;
import eu.inmite.android.lib.dialogs.ISimpleDialogListener;
import android.os.Bundle;
import android.view.Window;
/**
* 共通处理父类 所有的Activity都应该继承于和其同级的Activity
* */
public class BaseActivity extends SlidingFragmentActivity implements
ISimpleDialogListener {
/** Activity个数的计数器 */
private static int mRef = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 添加Activity到堆栈
AppManager.getAppManager().addActivity(this);
mRef++;
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setTheme(R.style.DefaultLightTheme);
}
@Override
public void onBackPressed() {
if (mRef <= 1) {
UIHelper.Exit(this);
} else {
super.onBackPressed();
}
}
@Override
protected void onDestroy() {
mRef--;
super.onDestroy();
// 结束Activity&从堆栈中移除
AppManager.getAppManager().finishActivity(this);
}
@Override
public void onPositiveButtonClicked(int requestCode) {
}
@Override
public void onNegativeButtonClicked(int requestCode) {
if (requestCode == UIHelper.APP_EXIT) {
AppManager.getAppManager().AppExit(this);
} else if (requestCode == 42) {
AppManager.getAppManager().stopService(this);
XmppConnection.getInstance().closeConnection();
AppContext appContext = (AppContext) getApplication();
//不同用户,消息 信息的实例应该不同
MessageManager.getInstance(appContext).cleanManager();
NoticeManager.getInstance(appContext).cleanManager();
appContext.Logout();
UIHelper.showLoginPage(this);
}
}
}