From 2c76ecbb7edf6e30f1dda4c930a02945c360ecab Mon Sep 17 00:00:00 2001
From: 陈奇 <1650699704@qq.com>
Date: Tue, 27 Nov 2018 17:18:57 +0800
Subject: [PATCH] [*]修改页面动画

---
 app/src/main/java/com/moral/yunfushao/MainActivity.java |  227 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 151 insertions(+), 76 deletions(-)

diff --git a/app/src/main/java/com/moral/yunfushao/MainActivity.java b/app/src/main/java/com/moral/yunfushao/MainActivity.java
index 43a6468..e9c221c 100644
--- a/app/src/main/java/com/moral/yunfushao/MainActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/MainActivity.java
@@ -1,11 +1,16 @@
 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;
 import android.os.IBinder;
 import android.os.Looper;
@@ -14,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;
@@ -23,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;
@@ -32,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;
@@ -54,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);
@@ -72,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
@@ -123,16 +142,26 @@
 
     @Override
     protected void initData() {
-        prepare();
-        if(MainApp.theApp.bleManager!=null){
-            if(MainApp.theApp.bleManager.isSupportBle()){
+        //������������������
+        wxLoadingOutTime();
+//        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();
+    }
+
+    /**
+     * ���������������������������������
+     */
+    private void wxLoadingOutTime() {
+
     }
 
     @Override
@@ -201,6 +230,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 +251,7 @@
         protected String doInBackground(String... params) {
             Looper.prepare();
             // ������������������
-            manager.checkUpdate();
+            manager.checkUpdateJson();
             Looper.loop();
             return null;
         }
@@ -234,16 +277,16 @@
             /**
              * ������������
              */
-//            if (Build.VERSION.SDK_INT >= 11) {
-//                new checkUpdateTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-//            } else {
-//                new checkUpdateTask().execute();
-//            }
+            if (Build.VERSION.SDK_INT >= 11) {
+                new checkUpdateTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+            } else {
+                new checkUpdateTask().execute();
+            }
             if (islogin)
                 return;
             String url = API.GET_INFO;
             Map<String, String> params = new HashMap<>();
-            params.put("phone",MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getPhone());
+            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) {
@@ -260,12 +303,13 @@
                 }
 
                 @Override
-                public void onFail(int errno,String s) {
+                public void onFail(int errno, String s) {
 
                 }
             });
         }
     }
+
     public BluetoothService getBluetoothService() {
         return mBluetoothService;
     }
@@ -285,59 +329,65 @@
             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().post(msg);
+            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);
@@ -345,53 +395,78 @@
         }
     };
 
-//    private void registerBoradcastReceiver() {
-//        IntentFilter stateChangeFilter = new IntentFilter(
-//                BluetoothAdapter.ACTION_STATE_CHANGED);
-//        IntentFilter connectedFilter = new IntentFilter(
-//                BluetoothDevice.ACTION_ACL_CONNECTED);
-//        IntentFilter disConnectedFilter = new IntentFilter(
-//                BluetoothDevice.ACTION_ACL_DISCONNECTED);
-//        registerReceiver(stateChangeReceiver, stateChangeFilter);
-//        registerReceiver(stateChangeReceiver, connectedFilter);
-//        registerReceiver(stateChangeReceiver, disConnectedFilter);
-//    }
-//
-//    private BroadcastReceiver stateChangeReceiver = new BroadcastReceiver() {
-//        @Override
-//        public void onReceive(Context context, Intent intent) {
-//            String action = intent.getAction();
-//            if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) {
-//                mToatUtils.showSingletonToast("xxx������OK");
-//            }
-//            if (BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action)) {
-//                mToatUtils.showSingletonToast("xxx������������");
-//            }
-//            if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) {
-//                mToatUtils.showSingletonToast("xxx������������");
-//            }
-//        }
-//    };
+    private AlertDialog adDialog;
+    private View adView;
+    private TextView tv_content, tv_name;
+    private ImageView iv_logo;
+    private Button bt_cancel, bt_ok;
 
-//    private boolean isFinish = false;
-//    Timer timer;
-//
-//    private void bleHeart() {
-//        timer = new Timer();
-//        timer.schedule(new TimerTask() {
-//            @Override
-//            public void run() {
-//                if (!isFinish) {
-//                    if(!MainApp.theApp.bleManager.isConnected()){
-//                        runOnUiThread(new Runnable() {
-//                            @Override
-//                            public void run() {
-//                                mToatUtils.showSingletonToast("TMD������������");
-//                            }
-//                        });
-//                    }
-//                }
-//            }
-//        }, 0, 10000);
-//    }
+    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