Fixed NPE due to Presenter constructor trying to load the alarm before it returns
This commit is contained in:
parent
ef22355ddf
commit
b798a8e2b0
@ -65,9 +65,8 @@ public class EditAlarmActivity extends BaseActivity implements
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setWeekDaysText();
|
setWeekDaysText();
|
||||||
mNumpad.setKeyListener(this);
|
mNumpad.setKeyListener(this);
|
||||||
mPresenter = new EditAlarmPresenter(this,
|
mPresenter = new EditAlarmPresenter(this, AlarmsRepository.getInstance(this));
|
||||||
AlarmsRepository.getInstance(this),
|
mPresenter.loadAlarm(getIntent().getLongExtra(EXTRA_ALARM_ID, -1));
|
||||||
getIntent().getLongExtra(EXTRA_ALARM_ID, -1));
|
|
||||||
mPresenter.setTimeTextHint();
|
mPresenter.setTimeTextHint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -26,6 +26,7 @@ public interface EditAlarmContract {
|
|||||||
}
|
}
|
||||||
|
|
||||||
interface Presenter extends AlarmContract.Presenter {
|
interface Presenter extends AlarmContract.Presenter {
|
||||||
|
void loadAlarm(long id);
|
||||||
void save();
|
void save();
|
||||||
void delete();
|
void delete();
|
||||||
void showNumpad();
|
void showNumpad();
|
||||||
|
|||||||
@ -21,14 +21,17 @@ public class EditAlarmPresenter implements EditAlarmContract.Presenter {
|
|||||||
|
|
||||||
@NonNull private final EditAlarmContract.View mView;
|
@NonNull private final EditAlarmContract.View mView;
|
||||||
@NonNull private final Repository<Alarm> mRepository;
|
@NonNull private final Repository<Alarm> mRepository;
|
||||||
@Nullable private final Alarm mAlarm;
|
@Nullable private Alarm mAlarm;
|
||||||
|
|
||||||
public EditAlarmPresenter(@NonNull EditAlarmContract.View view,
|
public EditAlarmPresenter(@NonNull EditAlarmContract.View view,
|
||||||
@NonNull Repository<Alarm> repository,
|
@NonNull Repository<Alarm> repository) {
|
||||||
long alarmId) {
|
|
||||||
mView = view;
|
mView = view;
|
||||||
mRepository = repository;
|
mRepository = repository;
|
||||||
mAlarm = alarmId > -1 ? repository.getItem(alarmId) : null;
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void loadAlarm(long alarmId) {
|
||||||
|
mAlarm = alarmId > -1 ? mRepository.getItem(alarmId) : null;
|
||||||
showDetails();
|
showDetails();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user