From 47f5d71a81a528aff225805d28bf181ce4d6f55d Mon Sep 17 00:00:00 2001
From: 陈奇 <1650699704@qq.com>
Date: Thu, 15 Nov 2018 13:14:43 +0800
Subject: [PATCH] [*]1.0.3.2版本

---
 app/src/main/java/com/moral/yunfushao/MainActivity.java |  168 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 144 insertions(+), 24 deletions(-)

diff --git a/app/src/main/java/com/moral/yunfushao/MainActivity.java b/app/src/main/java/com/moral/yunfushao/MainActivity.java
index ccbb4d1..ccc4547 100644
--- a/app/src/main/java/com/moral/yunfushao/MainActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/MainActivity.java
@@ -1,10 +1,14 @@
 package com.moral.yunfushao;
 
 import android.Manifest;
+import android.app.AlertDialog;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.ServiceConnection;
+import android.content.pm.PackageManager;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
 import android.os.AsyncTask;
 import android.os.Build;
 import android.os.Bundle;
@@ -15,6 +19,8 @@
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.view.Window;
+import android.widget.Button;
 import android.widget.ImageView;
 import android.widget.TabHost;
 import android.widget.TextView;
@@ -24,6 +30,7 @@
 import com.lzy.okgo.cache.CacheMode;
 import com.moral.andbrickslib.utils.FastJsonTools;
 import com.moral.andbrickslib.utils.NetworkUtil;
+import com.moral.andbrickslib.utils.TimeUtil;
 import com.moral.yunfushao.base.BaseActivity;
 import com.moral.yunfushao.ble.BluetoothService;
 import com.moral.yunfushao.common.API;
@@ -33,11 +40,15 @@
 import com.moral.yunfushao.fragment.FragmentShoppongMall;
 import com.moral.yunfushao.httputils.HttpCallBack;
 import com.moral.yunfushao.httputils.HttpUtils;
+import com.moral.yunfushao.imageload.ImageLoader;
 import com.moral.yunfushao.model.EventMessage;
 import com.moral.yunfushao.model.User;
 import com.moral.yunfushao.update.UpdateManager;
+import com.moral.yunfushao.utils.PermissionUtil;
 
 import org.greenrobot.eventbus.EventBus;
+import org.json.JSONException;
+import org.json.JSONObject;
 
 import java.util.HashMap;
 import java.util.List;
@@ -55,13 +66,14 @@
     //������fragments
     private Class fragments[] = {FragmentMonitor.class, FragmentShoppongMall.class, FragmentSettings.class};
     //������������������������������
-    private int mIcons[] = {R.drawable.menu1, R.drawable.menu2,R.drawable.menu3};
+    private int mIcons[] = {R.drawable.menu1, R.drawable.menu2, R.drawable.menu3};
     //Tab���������������
-    private String mTextArray[] = {"������������", "������","������"};
+    private String mTextArray[] = {"������������", "������", "������"};
     private int index = 0;
     private boolean islogin = false;
 
-    private BluetoothService mBluetoothService;
+    public static BluetoothService mBluetoothService;
+
     @Override
     protected void getBundleExtras(Bundle extras) {
         islogin = extras.getBoolean("islogin", false);
@@ -73,9 +85,15 @@
     }
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
+    protected void onStart() {
+        super.onStart();
         bindService();
+        PermissionUtil.verifyStoragePermissions(this);
+    }
+
+    @Override
+    protected void onStop() {
+        super.onStop();
     }
 
     @Override
@@ -118,21 +136,23 @@
 
     @Override
     protected void initListener() {
-
+//        registerBoradcastReceiver();
+//        bleHeart();
     }
 
     @Override
     protected void initData() {
-//        prepare();
-        if(MainApp.theApp.bleManager!=null){
-            if(MainApp.theApp.bleManager.isSupportBle()){
+        prepare();
+        if (MainApp.theApp.bleManager != null) {
+            if (MainApp.theApp.bleManager.isSupportBle()) {
                 MainApp.theApp.bleManager.enableBluetooth();
-            }else{
+            } else {
                 mToatUtils.showSingletonToast("���������������������������������BLE���");
             }
-        }else{
+        } else {
             mToatUtils.showSingletonToast("���������������������������������BLE���");
         }
+        getAd();
     }
 
     @Override
@@ -201,6 +221,20 @@
         }
     }
 
+    @Override
+    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+
+        if (requestCode == 1) {
+            for (int i = 0; i < permissions.length; i++) {
+                if (grantResults[i] != PackageManager.PERMISSION_GRANTED) {
+                    //������������
+                    PermissionUtil.verifyStoragePermissions(this);
+                }
+            }
+        }
+    }
+
     UpdateManager manager = new UpdateManager(MainActivity.this);
 
     private class checkUpdateTask extends AsyncTask<String, Void, String> {
@@ -208,7 +242,7 @@
         protected String doInBackground(String... params) {
             Looper.prepare();
             // ������������������
-            manager.checkUpdate();
+            manager.checkUpdateJson();
             Looper.loop();
             return null;
         }
@@ -243,14 +277,14 @@
                 return;
             String url = API.GET_INFO;
             Map<String, String> params = new HashMap<>();
-            params.put("userID", MainApp.userId);
+            params.put("phone", MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getPhone());
             HttpUtils.doPost(url, params, CacheMode.DEFAULT, false, new HttpCallBack() {
                 @Override
                 public void onSuccess(String res, String msg) {
                     User user = FastJsonTools.getJson(res, User.class);
                     if (user != null) {
                         MainApp.theApp.sharedPreferencesUtil.saveLoginInfo(user);
-//                        MainApp.theApp.userId = user.get_id();
+                        MainApp.theApp.userId = user.get_id();
                     }
                 }
 
@@ -260,12 +294,13 @@
                 }
 
                 @Override
-                public void onFail(int errno,String s) {
+                public void onFail(int errno, String s) {
 
                 }
             });
         }
     }
