webrtc
This commit is contained in:
parent
6e83958e0c
commit
8201b49343
|
@ -59,7 +59,7 @@ ext.photoViewLibraryVersion = '2.0.0'
|
|||
ext.swipebackLibraryVersion = '1.0.3'
|
||||
ext.ratethisappLibraryVersion = '1.2.0'
|
||||
ext.uploadServiceVersion = "3.4.2"
|
||||
ext.torrentstreamVersion = "2.6.1"
|
||||
ext.torrentstreamVersion = "2.5.0"
|
||||
|
||||
|
||||
dependencies {
|
||||
|
@ -88,11 +88,10 @@ dependencies {
|
|||
implementation 'com.github.GrenderG:Toasty:1.3.1'
|
||||
implementation 'com.elconfidencial.bubbleshowcase:bubbleshowcase:1.3.1'
|
||||
implementation 'com.android.support:multidex:1.0.3'
|
||||
implementation 'com.google.android.exoplayer:exoplayer-core:2.9.3'
|
||||
implementation 'com.google.android.exoplayer:exoplayer-ui:2.9.3'
|
||||
implementation "com.github.TorrentStream:TorrentStream-Android:$torrentstreamVersion"
|
||||
implementation 'com.google.android.exoplayer:exoplayer:2.9.3'
|
||||
implementation 'com.github.stom79:android-upload-service:3.4.2-Mastalab'
|
||||
implementation 'com.github.mabbas007:TagsEditText:1.0.5'
|
||||
implementation 'com.jaredrummler:material-spinner:1.3.1'
|
||||
implementation 'org.webrtc:google-webrtc:1.0.+'
|
||||
playstoreImplementation "io.github.kobakei:ratethisapp:$ratethisappLibraryVersion"
|
||||
}
|
||||
|
|
|
@ -31,7 +31,6 @@ import android.net.Uri;
|
|||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.widget.AppCompatImageView;
|
||||
|
@ -56,22 +55,14 @@ import android.widget.ScrollView;
|
|||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.github.se_bastiaan.torrentstream.StreamStatus;
|
||||
import com.github.se_bastiaan.torrentstream.Torrent;
|
||||
import com.github.se_bastiaan.torrentstream.TorrentOptions;
|
||||
import com.github.se_bastiaan.torrentstream.TorrentStream;
|
||||
import com.github.se_bastiaan.torrentstream.listeners.TorrentListener;
|
||||
import com.google.android.exoplayer2.ExoPlayerFactory;
|
||||
import com.google.android.exoplayer2.SimpleExoPlayer;
|
||||
import com.google.android.exoplayer2.source.ExtractorMediaSource;
|
||||
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
|
||||
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
|
||||
import com.google.android.exoplayer2.trackselection.TrackSelection;
|
||||
import com.google.android.exoplayer2.ui.AspectRatioFrameLayout;
|
||||
import com.google.android.exoplayer2.ui.PlaybackControlView;
|
||||
import com.google.android.exoplayer2.ui.SimpleExoPlayerView;
|
||||
import com.google.android.exoplayer2.upstream.DataSource;
|
||||
import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter;
|
||||
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
|
||||
|
@ -130,8 +121,6 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
|||
private Peertube peertube;
|
||||
private TextView toolbar_title;
|
||||
public static String video_id;
|
||||
private TorrentStream torrentStream;
|
||||
private TorrentListener torrentListener;
|
||||
private SimpleExoPlayerView playerView;
|
||||
private SimpleExoPlayer player;
|
||||
private boolean fullScreenMode;
|
||||
|
@ -206,6 +195,8 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
|||
|
||||
|
||||
mode = sharedpreferences.getInt(Helper.SET_VIDEO_MODE, Helper.VIDEO_MODE_DIRECT);
|
||||
if( mode != Helper.VIDEO_MODE_WEBVIEW && mode != Helper.VIDEO_MODE_DIRECT)
|
||||
mode = VIDEO_MODE_DIRECT;
|
||||
if( mode == Helper.VIDEO_MODE_WEBVIEW){
|
||||
webview_video.setVisibility(View.VISIBLE);
|
||||
playerView.setVisibility(View.GONE);
|
||||
|
@ -238,7 +229,13 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
|||
}
|
||||
}
|
||||
});
|
||||
webview_video.getSettings().setAllowFileAccess(true);
|
||||
webview_video.setWebChromeClient(mastalabWebChromeClient);
|
||||
webview_video.getSettings().setDomStorageEnabled(true);
|
||||
webview_video.getSettings().setAppCacheEnabled(true);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
webview_video.getSettings().setMediaPlaybackRequiresUserGesture(false);
|
||||
}
|
||||
webview_video.setWebViewClient(new MastalabWebViewClient(PeertubeActivity.this));
|
||||
webview_video.loadUrl("https://" + peertubeInstance + "/videos/embed/" + videoId);
|
||||
}else {
|
||||
|
@ -451,69 +448,7 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
|||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if( mode == Helper.VIDEO_MODE_TORRENT){
|
||||
TorrentOptions torrentOptions = new TorrentOptions.Builder()
|
||||
.saveLocation(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS))
|
||||
.removeFilesAfterStop(true)
|
||||
.build();
|
||||
|
||||
|
||||
|
||||
DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
|
||||
TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwidthMeter);
|
||||
trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
|
||||
|
||||
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(),
|
||||
Util.getUserAgent(getApplicationContext(), "Mastalab"), null);
|
||||
|
||||
ExtractorMediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory)
|
||||
.createMediaSource(Uri.parse(apiResponse.getPeertubes().get(0).getTorrentUrl(null)));
|
||||
|
||||
|
||||
player = ExoPlayerFactory.newSimpleInstance(PeertubeActivity.this, trackSelector);
|
||||
playerView.setPlayer(player);
|
||||
torrentStream = TorrentStream.init(torrentOptions);
|
||||
player.prepare(videoSource);
|
||||
torrentStream.startStream(apiResponse.getPeertubes().get(0).getTorrentUrl(null));
|
||||
torrentListener = new TorrentListener() {
|
||||
@Override
|
||||
public void onStreamPrepared(Torrent torrent) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStreamStarted(Torrent torrent) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStreamError(Torrent torrent, Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStreamReady(Torrent torrent) {
|
||||
loader.setVisibility(View.GONE);
|
||||
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(),
|
||||
Util.getUserAgent(getApplicationContext(), "Mastalab"), bandwidthMeter);
|
||||
|
||||
ExtractorMediaSource extractorMediaSource = new ExtractorMediaSource.Factory(dataSourceFactory)
|
||||
.createMediaSource(Uri.fromFile(torrent.getVideoFile()));
|
||||
player.prepare(extractorMediaSource);
|
||||
player.setPlayWhenReady(true);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStreamProgress(Torrent torrent, StreamStatus status) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStreamStopped() {
|
||||
loader.setVisibility(View.GONE);
|
||||
player.release();
|
||||
}
|
||||
};
|
||||
torrentStream.addListener(torrentListener);
|
||||
}else if( mode == Helper.VIDEO_MODE_DIRECT){
|
||||
if( mode == Helper.VIDEO_MODE_DIRECT){
|
||||
|
||||
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(),
|
||||
Util.getUserAgent(getApplicationContext(), "Mastalab"), null);
|
||||
|
@ -670,8 +605,6 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
|||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
if( torrentStream != null && torrentStream.isStreaming())
|
||||
torrentStream.stopStream();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -724,71 +657,7 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
|||
PlaybackControlView controlView = playerView.findViewById(R.id.exo_controller);
|
||||
resolution = controlView.findViewById(R.id.resolution);
|
||||
resolution.setText(String.format("%sp",res));
|
||||
if (mode == Helper.VIDEO_MODE_TORRENT) {
|
||||
torrentStream.stopStream();
|
||||
torrentStream.removeListener(torrentListener);
|
||||
|
||||
|
||||
TorrentOptions torrentOptions = new TorrentOptions.Builder()
|
||||
.saveLocation(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS))
|
||||
.removeFilesAfterStop(true)
|
||||
.build();
|
||||
|
||||
|
||||
DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
|
||||
TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwidthMeter);
|
||||
trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
|
||||
|
||||
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(),
|
||||
Util.getUserAgent(getApplicationContext(), "Mastalab"), null);
|
||||
|
||||
ExtractorMediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory)
|
||||
.createMediaSource(Uri.parse(peertube.getTorrentUrl(res)));
|
||||
|
||||
|
||||
player = ExoPlayerFactory.newSimpleInstance(PeertubeActivity.this, trackSelector);
|
||||
playerView.setPlayer(player);
|
||||
torrentStream = TorrentStream.init(torrentOptions);
|
||||
torrentStream.startStream(peertube.getTorrentUrl(res));
|
||||
torrentListener = new TorrentListener() {
|
||||
@Override
|
||||
public void onStreamPrepared(Torrent torrent) {
|
||||
resolution.setText(res);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStreamStarted(Torrent torrent) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStreamError(Torrent torrent, Exception e) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStreamReady(Torrent torrent) {
|
||||
loader.setVisibility(View.GONE);
|
||||
resolution.setText(res);
|
||||
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(),
|
||||
Util.getUserAgent(getApplicationContext(), "Mastalab"), null);
|
||||
|
||||
ExtractorMediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory)
|
||||
.createMediaSource(Uri.fromFile(torrent.getVideoFile()));
|
||||
player.prepare(videoSource);
|
||||
player.seekTo(0, position);
|
||||
player.setPlayWhenReady(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStreamProgress(Torrent torrent, StreamStatus status) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStreamStopped() {
|
||||
loader.setVisibility(View.GONE);
|
||||
}
|
||||
};
|
||||
torrentStream.addListener(torrentListener);
|
||||
}else if( mode == VIDEO_MODE_DIRECT){
|
||||
if( mode == VIDEO_MODE_DIRECT){
|
||||
|
||||
player = ExoPlayerFactory.newSimpleInstance(PeertubeActivity.this);
|
||||
playerView.setPlayer(player);
|
||||
|
|
|
@ -59,7 +59,8 @@ public class SettingsPeertubeFragment extends Fragment {
|
|||
ArrayAdapter<CharSequence> video_mode_spinnerAdapter = ArrayAdapter.createFromResource(getContext(),
|
||||
R.array.settings_video_mode, android.R.layout.simple_spinner_item);
|
||||
video_mode_spinner.setAdapter(video_mode_spinnerAdapter);
|
||||
|
||||
if (videoMode == Helper.VIDEO_MODE_TORRENT)
|
||||
videoMode = 2;
|
||||
video_mode_spinner.setSelection(videoMode);
|
||||
video_mode_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||
@Override
|
||||
|
@ -67,10 +68,10 @@ public class SettingsPeertubeFragment extends Fragment {
|
|||
if( count1 > 0 ) {
|
||||
SharedPreferences.Editor editor = sharedpreferences.edit();
|
||||
switch (position) {
|
||||
case 0:
|
||||
/*case 0:
|
||||
editor.putInt(Helper.SET_VIDEO_MODE, Helper.VIDEO_MODE_TORRENT);
|
||||
editor.apply();
|
||||
break;
|
||||
break;*/
|
||||
case 1:
|
||||
editor.putInt(Helper.SET_VIDEO_MODE, Helper.VIDEO_MODE_WEBVIEW);
|
||||
editor.apply();
|
||||
|
|
|
@ -727,7 +727,6 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -741,7 +741,6 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>تورنت</item>
|
||||
<item>Webview</item>
|
||||
<item>تدفق مباشر</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,6 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -731,7 +731,6 @@ Začněte psát první znaky pro návrh.\n\n
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -742,7 +742,6 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,6 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -717,7 +717,6 @@ Durch das Löschen der Anwendung werden diese Daten sofort entfernt.\n
|
|||
<string name="my_pictures">Meine Bilder</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webansicht</item>
|
||||
<item>Direkter Datenstrom</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,6 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -722,7 +722,6 @@ https://yandex.ru/legal/confidential/?lang=en </string>
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -725,7 +725,6 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Web ikuspegia</item>
|
||||
<item>Zuzeneko streaming-a</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,6 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,6 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -724,7 +724,6 @@ Le bouton de connexion s’activera une fois qu’un domaine valide sera renseig
|
|||
<string name="my_pictures">Mes images</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webview</item>
|
||||
<item>Flux direct</item>
|
||||
</string-array>
|
||||
|
|
|
@ -728,7 +728,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Vista web</item>
|
||||
<item>Fluxo directo</item>
|
||||
</string-array>
|
||||
|
|
|
@ -735,7 +735,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -716,7 +716,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -726,7 +726,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -725,7 +725,7 @@ https://yandex.ru/legal/confidential/?lang=en
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,7 @@
|
|||
<string name="my_pictures">Le mie immagini</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Flusso diretto</item>
|
||||
</string-array>
|
||||
|
|
|
@ -715,7 +715,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -723,7 +723,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -724,7 +724,7 @@ Je kunt beginnen met typen en er zullen namen gesuggereerd worden.\n\n
|
|||
<string name="my_pictures">Mijn foto\'s</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Directe stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -715,7 +715,7 @@ Adresser vil bli foreslått når du begynner å skrive.\n\n
|
|||
<string name="my_pictures">Mine bilder</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webvisning</item>
|
||||
<item>Direktestrøm</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -729,7 +729,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Widok sieci Web</item>
|
||||
<item>Transmisja bezpośrednia</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -728,7 +728,7 @@ Aceste date sunt strict confidențiale și pot fi folosite doar de aplicație.
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -735,7 +735,7 @@
|
|||
<string name="my_pictures">Мои изображения</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Прямой поток</item>
|
||||
</string-array>
|
||||
|
|
|
@ -726,7 +726,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -735,7 +735,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -731,7 +731,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -727,7 +727,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -720,7 +720,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -725,7 +725,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -721,7 +721,7 @@ và %d toots khác để khám phá</item>
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -723,7 +723,7 @@
|
|||
<string name="my_pictures">My pictures</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
|
@ -723,7 +723,7 @@
|
|||
<string name="my_pictures">我的圖片</string>
|
||||
<!-- end languages -->
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
|
||||
<item>Webview</item>
|
||||
<item>直接串流</item>
|
||||
</string-array>
|
||||
|
|
|
@ -833,7 +833,6 @@
|
|||
|
||||
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Torrent</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
|
|
Loading…
Reference in New Issue