public class

ChanPerformer

extends Object
java.lang.Object
   ↳ chan.content.ChanPerformer

Summary

Nested Classes
class ChanPerformer.CaptchaData

Captcha data map. 

enum ChanPerformer.CaptchaState

Captcha states for onReadCaptcha(ReadCaptchaData)

class ChanPerformer.CheckAuthorizationData

Arguments holder for onCheckAuthorization(CheckAuthorizationData)

class ChanPerformer.CheckAuthorizationResult

Result holder for onCheckAuthorization(CheckAuthorizationData)

class ChanPerformer.ReadBoardsData

Arguments holder for onReadBoards(ReadBoardsData)

class ChanPerformer.ReadBoardsResult

Result holder for onReadBoards(ReadBoardsData)

class ChanPerformer.ReadCaptchaData

Arguments holder for onReadCaptcha(ReadCaptchaData)

class ChanPerformer.ReadCaptchaResult

Captcha result for onReadCaptcha(ReadCaptchaData)

class ChanPerformer.ReadContentData

Arguments holder for onReadContent(ReadContentData)

class ChanPerformer.ReadContentResult

Result holder for onReadContent(ReadContentData)

class ChanPerformer.ReadPostsCountData

Arguments holder for onReadPostsCount(ReadPostsCountData)

class ChanPerformer.ReadPostsCountResult

Result holder for onReadPostsCount(ReadPostsCountData)

class ChanPerformer.ReadPostsData

Arguments holder for onReadPosts(ReadPostsData)

class ChanPerformer.ReadPostsResult

Result holder for onReadPosts(ReadPostsData)

class ChanPerformer.ReadSearchPostsData

Arguments holder for onReadSearchPosts(ReadSearchPostsData)

class ChanPerformer.ReadSearchPostsResult

Result holder for onReadSearchPosts(ReadSearchPostsData)

class ChanPerformer.ReadSinglePostData

Arguments holder for onReadSinglePost(ReadSinglePostData)

class ChanPerformer.ReadSinglePostResult

Result holder for onReadSinglePost(ReadSinglePostData)

class ChanPerformer.ReadThreadSummariesData

Arguments holder for onReadThreadSummaries(ReadThreadSummariesData)

class ChanPerformer.ReadThreadSummariesResult

Result holder for onReadThreadSummaries(ReadThreadSummariesData)

class ChanPerformer.ReadThreadsData

Arguments holder for onReadThreads(ReadThreadsData)

class ChanPerformer.ReadThreadsResult

Result holder for onReadThreads(ReadThreadsData)

class ChanPerformer.ReadUserBoardsData

Arguments holder for onReadUserBoards(ReadUserBoardsData)

class ChanPerformer.ReadUserBoardsResult

Result holder for onReadUserBoards(ReadUserBoardsData)

class ChanPerformer.SendAddToArchiveData

Arguments holder for onSendAddToArchive(SendAddToArchiveData)

class ChanPerformer.SendAddToArchiveResult

Result for onSendAddToArchive(SendAddToArchiveData)

class ChanPerformer.SendDeletePostsData

Arguments holder for onSendDeletePosts(SendDeletePostsData)

class ChanPerformer.SendDeletePostsResult

Result for onSendDeletePosts(SendDeletePostsData)

class ChanPerformer.SendPostData

Arguments holder for onSendPost(SendPostData)

class ChanPerformer.SendPostResult

Result for onSendPost(SendPostData)

class ChanPerformer.SendReportPostsData

Arguments holder for onSendReportPosts(SendReportPostsData)

class ChanPerformer.SendReportPostsResult

Result for onSendReportPosts(SendReportPostsData)

Public Constructors
ChanPerformer()
Public Methods
static <T extends ChanPerformer> T get(Object object)

Return linked ChanPerformer instance.

ChanPerformer.CheckAuthorizationResult onCheckAuthorization(ChanPerformer.CheckAuthorizationData data)

Calls when application requests chan to check authorization data.

