@Override protected List<com.cattong.entity.Status> doInBackground(Void... params) { if (microBlog == null) { return null; } List<com.cattong.entity.Status> listStatus = null; paging = adapter.getPaging(); com.cattong.entity.Status max = adapter.getMin(); paging.setGlobalMax(max); if (paging.moveToNext()) { try { if (type == StatusCatalog.Hot_Retweet.getCatalogNo()) { listStatus = microBlog.getDailyHotRetweets(paging); } else { listStatus = microBlog.getDailyHotComments(paging); } } catch (LibException e) { if (Logger.isDebug()) Log.e(TAG, "Task", e); message = ResourceBook.getResultCodeValue(e.getErrorCode(), context); paging.moveToPrevious(); } } ResponseCountUtil.getResponseCounts(listStatus, microBlog); return listStatus; }
@Override protected User doInBackground(Void... params) { if (image == null) { return null; } Weibo microBlog = GlobalVars.getMicroBlog(accountId); if (microBlog == null) { return null; } User user = null; try { if (image != null) { String fileExtension = FileUtil.getFileExtensionFromName(image.getName()); int size = ImageQuality.Low.getSize(); ImageQuality quality = sheJiaoMao.getImageUploadQuality(); if (quality == ImageQuality.High || GlobalVars.NET_TYPE == NetType.WIFI) { size = ImageQuality.High.getSize(); } else if (quality == ImageQuality.Middle || quality == ImageQuality.Low) { size = quality.getSize(); if (Logger.isDebug()) Log.d(TAG, "prefix size: " + size); // 对低速网络进行压缩 if (GlobalVars.NET_TYPE == NetType.MOBILE_GPRS || GlobalVars.NET_TYPE == NetType.MOBILE_EDGE) { size = ImageQuality.Low.getSize(); } } String destName = ImageCache.getTempFolder() + File.separator + System.currentTimeMillis() + "." + fileExtension; File dest = new File(destName); boolean isSuccess = ImageUtil.scaleImageFile(image, dest, size); if (isSuccess) { image = dest; } user = microBlog.updateProfileImage(image); } } catch (LibException e) { if (Logger.isDebug()) Log.e(TAG, "Task", e); resultMsg = ResourceBook.getResultCodeValue(e.getErrorCode(), context); } return user; }
@Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = context.getLayoutInflater(); convertView = inflater.inflate(R.layout.list_item_social_graph_search, null); UserHolder holder = new UserHolder(convertView); convertView.setTag(holder); } User user = getItem(position); UserHolder holder = (UserHolder) convertView.getTag(); if (holder == null || user == null) { return convertView; } holder.reset(); String profileUrl = user.getProfileImageUrl(); if (StringUtil.isNotEmpty(profileUrl)) { ImageLoad4HeadTask headTask = new ImageLoad4HeadTask(holder.ivProfilePicture, profileUrl, true); holder.headTask = headTask; headTask.execute(); } if (user.isVerified()) { holder.ivVerify.setVisibility(View.VISIBLE); } holder.tvScreenName.setText(user.getScreenName()); String impress = ""; if (user.getGender() != null) { impress += ResourceBook.getGenderValue(user.getGender(), context) + ", "; } if (user.getLocation() != null) { impress += user.getLocation(); } holder.tvImpress.setText(impress); return convertView; }
@Override protected Comment doInBackground(Void... params) { if (StringUtil.isEmpty(text)) { resultMsg = context.getString(R.string.msg_comment_empty); return null; } if (StringUtil.isEmpty(statusId)) { return null; } try { if (commentId == null) { newComment = microBlog.createComment(text, statusId); } else { newComment = microBlog.createComment(text, statusId, commentId); } } catch (LibException e) { if (Constants.DEBUG) Log.e(TAG, "Task", e); resultMsg = ResourceBook.getResultCodeValue(e.getErrorCode(), context); } return newComment; }
@Override protected Boolean doInBackground(Void... arg) { boolean isSuccess = false; if (auth == null) { return isSuccess; } oauthConfig = auth.getoAuthConfig(); if (oauthConfig == null) { return isSuccess; } String username = auth.getAccessToken(); String password = auth.getAccessSecret(); ServiceProvider sp = auth.getServiceProvider(); try { if (NetUtil.isNETWAP() && (URLUtil.isHttpsUrl(oauthConfig.getRequestTokenUrl()) || URLUtil.isHttpsUrl(oauthConfig.getAccessTokenUrl()))) { throw new SheJiaoMaoException(SheJiaoMaoException.NET_HTTPS_UNDER_CMWAP); } Authorization resultAuth = null; switch (sp) { case NetEase: if (username.indexOf("@") < 0) { username += "@163.com"; // 如果用户没输入完整的邮件地址,则自动追加 @163.com } // 直落 case Sina: case Sohu: case Fanfou: case Twitter: auth.setAccessToken(username); auth.setAccessSecret(password); if (oauthConfig.getAuthVersion() == Authorization.AUTH_VERSION_OAUTH_2) { OAuth2AuthorizeHelper authHelper = new OAuth2AuthorizeHelper(); resultAuth = authHelper.retrieveAccessToken(auth); } else { OAuthAuthorizeHelper authHelper = new OAuthAuthorizeHelper(); resultAuth = authHelper.retrieveAccessToken(auth); } break; default: break; } if (resultAuth == null) { throw new SheJiaoMaoException(SheJiaoMaoException.AUTH_TOKEN_IS_NULL); } Logger.debug(resultAuth.toString()); BaseUser user = null; if (sp.isSns()) { Sns sns = SnsFactory.getInstance(resultAuth); String userId = sns.getUserId(); user = sns.showUser(userId); } else { Weibo mBlog = WeiboFactory.getInstance(resultAuth); user = mBlog.verifyCredentials(); } final LocalAccountDao accountDao = new LocalAccountDao(context); if (accountDao.isExists(sp, user.getUserId())) { throw new SheJiaoMaoException(SheJiaoMaoException.ACCOUNT_IS_EXIST); } if (accountDao.findAllValid() == null) { isMakeDefault = true; } account = new LocalAccount(); account.setAuthorization(auth); account.setUser(user); account.setState(Account.STATE_ACTIVE); account.setAppKey(oauthConfig.getConsumerKey()); account.setAppSecret(oauthConfig.getConsumerSecret()); account.setCreatedAt(new Date()); accountDao.add(account); if (isMakeDefault) { accountDao.makeDefault(account); } GlobalVars.addAccount(account); isSuccess = true; } catch (LibException e) { resultMsg = ResourceBook.getResultCodeValue(e.getErrorCode(), context); Logger.error(resultMsg, e); context.resetAuthToken(); } catch (SheJiaoMaoException e) { resultMsg = ResourceBook.getResultCodeValue(e.getStatusCode(), context); Logger.error(resultMsg, e); context.resetAuthToken(); } return isSuccess; }