|
@@ -438,103 +438,114 @@ public class DetailAdapter extends BaseExpandableListAdapter {
|
|
|
|
|
|
|
|
public final static String MapLifCircleAction = "com.apex.driver.map_life_circle.action";
|
|
public final static String MapLifCircleAction = "com.apex.driver.map_life_circle.action";
|
|
|
|
|
|
|
|
- private class MapHolder implements OnMapReadyCallback,DetailBaseModel.OrderDetailModelDelegate {
|
|
|
|
|
|
|
+ private class MapHolder implements DetailBaseModel.OrderDetailModelDelegate {
|
|
|
TextView titleTv;
|
|
TextView titleTv;
|
|
|
TextView valueTv;
|
|
TextView valueTv;
|
|
|
- com.google.android.gms.maps.MapView mapView;
|
|
|
|
|
- GoogleMap googleMap;
|
|
|
|
|
|
|
+// com.google.android.gms.maps.MapView mapView;
|
|
|
|
|
+// GoogleMap googleMap;
|
|
|
|
|
+// MapBroadcastReceiver receiver;
|
|
|
|
|
+ ImageButton mapBtn;
|
|
|
|
|
+
|
|
|
WeakReference<DetailMapModel> weakMap;
|
|
WeakReference<DetailMapModel> weakMap;
|
|
|
- MapBroadcastReceiver receiver;
|
|
|
|
|
|
|
|
|
|
- private class MapBroadcastReceiver extends BroadcastReceiver {
|
|
|
|
|
|
|
|
|
|
- @Override
|
|
|
|
|
- public void onReceive(Context context, Intent intent) {
|
|
|
|
|
-
|
|
|
|
|
- int life = intent.getIntExtra("life",0);
|
|
|
|
|
- switch (life) {
|
|
|
|
|
- case 0:{
|
|
|
|
|
- onActivitySaveInstanceState();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- case 1:{
|
|
|
|
|
- onActivityResume();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- case 2:{
|
|
|
|
|
- onActivityStart();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- case 3:{
|
|
|
|
|
- onActivityStop();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- case 4:{
|
|
|
|
|
- onActivityPause();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- case 5:{
|
|
|
|
|
- onActivityLowMemory();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- case 6:{
|
|
|
|
|
- onActivityDestroy();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+// private class MapBroadcastReceiver extends BroadcastReceiver {
|
|
|
|
|
+//
|
|
|
|
|
+// @Override
|
|
|
|
|
+// public void onReceive(Context context, Intent intent) {
|
|
|
|
|
+//
|
|
|
|
|
+// int life = intent.getIntExtra("life",0);
|
|
|
|
|
+// switch (life) {
|
|
|
|
|
+// case 0:{
|
|
|
|
|
+// onActivitySaveInstanceState();
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+// case 1:{
|
|
|
|
|
+// onActivityResume();
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+// case 2:{
|
|
|
|
|
+// onActivityStart();
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+// case 3:{
|
|
|
|
|
+// onActivityStop();
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+// case 4:{
|
|
|
|
|
+// onActivityPause();
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+// case 5:{
|
|
|
|
|
+// onActivityLowMemory();
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+// case 6:{
|
|
|
|
|
+// onActivityDestroy();
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
|
|
|
MapHolder(View view) {
|
|
MapHolder(View view) {
|
|
|
|
|
|
|
|
titleTv = view.findViewById(R.id.detail_map_title_tv);
|
|
titleTv = view.findViewById(R.id.detail_map_title_tv);
|
|
|
valueTv = view.findViewById(R.id.detail_map_value_tv);
|
|
valueTv = view.findViewById(R.id.detail_map_value_tv);
|
|
|
- mapView = view.findViewById(R.id.detail_map_view);
|
|
|
|
|
- mapView.getMapAsync(this);
|
|
|
|
|
-
|
|
|
|
|
- view.setTag(this);
|
|
|
|
|
-
|
|
|
|
|
- receiver = new MapBroadcastReceiver();
|
|
|
|
|
-
|
|
|
|
|
- IntentFilter intentFilter = new IntentFilter();
|
|
|
|
|
- intentFilter.addAction(MapLifCircleAction);
|
|
|
|
|
-
|
|
|
|
|
- LocalBroadcastManager.getInstance(mCtx).registerReceiver(receiver,intentFilter);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- private void onActivitySaveInstanceState() {
|
|
|
|
|
-
|
|
|
|
|
- onActivityDestroy();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- private void onActivityResume() {
|
|
|
|
|
- mapView.onResume();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
+// mapView = view.findViewById(R.id.detail_map_view);
|
|
|
|
|
+// mapView.getMapAsync(this);
|
|
|
|
|
|
|
|
- private void onActivityStart() {
|
|
|
|
|
- mapView.onStart();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- private void onActivityStop() {
|
|
|
|
|
- mapView.onStop();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- private void onActivityPause() {
|
|
|
|
|
- mapView.onPause();
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ mapBtn = view.findViewById(R.id.detail_map_view);
|
|
|
|
|
+ mapBtn.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void onClick(View v) {
|
|
|
|
|
|
|
|
- private void onActivityDestroy() {
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
- mapView.onDestroy();
|
|
|
|
|
- LocalBroadcastManager.getInstance(mCtx).unregisterReceiver(receiver);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ view.setTag(this);
|
|
|
|
|
|
|
|
- private void onActivityLowMemory() {
|
|
|
|
|
- mapView.onLowMemory();
|
|
|
|
|
- }
|
|
|
|
|
|
|
+// receiver = new MapBroadcastReceiver();
|
|
|
|
|
+//
|
|
|
|
|
+// IntentFilter intentFilter = new IntentFilter();
|
|
|
|
|
+// intentFilter.addAction(MapLifCircleAction);
|
|
|
|
|
+//
|
|
|
|
|
+// LocalBroadcastManager.getInstance(mCtx).registerReceiver(receiver,intentFilter);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+// private void onActivitySaveInstanceState() {
|
|
|
|
|
+//
|
|
|
|
|
+// onActivityDestroy();
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+//
|
|
|
|
|
+// private void onActivityResume() {
|
|
|
|
|
+// mapView.onResume();
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+//
|
|
|
|
|
+// private void onActivityStart() {
|
|
|
|
|
+// mapView.onStart();
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+//
|
|
|
|
|
+// private void onActivityStop() {
|
|
|
|
|
+// mapView.onStop();
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// private void onActivityPause() {
|
|
|
|
|
+// mapView.onPause();
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// private void onActivityDestroy() {
|
|
|
|
|
+//
|
|
|
|
|
+// mapView.onDestroy();
|
|
|
|
|
+// LocalBroadcastManager.getInstance(mCtx).unregisterReceiver(receiver);
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// private void onActivityLowMemory() {
|
|
|
|
|
+// mapView.onLowMemory();
|
|
|
|
|
+// }
|
|
|
|
|
|
|
|
public void bindModel(DetailMapModel model) {
|
|
public void bindModel(DetailMapModel model) {
|
|
|
if (weakMap != null && weakMap.get() != null) {
|
|
if (weakMap != null && weakMap.get() != null) {
|
|
@@ -547,22 +558,42 @@ public class DetailAdapter extends BaseExpandableListAdapter {
|
|
|
weakMap = null;
|
|
weakMap = null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- public void onMapReady(GoogleMap googleMap) {
|
|
|
|
|
- this.googleMap = googleMap;
|
|
|
|
|
-
|
|
|
|
|
refreshUI();
|
|
refreshUI();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// @Override
|
|
|
|
|
+// public void onMapReady(GoogleMap googleMap) {
|
|
|
|
|
+// this.googleMap = googleMap;
|
|
|
|
|
+//
|
|
|
|
|
+// refreshUI();
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public void refreshUI() {
|
|
public void refreshUI() {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
if (weakMap != null) {
|
|
if (weakMap != null) {
|
|
|
DetailMapModel model = weakMap.get();
|
|
DetailMapModel model = weakMap.get();
|
|
|
if (model != null) {
|
|
if (model != null) {
|
|
|
|
|
|
|
|
|
|
+ titleTv.setText(model.title);
|
|
|
|
|
+ valueTv.setText(model.location);
|
|
|
|
|
+
|
|
|
|
|
+ String lat = model.getLat();
|
|
|
|
|
+ String lon = model.getLon();
|
|
|
|
|
+ boolean showMap = lat != null && lat.length() > 0 && lon != null && lon.length() > 0;
|
|
|
|
|
+ mapBtn.setVisibility(showMap ? View.VISIBLE : View.GONE);
|
|
|
|
|
+
|
|
|
|
|
+ } else {
|
|
|
|
|
+
|
|
|
|
|
+ titleTv.setText(null);
|
|
|
|
|
+ valueTv.setText(null);
|
|
|
|
|
+ mapBtn.setVisibility(View.GONE);
|
|
|
}
|
|
}
|
|
|
|
|
+ } else {
|
|
|
|
|
+ titleTv.setText(null);
|
|
|
|
|
+ valueTv.setText(null);
|
|
|
|
|
+ mapBtn.setVisibility(View.GONE);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|