From 63b87b529196c056fb4d96a58eded3936d3445f2 Mon Sep 17 00:00:00 2001 From: haijiang <181069201@qq.com> Date: Tue, 17 Jul 2018 16:19:35 +0800 Subject: [PATCH] 提交 --- app/src/main/java/com/moral/screen/activity/MapActivity.java | 134 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 119 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/moral/screen/activity/MapActivity.java b/app/src/main/java/com/moral/screen/activity/MapActivity.java index 9b48d09..ef0a3e9 100644 --- a/app/src/main/java/com/moral/screen/activity/MapActivity.java +++ b/app/src/main/java/com/moral/screen/activity/MapActivity.java @@ -1,8 +1,12 @@ package com.moral.screen.activity; +import android.Manifest; import android.content.Intent; import android.graphics.Point; +import android.os.AsyncTask; +import android.os.Build; import android.os.Bundle; +import android.os.Looper; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; @@ -28,16 +32,23 @@ import com.moral.screen.model.DeviceBean; import com.moral.screen.R; import com.moral.screen.base.BaseActivity; +import com.moral.screen.update.UpdateManager; import java.util.ArrayList; import java.util.HashMap; +import java.util.List; +import java.util.Timer; +import java.util.TimerTask; + +import pub.devrel.easypermissions.AfterPermissionGranted; +import pub.devrel.easypermissions.EasyPermissions; /** * Created by hjzhang on 2018/7/2. */ -public class MapActivity extends BaseActivity { - private TextView tv_left; +public class MapActivity extends BaseActivity implements EasyPermissions.PermissionCallbacks{ + private TextView tv_left,tv_right; private MapView bmapView; private BaiduMap mBaiduMap; BitmapDescriptor bdNormal = BitmapDescriptorFactory @@ -57,6 +68,22 @@ private ImageView iv_close; private LinearLayout ll_pop; private DeviceBean curDeviceBean; + private Timer timer; + /** + * ��������� + */ + private boolean isFinish = false; + private void showData() { + timer = new Timer(); + timer.schedule(new TimerTask() { + @Override + public void run() { + if(!isFinish){ + getData(false); + } + } + },0,10*1000); + } @Override protected void getBundleExtras(Bundle extras) { @@ -70,6 +97,7 @@ @Override protected void initViews() { tv_left = findView(R.id.tv_left); + tv_right = findView(R.id.tv_right); bmapView = findView(R.id.bmapView); popView = LayoutInflater.from(this).inflate(R.layout.pop_layout,null); tv_name = popView.findViewById(R.id.tv_name); @@ -102,17 +130,33 @@ startActivity(intent); } }); + tv_right.setOnClickListener(this); } @Override protected void initData() { - getData(); + getData(true); + showData(); + /** + * ������������ + */ + if (Build.VERSION.SDK_INT >= 11) { + new checkUpdateTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } else { + new checkUpdateTask().execute(); + } } @Override protected void processClick(View view) { switch (view.getId()){ case R.id.tv_left: + finish(); + break; + case R.id.tv_right: + MainApp.theApp.mSharedPreferencesUtil.exitLogin(); + Intent intent = new Intent(MapActivity.this,LoginActivity.class); + startActivity(intent); finish(); break; } @@ -152,7 +196,7 @@ /** * ������������ */ - private void showMapData(){ + private void showMapData(boolean show){ mBaiduMap.clear(); MarkerOptions mo = null; Marker mMarker = null; @@ -184,7 +228,8 @@ .zIndex(i); } // ������������ - mo.animateType(MarkerOptions.MarkerAnimateType.drop); + if(show) + mo.animateType(MarkerOptions.MarkerAnimateType.grow); mMarker = (Marker) (mBaiduMap.addOverlay(mo)); mkList.add(mMarker); } @@ -211,12 +256,16 @@ bdC.recycle(); super.onDestroy(); bmapView.onDestroy(); + if(timer!=null){ + timer.cancel(); + timer =null; + } } - private void getData() { + private void getData(final boolean show) { HashMap<String, String> params = new HashMap<>(); params.put("organizationId", MainApp.theApp.orgId+""); - mHttpUtils.doGet(API.DEVICES, params, CacheMode.DEFAULT, true, new HttpCallBack() { + mHttpUtils.doGet(API.DEVICES, params, CacheMode.DEFAULT, show, new HttpCallBack() { @Override public void onSuccess(String res, String msg) { if (progressDialog.isShowing()) { @@ -227,15 +276,17 @@ deviceList.clear(); deviceList.addAll(temp); } - if(deviceList.size()>0){ - DeviceBean bean = deviceList.get(0); - LatLng ll = new LatLng(bean.getLatitude(), - bean.getLongitude()); - MapStatus.Builder builder = new MapStatus.Builder(); - builder.target(ll).zoom(18.0f); - mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build())); + if(show){ + if(deviceList.size()>0){ + DeviceBean bean = deviceList.get(0); + LatLng ll = new LatLng(bean.getLatitude(), + bean.getLongitude()); + MapStatus.Builder builder = new MapStatus.Builder(); + builder.target(ll).zoom(18.0f); + mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build())); + } } - showMapData(); + showMapData(show); } @Override @@ -254,4 +305,57 @@ }); } + + + @Override + public void onPermissionsGranted(int requestCode, List<String> perms) { + if (requestCode == WRITE_EXTERNAL_STORAGE) { + manager.showNoticeDialog(); + } + } + + @Override + public void onPermissionsDenied(int requestCode, List<String> perms) { + + } + + private final static int WRITE_EXTERNAL_STORAGE = 0x01; + + @AfterPermissionGranted(WRITE_EXTERNAL_STORAGE) + public void updateAPP() { + String[] perms = {Manifest.permission.WRITE_EXTERNAL_STORAGE}; + if (EasyPermissions.hasPermissions(this, perms)) { + // Already have permission, do the thing + manager.showNoticeDialog(); + } else { + // Do not have permissions, request them now + EasyPermissions.requestPermissions(this, "���������������������������������������������������", + WRITE_EXTERNAL_STORAGE, perms); + } + } + + UpdateManager manager = new UpdateManager(MapActivity.this); + + private class checkUpdateTask extends AsyncTask<String, Void, String> { + @Override + protected String doInBackground(String... params) { + Looper.prepare(); + // ������������������ + manager.checkUpdateJson(); + Looper.loop(); + return null; + } + + @Override + protected void onPostExecute(String result) { + } + + @Override + protected void onPreExecute() { + } + + @Override + protected void onProgressUpdate(Void... values) { + } + } } -- Gitblit v1.8.0