diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0253617fc1..5740c3ed5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,6 +3,8 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.mogo.launcher">
+
+
{
- if ( size == 0 ) {
- mVoiceIcon.setVisibility( View.VISIBLE );
- } else {
- mVoiceIcon.setVisibility( View.INVISIBLE );
- }
- } );
}
@NonNull
@@ -154,7 +137,6 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP
@Override
public void renderAITipWords( String word ) {
if ( !TextUtils.isEmpty( word ) ) {
- Logger.d( TAG, "current word: %s", word );
mVoiceMsg.setText( word );
}
}
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
index 02bd6ed7df..06daa4c10c 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
@@ -83,7 +83,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
private int mCurrentPosition = 0;
// 是否是点击Marker进行的页面切换,false-不是,true-是
- private boolean isClickMarker;
+ private boolean mIsClickMarker;
private long mCardStartShowTime = 0;
@@ -147,7 +147,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mCurrentPosition = position;
provider = mCardModulesAdapter.getProvider( mCurrentPosition );
mMogoModuleHandler.setModuleEnable( provider.getModuleName() );
- if ( !isClickMarker ) {
+ if ( !mIsClickMarker ) {
mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() );
}
} catch ( Exception e ) {
@@ -343,12 +343,12 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@Override
public boolean onMarkerClicked( IMogoMarker marker ) {
- isClickMarker = true;
+ mIsClickMarker = true;
switch2( marker.getOwner() );
if ( mMogoModuleHandler != null ) {
mMogoModuleHandler.onMarkerClicked( marker );
}
- isClickMarker = false;
+ mIsClickMarker = false;
return false;
}
@@ -360,9 +360,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
if ( position != -1 ) {
int lastFactPosition = mCardModulesAdapter.getFactPosition( mCurrentPosition );
mCardsContainer.setCurrentItem( mCurrentPosition + position - lastFactPosition, Math.abs( lastFactPosition - position ) == 1 );
- if ( !isClickMarker ) {
- mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() );
- }
} else {
Logger.e( TAG, "Can't find type of %s's position", cardType );
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
index 9229488497..3a9f2e0340 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
@@ -3,6 +3,7 @@ package com.mogo.module.service.marker;
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
+import android.text.TextUtils;
import android.view.View;
import com.mogo.map.MogoLatLng;
@@ -52,6 +53,8 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
private static IMogoMarker lastMarker;
private static MapMarkerManager mMarkerManager;
+ private static String mLastHighLightModule = null;
+
private MapMarkerManager() {
}
@@ -77,8 +80,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
.getMogoSocketManager()
.registerOnMessageListener(401001, this);
- MarkerServiceHandler.getMogoCardManager()
- .registerCardChangedListener("LAUNCHER_MARKER_MODULE", new IMogoCardChangedListener() {
+ MarkerServiceHandler.getMogoCardManager().registerCardChangedListener("LAUNCHER_MARKER_MODULE", new IMogoCardChangedListener() {
@Override
public void onSwitched(int position, String moduleName) {
@@ -90,6 +92,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
} else {
isOnLineCard = false;
}
+ mLastHighLightModule = moduleName;
}
});
}
@@ -186,31 +189,33 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
// 对指定类型高亮处理
public synchronized static void highlightedMarker(final String typeTag) {
- Handler handler = new Handler();
- handler.post(new Runnable() {
- @Override
- public void run() {
- try {
- Map> allMarker = MarkerServiceHandler.getMarkerManager().getAllMarkers();
- for (Map.Entry> entry : allMarker.entrySet()) {
- String keyStr = entry.getKey();
- List markerList = entry.getValue();
+ try {
- if (keyStr.equals(typeTag)) {
- for (IMogoMarker marker : markerList) {
- marker.setAlpha(1f);
- }
- } else {
- for (IMogoMarker marker : markerList) {
- marker.setAlpha(0.7f);
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
+ if ( TextUtils.equals( mLastHighLightModule, typeTag ) ) {
+ return;
}
- });
+ // 上一次高亮的变暗
+ List lastHighLightList = MarkerServiceHandler.getMarkerManager().getMarkers( mLastHighLightModule );
+ setMarkersAlpha(lastHighLightList, 0.7f);
+
+ // 将当前高亮
+ List currentHighLightList = MarkerServiceHandler.getMarkerManager().getMarkers( typeTag );
+ setMarkersAlpha(currentHighLightList, 1f);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static void setMarkersAlpha(List markers,float alpha){
+ if ( markers == null || markers.isEmpty() ) {
+ return;
+ }
+ for ( IMogoMarker mogoMarker : markers ) {
+ if ( mogoMarker == null || mogoMarker.isDestroyed() ) {
+ continue;
+ }
+ mogoMarker.setAlpha( alpha );
+ }
}
/**