+
     public BluetoothService getBluetoothService() {
         return mBluetoothService;
     }
@@ -285,59 +320,144 @@
             mBluetoothService = ((BluetoothService.BluetoothBinder) service).getService();
             mBluetoothService.setScanCallback(callback);
             String mac = MainApp.theApp.sharedPreferencesUtil.getBLE();
-            if(!TextUtils.isEmpty(mac)){
+            System.out.println("BleGattCallback init");
+            if (!TextUtils.isEmpty(mac)) {
                 mBluetoothService.scanAndConnect5(mac);
             }
         }
 
         @Override
         public void onServiceDisconnected(ComponentName name) {
+            System.out.println("BleGattCallback onServiceDisconnected");
             mBluetoothService = null;
         }
-
-
     };
 
     private BluetoothService.Callback callback = new BluetoothService.Callback() {
         @Override
         public void onStartScan() {
-
+            System.out.println("MainActivity onStartScan");
         }
 
         @Override
         public void onScanning(ScanResult result) {
-
+            System.out.println("MainActivity onScanning");
         }
 
         @Override
         public void onScanComplete() {
-
+            System.out.println("MainActivity onScanComplete");
         }
 
         @Override
         public void onConnecting() {
+            System.out.println("MainActivity onConnecting");
             progressDialog.setTitleText("������������...");
             progressDialog.show();
         }
 
         @Override
         public void onConnectFail() {
+            System.out.println("MainActivity onConnectFail");
             progressDialog.dismiss();
-            mToatUtils.showSingletonToast("������������");
+            mBluetoothService.closeConnect();
+            EventMessage msg = new EventMessage();
+            msg.setType(AppConfig.GET_BLE_DISCONNECT);
+            EventBus.getDefault().postSticky(msg);
         }
 
         @Override
         public void onDisConnected() {
+            System.out.println("MainActivity onDisConnected");
             progressDialog.dismiss();
-            mToatUtils.showSingletonToast("������������");
+            mToatUtils.showSingletonToast("���������������������");
+            EventMessage msg = new EventMessage();
+            msg.setType(AppConfig.GET_BLE_DISCONNECT);
+            EventBus.getDefault().postSticky(msg);
         }
 
         @Override
         public void onServicesDiscovered() {
+            System.out.println("MainActivity onServicesDiscovered");
             progressDialog.dismiss();
             EventMessage msg = new EventMessage();
             msg.setType(AppConfig.GET_BLE_SERVICE);
-            EventBus.getDefault().post(msg);
+            EventBus.getDefault().postSticky(msg);
         }
     };
+
+    private AlertDialog adDialog;
+    private View adView;
+    private TextView tv_content, tv_name;
+    private ImageView iv_logo;
+    private Button bt_cancel, bt_ok;
+
+    private void showAd(String content, String logo, String name) {
+        adView = LayoutInflater.from(this).inflate(R.layout.dialog_ad_layout, null);
+        tv_content = (TextView) adView.findViewById(R.id.tv_content);
+        tv_name = (TextView) adView.findViewById(R.id.tv_name);
+        bt_cancel = (Button) adView.findViewById(R.id.bt_cancel);
+        bt_ok = (Button) adView.findViewById(R.id.bt_ok);
+        iv_logo = (ImageView) adView.findViewById(R.id.iv_logo);
+        tv_content.setText(content);
+        tv_name.setText(name);
+        ImageLoader.setCircleImageView(this, logo, iv_logo, R.mipmap.circle);
+        bt_cancel.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                adDialog.dismiss();
+            }
+        });
+        adDialog = new AlertDialog.Builder(this).setView(adView).create();
+        Window window = adDialog.getWindow();
+        window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+        adDialog.show();
+    }
+
+
+    private void getAd() {
+        HttpUtils.doPost(API.GETAD, null, CacheMode.DEFAULT, false, new HttpCallBack() {
+            @Override
+            public void onSuccess(String res, String msg) {
+                if (TextUtils.isEmpty(res)) {
+                    return;
+                }
+                try {
+                    JSONObject json = new JSONObject(res);
+                    String time = MainApp.theApp.sharedPreferencesUtil.getShowAd();
+                    if (TextUtils.isEmpty(time)) {
+                        showAd(json.optString("content"), json.optString("logo"), json.optString("name"));
+                        MainApp.theApp.sharedPreferencesUtil.saveShowAd(TimeUtil.getCurrentDate("yyyy-MM-dd"));
+                    } else {
+                        if (time.equals(TimeUtil.getCurrentDate("yyyy-MM-dd"))) {
+                            return;
+                        } else {
+                            showAd(json.optString("content"), json.optString("logo"), json.optString("name"));
+                            MainApp.theApp.sharedPreferencesUtil.saveShowAd(TimeUtil.getCurrentDate("yyyy-MM-dd"));
+                        }
+                    }
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
+
+            }
+
+            @Override
+            public void showLoadingDialog() {
+
+            }
+
+            @Override
+            public void onFail(int errno, String s) {
+
+            }
+        });
+    }
+
+    public void resetBLECallBack() {
+        if (mBluetoothService != null) {
+            mBluetoothService.setScanCallback(callback);
+        }
+    }
+
 }

--
Gitblit v1.8.0