# Android SDK v7.0.0 Migration Guide

### Interface changes

### API

**AmityChannelRepository**

| Methods                          | Changes | Remarks                                                                                   |
| -------------------------------- | ------- | ----------------------------------------------------------------------------------------- |
| updateChannel(channelId: String) | removed | <p>Use editChannel(...) instead.<br>Available since v6.</p>                               |
| notification(channelId: String)  | removed | Use AmityCoreClient.notifications.channel(channelId: String) instead. Available since v6. |

**AmityChannelModeration**

| Methods         | Changes | Remarks                                                                                    |
| --------------- | ------- | ------------------------------------------------------------------------------------------ |
| muteChannel()   | removed | Use AmityChatClient.newChannelRepository().muteChannel(...) instead. Available since v6.   |
| unmuteChannel() | removed | Use AmityChatClient.newChannelRepository().unmuteChannel(...) instead. Available since v6. |

**AmityMessageRepository**

| Methods                             | Changes | Remarks                                                                                                       |
| ----------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| createMessage(subChannelId: String) | removed | Use the dedicated message creation functions with the corresponding message type instead. Available since v6. |
| deleteMessage(messageId: String)    | removed | Use softDeleteMessage(...) instead. Available since v6.                                                       |
| getReactions(commentId: String)     | removed | Use AmityReactionRepository.getReactions(...) instead. Available since v6.                                    |

**AmitySubChannelRepository**

| Methods                                | Changes | Remarks                                                                                 |
| -------------------------------------- | ------- | --------------------------------------------------------------------------------------- |
| updateSubChannel(subChannelId: String) | removed | Use editSubChannel(...) instead. Available since v6.                                    |
| deleteSubChannel(...)                  | removed | Use softDeleteSubChannel(...) or hardDeleteSubChannel(...) instead. Available since v6. |
| startReading(subChannelId: String)     | removed | Use startMessageReceiptSync(...) instead. Available since v6.                           |
| stopReading(subChannelId: String)      | removed | Use stopMessageReceiptSync(...) instead. Available since v6.                            |

**AmityCoreClient**

| Methods                               | Changes | Remarks                                                                                           |
| ------------------------------------- | ------- | ------------------------------------------------------------------------------------------------- |
| registerDeviceForPushNotification()   | removed | Use registerPushNotification() instead. Available since v6.                                       |
| unregisterDeviceForPushNotification() | removed | Use unregisterDeviceForPushNotification() instead. Available since v6.                            |
| updateUser()                          | removed | Use editUser() instead. Available since v6.                                                       |
| notification()                        | removed | Use notifications() instead. Available since v6.                                                  |
| startUnreadCountSyncing()             | removed | Use automatic syncing by calling enableUnreadCount() once per app life cycle. Available since v6. |
| startUnreadSync()                     | removed | Use automatic syncing by calling enableUnreadCount() once per app life cycle. Available since v6. |
| stopUnreadCountSyncing()              | removed | Use automatic syncing by calling enableUnreadCount() once per app life cycle. Available since v6. |
| stopUnreadSync()                      | removed | Use automatic syncing by calling enableUnreadCount() once per app life cycle. Available since v6. |
| getTotalUnreadCount()                 | removed | Use observeUserUnread() instead. Available since v6.                                              |

**AmityReactionRepository**

| Methods             | Changes                                 | Remarks                                                 |
| ------------------- | --------------------------------------- | ------------------------------------------------------- |
| getReactions(...)   | Deprecated AmityReactionReference param | Use AmityReactionReferenceType and referenceId instead. |
| addReaction(...)    | Deprecated AmityReactionReference param | Use AmityReactionReferenceType and referenceId instead. |
| removeReaction(...) | Deprecated AmityReactionReference param | Use AmityReactionReferenceType and referenceId instead. |

**AmityUserRepository**

| Methods                        | Changes | Remarks                                                              |
| ------------------------------ | ------- | -------------------------------------------------------------------- |
| searchUserByDisplayName()      | removed | Use searchUsers(...) instead. Available since v6.                    |
| getCurrentUser()               | removed | Use AmityCoreClient.getCurrentUser(...) instead. Available since v6. |
| report(userId: String)         | removed | Use flagUser(...) or unflagUser(...) instead. Available since v6.    |
| getViewedUsers(postId: String) | removed | Use getReachedUsers(...) instead. Available since v6.                |

