| | |
| | | import android.content.Context; |
| | | import android.content.Intent; |
| | | import android.content.res.Resources; |
| | | import android.graphics.drawable.Drawable; |
| | | import android.os.Bundle; |
| | | import android.text.TextUtils; |
| | | import android.util.Log; |
| | | import android.util.Pair; |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | |
| | | import com.dayu.pipirrapp.bean.net.InspectionRequest; |
| | | import com.dayu.pipirrapp.bean.net.MarkerListResult; |
| | | import com.dayu.pipirrapp.bean.net.MarkerResult; |
| | | import com.dayu.pipirrapp.bean.net.PipeNetworkListResult; |
| | | import com.dayu.pipirrapp.bean.net.PipeNetworkResult; |
| | | import com.dayu.pipirrapp.dao.DaoSingleton; |
| | | import com.dayu.pipirrapp.databinding.FragmentMapBinding; |
| | |
| | | import com.dayu.pipirrapp.utils.WebViewUtils; |
| | | import com.dayu.pipirrapp.view.ConfirmDialog; |
| | | import com.dayu.pipirrapp.view.TipUtil; |
| | | import com.example.expand_button.ExpandButton; |
| | | import com.hjq.permissions.OnPermissionCallback; |
| | | import com.hjq.permissions.Permission; |
| | | import com.hjq.permissions.XXPermissions; |
| | |
| | | getCenterPoint(); |
| | | getMarkerData(); |
| | | getDivideList(); |
| | | getPipeNetworkList(); |
| | | }); |
| | | } |
| | | |
| | |
| | | for (DivideBean divide : divides) { |
| | | divideBeanMap.put(divide.getId(), divide); |
| | | setMapDivide(divide); |
| | | } |
| | | } |
| | | }, throwable -> { |
| | | Log.e(TAG, "Load divides error: " + throwable.getMessage()); |
| | | getDivideList(); |
| | | }, () -> { |
| | | // 当Maybe为空时调用 |
| | | getDivideList(); |
| | | }) |
| | | ); |
| | | //异步加载管网数据 |
| | | compositeDisposable.add( |
| | | DaoSingleton.getAsynchInstance(this.getContext()).pipeNetDao().getAll() |
| | | .subscribeOn(Schedulers.io()) |
| | | .observeOn(AndroidSchedulers.mainThread()) |
| | | .subscribe(pipeNetworkBeans -> { |
| | | if (pipeNetworkBeans == null || pipeNetworkBeans.isEmpty()) { |
| | | getPipeNetworkList(); |
| | | } else { |
| | | for (PipeNetworkBean pipeNetworkBean : pipeNetworkBeans) { |
| | | |
| | | |
| | | } |
| | | } |
| | | }, throwable -> { |
| | |
| | | * 获取管网 |
| | | */ |
| | | private void getPipeNetworkList() { |
| | | ApiManager.getInstance().requestGetHideLoading(MapFragment.this.getContext(), BASE_URL + "/project/network/all", PipeNetworkListResult.class, null, new SubscriberListener<BaseResponse<PipeNetworkListResult>>() { |
| | | ApiManager.getInstance().requestGetHideLoading(MapFragment.this.getContext(), BASE_URL + "/project/network/all", PipeNetworkResult.class, null, new SubscriberListener<BaseResponse<List<PipeNetworkResult>>>() { |
| | | @Override |
| | | public void onNext(BaseResponse<PipeNetworkListResult> t) { |
| | | public void onNext(BaseResponse<List<PipeNetworkResult>> t) { |
| | | try { |
| | | if (t.isSuccess()) { |
| | | if (t.getContent().getObj() != null && !t.getContent().getObj().isEmpty()) { |
| | | if (t.getContent() != null && t.getContent().size() > 0) { |
| | | |
| | | List<DivideBean> divideBeans = new ArrayList<>(); |
| | | for (PipeNetworkResult divideResult : t.getContent().getObj()) { |
| | | PipeNetworkBean divideBean = getPipeNetworkBean(divideResult); |
| | | setMapDivide(divideBean); |
| | | // divideBeans.add(divideBean); |
| | | List<PipeNetworkBean> pipeNetBeans = new ArrayList<>(); |
| | | PipeNetworkBean pipeNetBean = new PipeNetworkBean(); |
| | | for (PipeNetworkResult pipeNetworkResult : t.getContent()) { |
| | | pipeNetBean.setNetworkId(pipeNetworkResult.getNetworkId()); |
| | | pipeNetBean.setType(pipeNetworkResult.getType()); |
| | | pipeNetBean.setData(pipeNetworkResult.getData()); |
| | | } |
| | | // 使用 RxJava 异步插入数据 |
| | | DaoSingleton.getAsynchInstance(MapFragment.this.getContext()).divideDao().insertAll(divideBeans) |
| | | DaoSingleton.getAsynchInstance(MapFragment.this.getContext()).pipeNetDao().insertAll(pipeNetBeans) |
| | | .subscribeOn(Schedulers.io()) // 在 IO 线程上执行 |
| | | .observeOn(AndroidSchedulers.mainThread()) // 在主线程上观察 |
| | | .subscribe(() -> { |