Quantcast
Channel: Active questions tagged crash - Stack Overflow
Viewing all articles
Browse latest Browse all 7190

Crash using Here Lite Maps when returning to a screen with MapViewLite from background

$
0
0

The crash happens when user re-enters a screen with the MapViewLite component after sufficient delay (or with "Don't keep activities" dev option set). It doesn't depend on anything in the calling code - happens even in the bare "HelloMapLite" sample project provided with the SDK.Here Lite version used: 4.4.0.2.2340 (but I've first discovered it on version 4.3.3.0.2052)

 Caused by: java.lang.RuntimeException: bad array lengths    at android.os.Parcel.readByteArray(Parcel.java:2249)    at com.here.sdk.mapviewlite.MapViewLite$SavedState.<init>(Unknown Source:8)    at com.here.sdk.mapviewlite.MapViewLite$SavedState.<init>(Unknown Source:0)    at com.here.sdk.mapviewlite.MapViewLite$SavedState$1.createFromParcel(Unknown Source:3)    at com.here.sdk.mapviewlite.MapViewLite$SavedState$1.createFromParcel(Unknown Source:0)    at android.os.Parcel.readParcelable(Parcel.java:2790)    at android.os.Parcel.readValue(Parcel.java:2684)    at android.os.Parcel.readSparseArrayInternal(Parcel.java:3134)    at android.os.Parcel.readSparseArray(Parcel.java:2367)    at android.os.Parcel.readValue(Parcel.java:2741)    at android.os.Parcel.readArrayMapInternal(Parcel.java:3053)    at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:288)    at android.os.BaseBundle.unparcel(BaseBundle.java:232)    at android.os.Bundle.getSparseParcelableArray(Bundle.java:1010)    at androidx.fragment.app.FragmentStateManager.restoreState(FragmentStateManager.java:236)

Auto-decompiled code of MapViewLite:

public Parcelable onSaveInstanceState() {    Parcelable var1 = super.onSaveInstanceState();    MapRenderer var2;    if ((var2 = this.mNativeRenderer) != null) {        MapViewLite var10000 = this;        byte[] var3 = var2.saveViewState();        byte[] var4 = var10000.getMapScene().saveLayersState();        return new MapViewLite.SavedState(var1, var3, var4);    } else {        return var1;    }}public void onRestoreInstanceState(Parcelable var1) {    if (var1 instanceof MapViewLite.SavedState && this.mNativeRenderer != null) {        MapViewLite var10000 = this;        MapViewLite var10001 = this;        MapViewLite.SavedState var2;        super.onRestoreInstanceState((var2 = (MapViewLite.SavedState)var1).getSuperState());        var10001.mNativeRenderer.restoreViewState(var2.getViewState());        var10000.getMapScene().restoreLayersState(var2.getLayersState());    } else {        super.onRestoreInstanceState(var1);    }}

Viewing all articles
Browse latest Browse all 7190

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>