title: App crashing using collection.add() with Firestore
body: <p>I'm a newbie on Android development, so please forgive me if this sounds quite trivial or it's too long, but I got stuck trying to add items to a collection in Firestore.</p>
  
  <p>I read somewhere in a tutorial's comments section this occured below API 25 (I'm using 24), but I'm not sure why.</p>
  
  <p>Here's part of my code:</p>
  
  <pre><code>FirebaseFirestore db;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_registro);
  
      FirebaseFirestore firestore = FirebaseFirestore.getInstance();
      FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
              .setTimestampsInSnapshotsEnabled(true)
              .build();
      firestore.setFirestoreSettings(settings);
  
      db = FirebaseFirestore.getInstance();
  }
  
  public void sendInfo(View view){
          CollectionReference dbArtists = db.collection("artistas");
          Artist a = new Artist("0", "A", 10);
          dbArtists.add(a)
      }
  </code></pre>
  
  <p>sendInfo is associated to a button that works fine. The line that crashes the app is</p>
  
  <pre><code>dbArtists.add(a)
  </code></pre>
  
  <p>So the logcat had a warning stating:</p>
  
  <pre><code>com.esiete.anapptitle W/Firestore: (0.6.6-dev) [Firestore]: The behavior for java.util.Date objects stored in Firestore is going to change AND YOUR APP MAY BREAK.
  To hide this warning and ensure your app does not break, you need to add the following code to your app before calling any other Cloud Firestore methods:
  
  FirebaseFirestore firestore = FirebaseFirestore.getInstance();
  FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
      .setTimestampsInSnapshotsEnabled(true)
      .build();
  firestore.setFirestoreSettings(settings);
  
  With this change, timestamps stored in Cloud Firestore will be read back as com.google.firebase.Timestamp objects instead of as system java.util.Date objects. So you will also need to update code expecting a java.util.Date to instead expect a Timestamp. For example:
  
  // Old:
  java.util.Date date = snapshot.getDate("created_at");
  // New:
  Timestamp timestamp = snapshot.getTimestamp("created_at");
  java.util.Date date = timestamp.toDate();
  
  Please audit all existing usages of java.util.Date when you enable the new behavior. In a future release, the behavior will be changed to the new behavior, so if you do not follow these steps, YOUR APP MAY BREAK.
  </code></pre>
  
  <p>Crashes still remain after adding the code as shown above. Logcat shows:</p>
  
  <pre><code>8-11-13 21:44:09.290 30030-30030/com.esiete.anapptitle D/AndroidRuntime: Shutting down VM
  2018-11-13 21:44:09.294 30030-30030/com.esiete.anapptitle E/AndroidRuntime: FATAL EXCEPTION: main
      Process: com.esiete.anapptitle, PID: 30030
      java.lang.IllegalStateException: Could not execute method for android:onClick
          at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:390)
          at android.view.View.performClick(View.java:5612)
          at android.view.View$PerformClick.run(View.java:22285)
          at android.os.Handler.handleCallback(Handler.java:751)
          at android.os.Handler.dispatchMessage(Handler.java:95)
          at android.os.Looper.loop(Looper.java:154)
          at android.app.ActivityThread.main(ActivityThread.java:6123)
          at java.lang.reflect.Method.invoke(Native Method)
          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
       Caused by: java.lang.reflect.InvocationTargetException
          at java.lang.reflect.Method.invoke(Native Method)
          at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
          at android.view.View.performClick(View.java:5612) 
          at android.view.View$PerformClick.run(View.java:22285) 
          at android.os.Handler.handleCallback(Handler.java:751) 
          at android.os.Handler.dispatchMessage(Handler.java:95) 
          at android.os.Looper.loop(Looper.java:154) 
          at android.app.ActivityThread.main(ActivityThread.java:6123) 
          at java.lang.reflect.Method.invoke(Native Method) 
          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757) 
       Caused by: java.lang.RuntimeException: No properties to serialize found on class com.esiete.anapptitle.Artist
          at com.google.firebase.firestore.g.zzg$zza.&lt;init&gt;(SourceFile:643)
          at com.google.firebase.firestore.g.zzg.zza(SourceFile:331)
          at com.google.firebase.firestore.g.zzg.zzb(SourceFile:152)
          at com.google.firebase.firestore.g.zzg.zza(SourceFile:1085)
          at com.google.firebase.firestore.UserDataConverter.convertPOJO(SourceFile:421)
          at com.google.firebase.firestore.CollectionReference.add(SourceFile:125)
          at com.esiete.anapptitle.RegistroActivity.enviarRegistro(RegistroActivity.java:82)
          at java.lang.reflect.Method.invoke(Native Method) 
          at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385) 
          at android.view.View.performClick(View.java:5612) 
          at android.view.View$PerformClick.run(View.java:22285) 
          at android.os.Handler.handleCallback(Handler.java:751) 
          at android.os.Handler.dispatchMessage(Handler.java:95) 
          at android.os.Looper.loop(Looper.java:154) 
          at android.app.ActivityThread.main(ActivityThread.java:6123) 
          at java.lang.reflect.Method.invoke(Native Method) 
          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757) 
  2018-11-13 21:44:09.298 4088-5186/? W/ActivityManager:   Force finishing activity com.esiete.anapptitle/.RegistroActivity
  2018-11-13 21:44:09.306 4088-30868/? W/DropBoxManagerService: Dropping: data_app_crash (1752 &gt; 0 bytes)
  </code></pre>
  
  <p>Any help or word of advice is greatly appreciated.</p>
  
  <p>EDIT: Adding Artist class code.</p>
  
  <pre><code>package com.esiete.anapptitle;
  
  public class Artist {
      private String artistID;
      private String name;
      private int sales;
  
      public Artist() {
      }
  
      public Artist(String artistID, String name, int sales) {
          this.artistID = artistID;
          this.name = name;
          this.sales = sales;
      }
  }
  </code></pre>