all my code is in timer and it tik every 2 seconds
I have 3 different times
1) Time from the time picker(sTime
).
2) Get Current time of my phone(cTime
).
3) Expiry Time - (for creating range between timepicker's time and expiry time) (rTime
).
I want to silent my phone when cTime
is equal or after sTime
and turn back my phone profile to normal when cTime
is equal or after rTime
but i cannot achieve this. i have done my coding and i think logic is fine but why its not working. please help me in this regard.
Here is my code
AudioManager am;
am = (AudioManager) getBaseContext().getSystemService(Context.AUDIO_SERVICE);
try {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String savedTime = sHour + ":" + sMin;
Date sTime = sdf.parse(savedTime);
Calendar c = Calendar.getInstance();
int currentHour = c.get(Calendar.HOUR);
int currentMin = c.get(Calendar.MINUTE);
String currentTime = currentHour + ":" + currentMin;
Date cTime = sdf.parse(currentTime);
int rangeHour = sHour;
int rangeMin = sMin + 1;
Date rTime = sdf.parse(rangeHour + ":" + rangeMin);
if (cTime.after(sTime)) {
am.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
Log.e("res", "Silent Mode Timing");
}
if (cTime.after(rTime)) {
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
Log.e("res", "Normal Mode Timing");
}
} catch (Exception ex) {
Log.e("res", ex.toString());
}