Issue #133 - history not working in URL

This commit is contained in:
Thomas 2020-12-06 10:46:18 +01:00
parent 1690507a18
commit f4698f1312
2 changed files with 10 additions and 3 deletions

View File

@ -549,7 +549,7 @@ public class MainActivity extends AppCompatActivity implements ChromeCastsListen
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
Pattern link = Pattern.compile("(https?://[\\da-z.-]+\\.[a-z.]{2,10})/videos/watch/(\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12})$");
Pattern link = Pattern.compile("(https?://[\\da-z.-]+\\.[a-z.]{2,10})/videos/watch/(\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12})(\\?start=(\\d+[hH])?(\\d+[mM])?(\\d+[sS])?)?$");
Matcher matcherLink = link.matcher(query.trim());
if (matcherLink.find()) {
Intent intent = new Intent(MainActivity.this, PeertubeActivity.class);

View File

@ -610,7 +610,7 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd
peertube.setEmbedUrl(url);
if (totalSeconds > 0) {
VideoData.UserHistory userHistory = new VideoData.UserHistory();
userHistory.setCurrentTime(totalSeconds * 1000);
userHistory.setCurrentTime(totalSeconds);
peertube.setUserHistory(userHistory);
}
TimelineVM viewModelTimeline = new ViewModelProvider(PeertubeActivity.this).get(TimelineVM.class);
@ -925,7 +925,7 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd
isRemote = true;
if (totalSeconds > 0) {
VideoData.UserHistory userHistory = new VideoData.UserHistory();
userHistory.setCurrentTime(totalSeconds * 1000);
userHistory.setCurrentTime(totalSeconds);
peertube.setUserHistory(userHistory);
}
TimelineVM viewModelTimeline = new ViewModelProvider(PeertubeActivity.this).get(TimelineVM.class);
@ -951,7 +951,14 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd
}
long position = -1;
long previousPositionHistory = 0;
if (peertube != null && peertube.getUserHistory() != null) {
previousPositionHistory = peertube.getUserHistory().getCurrentTime();
}
peertube = apiResponse.getPeertubes().get(0);
VideoData.UserHistory userHistory = new VideoData.UserHistory();
userHistory.setCurrentTime(previousPositionHistory);
peertube.setUserHistory(userHistory);
if (peertube.getUserHistory() != null) {
position = peertube.getUserHistory().getCurrentTime() * 1000;