From 88382b8b5a82b8a22adb99d477ac12e49c104281 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Wed, 2 Dec 2020 17:11:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=8A=A8=E7=94=BB=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E4=B8=AD=E5=81=B6=E7=8E=B0npe=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../map/impl/amap/AMapNaviViewWrapper.java | 6 ++- .../impl/amap/marker/AMapMarkerWrapper.java | 24 ++++++++-- .../extensions/utils/TopViewManager.java | 48 +++++++++++++++---- 3 files changed, 64 insertions(+), 14 deletions(-) diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index c585fe4f00..c8684c751d 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -581,7 +581,11 @@ public class AMapNaviViewWrapper implements IMogoMapView, // mMyLocationMarker.startAnimation(); // } // }); - mMyLocationMarker.startAnimation(); + try { + mMyLocationMarker.startAnimation(); + } catch ( Exception e ) { + e.printStackTrace(); + } } @Override diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java index 679e008277..80d0bef084 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java @@ -342,10 +342,16 @@ public class AMapMarkerWrapper implements IMogoMarker, Observer { ScaleAnimation animationScale = new ScaleAnimation( fromX, toX, fromY, toY ); animationScale.setDuration( duration ); animationScale.setFillMode( Animation.FILL_MODE_FORWARDS ); - animationScale.setInterpolator( interpolator ); + if ( interpolator != null ) { + animationScale.setInterpolator( interpolator ); + } mMarker.setAnimation( animationScale ); - mMarker.startAnimation(); + try { + mMarker.startAnimation(); + } catch ( Exception e ) { + e.printStackTrace(); + } } @Override @@ -357,7 +363,9 @@ public class AMapMarkerWrapper implements IMogoMarker, Observer { ScaleAnimation animationScale = new ScaleAnimation( fromX, toX, fromY, toY ); animationScale.setDuration( duration ); animationScale.setFillMode( Animation.FILL_MODE_FORWARDS ); - animationScale.setInterpolator( interpolator ); + if ( interpolator != null ) { + animationScale.setInterpolator( interpolator ); + } animationScale.setAnimationListener( new Animation.AnimationListener() { @Override public void onAnimationStart() { @@ -398,7 +406,9 @@ public class AMapMarkerWrapper implements IMogoMarker, Observer { AnimationSet animationSet = new AnimationSet( true ); animationSet.setDuration( duration ); - animationSet.setInterpolator( interpolator ); + if ( interpolator != null ) { + animationSet.setInterpolator( interpolator ); + } animationSet.setAnimationListener( new Animation.AnimationListener() { @Override public void onAnimationStart() { @@ -422,7 +432,11 @@ public class AMapMarkerWrapper implements IMogoMarker, Observer { } ); mMarker.setAnimation( animationSet ); - mMarker.startAnimation(); + try { + mMarker.startAnimation(); + } catch ( Exception e ) { + e.printStackTrace(); + } } @Override diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java index ce1e39e34f..eb3e21a46c 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java @@ -48,7 +48,11 @@ public class TopViewManager implements IMogoTopViewManager { public void addView(View view, ViewGroup.LayoutParams params, IMogoTopViewStatusListener statusListener) { parentParams = params; - TopViewAnimHelper.getInstance().startTopInAnim(view, params, statusListener); + try { + TopViewAnimHelper.getInstance().startTopInAnim(view, params, statusListener); + } catch ( Exception e ) { + e.printStackTrace(); + } } @Override @@ -72,7 +76,11 @@ public class TopViewManager implements IMogoTopViewManager { public void addViewNoLinkage(View view, ViewGroup.LayoutParams params, IMogoTopViewStatusListener statusListener) { parentParams = params; - TopViewNoLinkageAnimHelper.getInstance().startTopInAnim(view, params, statusListener); + try { + TopViewNoLinkageAnimHelper.getInstance().startTopInAnim(view, params, statusListener); + } catch ( Exception e ) { + e.printStackTrace(); + } } @Override @@ -82,31 +90,55 @@ public class TopViewManager implements IMogoTopViewManager { @Override public void addSubView(View view, IMogoTopViewStatusListener statusListener) { - TopViewAnimHelper.getInstance().addSubView(view, parentParams, statusListener); + try { + TopViewAnimHelper.getInstance().addSubView(view, parentParams, statusListener); + } catch ( Exception e ) { + e.printStackTrace(); + } } @Override public void removeView(View view) { - TopViewAnimHelper.getInstance().startTopOutAnim(view); + try { + TopViewAnimHelper.getInstance().startTopOutAnim(view); + } catch ( Exception e ) { + e.printStackTrace(); + } } @Override public void removeViewNoLinkage(View view) { - TopViewNoLinkageAnimHelper.getInstance().startTopOutAnim(view); + try { + TopViewNoLinkageAnimHelper.getInstance().startTopOutAnim(view); + } catch ( Exception e ) { + e.printStackTrace(); + } } @Override public void removeSubView(View view) { - TopViewAnimHelper.getInstance().removeSubView(view); + try { + TopViewAnimHelper.getInstance().removeSubView(view); + } catch ( Exception e ) { + e.printStackTrace(); + } } @Override public boolean isViewAdded(View view) { - return TopViewAnimHelper.getInstance().isViewAdded(view); + try { + return TopViewAnimHelper.getInstance().isViewAdded(view); + } catch ( Exception e ){ + return false; + } } @Override public boolean isViewNoLinkageAdded(View view) { - return TopViewNoLinkageAnimHelper.getInstance().isViewAdded(view); + try { + return TopViewNoLinkageAnimHelper.getInstance().isViewAdded(view); + } catch( Exception e ){ + return false; + } } }