Merge remote-tracking branch 'origin/feature/v1.0.0' into feature/v1.0.0

# Conflicts:
#	modules/mogo-module-common/src/main/java/com/mogo/module/common/MogoModulePaths.java
This commit is contained in:
zhangyuanzhen
2020-01-06 14:18:44 +08:00
329 changed files with 8519 additions and 7810 deletions

29
.idea/gradle.xml generated
View File

@@ -3,11 +3,34 @@
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<compositeConfiguration>
<compositeBuild compositeDefinitionSource="SCRIPT" />
</compositeConfiguration>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/foudations" />
<option value="$PROJECT_DIR$/foudations/mogo-commons" />
<option value="$PROJECT_DIR$/foudations/mogo-connection" />
<option value="$PROJECT_DIR$/foudations/mogo-utils" />
<option value="$PROJECT_DIR$/libraries" />
<option value="$PROJECT_DIR$/libraries/map-amap" />
<option value="$PROJECT_DIR$/libraries/mogo-map" />
<option value="$PROJECT_DIR$/libraries/mogo-map-api" />
<option value="$PROJECT_DIR$/modules" />
<option value="$PROJECT_DIR$/modules/mogo-module-apps" />
<option value="$PROJECT_DIR$/modules/mogo-module-common" />
<option value="$PROJECT_DIR$/modules/mogo-module-extensions" />
<option value="$PROJECT_DIR$/modules/mogo-module-main" />
<option value="$PROJECT_DIR$/modules/mogo-module-map" />
<option value="$PROJECT_DIR$/modules/mogo-module-navi" />
<option value="$PROJECT_DIR$/modules/mogo-module-service" />
<option value="$PROJECT_DIR$/modules/mogo-module-tanlu" />
<option value="$PROJECT_DIR$/services" />
<option value="$PROJECT_DIR$/services/mogo-service" />
<option value="$PROJECT_DIR$/services/mogo-service-api" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
<option name="testRunner" value="PLATFORM" />
</GradleProjectSettings>

2
.idea/misc.xml generated
View File

@@ -5,7 +5,7 @@
<configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
</configurations>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@@ -55,19 +55,18 @@ dependencies {
releaseImplementation rootProject.ext.dependencies.leakcanarynoop
releaseImplementation rootProject.ext.dependencies.androidxmultidex
implementation rootProject.ext.dependencies.moduledemo
implementation rootProject.ext.dependencies.moduledemo2
if (Boolean.valueOf(RELEASE)) {
api rootProject.ext.dependencies.modulemain
api rootProject.ext.dependencies.mogocommons
implementation rootProject.ext.dependencies.moduledemo
implementation rootProject.ext.dependencies.moduledemo2
implementation rootProject.ext.dependencies.modulecommon
implementation rootProject.ext.dependencies.moduletanlu
} else {
implementation project(':modules:mogo-module-main')
implementation project(':foudations:mogo-commons')
implementation project(':modules:mogo-module-common')
implementation project(':demo:demo-module-map')
implementation project(':demo:demo-module-map2')
implementation project(':demo:mogo-module-tanlu')
implementation project(':modules:mogo-module-tanlu')
}
}

View File

