title: Why is Firebase onChildAdded not being called?
body: <p>I want to get all firebase nodes under the "clothing" reference in my firebase database. To do this I attach a <code>ChildEventListener</code> to the reference and in the <code>onChildAdded</code> callback I add the <code>Clothing</code> object to a list of clothing objects, assuming the <code>onChildAdded</code> callback is called the number of times there are nodes under the "clothing" reference.</p>
  
  <pre><code>mClothingRef = FirebaseDatabase.getInstance()
                                 .getReference()
                                 .child("clothing");
  final List&lt;Clothing&gt; clothingItems = new ArrayList&lt;&gt;();
  
  mClothingRef.addChildEventListener(new ChildEventListener() {
      public void onChildAdded(DataSnapshot snapshot, String s) {
          Clothing clothing = snapshot.getValue(Clothing.class);
          clothingItems.add(clothing);
          Log.d(TAG, "onChildAdded called");      
      }
      public void onCancelled(DatabaseError databaseError) {
          Log.e(TAG, databaseError.getMessage() + " " + 
          databaseError.getCode() + " " + databaseError.getDetails()  + " " + databaseError.toString());
          mEventBus.post(new ListClothingFailEvent());
      }
      ...
  }
  </code></pre>
  
  <p>Here is the database structure:</p>
  
  <pre><code>--&gt;root
  ----&gt;clothing
  ------&gt;clothing_id
  --------&gt;title
  --------&gt;category
  --------&gt;img_download_url
  ------&gt;clothing_id_1
  --------&gt;title
  --------&gt;...
  </code></pre>
  
  <p>I need to get all nodes under the clothing node.</p>
  
  <p>My database security rules are currently:</p>
  
  <pre><code>{
    "rules": {
      ".read": "auth == null",
      ".write": "auth != null"
    }
  }
  </code></pre>
  
  <p>When the method containing this code is called, the <code>onChildAdded</code> callback is not, instead the <code>onCancelled</code> callback is with a permission denied database error. Why is this the case?</p>