package cn.sharesdk.onekeyshare;

import android.os.Handler.Callback;
import android.os.Message;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.Platform.ShareParams;

import com.mob.tools.utils.UIHandler;

/**
 * 此类在Onekeyshare中并无用途，只是在Socialization中考虑到耦合度，需要通过反射的方式操作Onekeyshare，
 *而原先的{@link ShareContentCustomizeCallback}无法完成此需求，故创建本类，以供外部设置操作回调。
 *
 * @author Brook
 */
public class ReflectableShareContentCustomizeCallback implements ShareContentCustomizeCallback {
	private int onShareWhat;
	private Callback onShareCallback;

	public void setOnShareCallback(int what, Callback callback) {
		onShareWhat = what;
		onShareCallback = callback;
	}

	@Override
	public void onShare(Platform platform, ShareParams paramsToShare) {
		if (onShareCallback != null) {
			Message msg = new Message();
			msg.what = onShareWhat;
			msg.obj = new Object[] {platform, paramsToShare};
			UIHandler.sendMessage(msg, onShareCallback);
		}
	}

}