@@ -7,8 +7,10 @@ import androidx.multidex.MultiDex;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.demo.module.map.DemoConstants;
import com.mogo.demo.module.map2.Demo2Constants;
import com.mogo.module.common.ModuleType;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.tanlu.TanluConstants;
import com.mogo.tanlu.constant.TanluConstants;
/**
* @author congtaowang
@@ -21,9 +23,9 @@ public class MogoApplication extends AbsMogoApplication {
@Override
public void onCreate() {
super.onCreate();
MogoModulePaths.addModule( DemoConstants.TAG );
MogoModulePaths.addModule( Demo2Constants.TAG );
MogoModulePaths.addModule( TanluConstants.TAG );
MogoModulePaths.addModule( new MogoModule( DemoConstants.TAG, "CARD_DEMO" ) );
MogoModulePaths.addModule( new MogoModule( Demo2Constants.TAG, "CARD_DEMO2" ) );
MogoModulePaths.addModule( new MogoModule( TanluConstants.TAG, "CARD_TYPE_ROAD_CODITION" ) );
}
@Override

View File

@@ -9,13 +9,13 @@
</style>
<style name="AppTheme.App" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentStatus">false</item>
<item name="android:statusBarColor" tools:ignore="NewApi">@null</item>
<item name="android:windowEnterAnimation">@null</item>
<item name="android:windowExitAnimation">@null</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:windowTranslucentNavigation">false</item>
<item name="android:windowAnimationStyle">@style/Animation</item>
</style>

View File

@@ -2,6 +2,7 @@
apply from: "config.gradle"
apply from: "javadoc.gradle"
buildscript {
ext.kotlin_version = '1.3.61'
ext.kotlin_version = '1.3.61+'
repositories {
maven {
@@ -81,7 +82,7 @@ afterEvaluate {
}
}
it.configurations.all {
resolutionStrategy.cacheChangingModulesFor 0, 'minutes'
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
}

View File

@@ -51,10 +51,11 @@ ext {
// retrofit
retrofit : "com.squareup.retrofit2:retrofit:2.3.0",
retrofitadapter : "com.squareup.retrofit2:adapter-rxjava:2.1.0",
retrofitadapter : "com.squareup.retrofit2:adapter-rxjava2:2.3.0",
retrofitconvertergson : "com.squareup.retrofit2:converter-gson:2.3.0",
retrofitconverterscalars : "com.squareup.retrofit2:converter-scalars:2.1.0",
// leakcanary
leakcanary : 'com.squareup.leakcanary:leakcanary-android:1.5.4',
leakcanarynoop : 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4',
@@ -87,10 +88,12 @@ ext {
modulecommon : "com.mogo.module:module-common:${MOGO_MODULE_COMMON_VERSION}",
modulemain : "com.mogo.module:module-main:${MOGO_MODULE_MAIN_VERSION}",
modulemap : "com.mogo.module:module-map:${MOGO_MODULE_MAP_VERSION}",
moduleservice : "com.mogo.module:module-service:${MOGO_MODULE_SERVICE_VERSION}",
mogoservice : "com.mogo.service:mogo-service:${MOGO_SERVICE_VERSION}",
mogoserviceapi : "com.mogo.service:mogo-service-api:${MOGO_SERVICE_API_VERSION}",
moduleapps : "com.mogo.module:module-apps:${MOGO_MODULE_APPS_VERSION}",
mogoconnection : "com.mogo.connection:mogo-connection:${MOGO_CONNECTION_VERSION}",
moduleextensions : "com.mogo.module:module-extensions:${MOGO_MODULE_EXTENSIONS_VERSION}",
// 长链
socketsdk : 'com.zhidao.socketsdk:socketsdk:2.1.0',
@@ -99,5 +102,8 @@ ext {
//
jetbrainsannotationsjava5: "org.jetbrains:annotations-java5:15.0",
// 统一登录
accountsdk : "com.zhidao.accoutservice:account-sdk:1.0.0.1@aar",
]
}

View File

@@ -1,2 +0,0 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mogo.demo.module.map" />

View File

@@ -1,364 +0,0 @@
package com.mogo.demo.module.map;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.mogo.commons.mvp.IView;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.mvp.Presenter;
import com.mogo.map.MogoLatLng;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.marker.MogoMarkerOptions;
import com.mogo.map.model.MogoPoi;
import com.mogo.map.search.geo.MogoPoiItem;
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
import com.mogo.map.search.poisearch.MogoPoiResult;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* @author congtaowang
* @since 2019-12-24
* <p>
* 描述:demo测试各种接口
*/
public class DemoCardViewFragment extends MvpFragment< IView, Presenter< IView > >
implements IView,
IMogoMarkerClickListener,
IMogoModuleLifecycle,
IMogoMapListener,
IMogoPoiSearchListener,
IMogoLocationListener {
private static final String TAG = "demo.DemoCardViewProvider";
private Button mAddMarker;
private Button mAddMarkers;
private static IMogoMarker mLastClickedMarker;
private Bitmap mMarkerIcon;
private Bitmap mClickedMarkerIcon;
private TextView mLocInfo;
private TextView mLoc;
private Button m2D3D;
private CheckBox mNaviMode;
private DemoInfoWindowAdapter mDemoInfoWindowAdapter;
private MogoLocation mLocation;
private int position = -1;
@Override
protected int getLayoutId() {
return R.layout.demo_module_card_view;
}
@Override
protected void initViews() {
position = getArguments().getInt( "position" );
mNaviMode = findViewById( R.id.demo_module_id_navi_mode );
ServiceHandler.getPoiSearch().setPoiSearchListener( this );
mLocation = ServiceHandler.getLocationClient().getLastKnowLocation();
m2D3D = findViewById( R.id.demo_module_id_2d3d );
mLocInfo = findViewById( R.id.demo_module_id_loc_info );
mLoc = findViewById( R.id.demo_module_id_loc );
mLoc.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick( View v ) {
ServiceHandler.getLocationClient().start( 4_000L );
}
}
);
mDemoInfoWindowAdapter = new DemoInfoWindowAdapter( getContext(), ServiceHandler.getNavi(), ServiceHandler.getImageloader() );
mMarkerIcon = BitmapFactory.decodeResource( getResources(), R.drawable.ic_search_poi_location );
mClickedMarkerIcon = BitmapFactory.decodeResource( getResources(), R.drawable.ic_search_choice_point );
mAddMarker = findViewById( R.id.demo_module_id_add_marker );
mAddMarker.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
MogoMarkerOptions options = new MogoMarkerOptions()
.icon( mMarkerIcon )
.latitude( 39.974525d )
.owner( DemoConstants.TAG )
.longitude( 116.41733d );
IMogoMarker marker = ServiceHandler.getMarkerManager().addMarker( DemoConstants.TAG, options );
marker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
marker.setOnMarkerClickListener( DemoCardViewFragment.this );
}
} );
mAddMarkers = findViewById( R.id.demo_module_id_add_markers );
mAddMarkers.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ArrayList< MogoMarkerOptions > optionsList = new ArrayList<>();
for ( int i = 0; i < 10; i++ ) {
MogoMarkerOptions options = new MogoMarkerOptions()
.owner( DemoConstants.TAG )
.latitude( 39.974525d + new Random().nextDouble() )
.longitude( 116.41733d + new Random().nextDouble() );
if ( i % 2 == 0 ) {
options.icon( mMarkerIcon );
} else {
options.icon( mDemoInfoWindowAdapter.getMarkerView( options ) );
}
optionsList.add( options );
}
List< IMogoMarker > iMogoMarkers = ServiceHandler.getMarkerManager().addMarkers( DemoConstants.TAG, optionsList, true );
for ( IMogoMarker iMogoMarker : iMogoMarkers ) {
iMogoMarker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
iMogoMarker.setOnMarkerClickListener( DemoCardViewFragment.this );
}
}
} );
findViewById( R.id.demo_module_id_clear ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ServiceHandler.getMarkerManager().removeMarkers( DemoConstants.TAG );
}
} );
m2D3D.setOnClickListener( new View.OnClickListener() {
private EnumMapUI ui = EnumMapUI.NorthUP_2D;
@Override
public void onClick( View v ) {
ServiceHandler.getMapUIController().changeMapMode( ui = ui.next() );
m2D3D.setText( ui.toString() );
}
} );
findViewById( R.id.demo_module_id_current ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ServiceHandler.getMapUIController().moveToCenter( new MogoLatLng( mLocation.getLatitude(), mLocation.getLongitude() ) );
}
} );
findViewById( R.id.demo_module_id_start_navi ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ServiceHandler.getNavi().startNavi( !mNaviMode.isChecked() );
}
} );
findViewById( R.id.demo_module_id_stop_navi ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ServiceHandler.getNavi().stopNavi();
}
} );
findViewById( R.id.demo_module_id_traffic ).setOnClickListener( new View.OnClickListener() {
private boolean enable = true;
@Override
public void onClick( View v ) {
ServiceHandler.getMapUIController().setTrafficEnabled( enable = !enable );
}
} );
findViewById( R.id.demo_module_id_zoom_in ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ServiceHandler.getMapUIController().changeZoom( true );
}
} );
findViewById( R.id.demo_module_id_zoom_out ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ServiceHandler.getMapUIController().changeZoom( false );
}
} );
findViewById( R.id.demo_module_id_day_light ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ServiceHandler.getMapUIController().changeMapMode( EnumMapUI.Type_Light );
}
} );
findViewById( R.id.demo_module_id_day_night ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ServiceHandler.getMapUIController().changeMapMode( EnumMapUI.Type_Night );
}
} );
findViewById( R.id.demo_module_id_display_overlay ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ServiceHandler.getMapUIController().displayOverview();
}
} );
findViewById( R.id.demo_module_id_reverse_lock ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ServiceHandler.getMapUIController().recoverLockMode();
}
} );
ServiceHandler.getLocationClient().addLocationListener( new IMogoLocationListener() {
@Override
public void onLocationChanged( MogoLocation location ) {
mLocation = location;
Logger.d( TAG, "demo模块定位定位间隔4s" );
}
} );
}
@Override
public void onActivityCreated( @Nullable Bundle savedInstanceState ) {
super.onActivityCreated( savedInstanceState );
getViewLifecycleOwner().getLifecycle().addObserver( mPresenter );
}
@Override
public boolean onMarkerClicked( IMogoMarker marker ) {
// if ( mLastClickedMarker != null ) {
// mLastClickedMarker.setIcon( this.mMarkerIcon );
// }
// marker.setIcon( mClickedMarkerIcon );
// mLastClickedMarker = marker;
// marker.showInfoWindow();
return true;
}
@NonNull
@Override
protected Presenter createPresenter() {
return new Presenter( this ) {
};
}
@Override
public void onPerform() {
Logger.d( TAG, "卡片demo有效" );
}
@Override
public void onDisable() {
Logger.d( TAG, "卡片demo无效" );
}
@Override
public void onMapLoaded() {
Logger.d( TAG, "地图加载事件" );
}
@Override
public void onTouch( MotionEvent motionEvent ) {
// Logger.d( TAG, "地图触摸事件" );
}
@Override
public void onPOIClick( MogoPoi poi ) {
if ( poi != null ) {
TipToast.shortTip( poi.getName() );
}
ServiceHandler.getPoiSearch().searchPOIIdAsyn( poi.getPoiId() );
}
@Override
public void onPoiSearched( MogoPoiResult result, int errorCode ) {
}
private IMogoMarker mPoiMarker;
@Override
public void onPoiItemSearched( MogoPoiItem item, int errorCode ) {
if ( item == null ) {
return;
}
if ( mPoiMarker != null ) {
mPoiMarker.destroy();
}
mPoiMarker = ServiceHandler.getMarkerManager().addMarker( DemoConstants.TAG, new MogoMarkerOptions()
.longitude( item.getPoint().lng )
.latitude( item.getPoint().lat )
.icon( mMarkerIcon ) );
if ( mPoiMarker != null ) {
mPoiMarker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
mPoiMarker.setObject( item );
mPoiMarker.showInfoWindow();
}
}
@Override
public void onLocationChanged( MogoLocation location ) {
mLocation = location;
Logger.i( TAG, "接受到的地图模块定位信息" );
if ( mLocInfo != null ) {
if ( location.getErrCode() == 0 ) {
mLocInfo.setText( "当前位置:" + location.getAddress() );
} else {
mLocInfo.setText( location.getErrInfo() );
}
}
}
@Override
public void onMapClick( MogoLatLng latLng ) {
}
@Override
public void onLockMap( boolean isLock ) {
}
@Override
public void onMapModeChanged( EnumMapUI ui ) {
Logger.d( TAG, ui.name() );
}
@Override
public void onDestroyView() {
Logger.w( TAG, "onDestroyView position=" + position );
super.onDestroyView();
getViewLifecycleOwner().getLifecycle().removeObserver( mPresenter );
ServiceHandler.getLocationClient().removeLocationListener( this );
}
}

View File

@@ -1,90 +0,0 @@
package com.mogo.demo.module.map;
import android.content.Context;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import androidx.fragment.app.Fragment;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.map.MogoLatLng;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.model.MogoPoi;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.map.search.geo.MogoPoiItem;
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
import com.mogo.map.search.poisearch.MogoPoiResult;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.utils.logger.Logger;
/**
* @author congtaowang
* @since 2019-12-24
* <p>
* 描述
*/
@Route( path = DemoConstants.TAG )
public class DemoCardViewProvider implements IMogoModuleProvider {
private static final String TAG = "DemoCardViewProvider";
private DemoCardViewFragment fragment;
@Override
public Fragment createFragment( Context context, Bundle data ) {
fragment = new DemoCardViewFragment();
fragment.setArguments( data );
Logger.i( TAG, "createFragment" );
return fragment;
}
@Override
public void init( Context context ) {
ServiceHandler.init( context );
}
@Override
public String getModuleName() {
return DemoConstants.TAG;
}
@Override
public View createView( Context context ) {
// don't
return null;
}
@Override
public int getType() {
return IMogoModuleProvider.TYPE_FRAGMENT;
}
@Override
public IMogoNaviListener getNaviListener() {
return null;
}
@Override
public IMogoModuleLifecycle getCardLifecycle() {
return fragment;
}
@Override
public IMogoMapListener getMapListener() {
return fragment;
}
@Override
public IMogoLocationListener getLocationListener() {
return fragment;
}
}

View File