**AmityCommentRepository**

| Methods                          | Changes | Remarks                                                                   |
| -------------------------------- | ------- | ------------------------------------------------------------------------- |
| updateComment(commentId: String) | removed | Use editComment(...) instead. Available since v6                          |
| getReactions(commentId: String)  | removed | Use AmityReactionRepository.getReactions(...) instead. Available since v6 |

**AmityCommunityRepository**

| Methods                              | Changes | Remarks                                                                                      |
| ------------------------------------ | ------- | -------------------------------------------------------------------------------------------- |
| updateCommunity(communityId: String) | removed | Use editCommunity(...) instead. Available since v6                                           |
| notification(communityId: String)    | removed | Use AmityCoreClient.notifications.community(communityId: String) instead. Available since v6 |

**AmityCommunityModeration**

| Methods                               | Changes | Remarks                                                                                  |
| ------------------------------------- | ------- | ---------------------------------------------------------------------------------------- |
| addMembers(userIds: List\<String>)    | removed | <p>Use AmityCommunityParticipation.addMembers(...)<br>instead. Available since v6</p>    |
| removeMembers(userIds: List\<String>) | removed | <p>Use AmityCommunityParticipation.removeMembers(...)<br>instead. Available since v6</p> |

**AmityPollRepository**

| Methods   | Changes | Remarks                                                 |
| --------- | ------- | ------------------------------------------------------- |
| vote(...) | removed | <p>Use votePoll(...)<br>instead. Available since v6</p> |

**AmityPostRepository**

| Methods                      | Changes                           | Remarks                                                                    |
| ---------------------------- | --------------------------------- | -------------------------------------------------------------------------- |
| createTextPost(...)          | Deprecated AmityPost.Target param | Use AmityPost.TargetType and targetId instead.                             |
| createImagePost(...)         | Deprecated AmityPost.Target param | Use AmityPost.TargetType and targetId instead.                             |
| createVideoPost(...)         | Deprecated AmityPost.Target param | Use AmityPost.TargetType and targetId instead.                             |
| createFiletPost(...)         | Deprecated AmityPost.Target param | Use AmityPost.TargetType and targetId instead.                             |
| createPollPost(...)          | Deprecated AmityPost.Target param | Use AmityPost.TargetType and targetId instead.                             |
| createLiveStreamPost(...)    | Deprecated AmityPost.Target param | Use AmityPost.TargetType and targetId instead.                             |
| createCustomPost(...)        | Deprecated AmityPost.Target param | Use AmityPost.TargetType and targetId instead.                             |
| updatePost()                 | removed                           | <p>Use editPost(...)<br>instead. Available since v6.</p>                   |
| updateCustomPost(...)        | removed                           | <p>Use editCustomPost(...)<br>instead. Available since v6</p>              |
| reviewPost(postId: String)   | removed                           | Use approvePost(...) or declinePost(...) instead. Available since v6.      |
| getReactions(postId: String) | removed                           | Use AmityReactionRepository.getReactions(...) instead. Available since v6. |
| getComments(postId: String)  | removed                           | Use AmityCommentRepository.getComments(...) instead. Available since v6.   |

**AmityStreamRepository**

| Methods                         | Changes | Remarks                                                         |
| ------------------------------- | ------- | --------------------------------------------------------------- |
| observeStream(streamId: String) | removed | Use getStream(streamId: String) instead. Available since v6.    |
| createVideoStream(...)          | removed | Use createStream(streamId: String) instead. Available since v6. |

### Model

**AmityEndpoint**

| Sealed class | Changes                                             | Remarks                                    |
| ------------ | --------------------------------------------------- | ------------------------------------------ |
| CUSTOM(... ) | Removed socketEndpoint: String from the constructor | Socket endpoint is no longer in use by SDK |

**AmityChannel**

