code: @Override
      public boolean observesDaylightTime() {
          long current = System.currentTimeMillis();
  
          if (finalZone != null) {
              if (finalZone.useDaylightTime()) {
                  return true;
              } else if (current >= finalStartMillis) {
                  return false;
              }
          }
  
          // Return TRUE if DST is observed at any future time
          long currentSec = Grego.floorDivide(current, Grego.MILLIS_PER_SECOND);
          int trsIdx = transitionCount - 1;
          if (dstOffsetAt(trsIdx) != 0) {
              return true;
          }
          while (trsIdx >= 0) {
              if (transitionTimes64[trsIdx] <= currentSec) {
                  break;
              }
              if (dstOffsetAt(trsIdx - 1) != 0) {
                  return true;
              }
              trsIdx--;
          }
          return false;
      }
docs: /* (non-Javadoc)
  @see android.icu.util.TimeZone#observesDaylightTime()