title: How could SystemClock.uptimeMillis() ever wrap?
body: <p>The <a href="http://developer.android.com/reference/android/os/SystemClock.html#uptimeMillis%28%29" rel="noreferrer">Android docs on uptimeMillis()</a> says:</p>
  
  <blockquote>
    <p>Returns milliseconds since boot, not counting time spent in deep sleep. <strong>Note</strong>: This value may get reset occasionally (before it would otherwise wrap around).</p>
  </blockquote>
  
  <p>It seems quite strange that the docs are worried about it ever wrapping around. After all, the method returns a long. A quick calculation yields that it would take approximately 292,271,023 years for it to ever wrap!!!</p>
  
  <p>So what's up with the docs? Is it really ever possible for it to wrap? Can the value perhaps wrap before it reaches the max value for a long? Is that what the docs are actually trying to say? And if so, when would it wrap?</p>
  
  <hr>
  
  <p>[It's especially puzzling as <a href="http://developer.android.com/reference/java/lang/System.html#currentTimeMillis%28%29" rel="noreferrer">System.currentTimeMillis()</a> is also a long that represents time since an epoch. Yet, Android makes absolutely no mention of the possibility of the value wrapping. All the more so, for uptimeMillis which starts at 0...]</p>