@@ -1,14 +0,0 @@
package com.mogo.demo.module.map;
import com.mogo.module.common.MogoModulePaths;
/**
* @author congtaowang
* @since 2019-12-24
* <p>
* 描述
*/
public class DemoConstants {
public static final String TAG = "/demo/ui";
}

View File

@@ -1,132 +0,0 @@
package com.mogo.demo.module.map;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.mogo.map.marker.IMogoInfoWindowAdapter;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.MogoMarkerOptions;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.navi.MogoNaviConfig;
import com.mogo.map.search.geo.MogoPoiItem;
import com.mogo.service.imageloader.IMogoImageLoaderListener;
import com.mogo.service.imageloader.IMogoImageloader;
import com.mogo.service.imageloader.MogoImageView;
import com.mogo.utils.WindowUtils;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.Util;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author congtaowang
* @since 2019-12-24
* <p>
* 描述
*/
public class DemoInfoWindowAdapter implements IMogoInfoWindowAdapter {
private static final String TAG = "DemoInfoWindowAdapter";
private Context mContext;
private IMogoNavi mNavi;
private IMogoImageloader mImageloader;
public DemoInfoWindowAdapter( Context mContext, IMogoNavi mNavi, IMogoImageloader iMogoImageloader ) {
this.mContext = mContext;
this.mNavi = mNavi;
this.mImageloader = iMogoImageloader;
}
@Override
public View getInfoWindow( IMogoMarker marker ) {
if ( marker.getObject() instanceof MogoPoiItem ) {
View view = LayoutInflater.from( mContext ).inflate( R.layout.demo_module_demo_poi_info_window, null );
renderPoiVew( view, marker, ( ( MogoPoiItem ) marker.getObject() ) );
return view;
} else {
View view = LayoutInflater.from( mContext ).inflate( R.layout.demo_module_demo_info_window, null );
renderView( view, marker );
return view;
}
}
private void renderView( View view, final IMogoMarker marker ) {
final TextView time = view.findViewById( R.id.demo_module_id_iw_time );
Button refresh = view.findViewById( R.id.demo_module_id_iw_refresh );
time.setText( new SimpleDateFormat( "yyyyMMdd HHMMSS" ).format( new Date() ) );
refresh.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
marker.showInfoWindow();
}
} );
Button navi2 = view.findViewById( R.id.demo_module_id_iw_navito );
navi2.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
if ( mNavi != null ) {
mNavi.naviTo( marker.getPosition(), new MogoNaviConfig() );
}
}
} );
Button stopNavi = view.findViewById( R.id.demo_module_id_iw_navi_stop );
stopNavi.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
if ( mNavi != null ) {
mNavi.stopNavi();
}
}
} );
}
private void renderPoiVew( View view, final IMogoMarker marker, MogoPoiItem item ) {
final TextView time = view.findViewById( R.id.demo_module_id_iw_poi_title );
time.setText( item.getTitle() );
Button navi2 = view.findViewById( R.id.demo_module_id_iw_poi_navito );
navi2.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
if ( mNavi != null ) {
mNavi.naviTo( marker.getPosition(), new MogoNaviConfig() );
}
marker.hideInfoWindow();
marker.remove();
}
} );
}
public View getMarkerView( final MogoMarkerOptions options ) {
final View view = LayoutInflater.from( mContext ).inflate( R.layout.demo_module_demo_bubble_marker, null );
final MogoImageView icon = view.findViewById( R.id.icon );
mImageloader.displayImage( "http://imgnews.gmw.cn/attachement/jpg/site2/20191229/00d86176ed0b1f71f4580f.jpg", icon, WindowUtils.dip2px( mContext, 50 ), WindowUtils.dip2px( mContext, 50 ),
new IMogoImageLoaderListener() {
@Override
public void onStart() {
}
@Override
public void onCompleted( Bitmap bitmap ) {
// 刷新图标
Logger.d( TAG, "loaded." );
options.icon( view );
options.notifyObservers();
}
@Override
public void onFailure( Exception e ) {
}
} );
return view;
}
}

View File

@@ -1,73 +0,0 @@
package com.mogo.demo.module.map;
import android.content.Context;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerManager;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.search.poisearch.IMogoPoiSearch;
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.imageloader.IMogoImageloader;
import com.mogo.service.map.IMogoMapService;
/**
* @author congtaowang
* @since 2019-12-30
* <p>
* 持有服务接口实例
*/
public class ServiceHandler {
private static IMogoMapService mMapService;
private static IMogoPoiSearch mPoiSearch;
private static IMogoLocationClient mLocationClient;
private static IMogoMarkerManager mMarkerManager;
private static IMogoNavi mNavi;
private static IMogoMapUIController mMapUIController;
private static IMogoImageloader mImageloader;
public static void init( Context context ) {
mMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation( context );
mMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation( context );
mImageloader = ( IMogoImageloader ) ARouter.getInstance().build( MogoServicePaths.PATH_UTILS_IMAGE_LOADER ).navigation( context );
mPoiSearch = mMapService.getPoiSearch( context, new MogoPoiSearchQuery() );
mLocationClient = mMapService.getLocationClient( context );
mMarkerManager = mMapService.getMarkerManager( context );
mNavi = mMapService.getNavi( context );
mMapUIController = mMapService.getMapUIController();
}
public static IMogoMapService getMapService() {
return mMapService;
}
public static IMogoPoiSearch getPoiSearch() {
return mPoiSearch;
}
public static IMogoLocationClient getLocationClient() {
return mLocationClient;
}
public static IMogoMarkerManager getMarkerManager() {
return mMarkerManager;
}
public static IMogoNavi getNavi() {
return mNavi;
}
public static IMogoMapUIController getMapUIController() {
return mMapUIController;
}
public static IMogoImageloader getImageloader() {
return mImageloader;
}
}

View File

@@ -1,152 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff0000"
android:orientation="vertical">
<TextView
android:id="@+id/demo_module_id_loc_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/demo_module_id_add_marker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="添加一个覆盖物" />
<Button
android:id="@+id/demo_module_id_add_markers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="添加多个覆盖物" />
</LinearLayout>
<Button
android:id="@+id/demo_module_id_clear"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="清空覆盖物" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/demo_module_id_loc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="定位" />
<Button
android:id="@+id/demo_module_id_current"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="当前位置" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/demo_module_id_2d3d"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2D/3D" />
<Button
android:id="@+id/demo_module_id_traffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="交通态势" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/demo_module_id_start_navi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始导航" />
<Button
android:id="@+id/demo_module_id_stop_navi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="停止导航" />
<CheckBox
android:id="@+id/demo_module_id_navi_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模拟导航" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/demo_module_id_zoom_in"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="放大" />
<Button
android:id="@+id/demo_module_id_zoom_out"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="缩小" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/demo_module_id_day_light"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="白天" />
<Button
android:id="@+id/demo_module_id_day_night"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="黑夜" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/demo_module_id_display_overlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="全览" />
<Button
android:id="@+id/demo_module_id_reverse_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="继续导航" />
</LinearLayout>
</LinearLayout>

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.mogo.service.imageloader.MogoImageView
android:id="@+id/icon"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:miv_placeHolder="@drawable/ic_amap_app_main_current_location_bkg"
app:miv_shape="circle" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_search_poi_location"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/icon" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="#ff0000">
<TextView
android:id="@+id/demo_module_id_iw_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_refresh"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="点击刷新当前时间"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_navito"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="70dp"
android:text="导航去这里"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_navi_stop"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="120dp"
android:text="停止导航"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="#ff0000">
<TextView
android:id="@+id/demo_module_id_iw_poi_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_poi_navito"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="70dp"
android:text="导航去这里"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,3 +0,0 @@
<resources>
<string name="app_name">demo_module_map</string>
</resources>

View File

