MainActivity.java 5.15 KB
package com.cnlive.downloadfile;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;

import com.cnlive.downloadfile.download.limit.DownLoadService;
import com.cnlive.downloadfile.download.limit.DownloadInfo;
import com.cnlive.downloadfile.download.limit.DownloadLimitManager;
import com.cnlive.downloadfile.download.limit.DownloadStatus;
import com.cnlive.downloadfile.database.greenDao.db.DownloadInfoDao;
import com.cnlive.downloadfile.download.util.NetWorkUtil;

import static com.cnlive.downloadfile.download.util.CheckNetworkStatusChangeListener.Status.TYPE_MOBILE;
import static com.cnlive.downloadfile.download.util.CheckNetworkStatusChangeListener.Status.TYPE_UN_NETWORK;
import static com.cnlive.downloadfile.download.util.CheckNetworkStatusChangeListener.Status.TYPE_WIFI;


public class MainActivity extends AppCompatActivity {

//    private ThreadDAO threadDAO;
    private static final int REQUEST_EXTERNAL_STORAGE = 1;
    private static String[] PERMISSIONS_STORAGE = {"android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        threadDAO = new ThreadDAOImpl(this);
        ActivityCompat.requestPermissions(MainActivity.this, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE);
    }

    public void singleDownload(View view) {
//        Intent intent = new Intent(this,SingleActivity.class);
//        startActivity(intent);
    }

    public void multipleDownload(View view) {
        if(NetWorkUtil.getNetworkConnectionType(MainActivity.this).equals(TYPE_UN_NETWORK)){
            Toast.makeText(MainActivity.this,"无网络",Toast.LENGTH_SHORT).show();
            return;
        }

        if(NetWorkUtil.getNetworkConnectionType(MainActivity.this).equals(TYPE_WIFI)){
            DownloadInfoDao downloadInfoDao = MyApplication.getInstances().getDaoSession().getDownloadInfoDao();
            downloadInfoDao.insertOrReplace(new DownloadInfo(5,Constant.URL_6, "", DownloadStatus.DOWNLOAD_WAIT, 0, 0,""));
            downloadInfoDao.insertOrReplace(new DownloadInfo(6,Constant.URL_7, "", DownloadStatus.DOWNLOAD_WAIT, 0, 0,""));
            downloadInfoDao.insertOrReplace(new DownloadInfo(7,Constant.URL_8, "", DownloadStatus.DOWNLOAD_WAIT, 0, 0,""));
            downloadInfoDao.insertOrReplace(new DownloadInfo(8,Constant.URL_9, "", DownloadStatus.DOWNLOAD_WAIT, 0, 0,""));
            if(DownloadLimitManager.getInstance().getCurremtDownload() == null){
                DownloadInfo downloadInfo = new DownloadInfo(5,Constant.URL_6, "", DownloadStatus.DOWNLOAD, 0, 0,"");
                Intent intent = new Intent(this, DownLoadService.class);
                intent.setAction(DownLoadService.ACTION_START);
                intent.putExtra("fileUrl", downloadInfo);
                startService(intent);
            }
            return;
        }

        if(NetWorkUtil.getNetworkConnectionType(MainActivity.this).equals(TYPE_MOBILE)){
            //弹框...保存用户习惯,拒绝或者是允许,允许的话是仅允许一次还是都允许

        }
    }

    public void addDownload(View view){
        if(NetWorkUtil.getNetworkConnectionType(MainActivity.this).equals(TYPE_UN_NETWORK)){
            Toast.makeText(MainActivity.this,"无网络",Toast.LENGTH_SHORT).show();
            return;
        }

        if(NetWorkUtil.getNetworkConnectionType(MainActivity.this).equals(TYPE_WIFI)){
            initData();
            return;
        }

        if(NetWorkUtil.getNetworkConnectionType(MainActivity.this).equals(TYPE_MOBILE)){
            //弹框...保存用户习惯,拒绝或者是允许,允许的话是仅允许一次还是都允许

        }
    }

    private void initData() {
        DownloadInfoDao downloadInfoDao = MyApplication.getInstances().getDaoSession().getDownloadInfoDao();
        downloadInfoDao.insertOrReplace(new DownloadInfo(0,Constant.URL_1, "", DownloadStatus.DOWNLOAD_WAIT, 0, 0,""));
        downloadInfoDao.insertOrReplace(new DownloadInfo(1,Constant.URL_2, "", DownloadStatus.DOWNLOAD_WAIT, 0, 0,""));
        downloadInfoDao.insertOrReplace(new DownloadInfo(2,Constant.URL_3, "", DownloadStatus.DOWNLOAD_WAIT, 0, 0,""));
        downloadInfoDao.insertOrReplace(new DownloadInfo(3,Constant.URL_4, "", DownloadStatus.DOWNLOAD_WAIT, 0, 0,""));
        downloadInfoDao.insertOrReplace(new DownloadInfo(4,Constant.URL_5, "", DownloadStatus.DOWNLOAD_WAIT, 0, 0,""));
        if(DownloadLimitManager.getInstance().getCurremtDownload() == null){
            DownloadInfo downloadInfo = new DownloadInfo(0,Constant.URL_1, "", DownloadStatus.DOWNLOAD, 0, 0,"");
            Intent intent = new Intent(this, DownLoadService.class);
            intent.setAction(DownLoadService.ACTION_START);
            intent.putExtra("fileUrl", downloadInfo);
            startService(intent);
        }
    }

    public void limitDownload(View view) {
        Intent intent = new Intent(this, LimitActivity.class);
        startActivity(intent);
    }
}