下载任务数支持修改

This commit is contained in:
lyy
2016-11-14 16:56:09 +08:00
parent 493810d0b0
commit bd94e7dd27
8 changed files with 185 additions and 4 deletions

View File

@ -7,6 +7,8 @@ import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import butterknife.Bind;
import com.arialyy.downloadutil.core.DownloadEntity;
import com.arialyy.downloadutil.core.DownloadManager;
@ -15,6 +17,7 @@ import com.arialyy.simple.R;
import com.arialyy.simple.adapter.DownloadAdapter;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivityMultiBinding;
import com.arialyy.simple.dialog.DownloadNumDialog;
import com.arialyy.simple.module.DownloadModule;
/**
@ -86,6 +89,11 @@ public class MultiTaskActivity extends BaseActivity<ActivityMultiBinding> {
}
};
public void onClick(View view){
DownloadNumDialog dialog = new DownloadNumDialog();
dialog.show(getSupportFragmentManager(), "download_num");
}
@Override protected void onResume() {
super.onResume();
registerReceiver(mReceiver, getModule(DownloadModule.class).getDownloadFilter());
@ -95,4 +103,11 @@ public class MultiTaskActivity extends BaseActivity<ActivityMultiBinding> {
super.onDestroy();
unregisterReceiver(mReceiver);
}
@Override protected void dataCallback(int result, Object data) {
super.dataCallback(result, data);
if (result == DownloadNumDialog.RESULT_CODE){
mAdapter.setDownloadNum(Integer.parseInt(data + ""));
}
}
}

View File

@ -133,6 +133,10 @@ public class DownloadAdapter extends AbsRVAdapter<DownloadEntity, DownloadAdapte
});
}
public void setDownloadNum(int num) {
mManager.getTaskQueue().setDownloadNum(num);
}
private String covertCurrentSize(long currentSize) {
String size = CommonUtil.formatFileSize(currentSize);
return size.substring(0, size.length() - 1);

View File

@ -0,0 +1,18 @@
package com.arialyy.simple.base;
import android.databinding.ViewDataBinding;
import android.os.Bundle;
import com.arialyy.frame.core.AbsDialogFragment;
/**
* Created by “AriaLyy@outlook.com” on 2016/11/14.
*/
public abstract class BaseDialog<VB extends ViewDataBinding> extends AbsDialogFragment<VB>{
@Override protected void init(Bundle savedInstanceState) {
}
@Override protected void dataCallback(int result, Object data) {
}
}

View File

@ -0,0 +1,46 @@
package com.arialyy.simple.dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import butterknife.Bind;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseDialog;
import com.arialyy.simple.databinding.DialogDownloadNumBinding;
/**
* Created by “AriaLyy@outlook.com” on 2016/11/14.
* 设置下载数量对话框
*/
public class DownloadNumDialog extends BaseDialog<DialogDownloadNumBinding> implements RadioGroup.OnCheckedChangeListener{
public static final int RESULT_CODE = 1001;
@Bind(R.id.cancel) Button mCancel;
@Bind(R.id.rg) RadioGroup mRg;
@Override protected int setLayoutId() {
return R.layout.dialog_download_num;
}
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
mCancel.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
dismiss();
}
});
for (int i = 0, count = mRg.getChildCount(); i < count; i++) {
RadioButton rb = (RadioButton) mRg.getChildAt(i);
rb.setId(i);
}
mRg.setOnCheckedChangeListener(this);
}
@Override public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton rb = (RadioButton) group.getChildAt(checkedId);
if (rb.isChecked()) {
getSimplerModule().onDialog(RESULT_CODE, rb.getTag());
}
}
}