/* * Copyright (c) 2016 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com> * All Rights Reserved. */ package me.zhanghai.android.douya.broadcast.content; import android.content.Context; import com.android.volley.VolleyError; import me.zhanghai.android.douya.R; import me.zhanghai.android.douya.content.ResourceWriter; import me.zhanghai.android.douya.eventbus.BroadcastDeletedEvent; import me.zhanghai.android.douya.eventbus.EventBusUtils; import me.zhanghai.android.douya.network.Request; import me.zhanghai.android.douya.network.api.ApiError; import me.zhanghai.android.douya.network.api.ApiRequests; import me.zhanghai.android.douya.network.api.info.apiv2.Broadcast; import me.zhanghai.android.douya.util.LogUtils; import me.zhanghai.android.douya.util.ToastUtils; class DeleteBroadcastWriter extends ResourceWriter<DeleteBroadcastWriter, Broadcast> { private long mBroadcastId; DeleteBroadcastWriter(long broadcastId, DeleteBroadcastManager manager) { super(manager); mBroadcastId = broadcastId; } public long getBroadcastId() { return mBroadcastId; } @Override protected Request<Broadcast> onCreateRequest() { return ApiRequests.newDeleteBroadcastRequest(mBroadcastId); } @Override public void onResponse(Broadcast response) { ToastUtils.show(R.string.broadcast_delete_successful, getContext()); EventBusUtils.postAsync(new BroadcastDeletedEvent(response.id, this)); stopSelf(); } @Override public void onErrorResponse(VolleyError error) { LogUtils.e(error.toString()); Context context = getContext(); ToastUtils.show(context.getString(R.string.broadcast_delete_failed_format, ApiError.getErrorString(error, context)), context); stopSelf(); } }