@@ -1,388 +0,0 @@
package com.mogo.demo.module.map2;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.mvp.IView;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.mvp.Presenter;
import com.mogo.map.MogoLatLng;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.marker.MogoMarkerOptions;
import com.mogo.map.model.MogoPoi;
import com.mogo.map.search.geo.MogoPoiItem;
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
import com.mogo.map.search.poisearch.MogoPoiResult;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.connection.IMogoOnMessageListener;
import com.mogo.service.connection.IMogoSocketManager;
import com.mogo.service.connection.MsgBody;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* @author congtaowang
* @since 2019-12-24
* <p>
* 描述:demo测试各种接口
*/
public class Demo2CardViewFragment extends MvpFragment< IView, Presenter< IView > >
implements IView,
IMogoMarkerClickListener,
IMogoModuleLifecycle,
IMogoMapListener,
IMogoPoiSearchListener,
IMogoLocationListener {
private static final String TAG = "demo.Demo2CardViewProvider";
private Button mAddMarker;
private Button mAddMarkers;
private Bitmap mMarkerIcon;
private Bitmap mClickedMarkerIcon;
private TextView mLocInfo;
private TextView mLoc;
private Button m2D3D;
private CheckBox mNaviMode;
private IMogoMarker mLastClickedMarker;
private Demo2InfoWindowAdapter mDemoInfoWindowAdapter;
private MogoLocation mLocation;
private IMogoSocketManager mMogoSocketManager;
private int position = -1;
@Override
protected int getLayoutId() {
return R.layout.demo2_module_card_view;
}
@Override
protected void initViews() {
position = getArguments().getInt( "position" );
mNaviMode = findViewById( R.id.demo_module_id_navi_mode );
Service2Handler.getPoiSearch().setPoiSearchListener( this );
mLocation = Service2Handler.getLocationClient().getLastKnowLocation();
m2D3D = findViewById( R.id.demo_module_id_2d3d );
mLocInfo = findViewById( R.id.demo_module_id_loc_info );
mLoc = findViewById( R.id.demo_module_id_loc );
mLoc.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick( View v ) {
Service2Handler.getLocationClient().start( 4_000L );
}
}
);
mDemoInfoWindowAdapter = new Demo2InfoWindowAdapter( getContext(), Service2Handler.getNavi(), Service2Handler.getImageloader() );
mMarkerIcon = BitmapFactory.decodeResource( getResources(), R.drawable.ic_search_poi_location );
mClickedMarkerIcon = BitmapFactory.decodeResource( getResources(), R.drawable.ic_search_choice_point );
mAddMarker = findViewById( R.id.demo_module_id_add_marker );
mAddMarker.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
MogoMarkerOptions options = new MogoMarkerOptions()
.icon( mMarkerIcon )
.latitude( 39.974525d )
.owner( Demo2Constants.TAG )
.longitude( 116.41733d );
IMogoMarker marker = Service2Handler.getMarkerManager().addMarker( Demo2Constants.TAG, options );
marker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
marker.setOnMarkerClickListener( Demo2CardViewFragment.this );
}
} );
mAddMarkers = findViewById( R.id.demo_module_id_add_markers );
mAddMarkers.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
ArrayList< MogoMarkerOptions > optionsList = new ArrayList<>();
for ( int i = 0; i < 10; i++ ) {
MogoMarkerOptions options = new MogoMarkerOptions()
.owner( Demo2Constants.TAG )
.latitude( 39.974525d + new Random().nextDouble() )
.longitude( 116.41733d + new Random().nextDouble() );
if ( i % 2 == 0 ) {
options.icon( mMarkerIcon );
} else {
options.icon( mDemoInfoWindowAdapter.getMarkerView( options ) );
}
optionsList.add( options );
}
List< IMogoMarker > iMogoMarkers = Service2Handler.getMarkerManager().addMarkers( Demo2Constants.TAG, optionsList, true );
for ( IMogoMarker iMogoMarker : iMogoMarkers ) {
iMogoMarker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
iMogoMarker.setOnMarkerClickListener( Demo2CardViewFragment.this );
}
}
} );
findViewById( R.id.demo_module_id_clear ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
Service2Handler.getMarkerManager().removeMarkers( Demo2Constants.TAG );
}
} );
m2D3D.setOnClickListener( new View.OnClickListener() {
private EnumMapUI ui = EnumMapUI.NorthUP_2D;
@Override
public void onClick( View v ) {
Service2Handler.getMapUIController().changeMapMode( ui = ui.next() );
m2D3D.setText( ui.toString() );
}
} );
findViewById( R.id.demo_module_id_current ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
Service2Handler.getMapUIController().moveToCenter( new MogoLatLng( mLocation.getLatitude(), mLocation.getLongitude() ) );
}
} );
findViewById( R.id.demo_module_id_start_navi ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
Service2Handler.getNavi().startNavi( !mNaviMode.isChecked() );
}
} );
findViewById( R.id.demo_module_id_stop_navi ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
Service2Handler.getNavi().stopNavi();
}
} );
findViewById( R.id.demo_module_id_traffic ).setOnClickListener( new View.OnClickListener() {
private boolean enable = true;
@Override
public void onClick( View v ) {
Service2Handler.getMapUIController().setTrafficEnabled( enable = !enable );
}
} );
findViewById( R.id.demo_module_id_zoom_in ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
Service2Handler.getMapUIController().changeZoom( true );
}
} );
findViewById( R.id.demo_module_id_zoom_out ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
Service2Handler.getMapUIController().changeZoom( false );
}
} );
findViewById( R.id.demo_module_id_day_light ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
Service2Handler.getMapUIController().changeMapMode( EnumMapUI.Type_Light );
}
} );
findViewById( R.id.demo_module_id_day_night ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
Service2Handler.getMapUIController().changeMapMode( EnumMapUI.Type_Night );
}
} );
findViewById( R.id.demo_module_id_display_overlay ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
Service2Handler.getMapUIController().displayOverview();
}
} );
findViewById( R.id.demo_module_id_reverse_lock ).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
Service2Handler.getMapUIController().recoverLockMode();
}
} );
Service2Handler.getLocationClient().addLocationListener( new IMogoLocationListener() {
@Override
public void onLocationChanged( MogoLocation location ) {
mLocation = location;
Logger.d( TAG, "demo模块定位定位间隔4s" );
}
} );
mMogoSocketManager = ( IMogoSocketManager ) ARouter.getInstance().build( MogoServicePaths.PATH_SOCKET_MANAGER ).navigation();
mMogoSocketManager.registerOnMessageListener( 123, new IMogoOnMessageListener() {
@Override
public Class target() {
return null;
}
@Override
public void onMsgReceived( Object obj ) {
}
} );
}
@Override
public void onActivityCreated( @Nullable Bundle savedInstanceState ) {
super.onActivityCreated( savedInstanceState );
getViewLifecycleOwner().getLifecycle().addObserver( mPresenter );
}
@Override
public boolean onMarkerClicked( IMogoMarker marker ) {
// if ( mLastClickedMarker != null ) {
// mLastClickedMarker.setIcon( this.mMarkerIcon );
// }
// marker.setIcon( mClickedMarkerIcon );
// mLastClickedMarker = marker;
// marker.showInfoWindow();
return true;
}
@NonNull
@Override
protected Presenter createPresenter() {
return new Presenter( this ) {
};
}
@Override
public void onPerform() {
Logger.d( TAG, "卡片2有效" );
}
@Override
public void onDisable() {
Logger.d( TAG, "卡片2无效" );
}
@Override
public void onMapLoaded() {
Logger.d( TAG, "地图加载事件" );
}
@Override
public void onTouch( MotionEvent motionEvent ) {
// Logger.d( TAG, "地图触摸事件" );
}
@Override
public void onPOIClick( MogoPoi poi ) {
if ( poi != null ) {
TipToast.shortTip( poi.getName() );
}
Service2Handler.getPoiSearch().searchPOIIdAsyn( poi.getPoiId() );
}
@Override
public void onPoiSearched( MogoPoiResult result, int errorCode ) {
}
private IMogoMarker mPoiMarker;
@Override
public void onPoiItemSearched( MogoPoiItem item, int errorCode ) {
if ( item == null ) {
return;
}
if ( mPoiMarker != null ) {
mPoiMarker.destroy();
}
mPoiMarker = Service2Handler.getMarkerManager().addMarker( Demo2Constants.TAG, new MogoMarkerOptions()
.longitude( item.getPoint().lng )
.latitude( item.getPoint().lat )
.icon( mMarkerIcon ) );
if ( mPoiMarker != null ) {
mPoiMarker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
mPoiMarker.setObject( item );
mPoiMarker.showInfoWindow();
}
}
@Override
public void onLocationChanged( MogoLocation location ) {
mLocation = location;
Logger.i( TAG, "接受到的地图模块定位信息" );
if ( mLocInfo != null ) {
if ( location.getErrCode() == 0 ) {
mLocInfo.setText( "当前位置:" + location.getAddress() );
} else {
mLocInfo.setText( location.getErrInfo() );
}
}
}
@Override
public void onMapClick( MogoLatLng latLng ) {
}
@Override
public void onLockMap( boolean isLock ) {
}
@Override
public void onMapModeChanged( EnumMapUI ui ) {
Logger.d( TAG, ui.name() );
}
@Override
public void onDestroyView() {
Logger.w( TAG, "onDestroyView position=" + position );
super.onDestroyView();
getViewLifecycleOwner().getLifecycle().removeObserver( mPresenter );
Service2Handler.getLocationClient().removeLocationListener( this );
if ( mLastClickedMarker != null ) {
mLastClickedMarker.destroy();
mLastClickedMarker = null;
}
}
}

View File

@@ -1,12 +0,0 @@
package com.mogo.demo.module.map2;
/**
* @author congtaowang
* @since 2019-12-24
* <p>
* 描述
*/
public class Demo2Constants {
public static final String TAG = "/demo2/ui";
}

View File

