move clear queue to presenter

This commit is contained in:
Kevin Richter 2016-02-09 17:42:39 +01:00
parent d8b46c1969
commit 63d0161da5
2 changed files with 14 additions and 11 deletions

View file

@ -14,7 +14,6 @@ import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment;
import nucleus.factory.RequiresPresenter; import nucleus.factory.RequiresPresenter;
import rx.Subscription; import rx.Subscription;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@RequiresPresenter(DownloadPresenter.class) @RequiresPresenter(DownloadPresenter.class)
@ -25,6 +24,7 @@ public class DownloadFragment extends BaseRxFragment<DownloadPresenter> {
private MenuItem startButton; private MenuItem startButton;
private MenuItem pauseButton; private MenuItem pauseButton;
private MenuItem clearButton;
private Subscription queueStatusSubscription; private Subscription queueStatusSubscription;
private boolean isRunning; private boolean isRunning;
@ -60,9 +60,10 @@ public class DownloadFragment extends BaseRxFragment<DownloadPresenter> {
inflater.inflate(R.menu.download_queue, menu); inflater.inflate(R.menu.download_queue, menu);
startButton = menu.findItem(R.id.start_queue); startButton = menu.findItem(R.id.start_queue);
pauseButton = menu.findItem(R.id.pause_queue); pauseButton = menu.findItem(R.id.pause_queue);
clearButton = menu.findItem(R.id.clear_queue);
if(adapter.getItemCount() > 0) { if(adapter.getItemCount() > 0) {
menu.findItem(R.id.clear_queue).setVisible(true); clearButton.setVisible(true);
} }
// Menu seems to be inflated after onResume in fragments, so we initialize them here // Menu seems to be inflated after onResume in fragments, so we initialize them here
@ -79,10 +80,10 @@ public class DownloadFragment extends BaseRxFragment<DownloadPresenter> {
case R.id.pause_queue: case R.id.pause_queue:
DownloadService.stop(getActivity()); DownloadService.stop(getActivity());
break; break;
case R.id.clear_queue: // Not sure if this is correct case R.id.clear_queue:
DownloadService.stop(getActivity()); DownloadService.stop(getActivity());
getPresenter().downloadManager.getQueue().clear(); getPresenter().clearQueue();
onNextDownloads(new ArrayList<>()); clearButton.setVisible(false);
break; break;
} }
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);

View file

@ -1,12 +1,6 @@
package eu.kanade.tachiyomi.ui.download; package eu.kanade.tachiyomi.ui.download;
import android.os.Bundle; import android.os.Bundle;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
import eu.kanade.tachiyomi.data.download.DownloadManager; import eu.kanade.tachiyomi.data.download.DownloadManager;
import eu.kanade.tachiyomi.data.download.model.Download; import eu.kanade.tachiyomi.data.download.model.Download;
import eu.kanade.tachiyomi.data.download.model.DownloadQueue; import eu.kanade.tachiyomi.data.download.model.DownloadQueue;
@ -18,6 +12,10 @@ import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers; import rx.schedulers.Schedulers;
import timber.log.Timber; import timber.log.Timber;
import javax.inject.Inject;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;
public class DownloadPresenter extends BasePresenter<DownloadFragment> { public class DownloadPresenter extends BasePresenter<DownloadFragment> {
@Inject DownloadManager downloadManager; @Inject DownloadManager downloadManager;
@ -123,4 +121,8 @@ public class DownloadPresenter extends BasePresenter<DownloadFragment> {
remove(statusSubscription); remove(statusSubscription);
} }
public void clearQueue() {
downloadQueue.clear();
start(GET_DOWNLOAD_QUEUE);
}
} }