浏览代码

add download file

yanyi 6 年之前
父节点
当前提交
caa337d655
共有 22 个文件被更改,包括 54 次插入23 次删除
  1. 1 1
      .idea/misc.xml
  2. 2 0
      app/src/main/java/com/mylove/okhttp/MainActivity.java
  3. 1 0
      build.gradle
  4. 1 1
      okhttplib/bintrayUpload.gradle
  5. 2 2
      okhttplib/build.gradle
  6. 2 0
      okhttplib/src/main/java/com/mylove/okhttp/AutoIsRequest.java
  7. 2 0
      okhttplib/src/main/java/com/mylove/okhttp/AutoRequest.java
  8. 2 0
      okhttplib/src/main/java/com/mylove/okhttp/DownloadObservable.java
  9. 2 0
      okhttplib/src/main/java/com/mylove/okhttp/DownloadObservables.java
  10. 3 0
      okhttplib/src/main/java/com/mylove/okhttp/DownloadRequest.java
  11. 19 12
      okhttplib/src/main/java/com/mylove/okhttp/NotificationUtil.java
  12. 2 0
      okhttplib/src/main/java/com/mylove/okhttp/ObservableIsRequest.java
  13. 1 0
      okhttplib/src/main/java/com/mylove/okhttp/ObservableIsRequests.java
  14. 2 0
      okhttplib/src/main/java/com/mylove/okhttp/ObservableRequest.java
  15. 1 0
      okhttplib/src/main/java/com/mylove/okhttp/ObservableRequests.java
  16. 4 2
      okhttplib/src/main/java/com/mylove/okhttp/UpdateUtil.java
  17. 2 0
      okhttplib/src/main/java/com/mylove/okhttp/XMLRequest.java
  18. 1 1
      okhttplib/src/main/java/com/mylove/okhttp/listener/OnDownloadCallBack.java
  19. 1 1
      okhttplib/src/main/java/com/mylove/okhttp/listener/OnDownloadFileCallBack.java
  20. 1 1
      okhttplib/src/main/java/com/mylove/okhttp/listener/OnDownloadListener.java
  21. 1 1
      okhttplib/src/main/java/com/mylove/okhttp/listener/OnOkHttpCallBack.java
  22. 1 1
      okhttplib/src/main/java/com/mylove/okhttp/listener/OnOkHttpListener.java

+ 1 - 1
.idea/misc.xml

@@ -25,7 +25,7 @@
       </value>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="JDK" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
   <component name="ProjectType">

+ 2 - 0
app/src/main/java/com/mylove/okhttp/MainActivity.java

@@ -7,6 +7,8 @@ import android.support.annotation.Nullable;
 import android.support.v7.app.AppCompatActivity;
 
 import com.mylove.loglib.JLog;
+import com.mylove.okhttp.listener.OnDownloadCallBack;
+import com.mylove.okhttp.listener.OnOkHttpListener;
 import com.yanyi.permissionlib.PermissionHelper;
 import com.yanyi.permissionlib.PermissionType;
 

+ 1 - 0
build.gradle

