package com.fancl.iloyalty.activity;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.os.Handler;
import android.view.Window;
import com.fancl.iloyalty.AndroidProjectApplication;
import com.fancl.iloyalty.R;
import com.fancl.iloyalty.activity.advertisement.AdvertisementActivity;
import com.fancl.iloyalty.exception.FanclException;
import com.fancl.iloyalty.factory.CustomServiceFactory;
import com.fancl.iloyalty.factory.GeneralServiceFactory;
import com.fancl.iloyalty.item.LoadingDialog;
import com.fancl.iloyalty.pojo.AdBanner;
import com.fancl.iloyalty.service.ActivityMonitorService;
import com.fancl.iloyalty.service.LocaleService;
import com.fancl.iloyalty.service.callback.ActivityMonitorServiceCallback;
import com.fancl.iloyalty.util.LogController;
public class AndroidProjectFrameworkActivity extends Activity implements ActivityMonitorServiceCallback {
protected AndroidProjectApplication application;
protected Handler handler;
protected ActivityMonitorService activityMonitorService;
public LoadingDialog loadingDialog;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
LocaleService localeService = GeneralServiceFactory.getLocaleService();
localeService.resetLanguage(AndroidProjectFrameworkActivity.this);
loadingDialog = new LoadingDialog(AndroidProjectFrameworkActivity.this);
super.onCreate(savedInstanceState);
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
requestWindowFeature(Window.FEATURE_NO_TITLE);
application = (AndroidProjectApplication)this.getApplication();
handler = new Handler();
activityMonitorService = GeneralServiceFactory.getActivityMonitorService();
activityMonitorService.addCallbackListener(this);
application.addActiveActivity(this);
}
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onResume ()
{
if(activityMonitorService != null)
{
activityMonitorService.activityOnResumed(this);
}
super.onResume();
}
@Override
protected void onPause ()
{
super.onPause();
}
@Override
protected void onDestroy ()
{
activityMonitorService.removeCallbackListener(this);
application.removeActiveActivity(this);
super.onDestroy();
}
@Override
protected void onStart ()
{
super.onStart();
}
@Override
protected void onStop ()
{
if(activityMonitorService != null)
{
activityMonitorService.activityOnStopped(this);
}
super.onStop();
}
@Override
public void onBackPressed ()
{
if (application.getActiveListCount() == 1) {
GeneralServiceFactory.getAlertDialogService().makeNativeDialog(this, "",
"Do you wanna exist?",
getString(R.string.ok_btn_title),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
existApp();
}
},
getString(R.string.cancel_btn_title),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
dialog.cancel();
}
}, false, false);
return;
}
super.onBackPressed();
}
@Override
public void onWindowFocusChanged (boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
}
@Override
public void applicationGoingToBackground() {
LogController.log("AndroidProjectFrameworkActivity applicationGoingToBackground");
}
@Override
public void applicationGoingToForeground() {
LogController.log("AndroidProjectFrameworkActivity applicationGoingToForeground");
GeneralServiceFactory.getThreadService().startImageExecutor();
application.resetLoadingDialog();
application.databaseVersionChecking();
}
public void callToOpenAd() {
List<AdBanner> bannerList = new ArrayList<AdBanner>();
try {
bannerList = CustomServiceFactory.getAboutFanclService().getFrontAdObjects();
} catch (FanclException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
LogController.log("bannerList size:"+ bannerList.size());
if(bannerList.size()>0){
if(CustomServiceFactory.getAccountService().isLogin()){
Intent intent = new Intent(AndroidProjectFrameworkActivity.this, AdvertisementActivity.class);
startActivity(intent);
// overridePendingTransition( R.drawable.slide_in_up, R.drawable.slide_out_up );
}
}
}
private void existApp() {
application.firstCallDbChecking = true;
super.onBackPressed();
}
public boolean checkLoadingDialog() {
if (loadingDialog == null) {
loadingDialog = new LoadingDialog(AndroidProjectFrameworkActivity.this);
}
return true;
}
}