ChanPerformer.ReadBoardsResult onReadBoards(ChanPerformer.ReadBoardsData data)

Calls when application requests chan to download boards list.

ChanPerformer.ReadCaptchaResult onReadCaptcha(ChanPerformer.ReadCaptchaData data)

Calls when application requests chan to read captcha.

ChanPerformer.ReadContentResult onReadContent(ChanPerformer.ReadContentData data)

Calls when application requests chan to download thumbnail, image, etc.

ChanPerformer.ReadPostsResult onReadPosts(ChanPerformer.ReadPostsData data)

Calls when application requests chan to download posts list.

ChanPerformer.ReadPostsCountResult onReadPostsCount(ChanPerformer.ReadPostsCountData data)

Calls when application requests chan to download posts count.

ChanPerformer.ReadSearchPostsResult onReadSearchPosts(ChanPerformer.ReadSearchPostsData data)

Calls when application requests chan to download search posts list.

ChanPerformer.ReadSinglePostResult onReadSinglePost(ChanPerformer.ReadSinglePostData data)

Calls when application requests chan to download single post.

ChanPerformer.ReadThreadSummariesResult onReadThreadSummaries(ChanPerformer.ReadThreadSummariesData data)

Calls when application requests chan to download thread summaries.

ChanPerformer.ReadThreadsResult onReadThreads(ChanPerformer.ReadThreadsData data)

Calls when application requests chan to download threads list.

ChanPerformer.ReadUserBoardsResult onReadUserBoards(ChanPerformer.ReadUserBoardsData data)

Calls when application requests chan to download user boards list.

ChanPerformer.SendAddToArchiveResult onSendAddToArchive(ChanPerformer.SendAddToArchiveData data)

Calls when application requests chan to add thread to archive.

ChanPerformer.SendDeletePostsResult onSendDeletePosts(ChanPerformer.SendDeletePostsData data)

Calls when application requests chan to delete posts.

ChanPerformer.SendPostResult onSendPost(ChanPerformer.SendPostData data)

Calls when application requests chan to send post.

ChanPerformer.SendReportPostsResult onSendReportPosts(ChanPerformer.SendReportPostsData data)

Calls when application requests chan to send report.

Protected Methods
final ChanPerformer.CaptchaData requireUserCaptcha(String requirement, String boardName, String threadNumber, boolean retry)

Suspends this thread and shows captcha dialog for user.

final boolean[] requireUserImageMultipleChoice(boolean[] selected, Bitmap[] images, String descriptionText, Bitmap descriptionImage)

Suspends this thread and shows images dialog for user.

final Integer requireUserImageSingleChoice(int selected, Bitmap[] images, String descriptionText, Bitmap descriptionImage)

Suspends this thread and shows images dialog for user.

final boolean[] requireUserItemMultipleChoice(boolean[] selected, CharSequence[] items, String descriptionText, Bitmap descriptionImage)

Suspends this thread and shows items dialog for user.

final Integer requireUserItemSingleChoice(int selected, CharSequence[] items, String descriptionText, Bitmap descriptionImage)

Suspends this thread and shows items dialog for user.

