2018-07-07 07:15:16 +02:00
|
|
|
package jp.juggler.subwaytooter.action
|
|
|
|
|
|
|
|
import jp.juggler.subwaytooter.ActMain
|
|
|
|
import jp.juggler.subwaytooter.App1
|
|
|
|
import jp.juggler.subwaytooter.R
|
|
|
|
import jp.juggler.subwaytooter.api.TootApiClient
|
|
|
|
import jp.juggler.subwaytooter.api.TootApiResult
|
|
|
|
import jp.juggler.subwaytooter.api.TootTask
|
|
|
|
import jp.juggler.subwaytooter.api.TootTaskRunner
|
|
|
|
import jp.juggler.subwaytooter.api.entity.TootFilter
|
|
|
|
import jp.juggler.subwaytooter.dialog.DlgConfirm
|
|
|
|
import jp.juggler.subwaytooter.table.SavedAccount
|
2018-12-01 00:02:18 +01:00
|
|
|
import jp.juggler.util.LogCategory
|
|
|
|
import jp.juggler.util.showToast
|
2018-07-07 07:15:16 +02:00
|
|
|
import okhttp3.Request
|
|
|
|
|
|
|
|
object Action_Filter {
|
|
|
|
|
|
|
|
private val log = LogCategory("Action_Filter")
|
|
|
|
|
|
|
|
fun delete( activity : ActMain, access_info : SavedAccount,filter: TootFilter ,bConfirmed :Boolean = false){
|
|
|
|
if(!bConfirmed){
|
|
|
|
DlgConfirm.openSimple(activity,activity.getString(R.string.filter_delete_confirm, filter.phrase)){
|
|
|
|
delete(activity,access_info,filter,bConfirmed=true)
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
TootTaskRunner(activity).run(access_info, object : TootTask {
|
|
|
|
|
|
|
|
var filterList : ArrayList<TootFilter>? = null
|
|
|
|
|
|
|
|
override fun background(client : TootApiClient) : TootApiResult? {
|
|
|
|
var result = client.request("/api/v1/filters/${filter.id}", Request.Builder().delete())
|
|
|
|
if( result != null && result.error == null){
|
|
|
|
result = client.request("/api/v1/filters")
|
|
|
|
val jsonArray = result?.jsonArray
|
|
|
|
if( jsonArray != null ) filterList = TootFilter.parseList(jsonArray)
|
|
|
|
}
|
|
|
|
return result
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun handleResult(result : TootApiResult?) {
|
|
|
|
if(result == null) return // cancelled.
|
|
|
|
|
|
|
|
val filterList = this.filterList
|
|
|
|
if( filterList != null) {
|
|
|
|
showToast(activity, false, R.string.delete_succeeded)
|
|
|
|
for(column in App1.getAppState(activity).column_list) {
|
2020-02-01 19:28:16 +01:00
|
|
|
if( column.access_info == access_info ){
|
2018-07-07 07:15:16 +02:00
|
|
|
column.onFilterDeleted(filter,filterList)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
showToast(activity, false, result.error)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|