package tk.djcrazy.libCC98; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.util.ArrayList; import java.util.List; import java.util.regex.PatternSyntaxException; import tk.djcrazy.MyCC98.application.MyApplication.UsersInfo; import tk.djcrazy.libCC98.data.BoardEntity; import tk.djcrazy.libCC98.data.BoardStatus; import tk.djcrazy.libCC98.data.HotTopicEntity; import tk.djcrazy.libCC98.data.InboxInfo; import tk.djcrazy.libCC98.data.LoginType; import tk.djcrazy.libCC98.data.PmInfo; import tk.djcrazy.libCC98.data.PostContentEntity; import tk.djcrazy.libCC98.data.PostEntity; import tk.djcrazy.libCC98.data.SearchResultEntity; import tk.djcrazy.libCC98.data.UserProfileEntity; import tk.djcrazy.libCC98.data.UserStatueEntity; import tk.djcrazy.libCC98.exception.CC98Exception; import tk.djcrazy.libCC98.exception.NoUserFoundException; import tk.djcrazy.libCC98.exception.ParseContentException; import android.accounts.NetworkErrorException; import android.graphics.Bitmap; import ch.boye.httpclientandroidlib.NameValuePair; import ch.boye.httpclientandroidlib.ParseException; import ch.boye.httpclientandroidlib.client.ClientProtocolException; import ch.boye.httpclientandroidlib.message.BasicNameValuePair; import com.google.inject.Inject; import com.google.inject.Singleton; @Singleton public class CC98ServiceImpl implements ICC98Service { @Inject private ICC98Client cc98Client; @Inject private ICC98Parser cc98Parser; @Override public void logOut() { cc98Client.clearLoginInfo(); } @Override public void clearProxy() { cc98Client.clearLoginInfo(); } @Override public void addFriend(String friendName) throws ParseException, NoUserFoundException, IOException { cc98Client.addFriend(friendName); } @Override public String uploadFile(File file) throws PatternSyntaxException, MalformedURLException, IOException, ParseContentException { return cc98Client.uploadPicture(file); } @Override public void pushNewPost(String boardId, String title, String faceString, String content) throws ClientProtocolException, IOException { List<NameValuePair> nvpsList = new ArrayList<NameValuePair>(); nvpsList.add(new BasicNameValuePair("upfilername", "")); nvpsList.add(new BasicNameValuePair("subject", title)); nvpsList.add(new BasicNameValuePair("Expression", faceString)); nvpsList.add(new BasicNameValuePair("Content", content)); nvpsList.add(new BasicNameValuePair("signflag", "yes")); nvpsList.add(new BasicNameValuePair("Submit", "发 表")); cc98Client.pushNewPost(nvpsList, boardId); } @Override public void reply(String boardId, String rootId, String title, String faceString, String content) throws Exception { List<NameValuePair> nvpsList = new ArrayList<NameValuePair>(); nvpsList.add(new BasicNameValuePair("upfilername", "")); nvpsList.add(new BasicNameValuePair("followup", rootId)); nvpsList.add(new BasicNameValuePair("rootID", rootId)); nvpsList.add(new BasicNameValuePair("star", "")); nvpsList.add(new BasicNameValuePair("TotalUseTable", "bbs5")); nvpsList.add(new BasicNameValuePair("subject", title)); nvpsList.add(new BasicNameValuePair("Expression", faceString)); nvpsList.add(new BasicNameValuePair("Content", content)); nvpsList.add(new BasicNameValuePair("signflag", "yes")); cc98Client.submitReply(nvpsList, boardId, rootId); } @Override public List<SearchResultEntity> searchPost(String keyword, String boardid, String sType, int page) throws ParseException, IOException, ParseContentException, java.text.ParseException { return cc98Parser.searchPost(keyword, boardid, sType, page); } @Override public void sendPm(String toUser, String title, String content) throws ClientProtocolException, IOException, CC98Exception { cc98Client.sendPm(toUser, title, content); } @Override public List<HotTopicEntity> getHotTopicList() throws ClientProtocolException, ParseException, IOException, ParseContentException { return cc98Parser.getHotTopicList(); } @Override public String getMsgContent(int pmId) throws ClientProtocolException, ParseException, IOException { return cc98Parser.getMsgContent(pmId); } @Override public List<SearchResultEntity> getNewPostList(int pageNum) throws ClientProtocolException, ParseException, IOException, ParseContentException, java.text.ParseException { return cc98Parser.getNewPostList(pageNum); } @Override public List<BoardEntity> getPersonalBoardList() throws ClientProtocolException, ParseException, IOException, ParseContentException, java.text.ParseException { return cc98Parser.getPersonalBoardList(); } @Override public List<BoardEntity> getBoardList(String boardId) throws ch.boye.httpclientandroidlib.client.ClientProtocolException, ch.boye.httpclientandroidlib.ParseException, IOException, ParseContentException, java.text.ParseException { return cc98Parser.getBoardList(boardId); } @Override public List<PmInfo> getPmData(int pageNum, InboxInfo inboxInfo, int type) throws ClientProtocolException, ParseException, IOException { return cc98Parser.getPmData(pageNum, inboxInfo, type); } @Override public List<PostContentEntity> getPostContentList(String boardId, String postId, int pageNum) throws ClientProtocolException, ParseException, ParseContentException, java.text.ParseException, IOException { return cc98Parser.getPostContentList(boardId, postId, pageNum); } @Override public List<PostEntity> getPostList(String boardId, int pageNum) throws ClientProtocolException, ParseException, IOException, ParseContentException, java.text.ParseException { return cc98Parser.getPostList(boardId, pageNum); } @Override public List<BoardStatus> getTodayBoardList() throws ClientProtocolException, ParseException, IOException, ParseContentException { return cc98Parser.getTodayBoardList(); } @Override public List<UserStatueEntity> getFriendList() throws ClientProtocolException, ParseException, IOException, ParseContentException { return cc98Parser.getUserFriendList(); } @Override public UserProfileEntity getUserProfile(String userName) throws ParseException, NoUserFoundException, IOException, ParseContentException { return cc98Parser.getUserProfile(userName); } @Override public String getUserImgUrl(String userName) throws ClientProtocolException, ParseException, IOException, ParseContentException { cc98Client.getUserImgUrl(userName); return null; } @Override public String getDomain() { return cc98Client.getDomain(); } @Override public Bitmap getBitmapFromUrl(String url) throws IOException { return cc98Client.getBitmapFromUrl(url); } @Override public boolean isUseProxy() { return false; } @Override public String getCurrentUserName() { return cc98Client.getCurrentUserData().getUserName(); } @Override public List<Bitmap> getUserAvatars() { return cc98Client.getUserAvatars(); } @Override public ICC98Client getCC98Client() { return cc98Client; } @Override public UsersInfo getusersInfo() { return cc98Client.getUsersInfo(); } @Override public Bitmap getCurrentUserAvatar() { return cc98Client.getCurrentUserAvatar(); } @Override public void switchToUser(int index) { cc98Client.switchToUser(index); } @Override public void deleteUserInfo(int pos) { cc98Client.deleteUserInfo(pos); } }