package org.aisen.weibo.sina.ui.activity.splash; import java.util.Timer; import java.util.TimerTask; import org.aisen.weibo.sina.R; import org.aisen.weibo.sina.base.MyApplication; import org.aisen.weibo.sina.support.cache.TimelineMemoryCacheUtility; import org.aisen.weibo.sina.support.publish.UnreadCountNotifier; import org.aisen.weibo.sina.support.utils.AppContext; import org.aisen.weibo.sina.support.utils.AppSettings; import org.aisen.weibo.sina.support.utils.CheckChangedUtils; import org.aisen.weibo.sina.ui.activity.main.MainActivity; import org.aisen.weibo.sina.ui.fragment.account.AccountFragment; import org.aisen.weibo.sina.ui.fragment.base.ActivityHelper; import org.aisen.weibo.sina.ui.fragment.settings.VersionSettingsFragment; import org.sina.android.SinaSDK; import org.sina.android.bean.Group; import org.sina.android.bean.UnreadCount; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import com.m.common.params.Params; import com.m.support.bizlogic.ABaseBizlogic.CacheMode; import com.m.support.task.TaskException; import com.m.support.task.WorkTask; import com.m.ui.activity.BaseActivity; public class SplashActivity extends BaseActivity { @Override protected int configTheme() { return R.style.BaseTheme_Wallpaper_Translucent_Splash; } @Override protected void onCreate(Bundle savedInstanceState) { ActivityHelper activityHelper = (ActivityHelper) getActivityHelper(); activityHelper.blur = false; super.onCreate(savedInstanceState); if (AppContext.getWallpaper() == null) { View contentView = View.inflate(this, R.layout.ui_splash, null); setContentView(contentView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); } else { setContentView(R.layout.ui_splash); } // 清空未读消息记录 UnreadCountNotifier.mCount = new UnreadCount(); // 检查更新 VersionSettingsFragment.checkVersion(); // 刷新配置信息 MyApplication.refreshSettings(); // 刷新用户信息 if (AppContext.isLogedin()) CheckChangedUtils.check(AppContext.getUser(), AppContext.getToken()); if (TimelineMemoryCacheUtility.isEmpty() && AppContext.isLogedin()) { new LoadCacheTask().execute(); } else { new Timer().schedule(new TimerTask() { @Override public void run() { // 已有用户授权 if (AppContext.isLogedin()) { MainActivity.login(); } // 没有授权,跳转至账号页面,添加授权 else { AccountFragment.launch(SplashActivity.this); } finish(); } }, 700); } } class LoadCacheTask extends WorkTask<Void, Void, Boolean> { @Override public Boolean workInBackground(Void... p) throws TaskException { if (false && AppContext.getGroups() != null) { for (Group group : AppContext.getGroups().getLists()) { Params params = new Params(); params.addParameter("list_id", group.getIdstr()); params.addParameter("count", String.valueOf(AppSettings.getTimelineCount())); SinaSDK.getInstance(AppContext.getToken(), CacheMode.cachePriority).friendshipGroupsTimeline(params); } } return true; } @Override protected void onFinished() { super.onFinished(); MainActivity.login(); finish(); } } }