package com.metis.base.activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import com.metis.base.ActivityDispatcher;
import com.metis.base.R;
import com.metis.base.manager.AccountManager;
import com.metis.base.manager.RequestCallback;
import com.metis.base.manager.ShareManager;
import com.metis.base.module.User;
import com.metis.base.utils.Log;
import com.metis.msnetworklib.contract.ReturnInfo;
import java.util.HashMap;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
public class ShareActivity extends BaseActivity implements View.OnClickListener {
private static final String TAG = ShareActivity.class.getSimpleName();
private View mShareBg = null;
private View mWeChatBtn, mShareMomentsBtn, mSinaWeiboBtn, mQqBtn, mQzoneBtn, mCircelBtn;
private long mId = -1;
private String mTitle, mText, mImageUrl, mUrl;
private PlatformActionListener mActionListener = new PlatformActionListener() {
@Override
public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
mShareBg.post(new Runnable() {
@Override
public void run() {
Toast.makeText(ShareActivity.this, R.string.toast_share_success, Toast.LENGTH_SHORT).show();
finish();
}
});
}
@Override
public void onError(Platform platform, int i, Throwable throwable) {
Log.v(TAG, "onError throwable=" + throwable.getMessage());
mShareBg.post(new Runnable() {
@Override
public void run() {
Toast.makeText(ShareActivity.this, R.string.toast_share_failed, Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onCancel(Platform platform, int i) {
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_share);
mId = getIntent().getLongExtra(ActivityDispatcher.KEY_ID, -1);
mTitle = getIntent().getStringExtra(ActivityDispatcher.KEY_TITLE);
mText = getIntent().getStringExtra(ActivityDispatcher.KEY_TEXT);
mImageUrl = getIntent().getStringExtra(ActivityDispatcher.KEY_IMAGE_URL);
mUrl = getIntent().getStringExtra(ActivityDispatcher.KEY_URL);
mShareBg = findViewById(R.id.share_bg);
mShareBg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
mWeChatBtn = findViewById(R.id.share_we_chat);
mQqBtn = findViewById(R.id.share_qq);
mQzoneBtn = findViewById(R.id.share_qzone);
mSinaWeiboBtn = findViewById(R.id.share_sina);
mShareMomentsBtn = findViewById(R.id.share_moments);
mCircelBtn = findViewById(R.id.share_circel);
if (mId == -1) {
mCircelBtn.setVisibility(View.GONE);
}
mWeChatBtn.setOnClickListener(this);
mQqBtn.setOnClickListener(this);
mQzoneBtn.setOnClickListener(this);
mSinaWeiboBtn.setOnClickListener(this);
mShareMomentsBtn.setOnClickListener(this);
mCircelBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
final int id = v.getId();
ShareManager manager = ShareManager.getInstance(this);
if (id == mWeChatBtn.getId()) {
manager.weChatShare(mTitle, mText, mImageUrl, mUrl, mActionListener);
} else if (id == mQqBtn.getId()) {
manager.qqShare(mTitle, mText, mImageUrl, mUrl, mActionListener);
} else if (id == mQzoneBtn.getId()) {
manager.qZoneShare(mTitle, mText, mImageUrl, mUrl, mActionListener);
} else if (id == mSinaWeiboBtn.getId()) {
manager.sinaWeiboShare(mTitle, mText, mImageUrl, mUrl, mActionListener);
} else if (id == mShareMomentsBtn.getId()) {
manager.weChatMomentsShare(mTitle, mText, mImageUrl, mUrl, mActionListener);
} else if (id == mCircelBtn.getId()) {
User me = AccountManager.getInstance(this).getMe();
if (me == null) {
//TODO
ActivityDispatcher.loginActivityWhenAlreadyIn(this);
return;
}
ActivityDispatcher.circleShareActivity(this, mId, mTitle, mText, mImageUrl, mUrl);
/*manager.circleShare(mId, me.getCookie(), new RequestCallback() {
@Override
public void callback(ReturnInfo returnInfo, String callbackId) {
if (returnInfo.isSuccess()) {
Toast.makeText(ShareActivity.this, R.string.toast_share_success, Toast.LENGTH_SHORT).show();
finish();
} else {
Toast.makeText(ShareActivity.this, R.string.toast_share_failed, Toast.LENGTH_SHORT).show();
}
}
});*/
}
}
}