diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000000..2e92d39135 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +MogoLauncher \ No newline at end of file diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index b7a14bf192..bbc77b4409 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -495,6 +495,15 @@ public class AMapNaviViewWrapper implements IMogoMapView, return null; } + @Override public MogoLatLng getTarget() { + try { + return ObjectUtils.fromAMap( mMapView.getMap().getCameraPosition().target ); + } catch ( Exception e ) { + + } + return null; + } + @Override public void setPointToCenter( double mapCenterX, double mapCenterY ) { if ( checkAMapView() ) { diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java index 26e98dee48..73813df119 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java @@ -130,6 +130,13 @@ public class AMapUIController implements IMogoMapUIController { return null; } + @Override public MogoLatLng getTarget() { + if ( mClient != null ) { + return mClient.getCameraSouthWestPosition(); + } + return null; + } + @Override public void setPointToCenter( double mapCenterX, double mapCenterY ) { if ( mClient != null ) { diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java index 9cfd922372..85626c4231 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java @@ -94,4 +94,5 @@ public interface IMogoNavi { * 清除规划的路线 */ void clearCalculatePaths(); + } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java index a9968af5ec..e87b0a3682 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java @@ -88,6 +88,13 @@ public interface IMogoMapUIController { */ MogoLatLng getCameraSouthWestPosition(); + /** + * 获取视图中心点坐标 + * + * @return + */ + MogoLatLng getTarget(); + /** * 设置地图中心点 * diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java index b6ab623020..5b54dbb5ca 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java @@ -21,9 +21,9 @@ public class MogoMapUIController implements IMogoMapUIController { } public static MogoMapUIController getInstance() { - if ( sInstance == null ) { - synchronized ( MogoMapUIController.class ) { - if ( sInstance == null ) { + if (sInstance == null) { + synchronized (MogoMapUIController.class) { + if (sInstance == null) { sInstance = new MogoMapUIController(); } } @@ -36,64 +36,64 @@ public class MogoMapUIController implements IMogoMapUIController { } @Override - public void setTrafficEnabled( boolean visible ) { - if ( mDelegate != null ) { - mDelegate.setTrafficEnabled( visible ); + public void setTrafficEnabled(boolean visible) { + if (mDelegate != null) { + mDelegate.setTrafficEnabled(visible); } } @Override - public void changeZoom( boolean zoom ) { - if ( mDelegate != null ) { - mDelegate.changeZoom( zoom ); + public void changeZoom(boolean zoom) { + if (mDelegate != null) { + mDelegate.changeZoom(zoom); } } @Override - public void changeZoom( float zoom ) { - if ( mDelegate != null ) { - mDelegate.changeZoom( zoom ); + public void changeZoom(float zoom) { + if (mDelegate != null) { + mDelegate.changeZoom(zoom); } } @Override - public void changeMapMode( EnumMapUI mode ) { - if ( mDelegate != null ) { - mDelegate.changeMapMode( mode ); + public void changeMapMode(EnumMapUI mode) { + if (mDelegate != null) { + mDelegate.changeMapMode(mode); } } @Override - public void moveToCenter( MogoLatLng latLng ) { - if ( mDelegate != null ) { - mDelegate.moveToCenter( latLng ); + public void moveToCenter(MogoLatLng latLng) { + if (mDelegate != null) { + mDelegate.moveToCenter(latLng); } } @Override - public void showMyLocation( boolean visible ) { - if ( mDelegate != null ) { - mDelegate.showMyLocation( visible ); + public void showMyLocation(boolean visible) { + if (mDelegate != null) { + mDelegate.showMyLocation(visible); } } @Override public void recoverLockMode() { - if ( mDelegate != null ) { + if (mDelegate != null) { mDelegate.recoverLockMode(); } } @Override public void displayOverview() { - if ( mDelegate != null ) { + if (mDelegate != null) { mDelegate.displayOverview(); } } @Override public float getScalePerPixel() { - if ( mDelegate != null ) { + if (mDelegate != null) { return mDelegate.getScalePerPixel(); } return 0; @@ -101,7 +101,7 @@ public class MogoMapUIController implements IMogoMapUIController { @Override public float getZoomLevel() { - if ( mDelegate != null ) { + if (mDelegate != null) { return mDelegate.getZoomLevel(); } return 0; @@ -109,7 +109,7 @@ public class MogoMapUIController implements IMogoMapUIController { @Override public MogoLatLng getCameraNorthEastPosition() { - if ( mDelegate != null ) { + if (mDelegate != null) { return mDelegate.getCameraNorthEastPosition(); } return null; @@ -117,16 +117,23 @@ public class MogoMapUIController implements IMogoMapUIController { @Override public MogoLatLng getCameraSouthWestPosition() { - if ( mDelegate != null ) { + if (mDelegate != null) { return mDelegate.getCameraSouthWestPosition(); } return null; } + @Override public MogoLatLng getTarget() { + if (mDelegate != null) { + return mDelegate.getTarget(); + } + return null; + } + @Override - public void setPointToCenter( double mapCenterX, double mapCenterY ) { - if ( mDelegate != null ) { - mDelegate.setPointToCenter( mapCenterX, mapCenterY ); + public void setPointToCenter(double mapCenterX, double mapCenterY) { + if (mDelegate != null) { + mDelegate.setPointToCenter(mapCenterX, mapCenterY); } } } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerShareMusic.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerShareMusic.java index 62dfc8ed20..d4f7dfb32c 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerShareMusic.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerShareMusic.java @@ -7,34 +7,41 @@ import java.io.Serializable; @SuppressWarnings("unused") public class MarkerShareMusic implements Serializable { - - private Long id; - - private Long likeNumber; - + private String bookInfo; + private long id; + private int likeNumber; private MarkerLocation location; - - private String musicName; - + private String mediaId; + private String mediaImg; + private String mediaName; + private String mediaSinger; + private String mediaUrl; private String shareContentText; - + private int shareType; private String type; - private MarkerUserInfo userInfo; - public Long getId() { + public String getBookInfo() { + return bookInfo; + } + + public void setBookInfo(String bookInfo) { + this.bookInfo = bookInfo; + } + + public long getId() { return id; } - public void setId(Long id) { + public void setId(long id) { this.id = id; } - public Long getLikeNumber() { + public int getLikeNumber() { return likeNumber; } - public void setLikeNumber(Long likeNumber) { + public void setLikeNumber(int likeNumber) { this.likeNumber = likeNumber; } @@ -46,12 +53,44 @@ public class MarkerShareMusic implements Serializable { this.location = location; } - public String getMusicName() { - return musicName; + public String getMediaId() { + return mediaId; } - public void setMusicName(String musicName) { - this.musicName = musicName; + public void setMediaId(String mediaId) { + this.mediaId = mediaId; + } + + public String getMediaImg() { + return mediaImg; + } + + public void setMediaImg(String mediaImg) { + this.mediaImg = mediaImg; + } + + public String getMediaName() { + return mediaName; + } + + public void setMediaName(String mediaName) { + this.mediaName = mediaName; + } + + public String getMediaSinger() { + return mediaSinger; + } + + public void setMediaSinger(String mediaSinger) { + this.mediaSinger = mediaSinger; + } + + public String getMediaUrl() { + return mediaUrl; + } + + public void setMediaUrl(String mediaUrl) { + this.mediaUrl = mediaUrl; } public String getShareContentText() { @@ -62,6 +101,14 @@ public class MarkerShareMusic implements Serializable { this.shareContentText = shareContentText; } + public int getShareType() { + return shareType; + } + + public void setShareType(int shareType) { + this.shareType = shareType; + } + public String getType() { return type; } @@ -81,11 +128,17 @@ public class MarkerShareMusic implements Serializable { @Override public String toString() { return "MarkerShareMusic{" + - "id=" + id + + "bookInfo='" + bookInfo + '\'' + + ", id=" + id + ", likeNumber=" + likeNumber + ", location=" + location + - ", musicName='" + musicName + '\'' + + ", mediaId='" + mediaId + '\'' + + ", mediaImg='" + mediaImg + '\'' + + ", mediaName='" + mediaName + '\'' + + ", mediaSinger='" + mediaSinger + '\'' + + ", mediaUrl='" + mediaUrl + '\'' + ", shareContentText='" + shareContentText + '\'' + + ", shareType=" + shareType + ", type='" + type + '\'' + ", userInfo=" + userInfo + '}'; diff --git a/modules/mogo-module-main/src/main/AndroidManifest.xml b/modules/mogo-module-main/src/main/AndroidManifest.xml index a793893503..7abf891f3c 100644 --- a/modules/mogo-module-main/src/main/AndroidManifest.xml +++ b/modules/mogo-module-main/src/main/AndroidManifest.xml @@ -18,9 +18,9 @@ - - - + + + diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/constants/SearchServiceHolder.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/constants/SearchServiceHolder.kt index c6b92c006c..3ff7d0d5fe 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/constants/SearchServiceHolder.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/constants/SearchServiceHolder.kt @@ -1,21 +1,29 @@ package com.mogo.module.navi.constants +import android.annotation.SuppressLint +import android.app.StatusBarManager import android.content.Context import androidx.fragment.app.Fragment import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.map.marker.IMogoMarkerManager import com.mogo.map.navi.IMogoNavi +import com.mogo.map.uicontroller.IMogoMapUIController import com.mogo.service.MogoServicePaths import com.mogo.service.fragmentmanager.FragmentDescriptor import com.mogo.service.fragmentmanager.IMogoFragmentManager import com.mogo.service.map.IMogoMapService import com.mogo.service.module.IMogoRegisterCenter +import com.mogo.service.statusmanager.IMogoStatusManager +import kotlin.isInitialized as isInitialized1 /** *@author zyz * 2020-01-08. */ +@SuppressLint("StaticFieldLeak") object SearchServiceHolder { - +// 单例对象,要使用Application Context + private lateinit var context: Context val fragmentManager:IMogoFragmentManager = ARouter.getInstance().build( MogoServicePaths.PATH_FRAGMENT_MANAGER ).navigation() as IMogoFragmentManager @@ -25,8 +33,16 @@ object SearchServiceHolder { val listenerCenter:IMogoRegisterCenter = ARouter.getInstance().build( MogoServicePaths.PATH_REGISTER_CENTER ).navigation() as IMogoRegisterCenter + val statusManager:IMogoStatusManager = ARouter.getInstance().build( + MogoServicePaths.PATH_STATUS_MANAGER + ).navigation() as IMogoStatusManager + + fun init(context: Context){ + this.context=context + } + fun push( fragment: Fragment, tag: String @@ -39,8 +55,18 @@ object SearchServiceHolder { } - fun getNavi(context: Context):IMogoNavi{ + fun getNavi():IMogoNavi{ return mapService.getNavi(context) } + fun getMapUIController(): IMogoMapUIController { + return mapService.mapUIController + } + + + + fun getMarkerManger():IMogoMarkerManager{ + return mapService.getMarkerManager(context) + } + } \ No newline at end of file diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/base/BaseFragment.java b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/base/BaseFragment.java index 369cf25c78..de9e7b1e93 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/base/BaseFragment.java +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/base/BaseFragment.java @@ -10,6 +10,8 @@ import androidx.annotation.IdRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import com.mogo.module.common.MogoModulePaths; +import com.mogo.module.navi.constants.SearchServiceHolder; import com.mogo.utils.NetworkUtils; /** @@ -70,4 +72,13 @@ public abstract class BaseFragment extends Fragment { Toast.makeText( mContext, msg, Toast.LENGTH_LONG ).show(); } } + + + protected void setMarkerStatus(boolean show){ + SearchServiceHolder.INSTANCE.getStatusManager().setSearchUIShow( + MogoModulePaths.PATH_FRAGMENT_SEARCH_CATEGORY, show + ); + } + + } diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt index e0727b9007..eb41b4276e 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt @@ -11,8 +11,8 @@ import com.mogo.module.navi.bean.SearchPoi import com.mogo.module.navi.constants.SearchServiceHolder import com.mogo.module.navi.ui.adapter.SearchCategoryAdapter import kotlinx.android.synthetic.main.fragment_search_category.cv_search_result +import kotlinx.android.synthetic.main.fragment_search_category.rv_search_result import kotlinx.android.synthetic.main.fragment_search_category.tv_navi_navi -import kotlinx.android.synthetic.main.fragment_setting_address.rv_search_result import kotlinx.android.synthetic.main.include_search_bar.et_navi_search import kotlinx.android.synthetic.main.include_search_bar.iv_navi_back @@ -28,6 +28,9 @@ class CategorySearchFragment : BaseSearchFragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) category=arguments?.getString("category") + SearchServiceHolder.statusManager.setSearchUIShow( + MogoModulePaths.PATH_FRAGMENT_SEARCH_CATEGORY, false + ) } override fun getLayoutId(): Int { return R.layout.fragment_search_category @@ -83,6 +86,13 @@ class CategorySearchFragment : BaseSearchFragment() { } + override fun onDestroy() { + super.onDestroy() + SearchServiceHolder.statusManager.setSearchUIShow( + MogoModulePaths.PATH_FRAGMENT_SEARCH_CATEGORY, false + ) + } + companion object{ fun newInstance( category:String):Fragment{ var bundle = Bundle() diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt index 4e5209e411..291f803492 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt @@ -40,12 +40,12 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener { } override fun onCalculateSuccess() { - var calculatedStrategies = SearchServiceHolder.getNavi(activity!!) + var calculatedStrategies = SearchServiceHolder.getNavi() .calculatedStrategies - if (calculatedStrategies != null&&calculatedStrategies.size>0) { + if (calculatedStrategies != null && calculatedStrategies.size > 0) { mAdapter.setDatas(calculatedStrategies) - mAdapter.selectTag=calculatedStrategies[0].tagId + mAdapter.selectTag = calculatedStrategies[0].tagId } } @@ -61,6 +61,9 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) mogoTip = arguments?.getParcelable(AMapConstants.KEY_PARCELABLE) + SearchServiceHolder.statusManager.setSearchUIShow( + MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT, true + ) } override fun onViewCreated( @@ -70,14 +73,15 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener { super.onViewCreated(view, savedInstanceState) iv_navi_back.setOnClickListener { SearchServiceHolder.fragmentManager.pop() - SearchServiceHolder.getNavi(context!!).clearCalculatePaths() + SearchServiceHolder.getNavi() + .clearCalculatePaths() } tv_navi_navi.text = getString(R.string.start_navi) et_navi_search.setText(getString(R.string.choose_path)) et_navi_search.isEnabled = false - SearchServiceHolder.getNavi(context!!) + SearchServiceHolder.getNavi() .naviTo(mogoTip?.point) SearchServiceHolder.listenerCenter.registerMogoNaviListener( @@ -91,12 +95,11 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener { rv_search_result.adapter = mAdapter tv_navi_navi.setOnClickListener { - SearchServiceHolder.fragmentManager.clearAll() - SearchServiceHolder.getNavi(activity!!) + SearchServiceHolder.getNavi() .startNavi(false) } - SearchServiceHolder.getNavi(context!!) + SearchServiceHolder.getNavi() .setLineClickInteraction { mAdapter.setSelectTag(it) } @@ -104,11 +107,21 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener { mAdapter.setOnClickListener { var item = it.getTag(R.id.tag_item) as MogoCalculatePath mAdapter.setSelectTag(item.tagId) - SearchServiceHolder.getNavi(context!!) + SearchServiceHolder.getNavi() .itemClickInteraction.onItemClicked(item.tagId) } } + override fun onDestroy() { + super.onDestroy() + SearchServiceHolder.listenerCenter.unregisterMogoNaviListener( + MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT + ) + SearchServiceHolder.statusManager.setSearchUIShow( + MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT, false + ) + } + companion object { fun newInstance(searchPoi: MogoTip): Fragment { var bundle = Bundle() diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java index fd430efb94..cd8931cb66 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java @@ -81,6 +81,7 @@ public class SearchFragment extends BaseSearchFragment implements SearchView, Vi @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); + SearchServiceHolder.INSTANCE.init(getActivity().getApplicationContext()); } @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/SettingAddressFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/SettingAddressFragment.kt index e406299042..e8115b04e3 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/SettingAddressFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/SettingAddressFragment.kt @@ -1,52 +1,46 @@ package com.mogo.module.navi.ui.setting +import android.graphics.BitmapFactory import android.os.Bundle import android.view.View import androidx.fragment.app.Fragment -import androidx.recyclerview.widget.LinearLayoutManager import com.alibaba.android.arouter.facade.annotation.Route -import com.mogo.map.search.inputtips.MogoTip +import com.mogo.map.marker.MogoMarkerOptions import com.mogo.module.common.MogoModulePaths import com.mogo.module.navi.R -import com.mogo.module.navi.bean.SearchPoi import com.mogo.module.navi.constants.AMapConstants import com.mogo.module.navi.constants.SearchServiceHolder -import com.mogo.module.navi.ui.adapter.SearchPoiAdapter import com.mogo.module.navi.ui.base.BaseFragment -import com.mogo.module.navi.ui.search.BaseSearchFragment -import kotlinx.android.synthetic.main.fragment_navi_setting.iv_back -import kotlinx.android.synthetic.main.include_search_bar.iv_navi_back -import kotlinx.android.synthetic.main.fragment_setting_address.group_set_address -import kotlinx.android.synthetic.main.fragment_setting_address.rv_search_result -import kotlinx.android.synthetic.main.fragment_setting_address.tv_navi_choose_point -import kotlinx.android.synthetic.main.fragment_setting_address.tv_navi_my_location import kotlinx.android.synthetic.main.fragment_setting_address.tv_set_as_home -import kotlinx.android.synthetic.main.include_search_bar.et_navi_search +import kotlinx.android.synthetic.main.include_search_bar.iv_navi_back /** * @author zyz * 2020-01-07. */ @Route(path = MogoModulePaths.PATH_FRAGMENT_SETTING_HOME) -class SettingAddressFragment : BaseSearchFragment() { - override fun renderSearchPoiResult( - datums: MutableList?, - showDelete: Boolean - ) { - mAdapter.setDatas(datums) - group_set_address.visibility = View.GONE - rv_search_result.visibility = View.VISIBLE - - } - - override fun showHistory(datums: MutableList?) { - } +class SettingAddressFragment : BaseFragment() { +// override fun renderSearchPoiResult( +// datums: MutableList?, +// showDelete: Boolean +// ) { +// mAdapter.setDatas(datums) +// group_set_address.visibility = View.GONE +// rv_search_result.visibility = View.VISIBLE +// +// } +// +// override fun showHistory(datums: MutableList?) { +// } + private val TAG:String="SettingAddressFragment" private var style: Int = 0 - private lateinit var mAdapter: SearchPoiAdapter override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) style = arguments?.getInt(AMapConstants.KEY_SET_HOME_COMPONY) ?: 0 + setMarkerStatus(true) + SearchServiceHolder.getMapUIController().showMyLocation(false) + } override fun getLayoutId(): Int { @@ -61,9 +55,7 @@ class SettingAddressFragment : BaseSearchFragment() { return style == 1 } - fun isSearch(): Boolean { - return group_set_address.visibility == View.GONE - } + override fun onViewCreated( view: View, @@ -78,46 +70,38 @@ class SettingAddressFragment : BaseSearchFragment() { tv_set_as_home.text = resources.getString(R.string.set_as_compony_navi) } - mAdapter = SearchPoiAdapter(activity, ArrayList()) - - rv_search_result.layoutManager = - LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false) - - rv_search_result.adapter = mAdapter iv_navi_back.setOnClickListener { - if (group_set_address.visibility == View.VISIBLE) { - SearchServiceHolder.fragmentManager.pop() - } else { - reset() - } + SearchServiceHolder.fragmentManager.pop() } + var target = SearchServiceHolder.getMapUIController() + .target + + var decodeResource = BitmapFactory.decodeResource(resources, R.mipmap.icon_choose_position) + val options = MogoMarkerOptions() + .icon(decodeResource) + .latitude(target.lat.toDouble()) + .owner(TAG) + .longitude(target.lng.toDouble()) + var addMarker = SearchServiceHolder.getMarkerManger() + .addMarker(MogoModulePaths.PATH_FRAGMENT_SETTING_HOME, options) + - tv_navi_choose_point.setOnClickListener { - group_set_address.visibility = View.GONE - tv_set_as_home.visibility = View.VISIBLE - } - tv_navi_my_location.setOnClickListener { - group_set_address.visibility = View.GONE - tv_set_as_home.visibility = View.VISIBLE - } } - private fun reset() { - group_set_address.visibility = View.VISIBLE - rv_search_result.visibility = View.GONE - mAdapter.clear() - et_navi_search.setText("") - tv_set_as_home.visibility = View.GONE + override fun onDestroy() { + super.onDestroy() + setMarkerStatus(true) + SearchServiceHolder.getMapUIController().showMyLocation(true) } + companion object { fun newInstance(type: Int = 0): Fragment { - var settingAddressFragment = SettingAddressFragment() val bundle = Bundle() bundle.putInt(AMapConstants.KEY_SET_HOME_COMPONY, type) diff --git a/modules/mogo-module-search/src/main/res/layout/fragment_search.xml b/modules/mogo-module-search/src/main/res/layout/fragment_search.xml index 75cdaf87f6..ed0f0a99cd 100644 --- a/modules/mogo-module-search/src/main/res/layout/fragment_search.xml +++ b/modules/mogo-module-search/src/main/res/layout/fragment_search.xml @@ -121,6 +121,9 @@ android:layout_marginTop="@dimen/dp_32" android:layout_width="600dp" android:layout_height="0dp" + android:gravity="center" + android:textColor="@color/white" + android:textSize="@dimen/txt_large" app:layout_constraintBottom_toBottomOf="@id/tv_navi_wash" android:background="@drawable/shape_round_gray" app:layout_constraintTop_toBottomOf="@id/ll_navi_search" diff --git a/modules/mogo-module-search/src/main/res/layout/fragment_setting_address.xml b/modules/mogo-module-search/src/main/res/layout/fragment_setting_address.xml index cf04d068c7..decb6eea15 100644 --- a/modules/mogo-module-search/src/main/res/layout/fragment_setting_address.xml +++ b/modules/mogo-module-search/src/main/res/layout/fragment_setting_address.xml @@ -11,52 +11,6 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/mogo-module-search/src/main/res/values/dimens.xml b/modules/mogo-module-search/src/main/res/values/dimens.xml index a5f6465305..8928f1fa1e 100644 --- a/modules/mogo-module-search/src/main/res/values/dimens.xml +++ b/modules/mogo-module-search/src/main/res/values/dimens.xml @@ -3,4 +3,5 @@ @dimen/sp_32 @dimen/dp_60 @dimen/sp_40 + 25sp \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java index c9805ebbef..4d405b2371 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java @@ -24,6 +24,7 @@ import com.mogo.service.connection.IMogoOnMessageListener; import com.mogo.service.connection.IMogoSocketManager; import com.mogo.service.imageloader.IMogoImageloader; import com.mogo.service.map.IMogoMapService; +import com.mogo.service.module.IMogoRegisterCenter; import com.mogo.utils.logger.Logger; import java.util.List; @@ -46,6 +47,7 @@ public class MarkerServiceHandler { private static IMogoNavi mNavi; private static IMogoMapUIController mMapUIController; + private static IMogoRegisterCenter mMogoRegisterCenter; private static IMogoImageloader mImageloader; private static IMogoSocketManager mMogoSocketManager; private static MarkerInfoWindowAdapter markerInfoWindowAdapter; @@ -56,6 +58,7 @@ public class MarkerServiceHandler { mContext = context; mMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(context); mImageloader = (IMogoImageloader) ARouter.getInstance().build(MogoServicePaths.PATH_UTILS_IMAGE_LOADER).navigation(context); + mMogoRegisterCenter = (IMogoRegisterCenter) ARouter.getInstance().build(MogoServicePaths.PATH_REGISTER_CENTER).navigation(context); mMarkerManager = mMapService.getMarkerManager(context); mNavi = mMapService.getNavi(context); markerInfoWindowAdapter = new MarkerInfoWindowAdapter(context, getNavi(), getImageloader()); diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java index fdfdef1e17..0073b170dc 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java @@ -10,4 +10,5 @@ public class TanluConstants { public static final String TAG = "/tanlu/ui"; public static final String NAVI_INFO = "navi_info"; + public static final String MODEL_NAME = "mogo-module-tanlu"; } diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java index 49e0392f42..4ac2760951 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java @@ -27,6 +27,8 @@ import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.marker.IMogoMarkerManager; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.map.model.MogoPoi; +import com.mogo.map.navi.IMogoNaviListener; +import com.mogo.map.navi.MogoNaviInfo; import com.mogo.map.search.geo.MogoPoiItem; import com.mogo.map.search.poisearch.IMogoPoiSearchListener; import com.mogo.map.search.poisearch.MogoPoiResult; @@ -36,6 +38,8 @@ import com.mogo.module.common.entity.MarkerResponse; import com.mogo.module.tanlu.callback.AlongTheWayCallback; import com.mogo.module.tanlu.callback.RoadLineCallback; import com.mogo.module.tanlu.callback.VoiceSearchCallback; +import com.mogo.module.tanlu.constant.HttpConst; +import com.mogo.module.tanlu.constant.TanluConstants; import com.mogo.module.tanlu.model.Information; import com.mogo.module.tanlu.model.InformationAndLiveCarResult; import com.mogo.module.tanlu.model.PathLineResult; @@ -54,6 +58,9 @@ import com.mogo.module.tanlu.model.event.MarkerInfo; import com.mogo.module.tanlu.video.FullMediaActivity; import com.mogo.module.tanlu.video.SimpleCoverVideoPlayer; import com.mogo.module.tanlu.view.AutoZoomInImageView; +import com.mogo.service.module.IMogoRegisterCenter; +import com.mogo.service.module.ModuleType; +import com.mogo.service.network.IMogoNetwork; import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder; @@ -117,6 +124,7 @@ public class TanluCardViewFragment extends MvpFragment> private Bitmap mMarkerIcon; private TanluModelData mTanluModelData; private List passedByPoints; + private IMogoRegisterCenter mMogoRegisterCenter; @Override @@ -170,14 +178,61 @@ public class TanluCardViewFragment extends MvpFragment> EventBus.getDefault().register(this); mTanluModelData = new TanluModelData(getContext()); handleRoadLineMessage(); + initMap(); + } + /** - * 处理路线数据信息 TODO + * 初始化导航 TODO + */ + private void initMap() { + mMogoRegisterCenter = (IMogoRegisterCenter) ARouter.getInstance().build(MogoServicePaths.PATH_REGISTER_CENTER).navigation(getContext()); + mMogoRegisterCenter.registerMogoNaviListener(TanluConstants.MODEL_NAME, new IMogoNaviListener() { + @Override + public void onInitNaviFailure() { + + } + + @Override + public void onInitNaviSuccess() { + + } + + @Override + public void onNaviInfoUpdate(MogoNaviInfo naviinfo) { + + } + + @Override + public void onStartNavi() { + getNavigationLineData(); + } + + @Override + public void onStopNavi() { + + } + + @Override + public void onCalculateSuccess() { + + } + + @Override + public void onoCalculateFailed() { + + } + }); + } + + + /** + * 处理路线数据信息,msgType TODO */ private void handleRoadLineMessage() { mMogoSocketManager = (IMogoSocketManager) ARouter.getInstance().build(MogoServicePaths.PATH_SOCKET_MANAGER).navigation(); - mMogoSocketManager.registerOnMessageListener(401001, new IMogoOnMessageListener() { + mMogoSocketManager.registerOnMessageListener(1, new IMogoOnMessageListener() { @Override public Class target() { return MarkerResponse.class; @@ -254,6 +309,8 @@ public class TanluCardViewFragment extends MvpFragment> MarkerExploreWay exploreWay = (MarkerExploreWay) marker.getObject(); handleData(exploreWay); + //TODO 更新位置currentPosition + return true; } @@ -463,6 +520,7 @@ public class TanluCardViewFragment extends MvpFragment> EventBus.getDefault().unregister(this); getViewLifecycleOwner().getLifecycle().removeObserver(mPresenter); TanluServiceHandler.getLocationClient().removeLocationListener(this); + mMogoRegisterCenter.unregisterMogoNaviListener(TanluConstants.MODEL_NAME); } /** @@ -540,7 +598,6 @@ public class TanluCardViewFragment extends MvpFragment> Logger.d(TAG, "passedByPoints.size() ----> " + passedByPoints.size()); MogoLatLng startLatLng = new MogoLatLng(o.getPointList().get(0).getLat(), o.getPointList().get(0).getLon()); MogoLatLng endLatLng = new MogoLatLng(o.getPointList().get(listSize - 1).getLat(), o.getPointList().get(listSize - 1).getLon()); - mMarkerManager.addRouteWay(getContext(), startLatLng, endLatLng, passedByPoints); } } @@ -582,7 +639,6 @@ public class TanluCardViewFragment extends MvpFragment> } }); - } private void speakSuccessVoice(List informations, String trafficStatus) { diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/view/LaucherShareDialog.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/view/LaucherShareDialog.java new file mode 100644 index 0000000000..71bd9a1c8d --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/view/LaucherShareDialog.java @@ -0,0 +1,78 @@ +package com.mogo.module.tanlu.view; + +import android.app.Dialog; +import android.content.Context; +import android.os.Bundle; +import android.view.View; +import android.widget.TextView; + +import androidx.annotation.NonNull; + +import com.mogo.module.tanlu.R; + +/** + * @author lixiaopeng + * @description 通用分享dialog + * @since 2020-01-10 + */ +public class LaucherShareDialog extends Dialog implements View.OnClickListener { + + private TextView txtOk; + + + public LaucherShareDialog(@NonNull Context context) { + super(context); + } + + public LaucherShareDialog(@NonNull Context context, int themeResId) { + super(context, R.style.Theme_AppCompat_Dialog); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + initView(); + initListener(); + + txtOk.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { +// if (onOkListener != null) { +// onOkListener.onClick(v); +// } + } + }); + + } + + private void initView() { + setContentView(R.layout.launcher_dialog_share); + txtOk = findViewById(R.id.btn_share_title); + + } + + private void initListener() { + txtOk.setOnClickListener(this); + + } + + @Override + public void onClick(View view) { + int id = view.getId(); + if (id == R.id.btn_share_title) { + + } + } + + + public void setOnOkClickListener(View.OnClickListener onOkClickListener) { + + } + + + public void setOnCancelListener(View.OnClickListener onCancelListener) { + + } + +} diff --git a/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533_10px.xml b/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533_10px.xml index 793a82f62b..20526e5a65 100644 --- a/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533_10px.xml +++ b/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533_10px.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/res/layout/launcher_dialog_share.xml b/modules/mogo-module-tanlu/src/main/res/layout/launcher_dialog_share.xml new file mode 100644 index 0000000000..3bef28759b --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/res/layout/launcher_dialog_share.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml index 995db5a607..2996e27a33 100644 --- a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml +++ b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_activity_media_full.xml @@ -19,17 +19,17 @@ @@ -54,11 +54,11 @@ android:id="@+id/tv_media_title_time" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="21dp" - android:layout_marginRight="50dp" + android:layout_marginTop="@dimen/dp_42" + android:layout_marginRight="@dimen/dp_100" android:gravity="center" android:textColor="@color/white" - android:textSize="13dp" + android:textSize="@dimen/dp_26" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml index 19eac6b2f2..913bfc2e39 100644 --- a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml +++ b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml @@ -1,8 +1,8 @@ @@ -21,15 +21,15 @@ android:id="@+id/tv_information_media_content" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginLeft="16dp" - android:layout_marginTop="25dp" - android:layout_marginRight="16dp" + android:layout_marginLeft="@dimen/dp_32" + android:layout_marginTop="@dimen/dp_50" + android:layout_marginRight="@dimen/dp_32" android:ellipsize="end" android:gravity="center_vertical" android:maxLines="1" android:text="@string/main_empty_location" android:textColor="@color/color_3" - android:textSize="18dp" + android:textSize="@dimen/dp_36" android:textStyle="bold" /> + android:textSize="@dimen/dp_26" /> + android:layout_marginTop="@dimen/dp_20" + android:layout_marginLeft="@dimen/dp_32" + android:layout_marginRight="@dimen/dp_32" + android:layout_marginBottom="@dimen/dp_42"> + android:textSize="@dimen/dp_26" /> + android:textSize="@dimen/dp_26" /> @@ -134,9 +134,9 @@ + android:textSize="@dimen/dp_32" /> \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_photo_recycler.xml b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_photo_recycler.xml deleted file mode 100644 index fe8427ad57..0000000000 --- a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_photo_recycler.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - -