I have a cardView that contains an ImageView and I have several images. In the configuration of my apk I put an option that the photos pass automatically every certain amount of time. The problem is that when the configuration returns the time is not updated. How can I tell my activity that I have to change the interval when I change it in settings?
This is the code in the mainActivity
public class MyCountDownTimer extends CountDownTimer {
public MyCountDownTimer(long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onFinish() {
currentImage = viewPager.getCurrentItem();
currentImage++;
if (currentImage > 5)
currentImage = 0;
setPictureCard();
countDownTimer.cancel();
LoadNextTimeOrCheckCurrent();
}
@Override
public void onTick(long millisUntilFinished) {
}
}
private void LoadNextTimeOrCheckCurrent()
{
if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("checked", false)) {
// Actualizar cantidad de items
String integer = PreferenceManager.getDefaultSharedPreferences(this).getString("time_photos", "30");
boolean minOrSec; // 0 min , 1 sec
if (integer.indexOf(" ") == 2) {
if (integer.substring(3, 4).contains("s"))
minOrSec = true;
else
minOrSec = false;
integer = integer.substring(0, 2);
}
else {
if(integer.length() == 1) {
integer = integer.substring(0, 1);
minOrSec = true;
}
else if (integer.substring(2, 3).contains("m"))
minOrSec = false;
else
minOrSec = true;
integer = integer.substring(0, 1);
}
if(minOrSec)
startTime = Integer.parseInt(integer) * 1000;
else
startTime = Integer.parseInt(integer) * 60 * 1000;
countDownTimer = new MyCountDownTimer(startTime, interval);
countDownTimer.start();
}
}
private void setPictureCard() {
viewPager.setCurrentItem(currentImage);
}