Why does the below calculation produce a negative value?
long interval = 0; interval = ((60000 * 60) * 24) * 30;
Try this, it won't be negative:
long interval = 0; interval = ((60000L * 60L) * 24L) * 30L;