package com.metis.meishuquan.activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import com.metis.base.ActivityDispatcher; import com.metis.base.activity.BaseActivity; import com.metis.base.activity.debug.DebugActivity; import com.metis.base.manager.AccountManager; import com.metis.base.manager.RequestCallback; import com.metis.base.module.User; import com.metis.base.utils.Log; import com.metis.meishuquan.R; import com.metis.msnetworklib.contract.ReturnInfo; import com.umeng.update.UmengUpdateAgent; import cn.sharesdk.framework.Platform; import cn.sharesdk.framework.PlatformDb; import cn.sharesdk.framework.ShareSDK; import cn.sharesdk.sina.weibo.SinaWeibo; import cn.sharesdk.tencent.qq.QQ; import cn.sharesdk.wechat.friends.Wechat; public class HelloActivity extends BaseActivity { private static final String TAG = HelloActivity.class.getSimpleName(); private boolean isToDebugActivity = false; private ImageView mDebugIv = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hello); mDebugIv = (ImageView)findViewById(R.id.hello_to_debug); mDebugIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (isToDebugActivity) { delayStartActivity(); } } }); Log.v(TAG, "has me ? " + (AccountManager.getInstance(this).getMe() != null)); if (AccountManager.getInstance(this).getMe() != null) { AccountManager.getInstance(this).checkLoginState(new RequestCallback() { @Override public void callback(ReturnInfo returnInfo, String callbackId) { if (returnInfo.isSuccess()) { ActivityDispatcher.mainActivity(HelloActivity.this); } else { ActivityDispatcher.loginActivity(HelloActivity.this); } finish(); } }); return; } final AccountManager.LoginInfo info = AccountManager.getInstance(this).readUserLoginInfo(); if (Wechat.NAME.equals(info.getLoginType()) || SinaWeibo.NAME.equals(info.getLoginType()) || QQ.NAME.equals(info.getLoginType())) { Platform platform = ShareSDK.getPlatform(HelloActivity.this, info.getLoginType()); if (platform != null && platform.isValid()) { PlatformDb db = platform.getDb(); AccountManager.getInstance(HelloActivity.this).authLogin(db.getUserId(), AccountManager.getTypeId(info.getLoginType()), new RequestCallback<User>() { @Override public void callback(ReturnInfo<User> returnInfo, String callbackId) { if (isToDebugActivity) { startActivity(new Intent(HelloActivity.this, DebugActivity.class)); return; } if (returnInfo.isSuccess()) { ActivityDispatcher.mainActivity(HelloActivity.this); } else { ActivityDispatcher.loginActivity(HelloActivity.this); } finish(); } }); } else { delayStartActivity(); } } else { delayStartActivity(); } //startActivity(new Intent(HelloActivity.this, LoginActivity.class/*RoleChooseActivity.class*/)); } private void delayStartActivity () { if (isToDebugActivity) { startActivity(new Intent(HelloActivity.this, DebugActivity.class)); return; } this.getWindow().getDecorView().postDelayed(new Runnable() { @Override public void run() { ActivityDispatcher.loginActivity(HelloActivity.this); finish(); } }, 3000); } }