Переглянути джерело

使用aria 3.3.16下载框架,不支持307

zengjiebin 7 роки тому
батько
коміт
90fe78bbf8

+ 0 - 2
.idea/gradle.xml

@@ -8,8 +8,6 @@
         <option name="modules">
           <set>
             <option value="$PROJECT_DIR$" />
-            <option value="$PROJECT_DIR$/Aria" />
-            <option value="$PROJECT_DIR$/AriaAnnotations" />
             <option value="$PROJECT_DIR$/app" />
             <option value="$PROJECT_DIR$/datashare" />
             <option value="$PROJECT_DIR$/kfzslibrary" />

+ 5 - 5
app/build.gradle

@@ -244,12 +244,12 @@ dependencies {
     //    compile 'com.google.zxing:core:3.3.0'
     compile project(':ucrop')
     compile project(':kfzslibrary')
-//    compile('com.arialyy.aria:aria-core:3.4') {
-//        exclude group: 'com.android.support'
-//    }
-    compile project(':Aria')
+    compile('com.arialyy.aria:aria-core:3.3.16') {
+        exclude group: 'com.android.support'
+    }
+//    compile project(':Aria')
 
-    annotationProcessor 'com.arialyy.aria:aria-compiler:3.2.14'
+    annotationProcessor 'com.arialyy.aria:aria-compiler:3.3.16'
     compile 'com.sunfusheng:marqueeview:1.3.3'
     compile 'com.github.nanchen2251:CompressHelper:1.0.5'
     compile files('libs/alipaySdk-20170922.jar')

+ 17 - 6
app/src/main/java/com/kfzs/duanduan/ActDownloadMgr.java

@@ -31,7 +31,6 @@ import com.kfzs.duanduan.view.DialogStorageLow;
 import com.kfzs.duanduan.view.KFProgressButton;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
-import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
 
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
@@ -87,11 +86,23 @@ public class ActDownloadMgr extends BaseCompatActivity {
                 .setRightBotton(this, "删除全部", 0, new View.OnClickListener() {
                     @Override
                     public void onClick(View view) {
-                        Aria.download(KFZSApp.getInstance()).removeAllTask(true);
-                        downloadTaskService.deleteAllDownloadTask();
-                        downloadTasks.clear();
-                        downloadMgrAdapter.clear();
-                        ClassFileHelper.getInstance().clearDir();
+                        try {
+                            Aria.download(KFZSApp.getInstance()).removeAllTask(true);
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        try {
+                            downloadTaskService.deleteAllDownloadTask();
+                            downloadTasks.clear();
+                            downloadMgrAdapter.clear();
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        try {
+                            ClassFileHelper.getInstance().clearDir();
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
                         showDownloadTaskList(false);
                     }
                 });

+ 3 - 4
app/src/main/java/com/kfzs/duanduan/services/DownloadTaskService.java

@@ -1,6 +1,5 @@
 package com.kfzs.duanduan.services;
 
-import android.app.Activity;
 import android.content.Context;
 import android.os.Build;
 import android.text.TextUtils;
@@ -17,7 +16,7 @@ import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.NetUtil;
-import com.sheep.gamegroup.view.dialog.DialogAccountAbnormal;
+import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
@@ -374,12 +373,12 @@ public class DownloadTaskService {
                 if(SpUtils.getDownNotice(SheepApp.mContext) == 1){//第一次不提示
                     SpUtils.saveDownNotice(SheepApp.mContext, 0);
                 }
-        DownloadTarget task = Aria.download(KFZSApp.getInstance()).load(downLoadInfo.getMDownloadUrl());
+        DownloadTarget task = Aria.download(KFZSApp.getInstance()).load(downLoadInfo.getMDownloadUrl()).addHeader("User-Agent", SysAppUtil.getUserAgent());
         String filePath = DIR+ File.separator+downLoadInfo.getMPackageName()+ ClassFileHelper.FILE_SUFFIX;
         if(TextUtils.isEmpty(downLoadInfo.getMPackageName())){
             filePath = DIR+ File.separator+downLoadInfo.getMGameName()+ ClassFileHelper.FILE_SUFFIX;
         }
-        task.setDownloadPath(filePath).start();
+        task.setFilePath(filePath).start();
         //发送红点
         EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.TIPS_DOWN_ICON));
     }

+ 25 - 2
app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java

@@ -4,11 +4,11 @@ import android.app.Activity;
 import android.content.Intent;
 import android.os.Build;
 import android.provider.AlarmClock;
+import android.text.TextUtils;
 
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.engine.cache.InternalCacheDiskCacheFactory;
 import com.kfzs.duanduan.utils.ApkUtils;
-import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
@@ -18,7 +18,6 @@ import java.io.File;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Calendar;
-import java.util.concurrent.TimeUnit;
 
 import rx.Observable;
 import rx.android.schedulers.AndroidSchedulers;
@@ -174,5 +173,29 @@ public class SysAppUtil {
         return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString()
                 + "TB";
     }
+    /**
+     * 返回正确的UserAgent
+     * @return
+     */
+    public  static String getUserAgent(){
+        StringBuilder sb = null;
+        try {
+            String userAgent;
+            sb = new StringBuilder();
+            userAgent = System.getProperty("http.agent");//Dalvik/2.1.0 (Linux; U; Android 6.0.1; vivo X9L Build/MMB29M)
+
+            for (int i = 0, length = userAgent.length(); i < length; i++) {
+                char c = userAgent.charAt(i);
+                if (c <= '\u001f' || c >= '\u007f') {
+                    sb.append(String.format("\\u%04x", (int) c));
+                } else {
+                    sb.append(c);
+                }
+            }
 
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return TextUtils.isEmpty(sb) ? "Dalvik/2.1.0 (Linux; U; Android 5.1.1; letv x501 Build/LMY48Z)" : sb.toString();
+    }
 }

+ 1 - 1
settings.gradle

@@ -1 +1 @@
-include ':app', ':datashare', ':view', ':kfzslibrary', ':ucrop', ':Aria', ':AriaAnnotations'
+include ':app', ':datashare', ':view', ':kfzslibrary', ':ucrop'//, ':Aria', ':AriaAnnotations'