2020-10-09 10:19:46 +02:00
|
|
|
package app.fedilab.fedilabtube;
|
|
|
|
/* Copyright 2020 Thomas Schneider
|
|
|
|
*
|
|
|
|
* This file is a part of TubeLab
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
|
|
|
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
|
|
|
* License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
|
|
|
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
|
|
* Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
|
|
|
* see <http://www.gnu.org/licenses>. */
|
|
|
|
|
2020-10-09 18:22:05 +02:00
|
|
|
import android.content.Context;
|
|
|
|
import android.content.SharedPreferences;
|
2020-10-09 10:19:46 +02:00
|
|
|
import android.os.Bundle;
|
|
|
|
import android.view.MenuItem;
|
2020-10-09 14:54:01 +02:00
|
|
|
import android.view.View;
|
|
|
|
import android.widget.AdapterView;
|
|
|
|
import android.widget.ArrayAdapter;
|
2020-10-09 10:19:46 +02:00
|
|
|
|
|
|
|
import androidx.appcompat.app.AppCompatActivity;
|
2020-10-10 09:25:00 +02:00
|
|
|
import androidx.fragment.app.Fragment;
|
2020-10-09 18:22:05 +02:00
|
|
|
import androidx.fragment.app.FragmentTransaction;
|
|
|
|
|
|
|
|
import com.mancj.materialsearchbar.MaterialSearchBar;
|
2020-10-09 10:19:46 +02:00
|
|
|
|
2020-10-09 14:54:01 +02:00
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Calendar;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.GregorianCalendar;
|
|
|
|
import java.util.Iterator;
|
|
|
|
import java.util.LinkedHashMap;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
import app.fedilab.fedilabtube.client.entities.SepiaSearch;
|
2020-11-27 18:56:37 +01:00
|
|
|
import app.fedilab.fedilabtube.databinding.ActivitySepiaSearchBinding;
|
2020-10-09 18:22:05 +02:00
|
|
|
import app.fedilab.fedilabtube.fragment.DisplaySepiaSearchFragment;
|
2020-10-09 10:19:46 +02:00
|
|
|
import app.fedilab.fedilabtube.helper.Helper;
|
|
|
|
|
2020-10-09 18:37:54 +02:00
|
|
|
import static app.fedilab.fedilabtube.PeertubeActivity.hideKeyboard;
|
2020-11-20 08:58:28 +01:00
|
|
|
import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation;
|
2020-10-09 10:19:46 +02:00
|
|
|
|
|
|
|
|
|
|
|
public class SepiaSearchActivity extends AppCompatActivity {
|
|
|
|
|
|
|
|
|
2020-10-09 18:22:05 +02:00
|
|
|
private SepiaSearch sepiaSearchVideo, sepiaSearchChannel;
|
2020-11-27 18:56:37 +01:00
|
|
|
|
|
|
|
private ActivitySepiaSearchBinding binding;
|
2020-10-09 14:54:01 +02:00
|
|
|
|
2020-10-09 10:19:46 +02:00
|
|
|
@Override
|
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
|
super.onCreate(savedInstanceState);
|
|
|
|
|
2020-11-27 18:56:37 +01:00
|
|
|
binding = ActivitySepiaSearchBinding.inflate(getLayoutInflater());
|
|
|
|
View rootView = binding.getRoot();
|
|
|
|
setContentView(rootView);
|
|
|
|
|
2020-10-09 10:19:46 +02:00
|
|
|
|
2020-10-09 14:54:01 +02:00
|
|
|
sepiaSearchVideo = new SepiaSearch();
|
|
|
|
sepiaSearchChannel = new SepiaSearch();
|
2020-10-09 18:22:05 +02:00
|
|
|
SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
|
|
|
sepiaSearchVideo.setCount(String.valueOf(sharedpreferences.getInt(Helper.SET_VIDEOS_PER_PAGE, Helper.VIDEOS_PER_PAGE)));
|
|
|
|
sepiaSearchVideo.setDurationMin(0);
|
|
|
|
sepiaSearchVideo.setDurationMax(9999999);
|
2020-10-10 09:37:44 +02:00
|
|
|
sepiaSearchVideo.setStart("0");
|
2020-10-09 18:22:05 +02:00
|
|
|
sepiaSearchVideo.setSort("-match");
|
2020-10-09 10:19:46 +02:00
|
|
|
if (getSupportActionBar() != null)
|
|
|
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
|
|
|
|
|
|
|
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.filter.setOnClickListener(view -> {
|
|
|
|
if (binding.filterElements.getVisibility() == View.VISIBLE) {
|
|
|
|
binding.filterElements.setVisibility(View.GONE);
|
2020-10-17 18:50:20 +02:00
|
|
|
} else {
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.filterElements.setVisibility(View.VISIBLE);
|
2020-10-09 14:54:01 +02:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.sepiaElementNsfw.setOnCheckedChangeListener((group, checkedId) -> sepiaSearchVideo.setNsfw(checkedId != R.id.sepia_element_nsfw_no));
|
|
|
|
|
|
|
|
binding.radioDate.setOnCheckedChangeListener((group, checkedId) -> {
|
2020-10-14 10:31:02 +02:00
|
|
|
if (checkedId == R.id.sepia_element_published_date_today) {
|
|
|
|
Calendar cal = GregorianCalendar.getInstance();
|
|
|
|
cal.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
|
cal.set(Calendar.MINUTE, 0);
|
|
|
|
cal.set(Calendar.SECOND, 0);
|
|
|
|
cal.set(Calendar.MILLISECOND, 0);
|
|
|
|
sepiaSearchVideo.setStartDate(cal.getTime());
|
|
|
|
} else if (checkedId == R.id.sepia_element_published_date_last_7_days) {
|
|
|
|
Calendar cal;
|
|
|
|
cal = GregorianCalendar.getInstance();
|
|
|
|
cal.setTime(new Date());
|
|
|
|
cal.add(Calendar.DAY_OF_YEAR, -7);
|
|
|
|
sepiaSearchVideo.setStartDate(cal.getTime());
|
|
|
|
} else if (checkedId == R.id.sepia_element_published_date_last_30_days) {
|
|
|
|
Calendar cal;
|
|
|
|
cal = GregorianCalendar.getInstance();
|
|
|
|
cal.setTime(new Date());
|
|
|
|
cal.add(Calendar.DAY_OF_YEAR, -30);
|
|
|
|
sepiaSearchVideo.setStartDate(cal.getTime());
|
|
|
|
} else if (checkedId == R.id.sepia_element_published_date_last_365_days) {
|
|
|
|
Calendar cal;
|
|
|
|
cal = GregorianCalendar.getInstance();
|
|
|
|
cal.setTime(new Date());
|
|
|
|
cal.add(Calendar.DAY_OF_YEAR, -365);
|
|
|
|
sepiaSearchVideo.setStartDate(cal.getTime());
|
|
|
|
} else {
|
|
|
|
sepiaSearchVideo.setStartDate(null);
|
2020-10-09 14:54:01 +02:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.duration.setOnCheckedChangeListener((group, checkedId) -> {
|
2020-10-14 10:31:02 +02:00
|
|
|
if (checkedId == R.id.sepia_element_duration_short) {
|
|
|
|
sepiaSearchVideo.setDurationMin(0);
|
|
|
|
sepiaSearchVideo.setDurationMax(240);
|
|
|
|
} else if (checkedId == R.id.sepia_element_duration_medium) {
|
|
|
|
sepiaSearchVideo.setDurationMin(240);
|
|
|
|
sepiaSearchVideo.setDurationMax(600);
|
|
|
|
} else if (checkedId == R.id.sepia_element_duration_long) {
|
|
|
|
sepiaSearchVideo.setDurationMin(600);
|
|
|
|
sepiaSearchVideo.setDurationMax(999999999);
|
|
|
|
} else {
|
|
|
|
sepiaSearchVideo.setDurationMin(0);
|
|
|
|
sepiaSearchVideo.setDurationMax(999999999);
|
2020-10-09 14:54:01 +02:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
ArrayAdapter<String> adapterSortBy = new ArrayAdapter<>(SepiaSearchActivity.this,
|
|
|
|
android.R.layout.simple_spinner_dropdown_item, getResources().getStringArray(R.array.sort_by_array));
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.sortBy.setAdapter(adapterSortBy);
|
|
|
|
binding.sortBy.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
2020-10-09 14:54:01 +02:00
|
|
|
@Override
|
|
|
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
|
|
|
String orderby, channelOrderBy;
|
2020-10-17 18:50:20 +02:00
|
|
|
switch (position) {
|
2020-10-09 14:54:01 +02:00
|
|
|
case 1:
|
|
|
|
orderby = "-publishedAt";
|
|
|
|
channelOrderBy = "-createdAt";
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
orderby = "publishedAt";
|
|
|
|
channelOrderBy = "createdAt";
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
orderby = "-match";
|
|
|
|
channelOrderBy = null;
|
|
|
|
}
|
|
|
|
sepiaSearchVideo.setSort(orderby);
|
|
|
|
sepiaSearchChannel.setSort(channelOrderBy);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onNothingSelected(AdapterView<?> parent) {
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
LinkedHashMap<Integer, String> categories = new LinkedHashMap<>(peertubeInformation.getCategories());
|
|
|
|
LinkedHashMap<Integer, String> licences = new LinkedHashMap<>(peertubeInformation.getLicences());
|
|
|
|
LinkedHashMap<String, String> languages = new LinkedHashMap<>(peertubeInformation.getLanguages());
|
2020-10-17 10:52:56 +02:00
|
|
|
LinkedHashMap<String, String> translations = null;
|
|
|
|
|
2020-10-17 18:50:20 +02:00
|
|
|
if (peertubeInformation.getTranslations() != null) {
|
2020-10-17 10:52:56 +02:00
|
|
|
translations = new LinkedHashMap<>(peertubeInformation.getTranslations());
|
|
|
|
}
|
2020-10-09 14:54:01 +02:00
|
|
|
|
|
|
|
//Populate catgories
|
2020-10-17 18:50:20 +02:00
|
|
|
String[] categoriesA = new String[categories.size() + 1];
|
2020-10-09 14:54:01 +02:00
|
|
|
categoriesA[0] = getString(R.string.display_all_categories);
|
|
|
|
Iterator<Map.Entry<Integer, String>> it = categories.entrySet().iterator();
|
|
|
|
int i = 1;
|
|
|
|
while (it.hasNext()) {
|
|
|
|
Map.Entry<Integer, String> pair = it.next();
|
2020-10-17 10:52:56 +02:00
|
|
|
if (translations == null || translations.size() == 0 || !translations.containsKey(pair.getValue()))
|
2020-10-09 14:54:01 +02:00
|
|
|
categoriesA[i] = pair.getValue();
|
|
|
|
else
|
|
|
|
categoriesA[i] = translations.get(pair.getValue());
|
|
|
|
it.remove();
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
ArrayAdapter<String> adapterCatgories = new ArrayAdapter<>(SepiaSearchActivity.this,
|
|
|
|
android.R.layout.simple_spinner_dropdown_item, categoriesA);
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.sepiaElementCategory.setAdapter(adapterCatgories);
|
2020-10-09 14:54:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
//Populate licenses
|
2020-10-17 18:50:20 +02:00
|
|
|
String[] licensesA = new String[licences.size() + 1];
|
2020-10-09 14:54:01 +02:00
|
|
|
licensesA[0] = getString(R.string.display_all_licenses);
|
|
|
|
it = licences.entrySet().iterator();
|
|
|
|
i = 1;
|
|
|
|
while (it.hasNext()) {
|
|
|
|
Map.Entry<Integer, String> pair = it.next();
|
2020-10-17 10:52:56 +02:00
|
|
|
if (translations == null || translations.size() == 0 || !translations.containsKey(pair.getValue()))
|
2020-10-09 14:54:01 +02:00
|
|
|
licensesA[i] = pair.getValue();
|
|
|
|
else
|
|
|
|
licensesA[i] = translations.get(pair.getValue());
|
|
|
|
it.remove();
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
ArrayAdapter<String> adapterLicenses = new ArrayAdapter<>(SepiaSearchActivity.this,
|
|
|
|
android.R.layout.simple_spinner_dropdown_item, licensesA);
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.sepiaElementLicense.setAdapter(adapterLicenses);
|
2020-10-09 14:54:01 +02:00
|
|
|
|
|
|
|
//Populate languages
|
2020-10-17 18:50:20 +02:00
|
|
|
String[] languagesA = new String[languages.size() + 1];
|
2020-10-09 14:54:01 +02:00
|
|
|
languagesA[0] = getString(R.string.display_all_languages);
|
|
|
|
Iterator<Map.Entry<String, String>> itl = languages.entrySet().iterator();
|
|
|
|
i = 1;
|
|
|
|
while (itl.hasNext()) {
|
|
|
|
Map.Entry<String, String> pair = itl.next();
|
2020-10-17 10:52:56 +02:00
|
|
|
if (translations == null || translations.size() == 0 || !translations.containsKey(pair.getValue()))
|
2020-10-09 14:54:01 +02:00
|
|
|
languagesA[i] = pair.getValue();
|
|
|
|
else
|
|
|
|
languagesA[i] = translations.get(pair.getValue());
|
|
|
|
itl.remove();
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
ArrayAdapter<String> adapterLanguages = new ArrayAdapter<>(SepiaSearchActivity.this,
|
|
|
|
android.R.layout.simple_spinner_dropdown_item, languagesA);
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.sepiaElementLanguage.setAdapter(adapterLanguages);
|
2020-10-09 14:54:01 +02:00
|
|
|
|
|
|
|
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.sepiaElementLicense.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
2020-10-09 14:54:01 +02:00
|
|
|
@Override
|
|
|
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
|
|
|
updateLicensePosition(position);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onNothingSelected(AdapterView<?> parent) {
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
//Manage categories
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.sepiaElementCategory.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
2020-10-09 14:54:01 +02:00
|
|
|
@Override
|
|
|
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
|
|
|
updateCategoryPosition(position);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onNothingSelected(AdapterView<?> parent) {
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
2020-10-09 10:19:46 +02:00
|
|
|
|
2020-10-09 14:54:01 +02:00
|
|
|
//Manage languages
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.sepiaElementLanguage.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
2020-10-09 14:54:01 +02:00
|
|
|
@Override
|
|
|
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
|
|
|
updateLanguagesPosition(position);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onNothingSelected(AdapterView<?> parent) {
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.searchBar.setOnSearchActionListener(new MaterialSearchBar.OnSearchActionListener() {
|
2020-10-09 18:22:05 +02:00
|
|
|
@Override
|
|
|
|
public void onSearchStateChanged(boolean enabled) {
|
|
|
|
|
2020-10-09 14:54:01 +02:00
|
|
|
}
|
2020-10-09 18:22:05 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onSearchConfirmed(CharSequence text) {
|
|
|
|
makeSearch();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onButtonClicked(int buttonCode) {
|
|
|
|
makeSearch();
|
2020-10-09 14:54:01 +02:00
|
|
|
}
|
|
|
|
});
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.applyFilter.setOnClickListener(v -> makeSearch());
|
2020-10-09 18:37:54 +02:00
|
|
|
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.searchBar.openSearch();
|
2020-10-09 10:19:46 +02:00
|
|
|
}
|
|
|
|
|
2020-10-17 18:50:20 +02:00
|
|
|
private void makeSearch() {
|
2020-10-09 18:37:54 +02:00
|
|
|
hideKeyboard(SepiaSearchActivity.this);
|
2020-10-10 09:37:44 +02:00
|
|
|
sepiaSearchVideo.setStart("0");
|
2020-11-27 18:56:37 +01:00
|
|
|
if (binding.sepiaElementOneOfTags.getTags().size() > 0) {
|
|
|
|
sepiaSearchVideo.setTagsOneOf(binding.sepiaElementOneOfTags.getTags());
|
2020-10-17 18:50:20 +02:00
|
|
|
} else {
|
2020-10-09 18:22:05 +02:00
|
|
|
sepiaSearchVideo.setTagsOneOf(null);
|
|
|
|
}
|
2020-11-27 18:56:37 +01:00
|
|
|
if (binding.sepiaElementAllOfTags.getTags().size() > 0) {
|
|
|
|
sepiaSearchVideo.setTagsAllOf(binding.sepiaElementAllOfTags.getTags());
|
2020-10-17 18:50:20 +02:00
|
|
|
} else {
|
2020-10-09 18:22:05 +02:00
|
|
|
sepiaSearchVideo.setTagsAllOf(null);
|
|
|
|
}
|
2020-10-10 09:25:00 +02:00
|
|
|
|
|
|
|
Fragment fragment = getSupportFragmentManager().findFragmentByTag("SEPIA_SEARCH");
|
2020-10-17 18:50:20 +02:00
|
|
|
if (fragment != null)
|
2020-10-10 09:25:00 +02:00
|
|
|
getSupportFragmentManager().beginTransaction().remove(fragment).commit();
|
2020-11-27 18:56:37 +01:00
|
|
|
binding.filterElements.setVisibility(View.GONE);
|
|
|
|
sepiaSearchVideo.setSearch(binding.searchBar.getText());
|
2020-10-09 18:22:05 +02:00
|
|
|
DisplaySepiaSearchFragment displaySepiaSearchFragment = new DisplaySepiaSearchFragment();
|
|
|
|
Bundle bundle = new Bundle();
|
|
|
|
bundle.putParcelable("sepiaSearchVideo", sepiaSearchVideo);
|
|
|
|
displaySepiaSearchFragment.setArguments(bundle);
|
|
|
|
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
|
2020-10-17 18:50:20 +02:00
|
|
|
ft.add(R.id.container, displaySepiaSearchFragment, "SEPIA_SEARCH").commit();
|
2020-10-09 18:22:05 +02:00
|
|
|
}
|
2020-10-09 10:19:46 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
|
if (item.getItemId() == android.R.id.home) {
|
|
|
|
finish();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return super.onOptionsItemSelected(item);
|
|
|
|
}
|
|
|
|
|
2020-10-09 14:54:01 +02:00
|
|
|
private void updateLanguagesPosition(int position) {
|
|
|
|
LinkedHashMap<String, String> languagesCheck = new LinkedHashMap<>(peertubeInformation.getLanguages());
|
|
|
|
Iterator<Map.Entry<String, String>> it = languagesCheck.entrySet().iterator();
|
|
|
|
int i = 0;
|
|
|
|
while (it.hasNext()) {
|
|
|
|
Map.Entry<String, String> pair = it.next();
|
|
|
|
if (i == position && position > 0) {
|
|
|
|
List<String> languages = new ArrayList<>();
|
|
|
|
languages.add(pair.getKey());
|
|
|
|
sepiaSearchVideo.setBoostLanguages(languages);
|
|
|
|
break;
|
2020-10-17 18:50:20 +02:00
|
|
|
} else {
|
2020-10-09 14:54:01 +02:00
|
|
|
sepiaSearchVideo.setBoostLanguages(null);
|
|
|
|
}
|
|
|
|
it.remove();
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void updateCategoryPosition(int position) {
|
|
|
|
LinkedHashMap<Integer, String> categoriesCheck = new LinkedHashMap<>(peertubeInformation.getCategories());
|
|
|
|
Iterator<Map.Entry<Integer, String>> it = categoriesCheck.entrySet().iterator();
|
|
|
|
int i = 0;
|
|
|
|
while (it.hasNext()) {
|
|
|
|
Map.Entry<Integer, String> pair = it.next();
|
2020-10-17 18:50:20 +02:00
|
|
|
if (i == position && position > 0) {
|
2020-10-09 14:54:01 +02:00
|
|
|
List<Integer> categories = new ArrayList<>();
|
|
|
|
categories.add(pair.getKey());
|
|
|
|
sepiaSearchVideo.setCategoryOneOf(categories);
|
|
|
|
break;
|
2020-10-17 18:50:20 +02:00
|
|
|
} else {
|
2020-10-09 14:54:01 +02:00
|
|
|
sepiaSearchVideo.setCategoryOneOf(null);
|
|
|
|
}
|
|
|
|
it.remove();
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void updateLicensePosition(int position) {
|
|
|
|
LinkedHashMap<Integer, String> licensesCheck = new LinkedHashMap<>(peertubeInformation.getLicences());
|
|
|
|
Iterator<Map.Entry<Integer, String>> it = licensesCheck.entrySet().iterator();
|
|
|
|
int i = 0;
|
|
|
|
while (it.hasNext()) {
|
|
|
|
Map.Entry<Integer, String> pair = it.next();
|
|
|
|
if (i == position && position > 0) {
|
|
|
|
List<Integer> licenses = new ArrayList<>();
|
|
|
|
licenses.add(pair.getKey());
|
|
|
|
sepiaSearchVideo.setLicenceOneOf(licenses);
|
|
|
|
break;
|
2020-10-17 18:50:20 +02:00
|
|
|
} else {
|
2020-10-09 14:54:01 +02:00
|
|
|
sepiaSearchVideo.setLicenceOneOf(null);
|
|
|
|
}
|
|
|
|
it.remove();
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-10-09 10:19:46 +02:00
|
|
|
}
|