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 | 216 +++++++++++++++++++++++++++++++++++------------------ 1 files changed, 141 insertions(+), 75 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..ccc4547 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 @@ -124,15 +143,16 @@ @Override protected void initData() { prepare(); - if(MainApp.theApp.bleManager!=null){ - if(MainApp.theApp.bleManager.isSupportBle()){ + 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; } @@ -234,16 +268,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 +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,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 +386,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