(Misskey)投稿の削除

This commit is contained in:
tateisu 2018-11-02 09:39:32 +09:00
parent de57629ec3
commit da23d2437b
1 changed files with 54 additions and 24 deletions

View File

@ -68,7 +68,7 @@ object Action_Toot {
} }
// 必要なら確認を出す // 必要なら確認を出す
if(! bConfirmed && !access_info.isMisskey) { if(! bConfirmed && ! access_info.isMisskey) {
DlgConfirm.open( DlgConfirm.open(
activity, activity,
activity.getString( activity.getString(
@ -125,10 +125,11 @@ object Action_Toot {
val target_status : TootStatus val target_status : TootStatus
if(nCrossAccountMode == CROSS_ACCOUNT_REMOTE_INSTANCE) { if(nCrossAccountMode == CROSS_ACCOUNT_REMOTE_INSTANCE) {
result = client.syncStatus( access_info,arg_status) result = client.syncStatus(access_info, arg_status)
if( result?.data == null) return result if(result?.data == null) return result
target_status = result.data as? TootStatus target_status = result.data as? TootStatus
?: return TootApiResult(activity.getString(R.string.status_id_conversion_failed)) ?:
return TootApiResult(activity.getString(R.string.status_id_conversion_failed))
if(target_status.favourited) { if(target_status.favourited) {
return TootApiResult(activity.getString(R.string.already_favourited)) return TootApiResult(activity.getString(R.string.already_favourited))
} }
@ -374,10 +375,11 @@ object Action_Toot {
val target_status : TootStatus val target_status : TootStatus
if(nCrossAccountMode == CROSS_ACCOUNT_REMOTE_INSTANCE) { if(nCrossAccountMode == CROSS_ACCOUNT_REMOTE_INSTANCE) {
result = client.syncStatus(access_info,arg_status) result = client.syncStatus(access_info, arg_status)
if( result?.data == null) return result if(result?.data == null) return result
target_status = result.data as? TootStatus target_status = result.data as? TootStatus
?: return TootApiResult(activity.getString(R.string.status_id_conversion_failed)) ?:
return TootApiResult(activity.getString(R.string.status_id_conversion_failed))
if(target_status.reblogged) { if(target_status.reblogged) {
return TootApiResult(activity.getString(R.string.already_boosted)) return TootApiResult(activity.getString(R.string.already_boosted))
} }
@ -496,9 +498,20 @@ object Action_Toot {
TootTaskRunner(activity).run(access_info, object : TootTask { TootTaskRunner(activity).run(access_info, object : TootTask {
override fun background(client : TootApiClient) : TootApiResult? { override fun background(client : TootApiClient) : TootApiResult? {
val request_builder = Request.Builder().delete() return if(access_info.isMisskey) {
val params = access_info.putMisskeyApiToken()
return client.request("/api/v1/statuses/$status_id", request_builder) .put("noteId", status_id)
client.request("/api/notes/delete", params.toPostRequestBuilder())
// 204 no content
} else {
val request_builder = Request.Builder().delete()
client.request("/api/v1/statuses/$status_id", request_builder)
}
} }
override fun handleResult(result : TootApiResult?) { override fun handleResult(result : TootApiResult?) {
@ -524,14 +537,20 @@ object Action_Toot {
activity : ActMain, activity : ActMain,
access_info : SavedAccount, access_info : SavedAccount,
conversationSummary : TootConversationSummary? conversationSummary : TootConversationSummary?
){ ) {
conversationSummary?: return conversationSummary ?: return
TootTaskRunner(activity,progress_style = TootTaskRunner.PROGRESS_NONE) TootTaskRunner(activity, progress_style = TootTaskRunner.PROGRESS_NONE)
.run(access_info, object : TootTask { .run(access_info, object : TootTask {
override fun background(client : TootApiClient) : TootApiResult? { override fun background(client : TootApiClient) : TootApiResult? {
return client.request( return client.request(
"/api/v1/conversations/${conversationSummary.id}/read" "/api/v1/conversations/${conversationSummary.id}/read"
,Request.Builder().post(RequestBody.create(TootApiClient.MEDIA_TYPE_FORM_URL_ENCODED,"")) ,
Request.Builder().post(
RequestBody.create(
TootApiClient.MEDIA_TYPE_FORM_URL_ENCODED,
""
)
)
) )
} }
@ -542,7 +561,6 @@ object Action_Toot {
} }
// ローカルかリモートか判断する // ローカルかリモートか判断する
fun conversation( fun conversation(
activity : ActMain, activity : ActMain,
@ -643,7 +661,7 @@ object Action_Toot {
val dialog = ActionsDialog() val dialog = ActionsDialog()
val host_original = Uri.parse(url).authority ?: "" val host_original = Uri.parse(url).authority ?: ""
// 選択肢:ブラウザで表示する // 選択肢:ブラウザで表示する
dialog.addAction( dialog.addAction(
@ -777,8 +795,8 @@ object Action_Toot {
} }
} }
} else { } else {
result = client.syncStatus(access_info,remote_status_url) result = client.syncStatus(access_info, remote_status_url)
if( result?.data == null ) return result if(result?.data == null) return result
val status = result.data as? TootStatus val status = result.data as? TootStatus
?: return TootApiResult(activity.getString(R.string.status_id_conversion_failed)) ?: return TootApiResult(activity.getString(R.string.status_id_conversion_failed))
local_status_id = status.id local_status_id = status.id
@ -918,10 +936,11 @@ object Action_Toot {
var local_status : TootStatus? = null var local_status : TootStatus? = null
override fun background(client : TootApiClient) : TootApiResult? { override fun background(client : TootApiClient) : TootApiResult? {
val result = client.syncStatus(access_info,remote_status_url) val result = client.syncStatus(access_info, remote_status_url)
if( result?.data == null) return result if(result?.data == null) return result
local_status = result.data as? TootStatus local_status = result.data as? TootStatus
?: return TootApiResult(activity.getString(R.string.status_id_conversion_failed)) ?:
return TootApiResult(activity.getString(R.string.status_id_conversion_failed))
return result return result
} }
@ -947,13 +966,24 @@ object Action_Toot {
) { ) {
activity.post_helper.closeAcctPopup() activity.post_helper.closeAcctPopup()
if( accessInfo.isMisskey){ if(accessInfo.isMisskey) {
ActPost.open(activity, ActMain.REQUEST_CODE_POST, accessInfo.db_id, redraft_status = status, reply_status = status.reply) ActPost.open(
activity,
ActMain.REQUEST_CODE_POST,
accessInfo.db_id,
redraft_status = status,
reply_status = status.reply
)
return return
} }
if(status.in_reply_to_id == null) { if(status.in_reply_to_id == null) {
ActPost.open(activity, ActMain.REQUEST_CODE_POST, accessInfo.db_id, redraft_status = status) ActPost.open(
activity,
ActMain.REQUEST_CODE_POST,
accessInfo.db_id,
redraft_status = status
)
return return
} }