title: Parcelable ArrayList<LatLng> Android
body: <p>I can't to implement Parcelable on my object attribute "ArrayList" , apparently my attribute "ArrayList works, why ? because, I use the same method :</p>
  
  <pre><code>in.readTypedList(etapes,Step.CREATOR);          
  in.readTypedList(points, LatLng.CREATOR);//BUG      
  </code></pre>
  
  <p>My class, and of course : "import com.google.android.gms.maps.model.LatLng;"</p>
  
  <pre><code>public class Road implements Parcelable {
      public String depart;
      public String arrivee;
      public int distance;
      public int duration;
      public ArrayList&lt;Step&gt; etapes = new ArrayList&lt;Step&gt;();
      public String travel_mode;
      public LatLngBounds bounds;    
      public ArrayList&lt;LatLng&gt; points = new ArrayList&lt;LatLng&gt;();
  
      public Road(String depart, String arrivee, int distance, int duration, ArrayList&lt;Step&gt; etapes, String travel_mode, ArrayList&lt;LatLng&gt; points){
  
          this.depart = depart;
          this.arrivee = arrivee;
          this.distance = distance;
          this.duration = duration;
          this.etapes = etapes;
          this.travel_mode = travel_mode;                 
  
          LatLngBounds.Builder builder = new LatLngBounds.Builder();
          for(int i=0; i&lt;points.size();i++){              
              builder.include(points.get(i));             
          }
          bounds = builder.build();
          this.points = points;  
  
      }        
  
      private Road(Parcel in){
          depart =  in.readString();
          arrivee = in.readString();
          distance = in.readInt();
          duration = in.readInt(); 
          in.readTypedList(etapes,Step.CREATOR);//GOOD            
          travel_mode = in.readString();
          LatLng ne = new LatLng(in.readDouble(),in.readDouble());
          LatLng sw = new LatLng(in.readDouble(),in.readDouble());
          LatLngBounds.Builder builder = new LatLngBounds.Builder();
          builder.include(ne);
          builder.include(sw);
          bounds = builder.build();           
          in.readTypedList(points, LatLng.CREATOR);//BUG      
      }
  
      @Override
      public int describeContents() {
          // TODO Auto-generated method stub
          return 0;
      }
  
      @Override
      public void writeToParcel(Parcel dest, int flags) {
          // TODO Auto-generated method stub          
          dest.writeString(depart);
          dest.writeString(arrivee);
          dest.writeInt(distance);
          dest.writeInt(duration);            
          dest.writeTypedList(etapes);            
          dest.writeString(travel_mode);
          dest.writeDouble(bounds.northeast.latitude);
          dest.writeDouble(bounds.northeast.longitude);
          dest.writeDouble(bounds.southwest.latitude);
          dest.writeDouble(bounds.southwest.longitude);           
          dest.writeParcelable(bounds, flags);
          dest.writeTypedList(points);            
      }       
  
      public static final Parcelable.Creator&lt;Road&gt; CREATOR =
              new Parcelable.Creator&lt;Road&gt;() {
  
          public Road createFromParcel(Parcel in){
              return new Road(in);
          }
          public Road[] newArray(int size){
              return new Road[size];          
          }
      };      
  </code></pre>
  
  <p>}</p>
  
  <p>my stacktrace :</p>
  
  <pre><code>03-14 14:34:12.431: E/AndroidRuntime(9809): FATAL EXCEPTION: main
  03-14 14:34:12.431: E/AndroidRuntime(9809): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.intent.action.TEST flg=0x10 (has extras) } in com.eloges.GeoPosActivity$2@41013368
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:794)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.os.Handler.handleCallback(Handler.java:608)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.os.Handler.dispatchMessage(Handler.java:92)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.os.Looper.loop(Looper.java:156)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.app.ActivityThread.main(ActivityThread.java:5099)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at java.lang.reflect.Method.invokeNative(Native Method)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at java.lang.reflect.Method.invoke(Method.java:511)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at dalvik.system.NativeStart.main(Native Method)
  03-14 14:34:12.431: E/AndroidRuntime(9809): Caused by: com.google.android.gms.internal.aw$a: Expected object header. Got 0x2e006d Parcel: pos=3484 size=17768
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at com.google.android.gms.internal.aw.c(Unknown Source)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at com.google.android.gms.maps.model.LatLngCreator.createFromParcel(Unknown Source)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at com.google.android.gms.maps.model.LatLngCreator.createFromParcel(Unknown Source)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.os.Parcel.readTypedList(Parcel.java:1655)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at com.eloges.geoloc.Road.&lt;init&gt;(Road.java:66)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at com.eloges.geoloc.Road.&lt;init&gt;(Road.java:49)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at com.eloges.geoloc.Road$1.createFromParcel(Road.java:98)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at com.eloges.geoloc.Road$1.createFromParcel(Road.java:1)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.os.Parcel.readParcelable(Parcel.java:1997)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.os.Parcel.readValue(Parcel.java:1859)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.os.Parcel.readMapInternal(Parcel.java:2099)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.os.Bundle.unparcel(Bundle.java:223)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.os.Bundle.getParcelable(Bundle.java:1158)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at com.eloges.GeoPosActivity$2.onReceive(GeoPosActivity.java:162)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:781)
  03-14 14:34:12.431: E/AndroidRuntime(9809):     ... 9 more
  </code></pre>