@@ -1,131 +0,0 @@
package com.mogo.demo.module.map2;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.mogo.map.marker.IMogoInfoWindowAdapter;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.MogoMarkerOptions;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.navi.MogoNaviConfig;
import com.mogo.map.search.geo.MogoPoiItem;
import com.mogo.service.imageloader.IMogoImageLoaderListener;
import com.mogo.service.imageloader.IMogoImageloader;
import com.mogo.service.imageloader.MogoImageView;
import com.mogo.utils.WindowUtils;
import com.mogo.utils.logger.Logger;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author congtaowang
* @since 2019-12-24
* <p>
* 描述
*/
public class Demo2InfoWindowAdapter implements IMogoInfoWindowAdapter {
private static final String TAG = "DemoInfoWindowAdapter";
private Context mContext;
private IMogoNavi mNavi;
private IMogoImageloader mImageloader;
public Demo2InfoWindowAdapter( Context mContext, IMogoNavi mNavi, IMogoImageloader iMogoImageloader ) {
this.mContext = mContext;
this.mNavi = mNavi;
this.mImageloader = iMogoImageloader;
}
@Override
public View getInfoWindow( IMogoMarker marker ) {
if ( marker.getObject() instanceof MogoPoiItem ) {
View view = LayoutInflater.from( mContext ).inflate( R.layout.demo2_module_demo_poi_info_window, null );
renderPoiVew( view, marker, ( ( MogoPoiItem ) marker.getObject() ) );
return view;
} else {
View view = LayoutInflater.from( mContext ).inflate( R.layout.demo2_module_demo_info_window, null );
renderView( view, marker );
return view;
}
}
private void renderView( View view, final IMogoMarker marker ) {
final TextView time = view.findViewById( R.id.demo_module_id_iw_time );
Button refresh = view.findViewById( R.id.demo_module_id_iw_refresh );
time.setText( new SimpleDateFormat( "yyyyMMdd HHMMSS" ).format( new Date() ) );
refresh.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
marker.showInfoWindow();
}
} );
Button navi2 = view.findViewById( R.id.demo_module_id_iw_navito );
navi2.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
if ( mNavi != null ) {
mNavi.naviTo( marker.getPosition(), new MogoNaviConfig() );
}
}
} );
Button stopNavi = view.findViewById( R.id.demo_module_id_iw_navi_stop );
stopNavi.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
if ( mNavi != null ) {
mNavi.stopNavi();
}
}
} );
}
private void renderPoiVew( View view, final IMogoMarker marker, MogoPoiItem item ) {
final TextView time = view.findViewById( R.id.demo_module_id_iw_poi_title );
time.setText( item.getTitle() );
Button navi2 = view.findViewById( R.id.demo_module_id_iw_poi_navito );
navi2.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
if ( mNavi != null ) {
mNavi.naviTo( marker.getPosition(), new MogoNaviConfig() );
}
marker.hideInfoWindow();
marker.remove();
}
} );
}
public View getMarkerView( final MogoMarkerOptions options ) {
final View view = LayoutInflater.from( mContext ).inflate( R.layout.demo2_module_demo_bubble_marker, null );
final MogoImageView icon = view.findViewById( R.id.icon );
mImageloader.displayImage( "http://imgnews.gmw.cn/attachement/jpg/site2/20191229/00d86176ed0b1f71f4580f.jpg", icon, WindowUtils.dip2px( mContext, 50 ), WindowUtils.dip2px( mContext, 50 ),
new IMogoImageLoaderListener() {
@Override
public void onStart() {
}
@Override
public void onCompleted( Bitmap bitmap ) {
// 刷新图标
Logger.d( TAG, "loaded." );
options.icon( view );
options.notifyObservers();
}
@Override
public void onFailure( Exception e ) {
}
} );
return view;
}
}

View File

@@ -1,72 +0,0 @@
package com.mogo.demo.module.map2;
import android.content.Context;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.marker.IMogoMarkerManager;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.search.poisearch.IMogoPoiSearch;
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.imageloader.IMogoImageloader;
import com.mogo.service.map.IMogoMapService;
/**
* @author congtaowang
* @since 2019-12-30
* <p>
* 持有服务接口实例
*/
public class Service2Handler {
private static IMogoMapService mMapService;
private static IMogoPoiSearch mPoiSearch;
private static IMogoLocationClient mLocationClient;
private static IMogoMarkerManager mMarkerManager;
private static IMogoNavi mNavi;
private static IMogoMapUIController mMapUIController;
private static IMogoImageloader mImageloader;
public static void init( Context context ) {
mMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation( context );
mMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation( context );
mImageloader = ( IMogoImageloader ) ARouter.getInstance().build( MogoServicePaths.PATH_UTILS_IMAGE_LOADER ).navigation( context );
mPoiSearch = mMapService.getPoiSearch( context, new MogoPoiSearchQuery() );
mLocationClient = mMapService.getLocationClient( context );
mMarkerManager = mMapService.getMarkerManager( context );
mNavi = mMapService.getNavi( context );
mMapUIController = mMapService.getMapUIController();
}
public static IMogoMapService getMapService() {
return mMapService;
}
public static IMogoPoiSearch getPoiSearch() {
return mPoiSearch;
}
public static IMogoLocationClient getLocationClient() {
return mLocationClient;
}
public static IMogoMarkerManager getMarkerManager() {
return mMarkerManager;
}
public static IMogoNavi getNavi() {
return mNavi;
}
public static IMogoMapUIController getMapUIController() {
return mMapUIController;
}
public static IMogoImageloader getImageloader() {
return mImageloader;
}
}

View File

@@ -1,165 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff0000"
android:orientation="vertical">
<TextView
android:id="@+id/demo_module_id_loc_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/demo_module_id_add_marker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="添加一个覆盖物" />
<Button
android:id="@+id/demo_module_id_add_markers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="添加多个覆盖物" />
</LinearLayout>
<Button
android:id="@+id/demo_module_id_clear"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="清空覆盖物" />
<Button
android:id="@+id/demo_module_id_send_msg"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="发送长连接消息" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_loc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="定位" />
<Button
android:id="@+id/demo_module_id_current"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="当前位置" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_2d3d"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2D/3D" />
<Button
android:id="@+id/demo_module_id_traffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="交通态势" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_start_navi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始导航" />
<Button
android:id="@+id/demo_module_id_stop_navi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="停止导航" />
<CheckBox
android:id="@+id/demo_module_id_navi_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模拟导航" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_zoom_in"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="放大" />
<Button
android:id="@+id/demo_module_id_zoom_out"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="缩小" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_day_light"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="白天" />
<Button
android:id="@+id/demo_module_id_day_night"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="黑夜" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_display_overlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="全览" />
<Button
android:id="@+id/demo_module_id_reverse_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="继续导航" />
</LinearLayout>
</LinearLayout>

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.mogo.service.imageloader.MogoImageView
android:id="@+id/icon"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:miv_placeHolder="@drawable/ic_amap_app_main_current_location_bkg"
app:miv_shape="circle" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_search_poi_location"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/icon" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="#ff0000">
<TextView
android:id="@+id/demo_module_id_iw_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_refresh"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="点击刷新当前时间"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_navito"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="70dp"
android:text="导航去这里"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_navi_stop"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="120dp"
android:text="停止导航"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="#ff0000">
<TextView
android:id="@+id/demo_module_id_iw_poi_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_poi_navito"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="70dp"
android:text="导航去这里"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,3 +0,0 @@
<resources>
<string name="app_name">demo-module-map2</string>
</resources>

View File