| Methods                             | Changes | Remarks                                                      |
| ----------------------------------- | ------- | ------------------------------------------------------------ |
| getUnreadCount()                    | removed | Use getSubChannelsUnreadCount() instead. Available since v6. |
| getDefaultSubChannelUnreadCount()   | removed | Use getSubChannelsUnreadCount() instead. Available since v6. |
| hasMentioned()                      | removed | Use isMentioned(...) instead. Available since v6.            |
| hasDefaultSubChannelUnreadMention() | removed | Use isMentioned(...) instead. Available since v6.            |

**AmityMessage**

| Methods        | Changes | Remarks                                                                                          |
| -------------- | ------- | ------------------------------------------------------------------------------------------------ |
| delete()       | removed | Use AmityMessageRepository.softDeleteMessage() instead. Available since v6.                      |
| react()        | removed | Use AmityReactionRepository.addReaction(...) or removeReaction(...) instead. Available since v6. |
| getReactions() | removed | Use AmityReactionRepository.getReactions(...) instead. Available since v6.                       |
| report()       | removed | Use AmityMessageRepository.flagMessage() or unflagMessage() instead. Available since v6.         |

**AmitySubChannel**

| Methods        | Changes | Remarks                                                                              |
| -------------- | ------- | ------------------------------------------------------------------------------------ |
| hasMentioned() | removed | Use isMentioned() instead. Available since v6.                                       |
| startReading() | removed | Use AmitySubChannelRepository.startMessageReceiptSync() instead. Available since v6. |
| stopReading()  | removed | Use AmitySubChannelRepository.stopMessageReceiptSync() instead. Available since v6.  |

**AmityFileInfo**

| Methods                 | Changes                              | Remarks                                                                 |
| ----------------------- | ------------------------------------ | ----------------------------------------------------------------------- |
| getFileSize()           | Replace Int with Long as return type |                                                                         |
| getProgressPercentage() | removed                              | Use AmityFileRepository.getUploadInfo(...) instead. Available since v6. |

**AmityImage.SIZE**

| Enums | Changes | Remarks                                |
| ----- | ------- | -------------------------------------- |
| FULL  | removed | Use LARGE instead. Available since v6. |

**AmityUser**

| Methods  | Changes | Remarks                                                                               |
| -------- | ------- | ------------------------------------------------------------------------------------- |
| report() | removed | Use AmityUserRepostiory.flagUser(...) or unflagUser(...) instead. Available since v6. |

**AmityComment**

| Methods        | Changes | Remarks                                                                                            |
| -------------- | ------- | -------------------------------------------------------------------------------------------------- |
| getDataType()  | removed | Use getDataTypes(...) instead. Available since v6.                                                 |
| edit()         | removed | Use AmityCommentRepository.editComment() instead. Available since v6.                              |
| delete()       | removed | Use AmityCommentRepository.softDeleteComment() or hardDeleteComment() instead. Available since v6. |
| react()        | removed | Use AmityReactionRepository.addReaction(...) or removeReaction(...) instead. Available since v6.   |
| getReactions() | removed | Use AmityReactionRepository.getReactions(...) instead. Available since v6.                         |
| report()       | removed | Use AmityCommentRepository.flagComment() or unflagComment() instead. Available since v6.           |

**AmityPost**

| Methods        | Changes | Remarks                                                                                          |
| -------------- | ------- | ------------------------------------------------------------------------------------------------ |
| comment()      | removed | Use AmityCommentRepository.getComments() instead. Available since v6.                            |
| delete()       | removed | Use AmityPostRepository.softDeletePost() or hardDeletePost() instead. Available since v6.        |
| react()        | removed | Use AmityReactionRepository.addReaction(...) or removeReaction(...) instead. Available since v6. |
| getReactions() | removed | Use AmityReactionRepository.getReactions(...) instead. Available since v6.                       |
| report()       | removed | Use AmityPostRepository.flagComment() or unflagComment() instead. Available since v6.            |

**AmityPost.DATA.VIDEO**

| Methods       | Changes                                   | Remarks                                                                                    |
| ------------- | ----------------------------------------- | ------------------------------------------------------------------------------------------ |
| getVideo(...) | Removed optional AmityVideo.Quality param | Use AmityVideo.getVideoUrl(resolution: AmityVideoResolution?) instead. Available since v6. |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.social.plus/developers/migration-guides/android-sdk-v7.0.0-migration-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
