Przeglądaj źródła

Merge remote-tracking branch 'origin/sheep2.0' into sheep2.0

zengjiebin 8 lat temu
rodzic
commit
f6c4399ba5

+ 3 - 24
app/src/main/java/com/kfzs/duanduan/oem/AppAddOrdelReceiver.java

@@ -6,15 +6,16 @@ import android.content.Intent;
 import android.os.Handler;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Looper;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.kfzs.duanduan.datashare.DDProviderHelper;
 import com.kfzs.duanduan.datashare.DDProviderHelper;
 import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
 import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
 import com.sheep.gamegroup.model.api.BaseMessageConverter;
 import com.sheep.gamegroup.model.api.BaseMessageConverter;
 import com.sheep.gamegroup.util.ConnectAddress;
 import com.sheep.gamegroup.util.ConnectAddress;
 import com.sheep.gamegroup.util.DeviceUtil;
 import com.sheep.gamegroup.util.DeviceUtil;
+import com.sheep.gamegroup.util.NetUtil;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 
 
-import org.json.JSONObject;
 
 
 import java.io.IOException;
 import java.io.IOException;
 
 
@@ -42,7 +43,6 @@ public class AppAddOrdelReceiver extends BroadcastReceiver {
                     @Override
                     @Override
                     public void run() {
                     public void run() {
                         String packages = intent.getDataString().replace("package:","");
                         String packages = intent.getDataString().replace("package:","");
-
                         String packageName = intent.getPackage();
                         String packageName = intent.getPackage();
                         final DownLoadInfo downLoadInfo = DDProviderHelper.getInstance()
                         final DownLoadInfo downLoadInfo = DDProviderHelper.getInstance()
                                 .getDownloadTaskToPackname(context, packages);
                                 .getDownloadTaskToPackname(context, packages);
@@ -54,32 +54,11 @@ public class AppAddOrdelReceiver extends BroadcastReceiver {
                             public void run() {
                             public void run() {
                                 super.run();
                                 super.run();
                                 try {
                                 try {
-                                    OkHttpClient client = new OkHttpClient();
                                     JSONObject jsonObject = new JSONObject();
                                     JSONObject jsonObject = new JSONObject();
                                     jsonObject.put("device_id",DeviceUtil.getDeviceId(SheepApp.mContext)+"");
                                     jsonObject.put("device_id",DeviceUtil.getDeviceId(SheepApp.mContext)+"");
                                     jsonObject.put("id",downLoadInfo.getMGameID());
                                     jsonObject.put("id",downLoadInfo.getMGameID());
-                                    //加密--RequestBody.create(MediaType.parse("org/json; charset=utf-8"), jsonObject.toString())
-                                    String newJsonParams = BaseMessageConverter.encrypt(jsonObject.toString());
-
-
-                                    Request request = new Request.Builder()
-                                            .url(ConnectAddress.APP_URL+"/v1/app/accepted_task/download_task_notify/")
-                                            .addHeader("Authorization", SpUtils.getOpenId(SheepApp.mContext)+"")
-                                            .addHeader("X-Device-Id", DeviceUtil.getDeviceId(SheepApp.mContext)+"")
-                                            .put(RequestBody.create(MediaType.parse("org/json; charset=utf-8"), newJsonParams))
-                                            .build();
-                                    client.newCall(request)
-                                            .enqueue(new Callback() {
-                                                @Override
-                                                public void onFailure(Call call, IOException e) {
-
-                                                }
-
-                                                @Override
-                                                public void onResponse(Call call, Response response) throws IOException {
+                                    NetUtil.getNetUtil().sendAppDownload(context, jsonObject);
 
 
-                                                }
-                                            });
                                 } catch (Exception e) {
                                 } catch (Exception e) {
                                     e.printStackTrace();
                                     e.printStackTrace();
                                 }
                                 }

+ 8 - 0
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -220,6 +220,14 @@ public interface ApiService {
 //    Observable<BaseMessage> taskStatus(@Body JSONObject jsonObject);
 //    Observable<BaseMessage> taskStatus(@Body JSONObject jsonObject);
 
 
     /**
     /**
+     *下载任务回调
+     * @param jsonObject
+     * @return
+     */
+    @PUT(V1 + "/app/accepted_task/download_task_notify/")
+    Observable<BaseMessage> taskDownloadNotify(@Body JSONObject jsonObject);
+
+    /**
      * 获取可用余额
      * 获取可用余额
      * @return
      * @return
      */
      */

+ 41 - 0
app/src/main/java/com/sheep/gamegroup/util/NetUtil.java

@@ -7,10 +7,28 @@ import android.content.Intent;
 import android.net.ConnectivityManager;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.net.NetworkInfo;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.sheep.gamegroup.model.api.ApiService;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+
+import rx.Scheduler;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
 /**
 /**
  * Created by ljy on 2018/3/8.
  * Created by ljy on 2018/3/8.
  */
  */
 public class NetUtil {
 public class NetUtil {
+    private static NetUtil netUtil;
+
+    public static NetUtil getNetUtil(){
+        if (netUtil == null){
+            netUtil = new NetUtil();
+        }
+        return netUtil;
+    }
     /**
     /**
      * 判断网络是否连接
      * 判断网络是否连接
      *
      *
@@ -78,4 +96,27 @@ public class NetUtil {
         intent.setAction("android.intent.action.VIEW");
         intent.setAction("android.intent.action.VIEW");
         activity.startActivityForResult(intent, 0);
         activity.startActivityForResult(intent, 0);
     }
     }
+
+    /**
+     * 应用下载,接口请求
+     */
+    public void sendAppDownload(Context context, JSONObject o){
+        ApiService apiService = SheepApp.getInstance().getNetComponent().getApiService();
+
+        apiService.taskDownloadNotify((JSONObject) o)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+
+                    }
+                });
+
+    }
 }
 }

+ 30 - 5
app/src/main/java/com/sheep/gamegroup/view/activity/DialogActivity.java

@@ -118,14 +118,34 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
                  case 3://安装apk
                  case 3://安装apk
 
 
                      if(PackageUtil.isAppInstalled(activity, task_entity.getPackage_names())){
                      if(PackageUtil.isAppInstalled(activity, task_entity.getPackage_names())){
-//                PackageUtil.startApp(SheepApp.mContext, task_entity.getPackage_names());
-                         start_task_tv.setText("开始试玩");
+                        if(task_entity.getTask_type() != 3){
+                             start_task_tv.setText("打开应用");
+                         }else {
+                            start_task_tv.setText("开始试玩");
+                        }
+
                          type = 1;
                          type = 1;
-                     }else{
+                     }
+                     else{
 //                         PackageUtil.installApk(activity, downLoadInfo.getMApkPath()+"");
 //                         PackageUtil.installApk(activity, downLoadInfo.getMApkPath()+"");
                          start_task_tv.setText("开始安装");
                          start_task_tv.setText("开始安装");
                          type = 3;
                          type = 3;
                      }
                      }
+                     new Thread(){
+                         @Override
+                         public void run() {
+                             super.run();
+                             try {
+                                 JSONObject jsonObject = new JSONObject();
+                                 jsonObject.put("device_id",DeviceUtil.getDeviceId(SheepApp.mContext)+"");
+                                 jsonObject.put("id",downLoadInfo.getMGameID());
+                                 NetUtil.getNetUtil().sendAppDownload(activity, jsonObject);
+
+                             } catch (Exception e) {
+                                 e.printStackTrace();
+                             }
+                         }
+                     }.start();
                      break;
                      break;
                 case 4://被删除,重新下载
                 case 4://被删除,重新下载
 
 
@@ -260,7 +280,11 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
                 case 3://开始安装
                 case 3://开始安装
                     isDownLoad = PackageUtil.isAppInstalled(SheepApp.mContext, task_entity.getPackage_names());
                     isDownLoad = PackageUtil.isAppInstalled(SheepApp.mContext, task_entity.getPackage_names());
                     if(isDownLoad){
                     if(isDownLoad){
-                        buttonStr = "开始试玩";
+                        if(task_entity.getTask_type() != 3){
+                            start_task_tv.setText("打开应用");
+                        }else {
+                            start_task_tv.setText("开始试玩");
+                        }
                         type = 1;
                         type = 1;
                         toTestPlay();
                         toTestPlay();
                         return;
                         return;
@@ -305,7 +329,8 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
             buttonStr = "信用卡注册";
             buttonStr = "信用卡注册";
         }
         }
         else{
         else{
-            if(isDownLoad){
+            //Todo 以后整理,现在加了个type=3
+            if(isDownLoad && task_entity.getTask_type() != 3){
                 buttonStr = "开始试玩";
                 buttonStr = "开始试玩";
                 type = 1;
                 type = 1;
             }else if(mDownloadTaskService.isDownloadExists(task_entity.getDownload_link())){
             }else if(mDownloadTaskService.isDownloadExists(task_entity.getDownload_link())){