@@ -10,6 +10,7 @@ buildscript {
         classpath 'com.android.tools.build:gradle:3.2.0'
         classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
         classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.3'
+//        classpath 'com.novoda:bintray-release:0.8.0'
 
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files

+ 1 - 1
okhttplib/bintrayUpload.gradle

@@ -7,7 +7,7 @@ def siteUrl = 'https://github.com/BenYanYi/OkHttp' // 项目主页。
 def gitUrl = 'https://github.com/BenYanYi/OkHttp.git' // Git仓库的url。
 
 group = "com.yanyi.benyanyi"// 唯一包名,比如compile 'com.ansen.http:okhttpencapsulation:1.0.1'中的com.ansen.http就是这里配置的。
-version = "1.1.0-1"//项目引用的版本号,比如compile 'com.ansen.http:okhttpencapsulation:1.0.1'中的1.0.1就是这里配置的。
+version = "1.1.1" //项目引用的版本号,比如compile 'com.ansen.http:okhttpencapsulation:1.0.1'中的1.0.1就是这里配置的。
 install {
     repositories.mavenInstaller {
         // This generates POM.xml with proper parameters

+ 2 - 2
okhttplib/build.gradle

@@ -33,8 +33,8 @@ dependencies {
     //网络请求log 拦截器
     implementation 'com.squareup.okhttp3:logging-interceptor:3.9.0'
     implementation 'com.squareup.okio:okio:1.14.0'
-    implementation 'io.reactivex.rxjava2:rxjava:2.1.4'
-    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
+    implementation 'io.reactivex.rxjava2:rxjava:2.2.2'
+    implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
     implementation 'com.google.code.gson:gson:2.8.5'
     implementation 'com.squareup.retrofit2:retrofit:2.4.0'
     api files('lib/android-xml-json.jar')

+ 2 - 0
okhttplib/src/main/java/com/mylove/okhttp/AutoIsRequest.java

@@ -3,6 +3,8 @@ package com.mylove.okhttp;
 import android.annotation.SuppressLint;
 import android.content.Context;
 
+import com.mylove.okhttp.listener.OnOkHttpCallBack;
+
 /**
  * @author myLove
  */

+ 2 - 0
okhttplib/src/main/java/com/mylove/okhttp/AutoRequest.java

@@ -3,6 +3,8 @@ package com.mylove.okhttp;
 import android.annotation.SuppressLint;
 import android.content.Context;
 
+import com.mylove.okhttp.listener.OnOkHttpListener;
+
 import java.util.Map;
 
 /**

+ 2 - 0
okhttplib/src/main/java/com/mylove/okhttp/DownloadObservable.java

@@ -4,6 +4,8 @@ import android.annotation.SuppressLint;
 import android.content.Context;
 import android.support.annotation.NonNull;
 
+import com.mylove.okhttp.listener.OnDownloadListener;
+
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;

+ 2 - 0
okhttplib/src/main/java/com/mylove/okhttp/DownloadObservables.java

@@ -4,6 +4,8 @@ import android.annotation.SuppressLint;
 import android.content.Context;
 import android.support.annotation.NonNull;
 
+import com.mylove.okhttp.listener.OnDownloadCallBack;
+
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;

+ 3 - 0
okhttplib/src/main/java/com/mylove/okhttp/DownloadRequest.java

@@ -3,6 +3,9 @@ package com.mylove.okhttp;
 import android.annotation.SuppressLint;
 import android.content.Context;
 
+import com.mylove.okhttp.listener.OnDownloadCallBack;
+import com.mylove.okhttp.listener.OnDownloadListener;
+
 /**
  * @author myLove
  */

+ 19 - 12
okhttplib/src/main/java/com/mylove/okhttp/NotificationUtil.java

@@ -1,5 +1,6 @@
 package com.mylove.okhttp;
 
+import android.app.Activity;
 import android.app.Notification;
 import android.app.NotificationChannel;
 import android.app.NotificationManager;
@@ -8,6 +9,7 @@ import android.content.Context;
 import android.content.Intent;
 import android.graphics.Color;
 import android.widget.RemoteViews;
+import android.widget.TextView;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -19,7 +21,6 @@ import java.util.Map;
  * @overview
  */
 public class NotificationUtil {
-    private Context mContext;
     // NotificationManager : 是状态栏通知的管理类,负责发通知、清楚通知等。
     private NotificationManager manager;
     // 定义Map来保存Notification对象
@@ -30,11 +31,13 @@ public class NotificationUtil {
     private static final String NOTIFICATION_CHANNEL_NAME = "Update";
     private NotificationManager notificationManager = null;
     private String tickerText;
+    private TextView tv;
+    private Activity mActivity;
 
-    public NotificationUtil(Context context) {
-        this.mContext = context;
+    public NotificationUtil(Activity activity) {
+        this.mActivity = activity;
         // NotificationManager 是一个系统Service,必须通过 getSystemService()方法来获取。
-        manager = (NotificationManager) mContext
+        manager = (NotificationManager) mActivity
                 .getSystemService(Context.NOTIFICATION_SERVICE);
         map = new HashMap<>();
     }
@@ -63,9 +66,9 @@ public class NotificationUtil {
             if (android.os.Build.VERSION.SDK_INT >= 26) {
                 //Android O上对Notification进行了修改,如果设置的targetSDKVersion>=26建议使用此种方式创建通知栏
                 if (null == notificationManager) {
-                    notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
+                    notificationManager = (NotificationManager) mActivity.getSystemService(Context.NOTIFICATION_SERVICE);
                 }
-                String channelId = mContext.getPackageName();
+                String channelId = mActivity.getPackageName();
                 if (!isCreateChannel) {
                     NotificationChannel notificationChannel = new NotificationChannel(channelId,
                             NOTIFICATION_CHANNEL_NAME, NotificationManager.IMPORTANCE_DEFAULT);
@@ -75,7 +78,7 @@ public class NotificationUtil {
                     notificationManager.createNotificationChannel(notificationChannel);
                     isCreateChannel = true;
                 }
-                builder = new Notification.Builder(mContext.getApplicationContext(), channelId);
+                builder = new Notification.Builder(mActivity.getApplicationContext(), channelId);
                 notification = builder.build();
             } else {
                 notification = new Notification();
@@ -90,14 +93,16 @@ public class NotificationUtil {
             notification.flags = Notification.FLAG_AUTO_CANCEL;
             // 设置点击通知栏操作
             if (aClass != null) {
-                Intent in = new Intent(mContext, aClass);// 点击跳转到指定页面
-                notification.contentIntent = PendingIntent.getActivity(mContext, 0, in,
+                Intent in = new Intent(mActivity, aClass);// 点击跳转到指定页面
+                notification.contentIntent = PendingIntent.getActivity(mActivity, 0, in,
                         0);
             }
             // 设置通知的显示视图
             notification.contentView = new RemoteViews(
-                    mContext.getPackageName(),
+                    mActivity.getPackageName(),
                     R.layout.notification_contentview);
+            tv = mActivity.findViewById(R.id.title);
+            tv.setText(tickerText);
             // 发出通知
             manager.notify(notificationId, notification);
             map.put(notificationId, notification);// 存入Map中
@@ -112,7 +117,7 @@ public class NotificationUtil {
         map.remove(notificationId);
     }
 
-    public void updateProgress(int notificationId, int progress) {
+    public void updateProgressText(int notificationId, int progress) {
         Notification notify = map.get(notificationId);
         if (null != notify) {
             // 修改进度条
@@ -126,16 +131,18 @@ public class NotificationUtil {
         if (null != notify) {
             // 修改进度条
             notify.tickerText = text;
+            tv.setText(tickerText);
             manager.notify(notificationId, notify);
         }
     }
 
-    public void updateProgress(int notificationId, int progress, String text) {
+    public void updateProgressText(int notificationId, int progress, String text) {
         Notification notify = map.get(notificationId);
         if (null != notify) {
             notify.tickerText = text;
             // 修改进度条
             notify.contentView.setProgressBar(R.id.pBar, 100, progress, false);
+            tv.setText(tickerText);
             manager.notify(notificationId, notify);
         }
     }

+ 2 - 0
okhttplib/src/main/java/com/mylove/okhttp/ObservableIsRequest.java

@@ -5,6 +5,8 @@ import android.content.Context;
 import android.support.annotation.NonNull;
 import android.util.Log;
 
+import com.mylove.okhttp.listener.OnOkHttpCallBack;
+
 import java.io.IOException;
 import java.util.concurrent.TimeUnit;
 

+ 1 - 0
okhttplib/src/main/java/com/mylove/okhttp/ObservableIsRequests.java

@@ -6,6 +6,7 @@ import android.support.annotation.NonNull;
 import android.util.Log;
 
 import com.google.gson.Gson;
+import com.mylove.okhttp.listener.OnOkHttpCallBack;
 
 import org.json.XML;
 

+ 2 - 0
okhttplib/src/main/java/com/mylove/okhttp/ObservableRequest.java

@@ -5,6 +5,8 @@ import android.content.Context;
 import android.support.annotation.NonNull;
 import android.util.Log;
 
+import com.mylove.okhttp.listener.OnOkHttpListener;
+
 import java.io.File;
 import java.io.IOException;
 import java.util.Map;

+ 1 - 0
okhttplib/src/main/java/com/mylove/okhttp/ObservableRequests.java

@@ -6,6 +6,7 @@ import android.support.annotation.NonNull;
 import android.util.Log;
 
 import com.google.gson.Gson;
+import com.mylove.okhttp.listener.OnOkHttpListener;
 
 import org.json.XML;
 

+ 4 - 2
okhttplib/src/main/java/com/mylove/okhttp/UpdateUtil.java

@@ -11,6 +11,8 @@ import android.support.v4.content.FileProvider;
 import android.support.v7.app.AlertDialog;
 import android.widget.Toast;
 
+import com.mylove.okhttp.listener.OnDownloadCallBack;
+
 import java.io.File;
 
 /**
@@ -144,7 +146,7 @@ public class UpdateUtil {
             message = "是否下载";
         }
         if (isShowNotice) {
-            notificationUtil = new NotificationUtil(mActivity.getApplicationContext()).setIcon(icon).setTickerText(title);
+            notificationUtil = new NotificationUtil(mActivity).setIcon(icon).setTickerText(title);
             if (aClass != null) {
                 notificationUtil.setClass(aClass);
             }
@@ -199,7 +201,7 @@ public class UpdateUtil {
             @Override
             public void onDownloading(int progress) {
                 if (notificationUtil != null && isShowNotice) {
-                    notificationUtil.updateProgress(1020, progress, "已下载" + progress + "%");
+                    notificationUtil.updateProgressText(1020, progress, "已下载" + progress + "%");
                 }
                 progressDialog.setProgress(progress);
                 if (downloadCallBack != null) {

+ 2 - 0
okhttplib/src/main/java/com/mylove/okhttp/XMLRequest.java

@@ -3,6 +3,8 @@ package com.mylove.okhttp;
 import android.annotation.SuppressLint;
 import android.content.Context;
 
+import com.mylove.okhttp.listener.OnOkHttpListener;
+
 import java.util.Map;
 
 /**

+ 1 - 1
okhttplib/src/main/java/com/mylove/okhttp/OnDownloadCallBack.java → okhttplib/src/main/java/com/mylove/okhttp/listener/OnDownloadCallBack.java

@@ -1,4 +1,4 @@
-package com.mylove.okhttp;
+package com.mylove.okhttp.listener;
 
 /**
  * @author BenYanYi

+ 1 - 1
okhttplib/src/main/java/com/mylove/okhttp/OnDownloadFileCallBack.java → okhttplib/src/main/java/com/mylove/okhttp/listener/OnDownloadFileCallBack.java

@@ -1,4 +1,4 @@
-package com.mylove.okhttp;
+package com.mylove.okhttp.listener;
 
 /**
  * @author BenYanYi

+ 1 - 1
okhttplib/src/main/java/com/mylove/okhttp/OnDownloadListener.java → okhttplib/src/main/java/com/mylove/okhttp/listener/OnDownloadListener.java

@@ -1,4 +1,4 @@
-package com.mylove.okhttp;
+package com.mylove.okhttp.listener;
 
 /**
  * @author BenYanYi

+ 1 - 1
okhttplib/src/main/java/com/mylove/okhttp/OnOkHttpCallBack.java → okhttplib/src/main/java/com/mylove/okhttp/listener/OnOkHttpCallBack.java

@@ -1,4 +1,4 @@
-package com.mylove.okhttp;
+package com.mylove.okhttp.listener;
 
 import okhttp3.Request;
 

+ 1 - 1
okhttplib/src/main/java/com/mylove/okhttp/OnOkHttpListener.java → okhttplib/src/main/java/com/mylove/okhttp/listener/OnOkHttpListener.java

@@ -1,4 +1,4 @@
-package com.mylove.okhttp;
+package com.mylove.okhttp.listener;
 
 /**
  * @author myLove