添加线程选择接口

This commit is contained in:
AriaLyy
2016-11-17 17:20:48 +08:00
parent bd94e7dd27
commit 1893460627
42 changed files with 73 additions and 263 deletions

View File

@ -1,10 +1,15 @@
package com.arialyy.simple.activity;
import android.Manifest;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import butterknife.Bind;
import com.arialyy.frame.permission.OnPermissionCallback;
import com.arialyy.frame.permission.PermissionManager;
import com.arialyy.frame.util.show.T;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivityMainBinding;
@ -14,6 +19,8 @@ import com.arialyy.simple.databinding.ActivityMainBinding;
*/
public class MainActivity extends BaseActivity<ActivityMainBinding> {
@Bind(R.id.toolbar) Toolbar mBar;
@Bind(R.id.single_task) Button mSigleBt;
@Bind(R.id.multi_task) Button mMultiBt;
@Override protected int setLayoutId() {
return R.layout.activity_main;
@ -23,6 +30,28 @@ public class MainActivity extends BaseActivity<ActivityMainBinding> {
super.init(savedInstanceState);
setSupportActionBar(mBar);
mBar.setTitle("多线程多任务下载");
boolean hasPermission = PermissionManager.getInstance()
.checkPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (hasPermission) {
setEnable(true);
} else {
setEnable(false);
PermissionManager.getInstance().requestPermission(this, new OnPermissionCallback() {
@Override public void onSuccess(String... permissions) {
setEnable(true);
}
@Override public void onFail(String... permissions) {
T.showShort(MainActivity.this, "没有文件读写权限");
setEnable(false);
}
}, Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
}
private void setEnable(boolean enable) {
mSigleBt.setEnabled(enable);
mMultiBt.setEnabled(enable);
}
public void onClick(View view) {

View File

@ -90,7 +90,7 @@ public class MultiTaskActivity extends BaseActivity<ActivityMultiBinding> {
};
public void onClick(View view){
DownloadNumDialog dialog = new DownloadNumDialog();
DownloadNumDialog dialog = new DownloadNumDialog(this);
dialog.show(getSupportFragmentManager(), "download_num");
}

View File

@ -8,6 +8,11 @@ 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>{
protected BaseDialog(Object obj){
super(obj);
}
@Override protected void init(Bundle savedInstanceState) {
}

View File

@ -1,5 +1,6 @@
package com.arialyy.simple.dialog;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
@ -14,11 +15,16 @@ import com.arialyy.simple.databinding.DialogDownloadNumBinding;
* Created by “AriaLyy@outlook.com” on 2016/11/14.
* 设置下载数量对话框
*/
public class DownloadNumDialog extends BaseDialog<DialogDownloadNumBinding> implements RadioGroup.OnCheckedChangeListener{
@SuppressLint("ValidFragment") 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;
public DownloadNumDialog(Object obj) {
super(obj);
}
@Override protected int setLayoutId() {
return R.layout.dialog_download_num;
}
@ -41,6 +47,7 @@ public class DownloadNumDialog extends BaseDialog<DialogDownloadNumBinding> impl
RadioButton rb = (RadioButton) group.getChildAt(checkedId);
if (rb.isChecked()) {
getSimplerModule().onDialog(RESULT_CODE, rb.getTag());
dismiss();
}
}
}