@@ -1,365 +0,0 @@
package com.mogo.tanlu;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.mogo.commons.mvp.IView;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.mvp.Presenter;
import com.mogo.map.MogoLatLng;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.marker.MogoMarkerOptions;
import com.mogo.map.model.MogoPoi;
import com.mogo.map.search.geo.MogoPoiItem;
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
import com.mogo.map.search.poisearch.MogoPoiResult;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* @author lixiaopeng
* @description
* @since 2020-01-02
*/
public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
implements IView,
IMogoMarkerClickListener,
IMogoModuleLifecycle,
IMogoMapListener,
IMogoPoiSearchListener,
IMogoLocationListener {
private static final String TAG = "TanluCardViewFragment";
private Button mAddMarker;
private Button mAddMarkers;
private Bitmap mMarkerIcon;
private Bitmap mClickedMarkerIcon;
private TextView mLocInfo;
private TextView mLoc;
private Button m2D3D;
private CheckBox mNaviMode;
private IMogoMarker mLastClickedMarker;
private TanluInfoWindowAdapter mDemoInfoWindowAdapter;
private MogoLocation mLocation;
private int position = -1;
@Override
protected int getLayoutId() {
return R.layout.tanlu_card_view;
}
@Override
protected void initViews() {
position = getArguments().getInt("position");
mNaviMode = findViewById(R.id.demo_module_id_navi_mode);
TanluServiceHandler.getPoiSearch().setPoiSearchListener(this);
mLocation = TanluServiceHandler.getLocationClient().getLastKnowLocation();
m2D3D = findViewById(R.id.demo_module_id_2d3d);
mLocInfo = findViewById(R.id.demo_module_id_loc_info);
mLoc = findViewById(R.id.demo_module_id_loc);
mLoc.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
TanluServiceHandler.getLocationClient().start(4_000L);
}
}
);
mDemoInfoWindowAdapter = new TanluInfoWindowAdapter(getContext(), TanluServiceHandler.getNavi(), TanluServiceHandler.getImageloader());
mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_search_poi_location);
mClickedMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_search_choice_point);
mAddMarker = findViewById(R.id.demo_module_id_add_marker);
mAddMarker.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MogoMarkerOptions options = new MogoMarkerOptions()
.icon(mMarkerIcon)
.latitude(39.974525d)
.owner(TanluConstants.TAG)
.longitude(116.41733d);
IMogoMarker marker = TanluServiceHandler.getMarkerManager().addMarker(TanluConstants.TAG, options);
marker.setInfoWindowAdapter(mDemoInfoWindowAdapter);
marker.setOnMarkerClickListener(TanluCardViewFragment.this);
}
});
mAddMarkers = findViewById(R.id.demo_module_id_add_markers);
mAddMarkers.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ArrayList<MogoMarkerOptions> optionsList = new ArrayList<>();
for (int i = 0; i < 10; i++) {
MogoMarkerOptions options = new MogoMarkerOptions()
.owner(TanluConstants.TAG)
.latitude(39.974525d + new Random().nextDouble())
.longitude(116.41733d + new Random().nextDouble());
if (i % 2 == 0) {
options.icon(mMarkerIcon);
} else {
options.icon(mDemoInfoWindowAdapter.getMarkerView(options));
}
optionsList.add(options);
}
List<IMogoMarker> iMogoMarkers = TanluServiceHandler.getMarkerManager().addMarkers(TanluConstants.TAG, optionsList, true);
for (IMogoMarker iMogoMarker : iMogoMarkers) {
iMogoMarker.setInfoWindowAdapter(mDemoInfoWindowAdapter);
iMogoMarker.setOnMarkerClickListener(TanluCardViewFragment.this);
}
}
});
findViewById(R.id.demo_module_id_clear).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TanluServiceHandler.getMarkerManager().removeMarkers(TanluConstants.TAG);
}
});
m2D3D.setOnClickListener(new View.OnClickListener() {
private EnumMapUI ui = EnumMapUI.NorthUP_2D;
@Override
public void onClick(View v) {
TanluServiceHandler.getMapUIController().changeMapMode(ui = ui.next());
m2D3D.setText(ui.toString());
}
});
findViewById(R.id.demo_module_id_current).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TanluServiceHandler.getMapUIController().moveToCenter(new MogoLatLng(mLocation.getLatitude(), mLocation.getLongitude()));
}
});
findViewById(R.id.demo_module_id_start_navi).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TanluServiceHandler.getNavi().startNavi(!mNaviMode.isChecked());
}
});
findViewById(R.id.demo_module_id_stop_navi).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TanluServiceHandler.getNavi().stopNavi();
}
});
findViewById(R.id.demo_module_id_traffic).setOnClickListener(new View.OnClickListener() {
private boolean enable = true;
@Override
public void onClick(View v) {
TanluServiceHandler.getMapUIController().setTrafficEnabled(enable = !enable);
}
});
findViewById(R.id.demo_module_id_zoom_in).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TanluServiceHandler.getMapUIController().changeZoom(true);
}
});
findViewById(R.id.demo_module_id_zoom_out).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TanluServiceHandler.getMapUIController().changeZoom(false);
}
});
findViewById(R.id.demo_module_id_day_light).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TanluServiceHandler.getMapUIController().changeMapMode(EnumMapUI.Type_Light);
}
});
findViewById(R.id.demo_module_id_day_night).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TanluServiceHandler.getMapUIController().changeMapMode(EnumMapUI.Type_Night);
}
});
findViewById(R.id.demo_module_id_display_overlay).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TanluServiceHandler.getMapUIController().displayOverview();
}
});
findViewById(R.id.demo_module_id_reverse_lock).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TanluServiceHandler.getMapUIController().recoverLockMode();
}
});
TanluServiceHandler.getLocationClient().addLocationListener(new IMogoLocationListener() {
@Override
public void onLocationChanged(MogoLocation location) {
mLocation = location;
Logger.d(TAG, "demo模块定位定位间隔4s");
}
});
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getViewLifecycleOwner().getLifecycle().addObserver(mPresenter);
}
@Override
public boolean onMarkerClicked(IMogoMarker marker) {
// if ( mLastClickedMarker != null ) {
// mLastClickedMarker.setIcon( this.mMarkerIcon );
// }
// marker.setIcon( mClickedMarkerIcon );
// mLastClickedMarker = marker;
// marker.showInfoWindow();
return true;
}
@NonNull
@Override
protected Presenter createPresenter() {
return new Presenter(this) {
};
}
@Override
public void onPerform() {
Logger.d(TAG, "卡片2有效");
}
@Override
public void onDisable() {
Logger.d(TAG, "卡片2无效");
}
@Override
public void onMapLoaded() {
Logger.d(TAG, "地图加载事件");
}
@Override
public void onTouch(MotionEvent motionEvent) {
// Logger.d( TAG, "地图触摸事件" );
}
@Override
public void onPOIClick(MogoPoi poi) {
if (poi != null) {
TipToast.shortTip(poi.getName());
}
TanluServiceHandler.getPoiSearch().searchPOIIdAsyn(poi.getPoiId());
}
@Override
public void onPoiSearched(MogoPoiResult result, int errorCode) {
}
private IMogoMarker mPoiMarker;
@Override
public void onPoiItemSearched(MogoPoiItem item, int errorCode) {
if (item == null) {
return;
}
if (mPoiMarker != null) {
mPoiMarker.destroy();
}
mPoiMarker = TanluServiceHandler.getMarkerManager().addMarker(TanluConstants.TAG, new MogoMarkerOptions()
.longitude(item.getPoint().lng)
.latitude(item.getPoint().lat)
.icon(mMarkerIcon));
if (mPoiMarker != null) {
mPoiMarker.setInfoWindowAdapter(mDemoInfoWindowAdapter);
mPoiMarker.setObject(item);
mPoiMarker.showInfoWindow();
}
}
@Override
public void onLocationChanged(MogoLocation location) {
mLocation = location;
Logger.i(TAG, "接受到的地图模块定位信息");
if (mLocInfo != null) {
if (location.getErrCode() == 0) {
mLocInfo.setText("当前位置:" + location.getAddress());
} else {
mLocInfo.setText(location.getErrInfo());
}
}
}
@Override
public void onMapClick(MogoLatLng latLng) {
}
@Override
public void onLockMap(boolean isLock) {
}
@Override
public void onMapModeChanged(EnumMapUI ui) {
Logger.d(TAG, ui.name());
}
@Override
public void onDestroyView() {
Logger.w(TAG, "onDestroyView position=" + position);
super.onDestroyView();
getViewLifecycleOwner().getLifecycle().removeObserver(mPresenter);
TanluServiceHandler.getLocationClient().removeLocationListener(this);
if (mLastClickedMarker != null) {
mLastClickedMarker.destroy();
mLastClickedMarker = null;
}
}
}

View File

@@ -1,157 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_1F7FFF"
android:orientation="vertical">
<TextView
android:id="@+id/demo_module_id_loc_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/demo_module_id_add_marker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一个" />
<Button
android:id="@+id/demo_module_id_add_markers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一个" />
</LinearLayout>
<Button
android:id="@+id/demo_module_id_clear"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="播放" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_loc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="定位" />
<Button
android:id="@+id/demo_module_id_current"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="当前位置" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_2d3d"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2D/3D" />
<Button
android:id="@+id/demo_module_id_traffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="交通态势" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_start_navi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始导航" />
<Button
android:id="@+id/demo_module_id_stop_navi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="停止导航" />
<CheckBox
android:id="@+id/demo_module_id_navi_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模拟导航" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_zoom_in"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="放大" />
<Button
android:id="@+id/demo_module_id_zoom_out"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="缩小" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_day_light"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="白天" />
<Button
android:id="@+id/demo_module_id_day_night"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="黑夜" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_display_overlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="全览" />
<Button
android:id="@+id/demo_module_id_reverse_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="继续导航" />
</LinearLayout>
</LinearLayout>

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#000000</color>
<color name="colorPrimaryDark">#000000</color>
<color name="colorAccent">#1F7FFF</color>
<color name="white">#FFFFFF</color>
<color name="white_50">#80FFFFFF</color>
<color name="color_1E212C">#1E212C</color>
<color name="color_1F7FFF">#1F7FFF</color>
<color name="color_171F7FFF">#171F7FFF</color>
<color name="color_4d191C25">#4d191C25</color>
<color name="color_99191C25">#99191C25</color>
<color name="color_222533">#222533</color>
<color name="color_4B5369">#4B5369</color>
<color name="color_9A9A9A">#9A9A9A</color>
<color name="color_A2A2A2">#A2A2A2</color>
</resources>

