/*
* Copyright (c) 2016 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com>
* All Rights Reserved.
*/
package me.zhanghai.android.douya.content;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import me.zhanghai.android.douya.broadcast.content.DeleteBroadcastCommentManager;
import me.zhanghai.android.douya.broadcast.content.DeleteBroadcastManager;
import me.zhanghai.android.douya.broadcast.content.LikeBroadcastManager;
import me.zhanghai.android.douya.broadcast.content.RebroadcastBroadcastManager;
import me.zhanghai.android.douya.broadcast.content.SendBroadcastCommentManager;
import me.zhanghai.android.douya.followship.content.FollowUserManager;
public class ResourceWriterService extends Service {
private List<ResourceWriterManager> mWriterManagers = new ArrayList<>();
public static Intent makeIntent(Context context) {
return new Intent(context, ResourceWriterService.class);
}
@Override
public void onCreate() {
super.onCreate();
addWriterManager(FollowUserManager.getInstance());
addWriterManager(LikeBroadcastManager.getInstance());
addWriterManager(RebroadcastBroadcastManager.getInstance());
addWriterManager(DeleteBroadcastManager.getInstance());
addWriterManager(DeleteBroadcastCommentManager.getInstance());
addWriterManager(SendBroadcastCommentManager.getInstance());
}
private void addWriterManager(ResourceWriterManager writerManager) {
mWriterManagers.add(writerManager);
writerManager.onBind(this);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
removeWriterManagers();
}
private void removeWriterManagers() {
Iterator<ResourceWriterManager> iterator = mWriterManagers.iterator();
while (iterator.hasNext()) {
ResourceWriterManager writerManager = iterator.next();
writerManager.onUnbind();
iterator.remove();
}
}
}