Fixed NPE due to Presenter constructor trying to load the alarm before it returns

This commit is contained in:
Phillip Hsu 2016-06-03 02:43:07 -07:00
parent ef22355ddf
commit b798a8e2b0
3 changed files with 10 additions and 7 deletions

View File

@ -65,9 +65,8 @@ public class EditAlarmActivity extends BaseActivity implements
super.onCreate(savedInstanceState);
setWeekDaysText();
mNumpad.setKeyListener(this);
mPresenter = new EditAlarmPresenter(this,
AlarmsRepository.getInstance(this),
getIntent().getLongExtra(EXTRA_ALARM_ID, -1));
mPresenter = new EditAlarmPresenter(this, AlarmsRepository.getInstance(this));
mPresenter.loadAlarm(getIntent().getLongExtra(EXTRA_ALARM_ID, -1));
mPresenter.setTimeTextHint();
}

View File

@ -26,6 +26,7 @@ public interface EditAlarmContract {
}
interface Presenter extends AlarmContract.Presenter {
void loadAlarm(long id);
void save();
void delete();
void showNumpad();

View File

@ -21,14 +21,17 @@ public class EditAlarmPresenter implements EditAlarmContract.Presenter {
@NonNull private final EditAlarmContract.View mView;
@NonNull private final Repository<Alarm> mRepository;
@Nullable private final Alarm mAlarm;
@Nullable private Alarm mAlarm;
public EditAlarmPresenter(@NonNull EditAlarmContract.View view,
@NonNull Repository<Alarm> repository,
long alarmId) {
@NonNull Repository<Alarm> repository) {
mView = view;
mRepository = repository;
mAlarm = alarmId > -1 ? repository.getItem(alarmId) : null;
}
@Override
public void loadAlarm(long alarmId) {
mAlarm = alarmId > -1 ? mRepository.getItem(alarmId) : null;
showDetails();
}