View File

@@ -1,3 +0,0 @@
<resources>
<string name="app_name">tanlu</string>
</resources>

View File

@@ -1,18 +0,0 @@
package com.alibaba.android.arouter.routes;
import com.alibaba.android.arouter.facade.enums.RouteType;
import com.alibaba.android.arouter.facade.model.RouteMeta;
import com.alibaba.android.arouter.facade.template.IRouteGroup;
import com.zhidao.tanlu.TanluCardViewProvider;
import java.lang.Override;
import java.lang.String;
import java.util.Map;
/**
* DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */
public class ARouter$$Group$$tanlu implements IRouteGroup {
@Override
public void loadInto(Map<String, RouteMeta> atlas) {
atlas.put("/tanlu/ui", RouteMeta.build(RouteType.PROVIDER, TanluCardViewProvider.class, "/tanlu/ui", "tanlu", null, -1, -2147483648));
}
}

View File

@@ -1,18 +0,0 @@
package com.alibaba.android.arouter.routes;
import com.alibaba.android.arouter.facade.enums.RouteType;
import com.alibaba.android.arouter.facade.model.RouteMeta;
import com.alibaba.android.arouter.facade.template.IProviderGroup;
import com.zhidao.tanlu.TanluCardViewProvider;
import java.lang.Override;
import java.lang.String;
import java.util.Map;
/**
* DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */
public class ARouter$$Providers$$tanlumodule implements IProviderGroup {
@Override
public void loadInto(Map<String, RouteMeta> providers) {
providers.put("com.mogo.service.module.IMogoModuleProvider", RouteMeta.build(RouteType.PROVIDER, TanluCardViewProvider.class, "/tanlu/ui", "tanlu", null, -1, -2147483648));
}
}

View File

@@ -1,17 +0,0 @@
package com.alibaba.android.arouter.routes;
import com.alibaba.android.arouter.facade.template.IRouteGroup;
import com.alibaba.android.arouter.facade.template.IRouteRoot;
import java.lang.Class;
import java.lang.Override;
import java.lang.String;
import java.util.Map;
/**
* DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */
public class ARouter$$Root$$tanlumodule implements IRouteRoot {
@Override
public void loadInto(Map<String, Class<? extends IRouteGroup>> routes) {
routes.put("tanlu", ARouter$$Group$$tanlu.class);
}
}

View File

@@ -1,13 +0,0 @@
/**
* Automatically generated file. DO NOT MODIFY
*/
package com.zhidao.tanlu.test;
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "com.zhidao.tanlu.test";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "";
}

View File

@@ -1,18 +0,0 @@
/**
* Automatically generated file. DO NOT MODIFY
*/
package com.zhidao.tanlu;
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String LIBRARY_PACKAGE_NAME = "com.zhidao.tanlu";
/**
* @deprecated APPLICATION_ID is misleading in libraries. For the library package name use LIBRARY_PACKAGE_NAME
*/
@Deprecated
public static final String APPLICATION_ID = "com.zhidao.tanlu";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "";
}

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zhidao.tanlu"
android:versionCode="1" >
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="22" />
</manifest>

View File

@@ -1 +0,0 @@
[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"","enabled":true,"outputFile":"tanlu-module-debug.aar","fullName":"debug","baseName":"debug"},"path":"AndroidManifest.xml","properties":{"packageId":"com.zhidao.tanlu","split":""}}]

View File

@@ -1 +0,0 @@
{"jetified-arouter-compiler-1.2.2.jar (com.alibaba:arouter-compiler:1.2.2)":false,"auto-service-1.0-rc2.jar (com.google.auto.service:auto-service:1.0-rc2)":false}

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/debug/jniLibs"/></dataSet></merger>

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/debug/shaders"/></dataSet></merger>

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/assets"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/shader_assets/debug/compileDebugShaders/out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/debug/assets"/></dataSet></merger>

View File

@@ -1,5 +0,0 @@
#Thu Jan 02 12:10:08 CST 2020
/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_info_window.xml=/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/packaged_res/debug/layout/tanlu_module_info_window.xml
/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_poi_info_window.xml=/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/packaged_res/debug/layout/tanlu_module_poi_info_window.xml
/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_card_view.xml=/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/packaged_res/debug/layout/tanlu_module_card_view.xml
/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_bubble_marker.xml=/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/packaged_res/debug/layout/tanlu_module_bubble_marker.xml

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorAccent">#1F7FFF</color>
<color name="colorPrimary">#000000</color>
<color name="colorPrimaryDark">#000000</color>
<color name="color_171F7FFF">#171F7FFF</color>
<color name="color_1E212C">#1E212C</color>
<color name="color_1F7FFF">#1F7FFF</color>
<color name="color_222533">#222533</color>
<color name="color_4B5369">#4B5369</color>
<color name="color_4d191C25">#4d191C25</color>
<color name="color_99191C25">#99191C25</color>
<color name="color_9A9A9A">#9A9A9A</color>
<color name="color_A2A2A2">#A2A2A2</color>
<color name="white">#FFFFFF</color>
<color name="white_50">#80FFFFFF</color>
<string name="app_name">tanlu</string>
</resources>

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/generated/res/rs/debug"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res"><file name="tanlu_module_poi_info_window" path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_poi_info_window.xml" qualifiers="" type="layout"/><file name="tanlu_module_info_window" path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_info_window.xml" qualifiers="" type="layout"/><file name="tanlu_module_bubble_marker" path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_bubble_marker.xml" qualifiers="" type="layout"/><file name="tanlu_module_card_view" path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_card_view.xml" qualifiers="" type="layout"/><file path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/values/colors.xml" qualifiers=""><color name="colorPrimary">#000000</color><color name="colorPrimaryDark">#000000</color><color name="colorAccent">#1F7FFF</color><color name="white">#FFFFFF</color><color name="white_50">#80FFFFFF</color><color name="color_1E212C">#1E212C</color><color name="color_1F7FFF">#1F7FFF</color><color name="color_171F7FFF">#171F7FFF</color><color name="color_4d191C25">#4d191C25</color><color name="color_99191C25">#99191C25</color><color name="color_222533">#222533</color><color name="color_4B5369">#4B5369</color><color name="color_9A9A9A">#9A9A9A</color><color name="color_A2A2A2">#A2A2A2</color></file><file path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/values/strings.xml" qualifiers=""><string name="app_name">tanlu</string></file></source><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/generated/res/rs/debug"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/debug/res"/></dataSet><mergedItems/></merger>

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zhidao.tanlu"
android:versionCode="1" >
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="22" />
</manifest>

View File

@@ -1,45 +0,0 @@
R_DEF: Internal format may change without notice
local
color colorAccent
color colorPrimary
color colorPrimaryDark
color color_171F7FFF
color color_1E212C
color color_1F7FFF
color color_222533
color color_4B5369
color color_4d191C25
color color_99191C25
color color_9A9A9A
color color_A2A2A2
color white
color white_50
id demo_module_id_2d3d
id demo_module_id_add_marker
id demo_module_id_add_markers
id demo_module_id_clear
id demo_module_id_current
id demo_module_id_day_light
id demo_module_id_day_night
id demo_module_id_display_overlay
id demo_module_id_iw_navi_stop
id demo_module_id_iw_navito
id demo_module_id_iw_poi_navito
id demo_module_id_iw_poi_title
id demo_module_id_iw_refresh
id demo_module_id_iw_time
id demo_module_id_loc
id demo_module_id_loc_info
id demo_module_id_navi_mode
id demo_module_id_reverse_lock
id demo_module_id_start_navi
id demo_module_id_stop_navi
id demo_module_id_traffic
id demo_module_id_zoom_in
id demo_module_id_zoom_out
id icon
layout tanlu_module_bubble_marker
layout tanlu_module_card_view
layout tanlu_module_info_window
layout tanlu_module_poi_info_window
string app_name

View File

@@ -1,12 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="com.zhidao.tanlu"
4 android:versionCode="1" >
5
6 <uses-sdk
7 android:minSdkVersion="19"
7-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
8 android:targetSdkVersion="22" />
8-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
9
10</manifest>

View File

