forked from upstream-mirrors/OpenTracks
Bugfix: resume functionality was not starting recording.
Introduced in 9d64989ef1
This commit is contained in:
@@ -3,6 +3,7 @@ package de.dennisguse.opentracks;
|
|||||||
import static androidx.test.espresso.Espresso.onData;
|
import static androidx.test.espresso.Espresso.onData;
|
||||||
import static androidx.test.espresso.Espresso.onView;
|
import static androidx.test.espresso.Espresso.onView;
|
||||||
import static androidx.test.espresso.action.ViewActions.click;
|
import static androidx.test.espresso.action.ViewActions.click;
|
||||||
|
import static androidx.test.espresso.action.ViewActions.longClick;
|
||||||
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
|
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.withId;
|
import static androidx.test.espresso.matcher.ViewMatchers.withId;
|
||||||
@@ -39,33 +40,30 @@ public class EspressoUITest {
|
|||||||
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
@Test
|
@Test
|
||||||
public void record_pause_resume_stop() {
|
public void record_stop_resume_stop_finish() {
|
||||||
{
|
{
|
||||||
// TrackListActivity: start recording
|
// TrackListActivity: start recording
|
||||||
ViewInteraction trackControllerRecordButton = onView(withId(R.id.track_list_fab_action));
|
ViewInteraction trackControllerRecordButton = onView(withId(R.id.track_list_fab_action));
|
||||||
trackControllerRecordButton.perform(click());
|
trackControllerRecordButton.perform(click());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// TrackRecordingActivity
|
// TrackRecordingActivity: wait to record some time and then stop
|
||||||
ViewInteraction trackControllerStopButton = onView(withId(R.id.track_recording_fab_action));
|
onView(withId(R.id.track_recording_fab_action))
|
||||||
|
.perform(waitFor(5000))
|
||||||
|
.perform(longClick());
|
||||||
|
|
||||||
// // wait; stay recording
|
// TrackStoppedActivity: resume
|
||||||
// trackControllerRecordButton.perform(waitFor(5000));
|
onView(withId(R.id.resume_button))
|
||||||
//
|
.perform(click());
|
||||||
// //pause
|
|
||||||
// trackControllerRecordButton.perform(veryLongTouch(1600));
|
|
||||||
//
|
|
||||||
// // wait; stay paused
|
|
||||||
// trackControllerRecordButton.perform(waitFor(1000));
|
|
||||||
//
|
|
||||||
// // resume
|
|
||||||
// trackControllerRecordButton.perform(click());
|
|
||||||
//
|
|
||||||
// // wait; stay recording
|
|
||||||
// trackControllerRecordButton.perform(waitFor(1000));
|
|
||||||
|
|
||||||
// stop;
|
// TrackRecordingActivity: wait and then stop
|
||||||
trackControllerStopButton.perform(veryLongTouch(1600));
|
onView(withId(R.id.track_recording_fab_action))
|
||||||
|
.perform(waitFor(5000))
|
||||||
|
.perform(longClick());
|
||||||
|
|
||||||
|
// TrackStoppedActivity
|
||||||
|
onView(withId(R.id.finish_button))
|
||||||
|
.perform(click());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import de.dennisguse.opentracks.data.models.SpeedFormatter;
|
|||||||
import de.dennisguse.opentracks.data.models.Track;
|
import de.dennisguse.opentracks.data.models.Track;
|
||||||
import de.dennisguse.opentracks.databinding.TrackStoppedBinding;
|
import de.dennisguse.opentracks.databinding.TrackStoppedBinding;
|
||||||
import de.dennisguse.opentracks.fragments.ChooseActivityTypeDialogFragment;
|
import de.dennisguse.opentracks.fragments.ChooseActivityTypeDialogFragment;
|
||||||
|
import de.dennisguse.opentracks.services.TrackRecordingServiceConnection;
|
||||||
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
||||||
import de.dennisguse.opentracks.util.ExportUtils;
|
import de.dennisguse.opentracks.util.ExportUtils;
|
||||||
import de.dennisguse.opentracks.util.IntentUtils;
|
import de.dennisguse.opentracks.util.IntentUtils;
|
||||||
@@ -94,16 +95,14 @@ public class TrackStoppedActivity extends AbstractActivity implements ChooseActi
|
|||||||
});
|
});
|
||||||
|
|
||||||
viewBinding.resumeButton.setOnClickListener(v -> {
|
viewBinding.resumeButton.setOnClickListener(v -> {
|
||||||
resume();
|
resumeTrackAndFinish();
|
||||||
finish();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
super.onBackPressed();
|
super.onBackPressed();
|
||||||
resume();
|
resumeTrackAndFinish();
|
||||||
finish();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -122,10 +121,17 @@ public class TrackStoppedActivity extends AbstractActivity implements ChooseActi
|
|||||||
viewBinding.fields.trackEditActivityType.setText(getString(TrackIconUtils.getIconActivityType(iconValue)));
|
viewBinding.fields.trackEditActivityType.setText(getString(TrackIconUtils.getIconActivityType(iconValue)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resume() {
|
private void resumeTrackAndFinish() {
|
||||||
Intent newIntent = IntentUtils.newIntent(TrackStoppedActivity.this, TrackRecordingActivity.class)
|
new TrackRecordingServiceConnection((service, connection) -> {
|
||||||
.putExtra(TrackRecordingActivity.EXTRA_TRACK_ID, trackId);
|
service.resumeTrack(trackId);
|
||||||
startActivity(newIntent);
|
|
||||||
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
|
Intent newIntent = IntentUtils.newIntent(TrackStoppedActivity.this, TrackRecordingActivity.class)
|
||||||
|
.putExtra(TrackRecordingActivity.EXTRA_TRACK_ID, trackId);
|
||||||
|
startActivity(newIntent);
|
||||||
|
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
|
||||||
|
|
||||||
|
connection.unbind(this);
|
||||||
|
finish();
|
||||||
|
}).startAndBind(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user