From 10b750d85729818e34d3628f27db42527ddd941b Mon Sep 17 00:00:00 2001 From: Oleg Smirnov Date: Mon, 21 Dec 2020 15:23:54 +0300 Subject: [PATCH] version 2.6.0 --- dependencies.gradle | 4 +- samples/app/sdk/src/.gitignore | 1 + samples/app/sdk/src/build.gradle | 66 ++++++ samples/app/sdk/src/main/AndroidManifest.xml | 56 +++++ .../main/java/com/vk/sdk/sample/PathUtils.kt | 43 ++++ .../com/vk/sdk/sample/SampleApplication.kt | 42 ++++ .../java/com/vk/sdk/sample/UserActivity.kt | 217 ++++++++++++++++++ .../java/com/vk/sdk/sample/WelcomeActivity.kt | 76 ++++++ .../com/vk/sdk/sample/models/UploadModels.kt | 36 +++ .../java/com/vk/sdk/sample/models/VKUser.kt | 73 ++++++ .../vk/sdk/sample/requests/VKUsersCommand.kt | 82 +++++++ .../sdk/sample/requests/VKWallPostCommand.kt | 157 +++++++++++++ .../res/drawable-hdpi/user_placeholder.png | Bin 0 -> 1979 bytes .../res/drawable-mdpi/user_placeholder.png | Bin 0 -> 1626 bytes .../res/drawable-xhdpi/user_placeholder.png | Bin 0 -> 2331 bytes .../res/drawable-xxhdpi/user_placeholder.png | Bin 0 -> 2352 bytes .../sdk/src/main/res/layout/activity_user.xml | 58 +++++ .../src/main/res/layout/activity_welcome.xml | 12 + .../app/sdk/src/main/res/layout/item_user.xml | 21 ++ .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 7060 bytes .../src/main/res/mipmap-hdpi/mp_launcher.png | Bin 0 -> 5185 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3816 bytes .../src/main/res/mipmap-mdpi/mp_launcher.png | Bin 0 -> 2963 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 10987 bytes .../src/main/res/mipmap-xhdpi/mp_launcher.png | Bin 0 -> 7581 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 21250 bytes .../main/res/mipmap-xxhdpi/mp_launcher.png | Bin 0 -> 13600 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 33032 bytes .../main/res/mipmap-xxxhdpi/mp_launcher.png | Bin 0 -> 20877 bytes .../sdk/src/main/res/values-es/strings.xml | 8 + .../sdk/src/main/res/values-kk/strings.xml | 8 + .../sdk/src/main/res/values-pt/strings.xml | 8 + .../sdk/src/main/res/values-ru/strings.xml | 8 + .../sdk/src/main/res/values-uk/strings.xml | 8 + samples/app/sdk/src/main/res/values/attrs.xml | 4 + .../app/sdk/src/main/res/values/colors.xml | 6 + .../app/sdk/src/main/res/values/strings.xml | 8 + .../app/sdk/src/main/res/values/styles.xml | 12 + .../main/res/xml/network_security_config.xml | 9 + vk-sdk-api/README.md | 2 +- .../src/main/java/com/vk/sdk/api/Constants.kt | 2 +- .../main/java/com/vk/sdk/api/GsonHolder.kt | 36 ++- .../api/account/dto/AccountAccountCounters.kt | 3 + .../account/dto/AccountGetCountersFilter.kt | 22 +- .../api/account/dto/AccountGetInfoFields.kt | 22 +- .../account/dto/AccountNameRequestStatus.kt | 22 +- .../vk/sdk/api/account/dto/AccountOffer.kt | 21 +- .../api/account/dto/AccountPushParamsMode.kt | 22 +- .../api/account/dto/AccountPushParamsOnoff.kt | 22 +- .../account/dto/AccountPushParamsSettings.kt | 22 +- .../AccountSaveProfileInfoBdateVisibility.kt | 22 +- .../dto/AccountSaveProfileInfoRelation.kt | 22 +- .../account/dto/AccountSaveProfileInfoSex.kt | 22 +- .../sdk/api/addresses/dto/AddressesFields.kt | 21 +- .../com/vk/sdk/api/ads/dto/AdsAccessRole.kt | 21 +- .../vk/sdk/api/ads/dto/AdsAccessRolePublic.kt | 66 ++++++ .../java/com/vk/sdk/api/ads/dto/AdsAccount.kt | 6 +- .../com/vk/sdk/api/ads/dto/AdsAccountType.kt | 21 +- .../com/vk/sdk/api/ads/dto/AdsAdApproved.kt | 21 +- .../com/vk/sdk/api/ads/dto/AdsAdCostType.kt | 21 +- .../com/vk/sdk/api/ads/dto/AdsAdStatus.kt | 20 +- .../vk/sdk/api/ads/dto/AdsCampaignStatus.kt | 21 +- .../com/vk/sdk/api/ads/dto/AdsCampaignType.kt | 21 +- .../sdk/api/ads/dto/AdsCheckLinkLinkType.kt | 22 +- .../com/vk/sdk/api/ads/dto/AdsCriteriaSex.kt | 21 +- .../sdk/api/ads/dto/AdsGetCampaignsFields.kt | 22 +- .../api/ads/dto/AdsGetDemographicsIdsType.kt | 22 +- .../api/ads/dto/AdsGetDemographicsPeriod.kt | 22 +- .../api/ads/dto/AdsGetPostsReachIdsType.kt | 22 +- .../api/ads/dto/AdsGetStatisticsIdsType.kt | 22 +- .../sdk/api/ads/dto/AdsGetStatisticsPeriod.kt | 22 +- .../ads/dto/AdsGetStatisticsStatsFields.kt | 22 +- .../sdk/api/ads/dto/AdsGetSuggestionsLang.kt | 22 +- .../api/ads/dto/AdsGetSuggestionsSection.kt | 22 +- .../ads/dto/AdsGetTargetingStatsAdFormat.kt | 22 +- .../api/ads/dto/AdsGetUploadURLAdFormat.kt | 22 +- .../vk/sdk/api/ads/dto/AdsLookalikeRequest.kt | 36 ++- .../com/vk/sdk/api/ads/dto/AdsObjectType.kt | 21 +- .../vk/sdk/api/ads/dto/AdsStatsSexValue.kt | 21 +- .../ads/dto/AdsTargSuggestionsSchoolsType.kt | 22 +- .../sdk/api/ads/dto/AdsUserSpecification.kt | 3 + .../api/ads/dto/AdsUserSpecificationCutted.kt | 49 ++++ .../sdk/api/ads/methods/AdsAddOfficeUsers.kt | 4 +- .../api/ads/methods/AdsGetTargetingStats.kt | 8 +- ...WidgetsGetAppImageUploadServerImageType.kt | 22 +- .../dto/AppWidgetsGetAppImagesImageType.kt | 22 +- ...dgetsGetGroupImageUploadServerImageType.kt | 22 +- .../dto/AppWidgetsGetGroupImagesImageType.kt | 22 +- .../appWidgets/dto/AppWidgetsUpdateType.kt | 22 +- .../api/apps/dto/AppsAppLeaderboardType.kt | 22 +- .../sdk/api/apps/dto/AppsGetCatalogFilter.kt | 22 +- .../api/apps/dto/AppsGetCatalogResponseDto.kt | 6 +- .../vk/sdk/api/apps/dto/AppsGetCatalogSort.kt | 21 +- .../api/apps/dto/AppsGetFriendsListType.kt | 22 +- .../api/apps/dto/AppsGetLeaderboardType.kt | 22 +- .../vk/sdk/api/apps/dto/AppsGetNameCase.kt | 21 +- .../vk/sdk/api/apps/dto/AppsGetPlatform.kt | 21 +- .../vk/sdk/api/apps/dto/AppsGetScopesType.kt | 21 +- .../java/com/vk/sdk/api/apps/dto/AppsScope.kt | 20 +- .../sdk/api/apps/dto/AppsSendRequestType.kt | 21 +- .../api/auth/dto/AuthRestoreResponseDto.kt | 20 +- .../com/vk/sdk/api/base/dto/BaseBoolInt.kt | 20 +- .../vk/sdk/api/base/dto/BaseCommentsInfo.kt | 6 +- .../com/vk/sdk/api/base/dto/BaseLinkButton.kt | 3 + .../api/base/dto/BaseLinkButtonActionType.kt | 40 +++- .../sdk/api/base/dto/BaseLinkButtonStyle.kt | 21 +- .../vk/sdk/api/base/dto/BaseLinkProduct.kt | 9 - .../sdk/api/base/dto/BaseLinkProductStatus.kt | 54 ++--- .../vk/sdk/api/base/dto/BaseOkResponseDto.kt | 21 +- .../vk/sdk/api/base/dto/BasePropertyExists.kt | 21 +- .../vk/sdk/api/base/dto/BaseRepostsInfo.kt | 8 +- .../java/com/vk/sdk/api/base/dto/BaseSex.kt | 20 +- .../sdk/api/base/dto/BaseStickerAnimation.kt | 20 +- .../sdk/api/base/dto/BaseUserGroupFields.kt | 21 +- .../vk/sdk/api/board/dto/BoardDefaultOrder.kt | 21 +- .../sdk/api/board/dto/BoardGetCommentsSort.kt | 22 +- .../sdk/api/board/dto/BoardGetTopicsOrder.kt | 21 +- .../api/board/dto/BoardGetTopicsPreview.kt | 22 +- .../dto/CallbackConfirmationMessage.kt | 2 +- .../dto/CallbackDonutMoneyWithdraw.kt | 42 ++++ .../dto/CallbackDonutMoneyWithdrawError.kt | 39 ++++ .../dto/CallbackDonutSubscriptionCancelled.kt | 39 ++++ .../dto/CallbackDonutSubscriptionCreate.kt | 46 ++++ .../dto/CallbackDonutSubscriptionExpired.kt | 39 ++++ .../CallbackDonutSubscriptionPriceChanged.kt | 52 +++++ .../dto/CallbackDonutSubscriptionProlonged.kt | 46 ++++ .../api/callback/dto/CallbackGroupJoinType.kt | 22 +- .../api/callback/dto/CallbackGroupMarket.kt | 21 +- .../callback/dto/CallbackGroupOfficerRole.kt | 22 +- .../api/callback/dto/CallbackLikeAddRemove.kt | 21 +- .../api/callback/dto/CallbackMessageType.kt | 21 +- .../sdk/api/docs/dto/DocsDocAttachmentType.kt | 22 +- .../dto/DocsGetMessagesUploadServerType.kt | 22 +- .../com/vk/sdk/api/docs/dto/DocsGetType.kt | 20 +- .../com/vk/sdk/api/docs/methods/DocsAdd.kt | 5 +- .../sdk/api/docs/responses/DocsAddResponse.kt | 6 +- .../donut/dto/DonutDonatorSubscriptionInfo.kt | 85 +++++++ .../dto/DonutGetSubscriptionsResponseDto.kt | 51 ++++ .../sdk/api/donut/methods/DonutGetFriends.kt | 67 ++++++ .../api/donut/methods/DonutGetSubscription.kt | 50 ++++ .../donut/methods/DonutGetSubscriptions.kt | 65 ++++++ .../vk/sdk/api/donut/methods/DonutIsDon.kt | 49 ++++ .../responses/DonutGetSubscriptionResponse.kt | 39 ++++ .../DonutGetSubscriptionsResponse.kt | 39 ++++ .../vk/sdk/api/fave/dto/FaveAddTagPosition.kt | 21 +- .../vk/sdk/api/fave/dto/FaveBookmarkType.kt | 21 +- .../vk/sdk/api/fave/dto/FaveGetItemType.kt | 21 +- .../vk/sdk/api/fave/dto/FaveGetPagesType.kt | 21 +- .../com/vk/sdk/api/fave/dto/FavePageType.kt | 21 +- .../sdk/api/fave/dto/FaveSetTagsItemType.kt | 21 +- .../api/friends/dto/FriendsAddResponseDto.kt | 22 +- .../friends/dto/FriendsDeleteResponseDto.kt | 69 +++++- .../friends/dto/FriendsFriendStatusStatus.kt | 22 +- .../sdk/api/friends/dto/FriendsGetNameCase.kt | 21 +- .../vk/sdk/api/friends/dto/FriendsGetOrder.kt | 29 ++- .../api/friends/dto/FriendsGetRequestsSort.kt | 26 ++- .../dto/FriendsGetSuggestionsFilter.kt | 22 +- .../dto/FriendsGetSuggestionsNameCase.kt | 22 +- .../api/friends/dto/FriendsSearchNameCase.kt | 22 +- .../api/friends/dto/FriendsUserXtrLists.kt | 165 ++++++++++++- .../api/friends/dto/FriendsUserXtrPhone.kt | 165 ++++++++++++- .../vk/sdk/api/gifts/dto/GiftsGiftPrivacy.kt | 21 +- .../com/vk/sdk/api/gifts/dto/GiftsLayout.kt | 4 + .../dto/GroupsAddAddressWorkInfoStatus.kt | 22 +- .../dto/GroupsAddCallbackServerResponseDto.kt | 2 +- .../groups/dto/GroupsAddressWorkInfoStatus.kt | 22 +- .../sdk/api/groups/dto/GroupsBanInfoReason.kt | 21 +- .../api/groups/dto/GroupsCallbackServer.kt | 20 +- .../sdk/api/groups/dto/GroupsContactsItem.kt | 12 +- .../sdk/api/groups/dto/GroupsCreateSubtype.kt | 21 +- .../vk/sdk/api/groups/dto/GroupsCreateType.kt | 21 +- .../dto/GroupsEditAddressWorkInfoStatus.kt | 22 +- .../sdk/api/groups/dto/GroupsEditAgeLimits.kt | 21 +- .../com/vk/sdk/api/groups/dto/GroupsFields.kt | 71 +++++- .../com/vk/sdk/api/groups/dto/GroupsFilter.kt | 21 +- .../groups/dto/GroupsGetByIdResponseDto.kt | 42 ++++ ...sGetCallbackConfirmationCodeResponseDto.kt | 2 +- .../dto/GroupsGetInvitedUsersNameCase.kt | 22 +- .../GroupsGetInvitesExtendedResponseDto.kt | 2 +- .../groups/dto/GroupsGetInvitesResponseDto.kt | 2 +- .../api/groups/dto/GroupsGetMembersFilter.kt | 22 +- .../api/groups/dto/GroupsGetMembersSort.kt | 22 +- .../dto/GroupsGetSettingsResponseDto.kt | 10 +- .../com/vk/sdk/api/groups/dto/GroupsGroup.kt | 64 +++--- .../sdk/api/groups/dto/GroupsGroupAccess.kt | 21 +- .../api/groups/dto/GroupsGroupAdminLevel.kt | 22 +- .../api/groups/dto/GroupsGroupAgeLimits.kt | 22 +- .../vk/sdk/api/groups/dto/GroupsGroupAudio.kt | 21 +- .../vk/sdk/api/groups/dto/GroupsGroupDocs.kt | 21 +- .../vk/sdk/api/groups/dto/GroupsGroupFull.kt | 134 +++++++---- .../groups/dto/GroupsGroupFullAgeLimits.kt | 22 +- .../groups/dto/GroupsGroupFullMainSection.kt | 22 +- .../groups/dto/GroupsGroupFullMemberStatus.kt | 22 +- .../sdk/api/groups/dto/GroupsGroupIsClosed.kt | 21 +- .../groups/dto/GroupsGroupMarketCurrency.kt | 22 +- .../sdk/api/groups/dto/GroupsGroupPhotos.kt | 21 +- .../vk/sdk/api/groups/dto/GroupsGroupRole.kt | 21 +- .../sdk/api/groups/dto/GroupsGroupSubject.kt | 21 +- .../groups/dto/GroupsGroupSuggestedPrivacy.kt | 69 ++++++ .../vk/sdk/api/groups/dto/GroupsGroupTag.kt | 20 +- .../sdk/api/groups/dto/GroupsGroupTopics.kt | 21 +- .../vk/sdk/api/groups/dto/GroupsGroupType.kt | 21 +- .../vk/sdk/api/groups/dto/GroupsGroupVideo.kt | 21 +- .../vk/sdk/api/groups/dto/GroupsGroupWall.kt | 21 +- .../vk/sdk/api/groups/dto/GroupsGroupWiki.kt | 21 +- .../api/groups/dto/GroupsLongPollEvents.kt | 29 ++- .../sdk/api/groups/dto/GroupsMarketState.kt | 21 +- .../groups/dto/GroupsMemberRolePermission.kt | 22 +- .../api/groups/dto/GroupsMemberRoleStatus.kt | 22 +- .../api/groups/dto/GroupsOnlineStatusType.kt | 22 +- .../groups/dto/GroupsOwnerXtrBanInfoType.kt | 22 +- .../sdk/api/groups/dto/GroupsProfileItem.kt | 46 ++++ .../sdk/api/groups/dto/GroupsRoleOptions.kt | 21 +- .../vk/sdk/api/groups/dto/GroupsSearchSort.kt | 21 +- .../vk/sdk/api/groups/dto/GroupsSearchType.kt | 21 +- .../api/groups/dto/GroupsSettingsTwitter.kt | 20 +- .../api/groups/dto/GroupsTagAddTagColor.kt | 22 +- .../vk/sdk/api/groups/dto/GroupsTagBindAct.kt | 21 +- .../api/groups/dto/GroupsToggleMarketState.kt | 22 +- .../sdk/api/groups/dto/GroupsUserXtrRole.kt | 165 ++++++++++++- .../sdk/api/groups/methods/GroupsGetById.kt | 4 +- .../methods/GroupsSetCallbackSettings.kt | 47 +++- .../methods/GroupsSetLongPollSettings.kt | 37 ++- .../responses/GroupsGetByIdLegacyResponse.kt | 40 ++++ .../groups/responses/GroupsGetByIdResponse.kt | 5 +- .../sdk/api/likes/dto/LikesGetListFilter.kt | 21 +- .../api/likes/dto/LikesGetListFriendsOnly.kt | 22 +- .../com/vk/sdk/api/likes/dto/LikesType.kt | 24 +- .../vk/sdk/api/likes/methods/LikesGetList.kt | 2 +- .../api/likes/methods/LikesGetListExtended.kt | 2 +- .../dto/MarketGetCategoriesNewResponseDto.kt | 39 ++++ .../api/market/dto/MarketGetCommentsSort.kt | 22 +- .../api/market/dto/MarketMarketCategory.kt | 6 +- .../market/dto/MarketMarketCategoryNested.kt | 46 ++++ .../api/market/dto/MarketMarketCategoryOld.kt | 46 ++++ .../market/dto/MarketMarketCategoryTree.kt | 47 ++++ .../dto/MarketMarketItemAvailability.kt | 22 +- .../api/market/dto/MarketMarketItemFull.kt | 10 + .../com/vk/sdk/api/market/dto/MarketOrder.kt | 6 +- .../com/vk/sdk/api/market/dto/MarketPrice.kt | 5 +- .../market/dto/MarketReportCommentReason.kt | 22 +- .../sdk/api/market/dto/MarketReportReason.kt | 21 +- .../vk/sdk/api/market/dto/MarketSearchRev.kt | 21 +- .../vk/sdk/api/market/dto/MarketSearchSort.kt | 21 +- .../sdk/api/market/dto/MarketSearchStatus.kt | 21 +- .../sdk/api/market/methods/MarketEditOrder.kt | 10 +- .../api/market/methods/MarketGetCategories.kt | 11 +- .../MarketGetCategoriesNewResponse.kt | 39 ++++ .../api/messages/dto/MessagesAudioMessage.kt | 5 +- .../api/messages/dto/MessagesConversation.kt | 25 +- .../dto/MessagesConversationPeerType.kt | 22 +- .../sdk/api/messages/dto/MessagesForward.kt | 53 +++++ .../dto/MessagesGetConversationsFilter.kt | 22 +- .../MessagesGetHistoryAttachmentsMediaType.kt | 22 +- .../api/messages/dto/MessagesGetHistoryRev.kt | 22 +- .../messages/dto/MessagesHistoryAttachment.kt | 5 +- .../messages/dto/MessagesKeyboardButton.kt | 20 +- .../sdk/api/messages/dto/MessagesOutReadBy.kt | 43 ++++ .../api/messages/dto/MessagesSendIntent.kt | 21 +- .../dto/MessagesTemplateActionTypeNames.kt | 22 +- .../methods/MessagesAllowMessagesFromGroup.kt | 2 +- .../sdk/api/messages/methods/MessagesPin.kt | 9 +- .../methods/MessagesSearchConversations.kt | 2 +- .../sdk/api/messages/methods/MessagesSend.kt | 15 ++ .../messages/methods/MessagesSendUserids.kt | 15 ++ .../newsfeed/dto/NewsfeedCommentsFilters.kt | 22 +- .../sdk/api/newsfeed/dto/NewsfeedFilters.kt | 21 +- .../newsfeed/dto/NewsfeedGetBannedNameCase.kt | 22 +- .../NewsfeedGetSuggestedSourcesResponseDto.kt | 23 +- .../newsfeed/dto/NewsfeedIgnoreItemType.kt | 22 +- .../api/newsfeed/dto/NewsfeedItemDigest.kt | 37 ++- .../newsfeed/dto/NewsfeedItemDigestFooter.kt | 81 +++++++ .../dto/NewsfeedItemDigestFooterButton.kt | 76 ++++++ .../newsfeed/dto/NewsfeedItemDigestHeader.kt | 81 +++++++ .../dto/NewsfeedItemWallpostFeedbackType.kt | 22 +- .../newsfeed/dto/NewsfeedItemWallpostType.kt | 22 +- .../newsfeed/dto/NewsfeedNewsfeedItemType.kt | 38 ++- .../newsfeed/dto/NewsfeedUnsubscribeType.kt | 22 +- .../newsfeed/methods/NewsfeedIgnoreItem.kt | 16 +- .../sdk/api/notes/dto/NotesGetCommentsSort.kt | 22 +- .../com/vk/sdk/api/notes/dto/NotesGetSort.kt | 21 +- .../dto/NotificationsGetFilters.kt | 22 +- .../dto/NotificationsNotificationParent.kt | 43 +++- .../dto/NotificationsSendMessageError.kt | 20 +- .../api/orders/dto/OrdersChangeStateAction.kt | 22 +- .../com/vk/sdk/api/owner/dto/OwnerState.kt | 20 +- .../sdk/api/pages/dto/PagesPrivacySettings.kt | 22 +- .../sdk/api/pages/dto/PagesSaveAccessEdit.kt | 21 +- .../sdk/api/pages/dto/PagesSaveAccessView.kt | 21 +- .../api/photos/dto/PhotosGetCommentsSort.kt | 22 +- .../vk/sdk/api/photos/dto/PhotosImageType.kt | 21 +- .../api/photos/dto/PhotosPhotoSizesType.kt | 48 +++- .../photos/dto/PhotosPhotoUploadResponse.kt | 3 + .../photos/dto/PhotosReportCommentReason.kt | 22 +- .../sdk/api/photos/dto/PhotosReportReason.kt | 21 +- .../dto/PhotosTagsSuggestionItemButton.kt | 35 ++- .../vk/sdk/api/photos/methods/PhotosPutTag.kt | 2 +- .../vk/sdk/api/polls/dto/PollsBackground.kt | 20 +- .../api/polls/dto/PollsCreateBackgroundId.kt | 22 +- .../api/polls/dto/PollsEditBackgroundId.kt | 22 +- .../sdk/api/polls/dto/PollsGetByIdNameCase.kt | 22 +- .../api/polls/dto/PollsGetVotersNameCase.kt | 22 +- .../vk/sdk/api/search/dto/SearchHintType.kt | 21 +- .../vk/sdk/api/stats/dto/StatsGetInterval.kt | 21 +- .../stories/dto/StoriesClickableSticker.kt | 59 ++++- .../vk/sdk/api/stories/dto/StoriesFeedItem.kt | 29 ++- .../api/stories/dto/StoriesStoryStatsState.kt | 22 +- .../sdk/api/stories/dto/StoriesStoryType.kt | 21 +- .../api/stories/dto/StoriesUploadLinkText.kt | 22 +- .../dto/StreamingGetStatsInterval.kt | 22 +- .../streaming/dto/StreamingGetStatsType.kt | 22 +- .../dto/StreamingSetSettingsMonthlyTier.kt | 22 +- .../com/vk/sdk/api/users/dto/UsersCareer.kt | 3 + .../com/vk/sdk/api/users/dto/UsersFields.kt | 30 ++- .../users/dto/UsersGetFollowersNameCase.kt | 22 +- .../vk/sdk/api/users/dto/UsersGetNameCase.kt | 21 +- .../vk/sdk/api/users/dto/UsersOnlineInfo.kt | 20 +- .../com/vk/sdk/api/users/dto/UsersRelative.kt | 20 +- .../vk/sdk/api/users/dto/UsersReportType.kt | 21 +- .../com/vk/sdk/api/users/dto/UsersSchool.kt | 5 +- .../vk/sdk/api/users/dto/UsersSearchSex.kt | 21 +- .../vk/sdk/api/users/dto/UsersSearchSort.kt | 21 +- .../vk/sdk/api/users/dto/UsersSearchStatus.kt | 21 +- .../vk/sdk/api/users/dto/UsersUniversity.kt | 5 +- .../vk/sdk/api/users/dto/UsersUserCounters.kt | 29 ++- .../com/vk/sdk/api/users/dto/UsersUserFull.kt | 163 ++++++++++++- .../vk/sdk/api/users/dto/UsersUserRelation.kt | 21 +- .../com/vk/sdk/api/users/dto/UsersUserType.kt | 21 +- .../sdk/api/users/dto/UsersUserXtrCounters.kt | 166 +++++++++++++- .../api/utils/dto/UtilsDomainResolvedType.kt | 28 ++- .../utils/dto/UtilsGetLinkStatsInterval.kt | 22 +- .../api/utils/dto/UtilsGetLinkStatsSource.kt | 22 +- .../api/utils/dto/UtilsLinkCheckedStatus.kt | 22 +- .../sdk/api/video/dto/VideoAddAlbumPrivacy.kt | 22 +- .../api/video/dto/VideoEditAlbumPrivacy.kt | 22 +- .../sdk/api/video/dto/VideoGetCommentsSort.kt | 22 +- .../com/vk/sdk/api/video/dto/VideoLiveInfo.kt | 42 ++++ .../api/video/dto/VideoReportCommentReason.kt | 22 +- .../vk/sdk/api/video/dto/VideoReportReason.kt | 21 +- .../api/video/dto/VideoRestrictionButton.kt | 20 +- .../sdk/api/video/dto/VideoSearchFilters.kt | 21 +- .../vk/sdk/api/video/dto/VideoSearchSort.kt | 21 +- .../com/vk/sdk/api/video/dto/VideoVideo.kt | 43 +++- .../vk/sdk/api/video/dto/VideoVideoFull.kt | 43 +++- .../api/wall/dto/WallCommentAttachmentType.kt | 22 +- .../api/wall/dto/WallGetByIdResponseDto.kt | 39 ++++ .../sdk/api/wall/dto/WallGetCommentsSort.kt | 21 +- .../com/vk/sdk/api/wall/dto/WallGetFilter.kt | 21 +- .../vk/sdk/api/wall/dto/WallPostSourceType.kt | 21 +- .../com/vk/sdk/api/wall/dto/WallPostType.kt | 21 +- .../api/wall/dto/WallReportCommentReason.kt | 22 +- .../sdk/api/wall/dto/WallReportPostReason.kt | 22 +- .../sdk/api/wall/dto/WallRepostResponseDto.kt | 8 +- .../vk/sdk/api/wall/dto/WallWallComment.kt | 3 + .../sdk/api/wall/dto/WallWallCommentDonut.kt | 42 ++++ .../dto/WallWallCommentDonutPlaceholder.kt | 39 ++++ .../wall/dto/WallWallpostAttachmentType.kt | 22 +- .../api/wall/dto/WallWallpostCommentsDonut.kt | 38 +++ .../WallWallpostCommentsDonutPlaceholder.kt | 39 ++++ .../vk/sdk/api/wall/dto/WallWallpostDonut.kt | 89 +++++++ .../wall/dto/WallWallpostDonutPlaceholder.kt | 39 ++++ .../vk/sdk/api/wall/dto/WallWallpostFull.kt | 3 + .../com/vk/sdk/api/wall/methods/WallEdit.kt | 5 + .../vk/sdk/api/wall/methods/WallGetById.kt | 4 +- .../com/vk/sdk/api/wall/methods/WallPost.kt | 5 + .../responses/WallGetByIdLegacyResponse.kt | 40 ++++ .../api/wall/responses/WallGetByIdResponse.kt | 5 +- .../widgets/dto/WidgetsCommentMediaType.kt | 22 +- .../src/main/java/com/vk/api/sdk/VK.kt | 49 ++-- .../main/java/com/vk/api/sdk/VKApiConfig.kt | 8 +- .../main/java/com/vk/api/sdk/VKApiManager.kt | 11 +- .../java/com/vk/api/sdk/VKHttpPostCall.kt | 6 + .../main/java/com/vk/api/sdk/VKMethodCall.kt | 10 + .../com/vk/api/sdk/chain/HttpPostChainCall.kt | 7 +- .../api/sdk/internal/QueryStringGenerator.kt | 1 - .../vk/api/sdk/okhttp/LoggingInterceptor.kt | 1 - .../com/vk/api/sdk/okhttp/OkHttpExecutor.kt | 13 +- .../com/vk/api/sdk/okhttp/OkHttpPostCall.kt | 10 +- .../vk/api/sdk/utils/ThreadLocalDelegate.kt | 6 +- 379 files changed, 8880 insertions(+), 971 deletions(-) create mode 100644 samples/app/sdk/src/.gitignore create mode 100644 samples/app/sdk/src/build.gradle create mode 100644 samples/app/sdk/src/main/AndroidManifest.xml create mode 100644 samples/app/sdk/src/main/java/com/vk/sdk/sample/PathUtils.kt create mode 100644 samples/app/sdk/src/main/java/com/vk/sdk/sample/SampleApplication.kt create mode 100644 samples/app/sdk/src/main/java/com/vk/sdk/sample/UserActivity.kt create mode 100644 samples/app/sdk/src/main/java/com/vk/sdk/sample/WelcomeActivity.kt create mode 100644 samples/app/sdk/src/main/java/com/vk/sdk/sample/models/UploadModels.kt create mode 100644 samples/app/sdk/src/main/java/com/vk/sdk/sample/models/VKUser.kt create mode 100644 samples/app/sdk/src/main/java/com/vk/sdk/sample/requests/VKUsersCommand.kt create mode 100644 samples/app/sdk/src/main/java/com/vk/sdk/sample/requests/VKWallPostCommand.kt create mode 100644 samples/app/sdk/src/main/res/drawable-hdpi/user_placeholder.png create mode 100644 samples/app/sdk/src/main/res/drawable-mdpi/user_placeholder.png create mode 100644 samples/app/sdk/src/main/res/drawable-xhdpi/user_placeholder.png create mode 100644 samples/app/sdk/src/main/res/drawable-xxhdpi/user_placeholder.png create mode 100644 samples/app/sdk/src/main/res/layout/activity_user.xml create mode 100644 samples/app/sdk/src/main/res/layout/activity_welcome.xml create mode 100644 samples/app/sdk/src/main/res/layout/item_user.xml create mode 100644 samples/app/sdk/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 samples/app/sdk/src/main/res/mipmap-hdpi/mp_launcher.png create mode 100644 samples/app/sdk/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 samples/app/sdk/src/main/res/mipmap-mdpi/mp_launcher.png create mode 100644 samples/app/sdk/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 samples/app/sdk/src/main/res/mipmap-xhdpi/mp_launcher.png create mode 100644 samples/app/sdk/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 samples/app/sdk/src/main/res/mipmap-xxhdpi/mp_launcher.png create mode 100644 samples/app/sdk/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 samples/app/sdk/src/main/res/mipmap-xxxhdpi/mp_launcher.png create mode 100644 samples/app/sdk/src/main/res/values-es/strings.xml create mode 100644 samples/app/sdk/src/main/res/values-kk/strings.xml create mode 100644 samples/app/sdk/src/main/res/values-pt/strings.xml create mode 100644 samples/app/sdk/src/main/res/values-ru/strings.xml create mode 100644 samples/app/sdk/src/main/res/values-uk/strings.xml create mode 100644 samples/app/sdk/src/main/res/values/attrs.xml create mode 100644 samples/app/sdk/src/main/res/values/colors.xml create mode 100644 samples/app/sdk/src/main/res/values/strings.xml create mode 100644 samples/app/sdk/src/main/res/values/styles.xml create mode 100644 samples/app/sdk/src/main/res/xml/network_security_config.xml create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/ads/dto/AdsAccessRolePublic.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/ads/dto/AdsUserSpecificationCutted.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/callback/dto/CallbackDonutMoneyWithdraw.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/callback/dto/CallbackDonutMoneyWithdrawError.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/callback/dto/CallbackDonutSubscriptionCancelled.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/callback/dto/CallbackDonutSubscriptionCreate.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/callback/dto/CallbackDonutSubscriptionExpired.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/callback/dto/CallbackDonutSubscriptionPriceChanged.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/callback/dto/CallbackDonutSubscriptionProlonged.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/donut/dto/DonutDonatorSubscriptionInfo.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/donut/dto/DonutGetSubscriptionsResponseDto.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/donut/methods/DonutGetFriends.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/donut/methods/DonutGetSubscription.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/donut/methods/DonutGetSubscriptions.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/donut/methods/DonutIsDon.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/donut/responses/DonutGetSubscriptionResponse.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/donut/responses/DonutGetSubscriptionsResponse.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/groups/dto/GroupsGetByIdResponseDto.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/groups/dto/GroupsGroupSuggestedPrivacy.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/groups/dto/GroupsProfileItem.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/groups/responses/GroupsGetByIdLegacyResponse.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/market/dto/MarketGetCategoriesNewResponseDto.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/market/dto/MarketMarketCategoryNested.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/market/dto/MarketMarketCategoryOld.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/market/dto/MarketMarketCategoryTree.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/market/responses/MarketGetCategoriesNewResponse.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/messages/dto/MessagesForward.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/messages/dto/MessagesOutReadBy.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/newsfeed/dto/NewsfeedItemDigestFooter.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/newsfeed/dto/NewsfeedItemDigestFooterButton.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/newsfeed/dto/NewsfeedItemDigestHeader.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/video/dto/VideoLiveInfo.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/wall/dto/WallGetByIdResponseDto.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/wall/dto/WallWallCommentDonut.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/wall/dto/WallWallCommentDonutPlaceholder.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/wall/dto/WallWallpostCommentsDonut.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/wall/dto/WallWallpostCommentsDonutPlaceholder.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/wall/dto/WallWallpostDonut.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/wall/dto/WallWallpostDonutPlaceholder.kt create mode 100644 vk-sdk-api/src/main/java/com/vk/sdk/api/wall/responses/WallGetByIdLegacyResponse.kt diff --git a/dependencies.gradle b/dependencies.gradle index c56c66a0bd..993a5d760f 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -23,8 +23,8 @@ SOFTWARE. */ ext.sdkVersions = [ - code : '19', - name : '2.4.0', + code : '21', + name : '2.6.0', minSdk : 21, targetSdk : 29, diff --git a/samples/app/sdk/src/.gitignore b/samples/app/sdk/src/.gitignore new file mode 100644 index 0000000000..796b96d1c4 --- /dev/null +++ b/samples/app/sdk/src/.gitignore @@ -0,0 +1 @@ +/build diff --git a/samples/app/sdk/src/build.gradle b/samples/app/sdk/src/build.gradle new file mode 100644 index 0000000000..65f75acc52 --- /dev/null +++ b/samples/app/sdk/src/build.gradle @@ -0,0 +1,66 @@ +/******************************************************************************* + * The MIT License (MIT) + * + * Copyright (c) 2019 vk.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + ******************************************************************************/ + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: '../../dependencies.gradle' + +android { + compileSdkVersion "$sdkVersions.compileSdk".toInteger() + buildToolsVersion "$sdkVersions.buildTools" + + defaultConfig { + applicationId = "com.vk.sdk.sample" + minSdkVersion "$sdkVersions.minSdk" + targetSdkVersion "$sdkVersions.targetSdk" + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + lintOptions { + abortOnError true + checkReleaseBuilds true + } + + dexOptions { + preDexLibraries true + javaMaxHeapSize "5g" + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: '*.jar') + implementation sdkLibraries.kotlin + implementation sdkLibrariesSupport.recyclerView + implementation sdkLibrariesSupport.appCompat + implementation (sdkLibraries.picasso) { transitive = false } + implementation sdkLibraries.okHttp + + implementation project(':libapi-sdk-core') + implementation project(':libapi-sdk-api') + //implementation 'com.vk:androidsdk:2.0.0' +} diff --git a/samples/app/sdk/src/main/AndroidManifest.xml b/samples/app/sdk/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..1846374115 --- /dev/null +++ b/samples/app/sdk/src/main/AndroidManifest.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + diff --git a/samples/app/sdk/src/main/java/com/vk/sdk/sample/PathUtils.kt b/samples/app/sdk/src/main/java/com/vk/sdk/sample/PathUtils.kt new file mode 100644 index 0000000000..8233032c4a --- /dev/null +++ b/samples/app/sdk/src/main/java/com/vk/sdk/sample/PathUtils.kt @@ -0,0 +1,43 @@ +/******************************************************************************* + * The MIT License (MIT) + * + * Copyright (c) 2019 vk.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + ******************************************************************************/ + +package com.vk.sdk.sample + +import android.content.Context +import android.net.Uri +import android.provider.MediaStore + +object PathUtils { + fun getPath(context: Context, uri: Uri): String { + if (uri.scheme == "file") { + if (uri.path != null) return uri.path!! + return "" + } + val proj = arrayOf(MediaStore.Images.Media.DATA) + val cursor = context.contentResolver.query(uri, proj, null, null, null) + val columnIndex = cursor!!.getColumnIndexOrThrow(MediaStore.Images.Media.DATA) + cursor.moveToFirst() + return "file://" + cursor.getString(columnIndex) + } +} \ No newline at end of file diff --git a/samples/app/sdk/src/main/java/com/vk/sdk/sample/SampleApplication.kt b/samples/app/sdk/src/main/java/com/vk/sdk/sample/SampleApplication.kt new file mode 100644 index 0000000000..61301210ff --- /dev/null +++ b/samples/app/sdk/src/main/java/com/vk/sdk/sample/SampleApplication.kt @@ -0,0 +1,42 @@ +/******************************************************************************* + * The MIT License (MIT) + * + * Copyright (c) 2019 vk.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + ******************************************************************************/ + +package com.vk.sdk.sample + +import android.app.Application +import com.vk.api.sdk.VK +import com.vk.api.sdk.VKTokenExpiredHandler + +class SampleApplication: Application() { + override fun onCreate() { + super.onCreate() + VK.addTokenExpiredHandler(tokenTracker) + } + + private val tokenTracker = object: VKTokenExpiredHandler { + override fun onTokenExpired() { + WelcomeActivity.startFrom(this@SampleApplication) + } + } +} \ No newline at end of file diff --git a/samples/app/sdk/src/main/java/com/vk/sdk/sample/UserActivity.kt b/samples/app/sdk/src/main/java/com/vk/sdk/sample/UserActivity.kt new file mode 100644 index 0000000000..d132bb57d6 --- /dev/null +++ b/samples/app/sdk/src/main/java/com/vk/sdk/sample/UserActivity.kt @@ -0,0 +1,217 @@ +/******************************************************************************* + * The MIT License (MIT) + * + * Copyright (c) 2019 vk.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + ******************************************************************************/ + +package com.vk.sdk.sample + +import android.app.Activity +import android.content.Context +import android.content.Intent +import android.net.Uri +import android.os.Bundle +import android.text.TextUtils +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.* +import androidx.recyclerview.widget.RecyclerView +import com.squareup.picasso.Picasso +import com.vk.api.sdk.VK +import com.vk.api.sdk.VKApiCallback +import com.vk.sdk.api.friends.dto.FriendsGetFieldsResponseDto +import com.vk.sdk.api.friends.methods.FriendsGetFields +import com.vk.sdk.api.users.dto.UsersFields +import com.vk.sdk.sample.models.VKUser +import com.vk.sdk.sample.requests.VKUsersCommand +import com.vk.sdk.sample.requests.VKWallPostCommand + +class UserActivity: Activity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_user) + + val logoutBtn = findViewById