package me.evis.mobile.noodle.share; import me.evis.mobile.noodle.R; import me.evis.mobile.util.DateTimeUtil; import android.content.Context; import android.content.Intent; import com.sina.weibo.sdk.api.ImageObject; import com.sina.weibo.sdk.api.TextObject; import com.sina.weibo.sdk.api.WeiboMessage; import com.sina.weibo.sdk.api.WeiboMultiMessage; import com.sina.weibo.sdk.api.share.IWeiboShareAPI; import com.sina.weibo.sdk.api.share.SendMessageToWeiboRequest; import com.sina.weibo.sdk.api.share.SendMultiMessageToWeiboRequest; import com.sina.weibo.sdk.exception.WeiboShareException; public class WeiboShareProvider { private static final String WEIBO_CALLBACK_ACTION = "com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY"; public static boolean isWeiboCallbackIntent(Intent intent) { return WEIBO_CALLBACK_ACTION.equals(intent.getAction()); } public static String getShareText(Context context, String productName, int totalSecs) { if (productName != null && productName.length() > 0) { productName = " \"" + productName + "\" "; } else { productName = ""; } String time = DateTimeUtil.getLocalizedTimeString(context, totalSecs); return context.getString(R.string.share_weibo_content, productName, time); } /** * @throws WeiboShareException, {@link IllegalStateException} * @param mWeiboShareAPI * @param textObj * @param imageObj */ public static void share(IWeiboShareAPI mWeiboShareAPI, TextObject textObj, ImageObject imageObj) { // Check Weibo app; prompt to download Weibo if not installed. if (mWeiboShareAPI.checkEnvironment(true)) { if (mWeiboShareAPI.isWeiboAppSupportAPI()) { int supportApi = mWeiboShareAPI.getWeiboAppSupportAPI(); if (supportApi >= 10351 /*ApiUtils.BUILD_INT_VER_2_2*/) { WeiboMultiMessage weiboMessage = new WeiboMultiMessage(); weiboMessage.textObject = textObj; weiboMessage.imageObject = imageObj; SendMultiMessageToWeiboRequest request = new SendMultiMessageToWeiboRequest(); request.transaction = String.valueOf(System.currentTimeMillis()); request.multiMessage = weiboMessage; mWeiboShareAPI.sendRequest(request); } else { WeiboMessage weiboMessage = new WeiboMessage(); weiboMessage.mediaObject = textObj; SendMessageToWeiboRequest request = new SendMessageToWeiboRequest(); request.transaction = String.valueOf(System.currentTimeMillis()); request.message = weiboMessage; mWeiboShareAPI.sendRequest(request); } } else { throw new IllegalStateException("Weibo API version not supported."); } } } }