package com.myqsc.mobile2;
// TODO: Format tab into 4 spaces
// TODO: Format layout file
// TODO: Change pinyin into English words
// TODO: Change some of the class names to follow certain convention
// TODO: Make unnecessarily package-access members private
import java.util.ArrayList;
import java.util.List;
import com.myqsc.mobile2.Guide.UserGuideActivity;
import com.myqsc.mobile2.Service.UpdateAllService;
import com.myqsc.mobile2.fragment.CardFragment;
import com.myqsc.mobile2.fragment.MyFragmentPagerAdapter;
import com.myqsc.mobile2.fragment.ZoomOutPageTransformer;
import com.myqsc.mobile2.fragment.FunctionListFragment;
import com.myqsc.mobile2.login.LoginActivity;
import com.myqsc.mobile2.login.UserSwitchFragment;
import com.myqsc.mobile2.login.uti.PersonalDataHelper;
import com.myqsc.mobile2.uti.BroadcastHelper;
import com.myqsc.mobile2.uti.LogHelper;
import com.myqsc.mobile2.uti.Utility;
import com.umeng.analytics.MobclickAgent;
import com.umeng.update.UmengUpdateAgent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
public class MainActivity extends FragmentActivity {
final List<Fragment> fragmentList = new ArrayList<Fragment>();
MyFragmentPagerAdapter pagerAdapter = null;
ViewPager viewPager = null;
int page = -1; //当前是第几个页面
NewUserReceiver newUserReceiver = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MobclickAgent.setDebugMode(true);
UmengUpdateAgent.setUpdateOnlyWifi(false);
UmengUpdateAgent.update(this);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.activity_main_viewpager);
viewPager.setOffscreenPageLimit(5);
viewPager.setBackgroundDrawable(getResources().getDrawable(R.drawable.vpage_back));
viewPager.setPageTransformer(true, new ZoomOutPageTransformer());
newUserReceiver = new NewUserReceiver();
final FunctionListFragment functionListFragment = new FunctionListFragment();
final CardFragment cardFragment = new CardFragment();
functionListFragment.addObserver(cardFragment);
fragmentList.add(new UserSwitchFragment());
fragmentList.add(functionListFragment);
fragmentList.add(cardFragment);
pagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentList);
viewPager.setAdapter(pagerAdapter);
viewPager.setCurrentItem(2);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
LogHelper.d("update all server started");
startService(new Intent(MainActivity.this, UpdateAllService.class));
}
}, 4000);
}
@Override
protected void onStop() {
super.onStop();
unregisterReceiver(newUserReceiver);
}
@Override
protected void onStart() {
super.onStart();
// TODO: Rename intentFilter2
// TODO: Use LocalBroadcastManager
IntentFilter intentFilter2 = new IntentFilter(BroadcastHelper.BROADCAST_NEW_USER);
registerReceiver(newUserReceiver, intentFilter2);
SharedPreferences preferences = getSharedPreferences(Utility.PREFERENCE, 0);
if (preferences.getBoolean(BroadcastHelper.BROADCAST_GUIDE, true)) {
Intent intent = new Intent(this, UserGuideActivity.class);
startActivity(intent);
}
PersonalDataHelper personalDataHelper = new PersonalDataHelper(this);
// TODO: Should the condition be one of these two?
if (personalDataHelper.allUser() == null || personalDataHelper.allUser().size() == 0) {
Intent intent = new Intent(BroadcastHelper.BROADCAST_NEW_USER);
sendBroadcast(intent);
}
}
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
if (page != -1)
viewPager.setCurrentItem(page);
}
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
page = viewPager.getCurrentItem();
}
private class NewUserReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
intent = new Intent(getApplicationContext(), LoginActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.push_up_in, R.anim.fade_out);
}
}
}