@@ -1,93 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="com.zhidao.tanlu.test" >
4
5 <uses-sdk
5-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:5:5-74
6 android:minSdkVersion="19"
6-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:5:15-41
7 android:targetSdkVersion="22" />
7-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:5:42-71
8
9 <instrumentation
9-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:11:5-15:71
10 android:name="androidx.test.runner.AndroidJUnitRunner"
10-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:11:22-76
11 android:functionalTest="false"
11-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:14:22-52
12 android:handleProfiling="false"
12-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:13:22-53
13 android:label="Tests for com.zhidao.tanlu.test"
13-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:15:22-69
14 android:targetPackage="com.zhidao.tanlu.test" />
14-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:12:22-67
15
16 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
16-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:11:5-75
16-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:11:22-72
17 <uses-permission android:name="com.zhidao.auto.personal.info.Read" />
17-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:12:5-74
17-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:12:22-71
18 <uses-permission android:name="com.zhidao.datacrawler.bindstatus.Read" />
18-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:13:5-78
18-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:13:22-75
19 <uses-permission android:name="com.zhidao.datacrawler.bindstatus.PROVIDER" /> <!-- 允许程序打开网络套接字 -->
19-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:14:5-82
19-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:14:22-79
20 <uses-permission android:name="android.permission.INTERNET" /> <!-- 允许程序设置内置sd卡的写权限 -->
20-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:11:5-67
20-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:11:22-64
21 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 允许程序获取网络状态 -->
21-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:13:5-81
21-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:13:22-78
22 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 允许程序访问WiFi网络信息 -->
22-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:15:5-79
22-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:15:22-76
23 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 允许程序访问CellID或WiFi热点来获取粗略的位置 -->
23-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:17:5-76
23-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:17:22-73
24 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
24-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:21:5-81
24-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:21:22-78
25 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
25-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:16:5-80
25-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:16:22-77
26 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
26-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:17:5-79
26-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:17:22-76
27 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
27-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:18:5-76
27-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:18:22-73
28 <uses-permission android:name="android.permission.GET_TASKS" />
28-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:19:5-68
28-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:19:22-65
29
30 <application
30-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:7:5-9:19
31 android:appComponentFactory="androidx.core.app.CoreComponentFactory"
31-->[androidx.core:core:1.0.1] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/792eab6592a043223b4e9fdbb11263d5/core-1.0.1/AndroidManifest.xml:22:18-86
32 android:debuggable="true" >
32-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:7:18-43
33 <uses-library android:name="android.test.runner" />
33-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:8:9-60
33-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:8:23-57
34 <!-- 高德地图 -->
35 <meta-data
35-->[:libraries:map-amap] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/map-amap/build/intermediates/library_manifest/debug/AndroidManifest.xml:14:9-16:64
36 android:name="com.amap.api.v2.apikey"
36-->[:libraries:map-amap] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/map-amap/build/intermediates/library_manifest/debug/AndroidManifest.xml:15:13-50
37 android:value="a36b9f7b086fa3951bb35338a5a06dd3" /> <!-- 定位服务 -->
37-->[:libraries:map-amap] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/map-amap/build/intermediates/library_manifest/debug/AndroidManifest.xml:16:13-61
38 <service android:name="com.amap.api.location.APSService" />
38-->[:libraries:map-amap] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/map-amap/build/intermediates/library_manifest/debug/AndroidManifest.xml:18:9-68
38-->[:libraries:map-amap] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/map-amap/build/intermediates/library_manifest/debug/AndroidManifest.xml:18:18-65
39
40 <meta-data
40-->[com.github.bumptech.glide:okhttp3-integration:4.8.0] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/7427658adcabdb17ef6ff27105c7a4fd/jetified-okhttp3-integration-4.8.0/AndroidManifest.xml:11:9-13:43
41 android:name="com.bumptech.glide.integration.okhttp3.OkHttpGlideModule"
41-->[com.github.bumptech.glide:okhttp3-integration:4.8.0] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/7427658adcabdb17ef6ff27105c7a4fd/jetified-okhttp3-integration-4.8.0/AndroidManifest.xml:12:13-84
42 android:value="GlideModule" />
42-->[com.github.bumptech.glide:okhttp3-integration:4.8.0] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/7427658adcabdb17ef6ff27105c7a4fd/jetified-okhttp3-integration-4.8.0/AndroidManifest.xml:13:13-40
43 </application>
44
45</manifest>

View File

@@ -1 +0,0 @@
[{"outputType":{"type":"MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"","enabled":true,"outputFile":"tanlu-module-debug.aar","fullName":"debug","baseName":"debug"},"path":"../../library_manifest/debug/AndroidManifest.xml","properties":{"packageId":"com.zhidao.tanlu","split":""}}]

View File

@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zhidao.tanlu.test" >
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="22" />
<instrumentation
android:name="androidx.test.runner.AndroidJUnitRunner"
android:functionalTest="false"
android:handleProfiling="false"
android:label="Tests for com.zhidao.tanlu.test"
android:targetPackage="com.zhidao.tanlu.test" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="com.zhidao.auto.personal.info.Read" />
<uses-permission android:name="com.zhidao.datacrawler.bindstatus.Read" />
<uses-permission android:name="com.zhidao.datacrawler.bindstatus.PROVIDER" /> <!-- 允许程序打开网络套接字 -->
<uses-permission android:name="android.permission.INTERNET" /> <!-- 允许程序设置内置sd卡的写权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 允许程序获取网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 允许程序访问WiFi网络信息 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 允许程序访问CellID或WiFi热点来获取粗略的位置 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<application
android:appComponentFactory="androidx.core.app.CoreComponentFactory"
android:debuggable="true" >
<uses-library android:name="android.test.runner" />
<!-- 高德地图 -->
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="a36b9f7b086fa3951bb35338a5a06dd3" /> <!-- 定位服务 -->
<service android:name="com.amap.api.location.APSService" />
<meta-data
android:name="com.bumptech.glide.integration.okhttp3.OkHttpGlideModule"
android:value="GlideModule" />
</application>
</manifest>

View File

@@ -1 +0,0 @@
[{"outputType":{"type":"MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"","enabled":true,"outputFile":"tanlu-module-debug-androidTest.apk","fullName":"debugAndroidTest","baseName":"debug-androidTest"},"path":"AndroidManifest.xml","properties":{}}]

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.mogo.service.imageloader.MogoImageView
android:id="@+id/icon"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:miv_placeHolder="@drawable/ic_amap_app_main_current_location_bkg"
app:miv_shape="circle" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_search_poi_location"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/icon" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,157 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_1F7FFF"
android:orientation="vertical">
<TextView
android:id="@+id/demo_module_id_loc_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/demo_module_id_add_marker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一个" />
<Button
android:id="@+id/demo_module_id_add_markers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一个" />
</LinearLayout>
<Button
android:id="@+id/demo_module_id_clear"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="播放" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_loc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="定位" />
<Button
android:id="@+id/demo_module_id_current"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="当前位置" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_2d3d"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2D/3D" />
<Button
android:id="@+id/demo_module_id_traffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="交通态势" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_start_navi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始导航" />
<Button
android:id="@+id/demo_module_id_stop_navi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="停止导航" />
<CheckBox
android:id="@+id/demo_module_id_navi_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模拟导航" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_zoom_in"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="放大" />
<Button
android:id="@+id/demo_module_id_zoom_out"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="缩小" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_day_light"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="白天" />
<Button
android:id="@+id/demo_module_id_day_night"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="黑夜" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<Button
android:id="@+id/demo_module_id_display_overlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="全览" />
<Button
android:id="@+id/demo_module_id_reverse_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="继续导航" />
</LinearLayout>
</LinearLayout>

View File

@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="#ff0000">
<TextView
android:id="@+id/demo_module_id_iw_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_refresh"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="点击刷新当前时间"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_navito"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="70dp"
android:text="导航去这里"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_navi_stop"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="120dp"
android:text="停止导航"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="#ff0000">
<TextView
android:id="@+id/demo_module_id_iw_poi_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/demo_module_id_iw_poi_navito"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="70dp"
android:text="导航去这里"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorAccent">#1F7FFF</color>
<color name="colorPrimary">#000000</color>
<color name="colorPrimaryDark">#000000</color>
<color name="color_171F7FFF">#171F7FFF</color>
<color name="color_1E212C">#1E212C</color>
<color name="color_1F7FFF">#1F7FFF</color>
<color name="color_222533">#222533</color>
<color name="color_4B5369">#4B5369</color>
<color name="color_4d191C25">#4d191C25</color>
<color name="color_99191C25">#99191C25</color>
<color name="color_9A9A9A">#9A9A9A</color>
<color name="color_A2A2A2">#A2A2A2</color>
<color name="white">#FFFFFF</color>
<color name="white_50">#80FFFFFF</color>
<string name="app_name">tanlu</string>
</resources>

File diff suppressed because it is too large Load Diff

View File

@@ -1,31 +0,0 @@
-- Merging decision tree log ---
manifest
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
package
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:2:5-31
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
android:versionCode
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
xmlns:android
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:11-69
uses-sdk
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml reason: use-sdk injection requested
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
android:targetSdkVersion
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
android:minSdkVersion
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml

Some files were not shown because too many files have changed in this diff Show More