[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ChanPerformer ()

Public Methods

public static T get (Object object)

Return linked ChanPerformer instance.

Parameters
object Object: Linked object: ChanConfiguration, ChanPerformer, ChanLocator or ChanMarkup.
Returns
T ChanPerformer instance.

public ChanPerformer.CheckAuthorizationResult onCheckAuthorization (ChanPerformer.CheckAuthorizationData data)

Calls when application requests chan to check authorization data.

This method must be overridden in the following cases:

Parameters
data ChanPerformer.CheckAuthorizationData: ChanPerformer.CheckAuthorizationData instance with arguments.
Returns
ChanPerformer.CheckAuthorizationResult ChanPerformer.CheckAuthorizationResult instance.
Throws
HttpException if HTTP or another error with message occurred.
InvalidResponseException if server returned an invalid data.

public ChanPerformer.ReadBoardsResult onReadBoards (ChanPerformer.ReadBoardsData data)

Calls when application requests chan to download boards list.

This method must be overridden if option OPTION_SINGLE_BOARD_MODE is not enabled.

Parameters
data ChanPerformer.ReadBoardsData: ChanPerformer.ReadBoardsData instance with arguments.
Returns
ChanPerformer.ReadBoardsResult ChanPerformer.ReadBoardsResult instance.
Throws
HttpException if HTTP or another error with message occurred.
InvalidResponseException if server returned an invalid data.

public ChanPerformer.ReadCaptchaResult onReadCaptcha (ChanPerformer.ReadCaptchaData data)

Calls when application requests chan to read captcha.

This method must be overridden if option allowPosting is enabled for this board.

This method must return ChanPerformer.ReadCaptchaResult with captcha data.

If your chan uses custom captcha, you must specify a resulting image using setImage(Bitmap).

In the case of Yandex Captcha, resulting captchaData must contain challenge string by CHALLENGE. key

In the case of Google reCAPTCHA and Mail.Ru Nocaptcha, resulting captchaData must contain API key by API_KEY. key

If your captcha has short lifetime, you can check mayShowLoadButton. If this argument equals true, the result may hold NEED_LOAD. This will show "Click to load captcha" button for user.

Parameters
data ChanPerformer.ReadCaptchaData: ChanPerformer.ReadCaptchaData instance with arguments.
Returns
ChanPerformer.ReadCaptchaResult ChanPerformer.ReadCaptchaResult instance.
Throws
HttpException if HTTP or another error with message occurred.
InvalidResponseException if server returned an invalid data.

public ChanPerformer.ReadContentResult onReadContent (ChanPerformer.ReadContentData data)

Calls when application requests chan to download thumbnail, image, etc.

Parameters
data ChanPerformer.ReadContentData: ChanPerformer.ReadContentData instance with arguments.
Returns
ChanPerformer.ReadContentResult ChanPerformer.ReadContentResult instance.
Throws
HttpException if HTTP or another error with message occurred.
InvalidResponseException if server returned an invalid data.

public ChanPerformer.ReadPostsResult onReadPosts (ChanPerformer.ReadPostsData data)

Calls when application requests chan to download posts list.

This method must be overridden.

Option OPTION_READ_THREAD_PARTIALLY allows you to download threads partially. You can check partialThreadLoading flag and download only posts after lastPostNumber.

Parameters
data ChanPerformer.ReadPostsData: ChanPerformer.ReadPostsData instance with arguments.
Returns
ChanPerformer.ReadPostsResult ChanPerformer.ReadPostsResult instance.
Throws
HttpException if HTTP or another error with message occurred.
InvalidResponseException if server returned an invalid data.
RedirectException if server returned data that can be considered as redirect.

public ChanPerformer.ReadPostsCountResult onReadPostsCount (ChanPerformer.ReadPostsCountData data)

Calls when application requests chan to download posts count.

This method is not the same as onReadPosts(ReadPostsData). This method must download and parse data quickly as possible.

This method must be overridden if option OPTION_READ_POSTS_COUNT is enabled.

Parameters
data ChanPerformer.ReadPostsCountData: ChanPerformer.ReadPostsCountData instance with arguments.
Returns
ChanPerformer.ReadPostsCountResult ChanPerformer.ReadPostsCountResult instance.
Throws
HttpException if HTTP or another error with message occurred.
InvalidResponseException if server returned an invalid data.

public ChanPerformer.ReadSearchPostsResult onReadSearchPosts (ChanPerformer.ReadSearchPostsData data)

Calls when application requests chan to download search posts list.

This method must be overridden if option allowSearch is enabled for this board.

Parameters
data ChanPerformer.ReadSearchPostsData: ChanPerformer.ReadSearchPostsData instance with arguments.
Returns
ChanPerformer.ReadSearchPostsResult ChanPerformer.ReadSearchPostsResult instance.
Throws
HttpException if HTTP or another error with message occurred.
InvalidResponseException if server returned an invalid data.

public ChanPerformer.ReadSinglePostResult onReadSinglePost (ChanPerformer.ReadSinglePostData data)

Calls when application requests chan to download single post.

This method must be overridden if chan supports OPTION_READ_SINGLE_POST.

Parameters
data ChanPerformer.ReadSinglePostData: ChanPerformer.ReadSinglePostData instance with arguments.
Returns
ChanPerformer.ReadSinglePostResult ChanPerformer.ReadSinglePostResult instance.
Throws
HttpException if HTTP or another error with message occurred.
InvalidResponseException if server returned an invalid data.

public ChanPerformer.ReadThreadSummariesResult onReadThreadSummaries (ChanPerformer.ReadThreadSummariesData data)

Calls when application requests chan to download thread summaries. You can check type field and return necessary data.

This method must be overridden in the following cases:

Parameters
data ChanPerformer.ReadThreadSummariesData: ChanPerformer.ReadThreadSummariesData instance with arguments.
Returns
ChanPerformer.ReadThreadSummariesResult ChanPerformer.ReadThreadSummariesResult instance.
Throws
HttpException if HTTP or another error with message occurred.
InvalidResponseException if server returned an invalid data.

public ChanPerformer.ReadThreadsResult onReadThreads (ChanPerformer.ReadThreadsData data)

Calls when application requests chan to download threads list.

This method must be overridden.

Option allowCatalog allows client to download catalog of threads. Use isCatalog() to determine whether it necessary to do.

Parameters
data ChanPerformer.ReadThreadsData: ChanPerformer.ReadThreadsData instance with arguments.
Returns
ChanPerformer.ReadThreadsResult ChanPerformer.ReadThreadsResult instance.
Throws
HttpException if HTTP or another error with message occurred.
InvalidResponseException if server returned an invalid data.
RedirectException if server returned data that can be considered as redirect.

public ChanPerformer.ReadUserBoardsResult onReadUserBoards (ChanPerformer.ReadUserBoardsData data)

Calls when application requests chan to download user boards list.

This method must be overridden if option OPTION_READ_USER_BOARDS is enabled.

Parameters
data ChanPerformer.ReadUserBoardsData: ChanPerformer.ReadUserBoardsData instance with arguments.
Returns
ChanPerformer.ReadUserBoardsResult ChanPerformer.ReadUserBoardsResult instance.
Throws
HttpException if HTTP or another error with message occurred.
InvalidResponseException if server returned an invalid data.

public ChanPerformer.SendAddToArchiveResult onSendAddToArchive (ChanPerformer.SendAddToArchiveData data)

Calls when application requests chan to add thread to archive.

This method must be overridden if chan implements archivation.

You can throw ApiException with ARCHIVE_* error types.

Parameters
data ChanPerformer.SendAddToArchiveData: ChanPerformer.SendAddToArchiveData instance with arguments.
Returns
ChanPerformer.SendAddToArchiveResult ChanPerformer.SendAddToArchiveResult instance.
Throws
ApiException if archivation wasn't complete due to user errors. It can hold error code, see ApiException.
InvalidResponseException if server returns an invalid data.
HttpException

public ChanPerformer.SendDeletePostsResult onSendDeletePosts (ChanPerformer.SendDeletePostsData data)

Calls when application requests chan to delete posts.

This method must be overridden if option allowDeleting is enabled for this board.

postNumbers contains several post numbers. You must perform deleting all of these posts. You must throw ApiException only in case if nothing was deleted. In other cases you must return and throw nothing.

You can throw ApiException with DELETE_* error types.

Parameters
data ChanPerformer.SendDeletePostsData: ChanPerformer.SendDeletePostsData instance with arguments.
Returns
ChanPerformer.SendDeletePostsResult ChanPerformer.SendDeletePostsResult instance.
Throws
HttpException if HTTP or another error with message occurred.
ApiException if deleting wasn't complete due to user errors.
InvalidResponseException if server returned an invalid data.

public ChanPerformer.SendPostResult onSendPost (ChanPerformer.SendPostData data)

Calls when application requests chan to send post.

You can throw ApiException with SEND_* error types.

Parameters
data ChanPerformer.SendPostData: ChanPerformer.SendPostData instance with arguments.
Returns
ChanPerformer.SendPostResult ChanPerformer.SendPostResult instance.
Throws
HttpException if HTTP or another error with message occurred.
ApiException if sending wasn't complete due to user errors.
InvalidResponseException if server returned an invalid data.

public ChanPerformer.SendReportPostsResult onSendReportPosts (ChanPerformer.SendReportPostsData data)

Calls when application requests chan to send report.

This method must be overridden if option allowReporting is enabled for this board.

You can throw ApiException with REPORT_* error types.

Parameters
data ChanPerformer.SendReportPostsData: ChanPerformer.SendDeletePostsData instance with arguments.
Returns
ChanPerformer.SendReportPostsResult ChanPerformer.SendReportPostsResult instance.
Throws
HttpException if HTTP or another error with message occurred.
ApiException if reporting wasn't complete due to user errors.
InvalidResponseException if server returns an invalid data.

Protected Methods

protected final ChanPerformer.CaptchaData requireUserCaptcha (String requirement, String boardName, String threadNumber, boolean retry)

Suspends this thread and shows captcha dialog for user. Captcha will be loaded with onReadCaptcha(ReadCaptchaData). You can specify requirement for differen behaviors.

Parameters
requirement String: Requirement string.
boardName String: Board name.
threadNumber String: Thread number.
retry boolean: True if this is not the first request. If true, this will show "invalid captcha" toast for user.
Returns
ChanPerformer.CaptchaData ChanPerformer.CaptchaData with INPUT or null if user has canceled an operation.

protected final boolean[] requireUserImageMultipleChoice (boolean[] selected, Bitmap[] images, String descriptionText, Bitmap descriptionImage)

Suspends this thread and shows images dialog for user. User can choose multiple images.

Parameters
selected boolean: Array of default selected indexes, true for selected, may be null.
images Bitmap: Array of images.
descriptionText String: Description text (e.g. "Select all burgers").
descriptionImage Bitmap: Description image (e.g. example image).
Returns
boolean[] Array of selected indexes or null if user has canceled an operation.

protected final Integer requireUserImageSingleChoice (int selected, Bitmap[] images, String descriptionText, Bitmap descriptionImage)

Suspends this thread and shows images dialog for user. User can choose only one image.

Parameters
selected int: Default selected index, may be -1.
images Bitmap: Array of images.
descriptionText String: Description text (e.g. "Select all burgers").
descriptionImage Bitmap: Description image (e.g. example image).
Returns
Integer Index of chosen image, -1 if image wasn't chosen or null if user has canceled an operation.

protected final boolean[] requireUserItemMultipleChoice (boolean[] selected, CharSequence[] items, String descriptionText, Bitmap descriptionImage)

Suspends this thread and shows items dialog for user. User can choose multiple items.

Parameters
selected boolean: Array of default selected indexes, true for selected, may be null.
items CharSequence: Array of items.
descriptionText String: Description text (e.g. "Select all burgers").
descriptionImage Bitmap: Description image (e.g. example image).
Returns
boolean[] Array of selected indexes or null if user has canceled an operation.

protected final Integer requireUserItemSingleChoice (int selected, CharSequence[] items, String descriptionText, Bitmap descriptionImage)

Suspends this thread and shows items dialog for user. User can choose only one item.

Parameters
selected int: Default selected index, may be -1.
items CharSequence: Array of items.
descriptionText String: Description text (e.g. "Select all burgers").
descriptionImage Bitmap: Description image (e.g. example image).
Returns
Integer Index of chosen item, -1 if item wasn't chosen or null if user has canceled an operation.