Compare commits
No commits in common. "master" and "1.5.2" have entirely different histories.
|
@ -1,10 +0,0 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: tom79
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: tom79
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
@ -1,17 +0,0 @@
|
|||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 60
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 7
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- pinned
|
||||
- security
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: inactive
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
|
@ -9,4 +9,5 @@
|
|||
.cxx
|
||||
/app/release/
|
||||
/app/fdroid_full/release/
|
||||
/frostwire-jlibtorrent/
|
||||
/app/google_full/
|
||||
/app/google_acad/
|
||||
|
|
|
@ -76,11 +76,11 @@ assembleDebug:
|
|||
|
||||
# Basic android and gradle stuff
|
||||
# Check linting
|
||||
lintfdroid_acadDebug:
|
||||
lintFdroid_acadDebug:
|
||||
interruptible: true
|
||||
stage: build
|
||||
script:
|
||||
- ./gradlew -Pci --console=plain :app:lintfdroid_acadDebug -PbuildDir=lint
|
||||
- ./gradlew -Pci --console=plain :app:lintFdroid_acadDebug -PbuildDir=lint
|
||||
except:
|
||||
- tags
|
||||
|
||||
|
|
28
CHANGELOG
|
@ -1,28 +0,0 @@
|
|||
# 1.5.2
|
||||
|
||||
### Added:
|
||||
- Enable/disable auto playback
|
||||
- Enter in full-screen automatically (default disabled)
|
||||
- Back press pauses the video in full-screen
|
||||
|
||||
### Fixed:
|
||||
- Public timelines don't honor muted accounts
|
||||
- Comments are not removed when switching to a video without comments
|
||||
- Some other fixes
|
||||
|
||||
--------
|
||||
|
||||
# 1.5.1
|
||||
|
||||
- Fix some issues
|
||||
- New translations
|
||||
|
||||
--------
|
||||
|
||||
# 1.5.0
|
||||
|
||||
- Custom default instance depending of the country
|
||||
- Full managements of comments and their replies (read/post/delete)
|
||||
- Profile for accounts (displays their channels & videos)
|
||||
- Fix some issues when posting a comment
|
||||
- Fix videos not paused after screen lock
|
|
@ -1,17 +0,0 @@
|
|||
CONTRIBUTING
|
||||
============
|
||||
|
||||
### Localizations:
|
||||
|
||||
TubeLab works only with [Crowdin](https://crowdin.com/project/tubelab), which offers nice tools for helping in translations.
|
||||
New translations will be automatically merged in a branch.
|
||||
If your language is not listed, please ask me to add it. If you prefer to work on an XML file, you should be able [to upload it with Crowdin](https://support.crowdin.com/xml-configuration/).
|
||||
Crowdin will not pick up changes in develop branch, that's why all translations should be done with this tool.
|
||||
|
||||
### Issues:
|
||||
|
||||
Issues are handled on Framagit at: https://framagit.org/imattau/fedilab-tube/-/issues, before opening an issue, please check it has not yet been submitted by someone else
|
||||
|
||||
### Contribution to code:
|
||||
|
||||
Your contributions are welcomed, but please, use this repo https://framagit.org/tom79/fedilab-tube. You can create PR to the dev branch.
|
26
README.md
|
@ -6,10 +6,7 @@ The other app is **[TubeLab](#TubeLab)** a Peertube Android app working for all
|
|||
|
||||
## <a name="TubeLab">TubeLab</a>
|
||||
|
||||
Tubelab is an Android app for Peertube (GNU GPLv3). <img src='https://img.shields.io/f-droid/v/app.fedilab.tubelab?include_prereleases' />
|
||||
|
||||
[<img alt='Get it on Google Play' src='./images/get-it-on-play.png' height="80"/>](https://play.google.com/store/apps/details?id=app.fedilab.tubelab)
|
||||
[<img alt='Get it on F-Droid' src='./images/get-it-on-fdroid.png' height="80"/>](https://f-droid.org/packages/app.fedilab.tubelab/)
|
||||
Tubelab is an Android app for Peertube (GNU GPLv3).
|
||||
|
||||
### Not authenticated mode
|
||||
|
||||
|
@ -37,11 +34,6 @@ Many features are available with this mode:
|
|||
|
||||
TubeAcad est une application Android open source (GNU GPLv3) pour les instances Peertube académiques. L’authentification se fait par adresse mail, l’instance est automatiquement détectée. Il est également possible sur certaines instances de créer son compte depuis l’application.
|
||||
|
||||
|
||||
[<img alt='Get it on Google Play' src='./images/get-it-on-play.png' height="80"/>](https://play.google.com/store/apps/details?id=app.fedilab.fedilabtube)
|
||||
[<img alt='Get it on F-Droid' src='./images/get-it-on-fdroid.png' height="80"/>](https://f-droid.org/packages/app.fedilab.fedilabtube/)
|
||||
|
||||
|
||||
### Mode non authentifié
|
||||
|
||||
Ce mode permet de visionner les vidéos sur différentes instances (en sélectionnant une instance académique). Cependant, vous ne pourrez pas interagir totalement avec les vidéos. Vous pourrez :
|
||||
|
@ -68,3 +60,19 @@ Si vous connectez votre compte, vous pourrez interagir avec les vidéos :
|
|||
- Signaler des vidéos ou des comptes
|
||||
- Voir l'historique
|
||||
|
||||
### Downloads
|
||||
|
||||
#### TubeAcad
|
||||
|
||||
[Fdroid](https://f-droid.org/packages/app.fedilab.fedilabtube/)
|
||||
|
||||
[GooglePlay](https://play.google.com/store/apps/details?id=app.fedilab.fedilabtube)
|
||||
|
||||
|
||||
|
||||
#### TubeLab
|
||||
|
||||
[Fdroid](https://f-droid.org/packages/app.fedilab.tubelab/)
|
||||
|
||||
[GooglePlay](https://play.google.com/store/apps/details?id=app.fedilab.tubelab)
|
||||
|
||||
|
|
144
app/build.gradle
|
@ -1,17 +1,18 @@
|
|||
apply plugin: 'com.android.application'
|
||||
|
||||
apply plugin: "androidx.navigation.safeargs"
|
||||
|
||||
|
||||
|
||||
android {
|
||||
compileSdkVersion 31
|
||||
compileSdkVersion 30
|
||||
buildToolsVersion "30.0.2"
|
||||
|
||||
|
||||
defaultConfig {
|
||||
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 31
|
||||
versionCode 45
|
||||
versionName "1.15.0"
|
||||
targetSdkVersion 30
|
||||
versionCode 21
|
||||
versionName "1.5.2"
|
||||
multiDexEnabled true
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
@ -31,7 +32,7 @@ android {
|
|||
}
|
||||
|
||||
buildFeatures {
|
||||
viewBinding true
|
||||
viewBinding = true
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
|
@ -39,88 +40,45 @@ android {
|
|||
checkReleaseBuilds false
|
||||
abortOnError false
|
||||
}
|
||||
//boolean full_instances if set to false means TubeAcad
|
||||
productFlavors {
|
||||
fdroid_acad {
|
||||
applicationId "app.fedilab.fedilabtube"
|
||||
resValue "string", "app_name", "TubeAcad"
|
||||
resValue "string", "app_id", "app.fedilab.fedilabtube"
|
||||
buildConfigField "String", "version", "\"fdroid_acad\""
|
||||
buildConfigField "boolean", "full_instances", "false"
|
||||
buildConfigField "boolean", "google_restriction", "false"
|
||||
buildConfigField "boolean", "surfing_mode", "false"
|
||||
buildConfigField "boolean", "sepia_search", "false"
|
||||
buildConfigField "boolean", "instance_switcher", "true"
|
||||
buildConfigField "boolean", "allow_remote_connections", "false"
|
||||
buildConfigField "boolean", "google_cast_lib", "false"
|
||||
buildConfigField "int", "cast_enabled", "0"
|
||||
buildConfigField "int", "default_theme", "2"
|
||||
}
|
||||
google_acad {
|
||||
applicationId "app.fedilab.fedilabtube"
|
||||
resValue "string", "app_name", "TubeAcad"
|
||||
resValue "string", "app_id", "app.fedilab.fedilabtube"
|
||||
buildConfigField "String", "version", "\"google_acad\""
|
||||
buildConfigField "boolean", "full_instances", "false"
|
||||
buildConfigField "boolean", "google_restriction", "true"
|
||||
buildConfigField "boolean", "surfing_mode", "false"
|
||||
buildConfigField "boolean", "sepia_search", "false"
|
||||
buildConfigField "boolean", "instance_switcher", "true"
|
||||
buildConfigField "boolean", "allow_remote_connections", "false"
|
||||
buildConfigField "boolean", "google_cast_lib", "true"
|
||||
buildConfigField "int", "cast_enabled", "1"
|
||||
buildConfigField "int", "default_theme", "2"
|
||||
}
|
||||
fdroid_full {
|
||||
applicationId "app.fedilab.tubelab"
|
||||
resValue "string", "app_name", "TubeLab"
|
||||
resValue "string", "app_id", "app.fedilab.tubelab"
|
||||
buildConfigField "String", "version", "\"fdroid_full\""
|
||||
buildConfigField "boolean", "full_instances", "true"
|
||||
buildConfigField "boolean", "google_restriction", "false"
|
||||
buildConfigField "boolean", "surfing_mode", "true"
|
||||
buildConfigField "boolean", "sepia_search", "true"
|
||||
buildConfigField "boolean", "instance_switcher", "true"
|
||||
buildConfigField "boolean", "allow_remote_connections", "true"
|
||||
buildConfigField "boolean", "google_cast_lib", "false"
|
||||
buildConfigField "int", "cast_enabled", "0"
|
||||
buildConfigField "int", "default_theme", "2"
|
||||
}
|
||||
google_full {
|
||||
applicationId "app.fedilab.tubelab"
|
||||
resValue "string", "app_name", "TubeLab"
|
||||
resValue "string", "app_id", "app.fedilab.tubelab"
|
||||
buildConfigField "String", "version", "\"google_full\""
|
||||
buildConfigField "boolean", "full_instances", "true"
|
||||
buildConfigField "boolean", "google_restriction", "true"
|
||||
buildConfigField "boolean", "surfing_mode", "true"
|
||||
buildConfigField "boolean", "sepia_search", "true"
|
||||
buildConfigField "boolean", "instance_switcher", "true"
|
||||
buildConfigField "boolean", "allow_remote_connections", "true"
|
||||
buildConfigField "boolean", "google_cast_lib", "true"
|
||||
buildConfigField "int", "cast_enabled", "1"
|
||||
buildConfigField "int", "default_theme", "2"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
|
||||
fdroid_acad {
|
||||
res.srcDirs = ['src/main/res', 'src/no_google_cast_lib/res', 'src/acad/res']
|
||||
java.srcDirs = ['src/main/java', 'src/acad/java', 'src/no_google_donation/java', 'src/no_google_cast_lib/java']
|
||||
res.srcDirs = ['src/main/res', 'src/acad/res']
|
||||
}
|
||||
google_acad {
|
||||
res.srcDirs = ['src/main/res', 'src/google_cast_lib/res', 'src/acad/res']
|
||||
java.srcDirs = ['src/main/java', 'src/acad/java', 'src/no_google_donation/java', 'src/google_cast_lib/java']
|
||||
res.srcDirs = ['src/main/res', 'src/acad/res']
|
||||
}
|
||||
fdroid_full {
|
||||
res.srcDirs = ['src/main/res', 'src/no_google_cast_lib/res', 'src/full/res']
|
||||
java.srcDirs = ['src/main/java', 'src/full/java', 'src/no_google_donation/java', 'src/no_google_cast_lib/java']
|
||||
res.srcDirs = ['src/main/res', 'src/full/res']
|
||||
}
|
||||
google_full {
|
||||
res.srcDirs = ['src/main/res', 'src/google_donation/res', 'src/google_cast_lib/res', 'src/full/res']
|
||||
java.srcDirs = ['src/main/java', 'src/full/java', 'src/google_donation/java', 'src/google_cast_lib/java']
|
||||
res.srcDirs = ['src/main/res', 'src/full/res']
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -136,77 +94,39 @@ allprojects {
|
|||
dependencies {
|
||||
implementation "androidx.multidex:multidex:2.0.1"
|
||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||
implementation 'androidx.appcompat:appcompat:1.4.1'
|
||||
implementation 'androidx.preference:preference:1.2.0'
|
||||
implementation 'com.google.android.material:material:1.5.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||
implementation 'androidx.preference:preference:1.1.1'
|
||||
implementation 'com.google.android.material:material:1.2.1'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
|
||||
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
|
||||
implementation 'androidx.navigation:navigation-fragment:2.4.2'
|
||||
implementation "androidx.fragment:fragment:1.4.1"
|
||||
implementation 'androidx.navigation:navigation-ui:2.4.2'
|
||||
implementation ("androidx.navigation:navigation-dynamic-features-fragment:2.4.2")
|
||||
implementation 'androidx.navigation:navigation-fragment:2.3.0'
|
||||
implementation "androidx.fragment:fragment:1.2.5"
|
||||
implementation 'androidx.navigation:navigation-ui:2.3.0'
|
||||
implementation ("androidx.navigation:navigation-dynamic-features-fragment:2.3.0")
|
||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||
implementation 'androidx.browser:browser:1.4.0'
|
||||
implementation 'androidx.documentfile:documentfile:1.0.1'
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
||||
implementation 'androidx.browser:browser:1.2.0'
|
||||
testImplementation 'junit:junit:4.13'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||||
|
||||
implementation 'com.github.amoskorir:avatarimagegenerator:1.5.0'
|
||||
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
|
||||
implementation 'com.github.GrenderG:Toasty:1.5.2'
|
||||
implementation 'com.google.android.exoplayer:exoplayer:2.12.2'
|
||||
implementation 'com.google.android.exoplayer:extension-mediasession:2.12.2'
|
||||
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
|
||||
implementation 'com.github.GrenderG:Toasty:1.4.2'
|
||||
implementation 'com.google.android.exoplayer:exoplayer:2.10.6'
|
||||
implementation 'com.google.android.exoplayer:extension-mediasession:2.10.6'
|
||||
implementation "com.github.mabbas007:TagsEditText:1.0.5"
|
||||
implementation "com.github.bumptech.glide:glide:4.11.0"
|
||||
annotationProcessor "com.github.bumptech.glide:compiler:4.11.0"
|
||||
implementation 'jp.wasabeef:glide-transformations:4.0.0'
|
||||
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
||||
implementation "net.gotev:uploadservice:4.5.1"
|
||||
implementation "net.gotev:uploadservice-okhttp:4.5.1"
|
||||
implementation "net.gotev:uploadservice:3.5.2"
|
||||
implementation "net.gotev:uploadservice-okhttp:3.5.2"
|
||||
implementation "com.google.code.gson:gson:2.8.6"
|
||||
implementation 'androidx.media:media:1.6.0'
|
||||
implementation 'androidx.media:media:1.2.0'
|
||||
implementation 'com.github.ybq:Android-SpinKit:1.4.0'
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||
implementation 'com.github.mancj:MaterialSearchBar:0.8.5'
|
||||
|
||||
|
||||
implementation "io.github.kobakei:ratethisapp:1.2.0"
|
||||
implementation 'com.github.vkay94:DoubleTapPlayerView:1.0.0'
|
||||
|
||||
implementation "androidx.work:work-runtime:2.7.1"
|
||||
|
||||
|
||||
//************ DONATION GOOGLE ONLY **************//
|
||||
google_fullImplementation "com.android.billingclient:billing:4.1.0"
|
||||
|
||||
//************ MATOMO --> acad instances only **************//
|
||||
|
||||
fdroid_acadImplementation 'org.matomo.sdk:tracker:4.1.2'
|
||||
google_acadImplementation 'org.matomo.sdk:tracker:4.1.2'
|
||||
|
||||
//************ CAST **************///
|
||||
|
||||
//---> Google libs (google_full)
|
||||
google_acadImplementation "com.google.android.gms:play-services-cast-tv:19.0.1"
|
||||
google_acadImplementation "com.google.android.gms:play-services-cast:21.0.1"
|
||||
google_acadImplementation "androidx.mediarouter:mediarouter:1.3.0"
|
||||
google_acadImplementation 'com.google.android.gms:play-services-cast-framework:21.0.1'
|
||||
|
||||
google_fullImplementation "com.google.android.gms:play-services-cast-tv:19.0.1"
|
||||
google_fullImplementation "com.google.android.gms:play-services-cast:21.0.1"
|
||||
google_fullImplementation "androidx.mediarouter:mediarouter:1.3.0"
|
||||
google_fullImplementation 'com.google.android.gms:play-services-cast-framework:21.0.1'
|
||||
|
||||
//----> Other flavors
|
||||
fdroid_acadImplementation 'su.litvak.chromecast:api-v2:0.11.3'
|
||||
fdroid_acadImplementation 'com.fasterxml.jackson.core:jackson-core:2.12.0'
|
||||
fdroid_acadImplementation 'org.slf4j:slf4j-simple:1.7.30'
|
||||
fdroid_acadImplementation 'com.github.evozi:Cyanea:1.0.7'
|
||||
|
||||
fdroid_fullImplementation 'su.litvak.chromecast:api-v2:0.11.3'
|
||||
fdroid_fullImplementation 'com.fasterxml.jackson.core:jackson-core:2.12.0'
|
||||
fdroid_fullImplementation 'org.slf4j:slf4j-simple:1.7.30'
|
||||
implementation 'com.github.HITGIF:TextFieldBoxes:1.4.5'
|
||||
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
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>. */
|
||||
|
||||
|
||||
|
||||
import org.matomo.sdk.Matomo;
|
||||
import org.matomo.sdk.Tracker;
|
||||
import org.matomo.sdk.TrackerBuilder;
|
||||
|
||||
|
||||
|
||||
public class FedilabTube extends BaseFedilabTube {
|
||||
|
||||
private Tracker mMatomoTracker;
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
}
|
||||
|
||||
public synchronized Tracker getTracker() {
|
||||
if (mMatomoTracker != null) return mMatomoTracker;
|
||||
mMatomoTracker = TrackerBuilder.createDefault("https://wa.phm.education.gouv.fr/snp/matomo.php", 11).build(Matomo.getInstance(this));
|
||||
return mMatomoTracker;
|
||||
}
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
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>. */
|
||||
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
|
||||
import org.matomo.sdk.Tracker;
|
||||
import org.matomo.sdk.extra.TrackHelper;
|
||||
|
||||
public class Matomo {
|
||||
|
||||
public static void sendScreen(Context _mcontext, String path, String title) {
|
||||
Tracker tracker = ((FedilabTube) ((Activity) _mcontext).getApplication()).getTracker();
|
||||
TrackHelper.track().screen(path).title(title).with(tracker);
|
||||
}
|
||||
|
||||
public static void sendEvent(Context _mcontext, String category, String action, String label, float value) {
|
||||
Tracker tracker = ((FedilabTube) ((Activity) _mcontext).getApplication()).getTracker();
|
||||
TrackHelper.track().event(category, action).name(label).value(value).with(tracker);
|
||||
}
|
||||
|
||||
|
||||
public static void sendValue(Context _mcontext, String path, int index, String dimensionValue) {
|
||||
Tracker tracker = ((FedilabTube) ((Activity) _mcontext).getApplication()).getTracker();
|
||||
TrackHelper.track().screen(path).dimension(index, dimensionValue).with(tracker);
|
||||
}
|
||||
|
||||
|
||||
public static void trackInstall(Context _mcontext) {
|
||||
Tracker tracker = ((FedilabTube) ((Activity) _mcontext).getApplication()).getTracker();
|
||||
TrackHelper.track().download().with(tracker);
|
||||
}
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
package app.fedilab.fedilabtube.activities;
|
||||
/* Copyright 2022 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>. */
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
|
||||
public class BaseActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
package app.fedilab.fedilabtube.helper;
|
||||
/* Copyright 2022 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>. */
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import app.fedilab.fedilabtube.R;
|
||||
|
||||
public class Theme {
|
||||
|
||||
public static void setTheme(AppCompatActivity activity, String instance, boolean noActionBar) {
|
||||
|
||||
switch (instance) {
|
||||
case "tube-institutionnel.apps.education.fr":
|
||||
activity.setTheme(noActionBar? R.style.InstitutionnelNoActionBar:R.style.Institutionnel);
|
||||
break;
|
||||
case "tube-maternelle.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.MaternelleNoActionBar:R.style.Maternelle);
|
||||
break;
|
||||
case "tube-arts-lettres-sciences-humaines.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.ArtNoActionBar:R.style.Art);
|
||||
break;
|
||||
case "tube-sciences-technologies.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.SciencesNoActionBar:R.style.Sciences);
|
||||
break;
|
||||
case "tube-education-physique-et-sportive.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.EducationNoActionBar:R.style.Education);
|
||||
break;
|
||||
case "tube-enseignement-professionnel.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.EnseignementProNoActionBar:R.style.EnseignementPro);
|
||||
break;
|
||||
case "tube-langues-vivantes.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.LanguesNoActionBar:R.style.Langues);
|
||||
break;
|
||||
case "tube-action-educative.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.ActionEducativeNoActionBar:R.style.ActionEducative);
|
||||
break;
|
||||
case "tube-cycle-2.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.Cycle2NoActionBar:R.style.Cycle2);
|
||||
break;
|
||||
case "tube-cycle-3.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.Cycle3NoActionBar:R.style.Cycle3);
|
||||
break;
|
||||
default:
|
||||
activity.setTheme(noActionBar?R.style.AppThemeNoActionBar:R.style.AppTheme);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,145 +0,0 @@
|
|||
<resources>
|
||||
|
||||
<attr name="backgroundView" format="color" />
|
||||
|
||||
<style name="BaseTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
|
||||
<item name="backgroundView">@color/backgroundDark</item>
|
||||
</style>
|
||||
<style name="BaseThemeNoAction" parent="Theme.AppCompat.DayNight.NoActionBar">
|
||||
<item name="backgroundView">@color/backgroundDark</item>
|
||||
</style>
|
||||
<!-- Base application theme. -->
|
||||
<style name="AppTheme" parent="BaseTheme">
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
</style>
|
||||
|
||||
<style name="AppThemeNoActionBar" parent="BaseThemeNoAction">
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
</style>
|
||||
|
||||
<!-- Institutionnel theme. -->
|
||||
<style name="Institutionnel" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_institutionnel</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_institutionnel</item>
|
||||
<item name="colorAccent">@color/colorAccent_institutionnel</item>
|
||||
</style>
|
||||
<style name="InstitutionnelNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_institutionnel</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_institutionnel</item>
|
||||
<item name="colorAccent">@color/colorAccent_institutionnel</item>
|
||||
</style>
|
||||
<!-- Maternelle theme. -->
|
||||
<style name="Maternelle" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_maternelle</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_maternelle</item>
|
||||
<item name="colorAccent">@color/colorAccent_maternelle</item>
|
||||
</style>
|
||||
<style name="MaternelleNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_maternelle</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_maternelle</item>
|
||||
<item name="colorAccent">@color/colorAccent_maternelle</item>
|
||||
</style>
|
||||
<!-- Art theme. -->
|
||||
<style name="Art" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_art</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_art</item>
|
||||
<item name="colorAccent">@color/colorAccent_art</item>
|
||||
</style>
|
||||
<style name="ArtNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_art</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_art</item>
|
||||
<item name="colorAccent">@color/colorAccent_art</item>
|
||||
</style>
|
||||
<!-- Sciences theme. -->
|
||||
<style name="Sciences" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_sciences</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_sciences</item>
|
||||
<item name="colorAccent">@color/colorAccent_sciences</item>
|
||||
</style>
|
||||
<style name="SciencesNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_sciences</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_sciences</item>
|
||||
<item name="colorAccent">@color/colorAccent_sciences</item>
|
||||
</style>
|
||||
<!-- Education theme. -->
|
||||
<style name="Education" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_education</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_education</item>
|
||||
<item name="colorAccent">@color/colorAccent_education</item>
|
||||
</style>
|
||||
<style name="EducationNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_education</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_education</item>
|
||||
<item name="colorAccent">@color/colorAccent_education</item>
|
||||
</style>
|
||||
<!-- Enseignement Pro theme. -->
|
||||
<style name="EnseignementPro" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_enseignement_pro</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_enseignement_pro</item>
|
||||
<item name="colorAccent">@color/colorAccent_enseignement_pro</item>
|
||||
</style>
|
||||
<style name="EnseignementProNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_enseignement_pro</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_enseignement_pro</item>
|
||||
<item name="colorAccent">@color/colorAccent_enseignement_pro</item>
|
||||
</style>
|
||||
<!-- Langues theme. -->
|
||||
<style name="Langues" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_langues</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_langues</item>
|
||||
<item name="colorAccent">@color/colorAccent_langues</item>
|
||||
</style>
|
||||
<style name="LanguesNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_langues</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_langues</item>
|
||||
<item name="colorAccent">@color/colorAccent_langues</item>
|
||||
</style>
|
||||
<!-- ActionEducative theme. -->
|
||||
<style name="ActionEducative" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_action_educative</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_action_educative</item>
|
||||
<item name="colorAccent">@color/colorAccent_action_educative</item>
|
||||
</style>
|
||||
<style name="ActionEducativeNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_action_educative</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_action_educative</item>
|
||||
<item name="colorAccent">@color/colorAccent_action_educative</item>
|
||||
</style>
|
||||
<!-- Cycle 2 theme. -->
|
||||
<style name="Cycle2" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle2</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle2</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle2</item>
|
||||
</style>
|
||||
<style name="Cycle2NoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle2</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle2</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle2</item>
|
||||
</style>
|
||||
<!-- Cycle 3 theme. -->
|
||||
<style name="Cycle3" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle3</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle3</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle3</item>
|
||||
</style>
|
||||
<style name="Cycle3NoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle3</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle3</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle3</item>
|
||||
</style>
|
||||
<style name="theme" parent="@style/ThemeOverlay.AppCompat.Dark" />
|
||||
|
||||
<style name="popupTheme" parent="@style/ThemeOverlay.AppCompat.DayNight" />
|
||||
|
||||
<style name="progress" parent="SpinKitView.Circle" />
|
||||
|
||||
<style name="progressBottom" parent="SpinKitView.ThreeBounce" />
|
||||
|
||||
<style name="searchBarSepia" parent="MaterialSearchBarDark" />
|
||||
</resources>
|
|
@ -1,61 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<color name="colorPrimary">#512DA8</color>
|
||||
<color name="colorPrimaryDark">#4527A0</color>
|
||||
<color name="colorAccent">#9C27B0</color>
|
||||
|
||||
<!-- Institutionnel -->
|
||||
<color name="colorPrimary_institutionnel">#1B2E35</color>
|
||||
<color name="colorPrimaryDark_institutionnel">#1B2E35</color>
|
||||
<color name="colorAccent_institutionnel">#35A8E0</color>
|
||||
<!-- maternelle -->
|
||||
<color name="colorPrimary_maternelle">#341047</color>
|
||||
<color name="colorPrimaryDark_maternelle">#341047</color>
|
||||
<color name="colorAccent_maternelle">#D3135D</color>
|
||||
<!-- art -->
|
||||
<color name="colorPrimary_art">#0d3b5f</color>
|
||||
<color name="colorPrimaryDark_art">#0d3b5f</color>
|
||||
<color name="colorAccent_art">#E61B72</color>
|
||||
<!-- sciences -->
|
||||
<color name="colorPrimary_sciences">#0d3b5f</color>
|
||||
<color name="colorPrimaryDark_sciences">#0d3b5f</color>
|
||||
<color name="colorAccent_sciences">#59b700</color>
|
||||
<!-- education -->
|
||||
<color name="colorPrimary_education">#0d3b5f</color>
|
||||
<color name="colorPrimaryDark_education">#0d3b5f</color>
|
||||
<color name="colorAccent_education">#EA3700</color>
|
||||
<!-- enseignement pro -->
|
||||
<color name="colorPrimary_enseignement_pro">#0d3b5f</color>
|
||||
<color name="colorPrimaryDark_enseignement_pro">#0d3b5f</color>
|
||||
<color name="colorAccent_enseignement_pro">#730FBA</color>
|
||||
<!-- langues -->
|
||||
<color name="colorPrimary_langues">#0d3b5f</color>
|
||||
<color name="colorPrimaryDark_langues">#0d3b5f</color>
|
||||
<color name="colorAccent_langues">#F69622</color>
|
||||
<!-- Action éducative -->
|
||||
<color name="colorPrimary_action_educative">#1B2E35</color>
|
||||
<color name="colorPrimaryDark_action_educative">#1B2E35</color>
|
||||
<color name="colorAccent_action_educative">#E52928</color>
|
||||
<!-- cycle2 -->
|
||||
<color name="colorPrimary_cycle2">#341047</color>
|
||||
<color name="colorPrimaryDark_cycle2">#341047</color>
|
||||
<color name="colorAccent_cycle2">#39A935</color>
|
||||
<!-- cycle3 -->
|
||||
<color name="colorPrimary_cycle3">#341047</color>
|
||||
<color name="colorPrimaryDark_cycle3">#341047</color>
|
||||
<color name="colorAccent_cycle3">#C1661B</color>
|
||||
|
||||
|
||||
|
||||
<color name="tag_color">#bbF2690D</color>
|
||||
<color name="tag_color_text">#FAFAFA</color>
|
||||
<color name="positive_thumbs">#2b90d9</color>
|
||||
<color name="favorite">#ca8f04</color>
|
||||
<color name="bookmark">#795548</color>
|
||||
<color name="negative_thumbs">#F44336</color>
|
||||
<color name="backgroundLight">#DDFFFFFF</color>
|
||||
<color name="backgroundDark">#DD222222</color>
|
||||
|
||||
<color name="red_1">#F44336</color>
|
||||
<color name="gray_light">#80808080</color>
|
||||
</resources>
|
|
@ -1,45 +1,37 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="set_cast">Activer Chromecast (bêta)</string>
|
||||
<string name="please_wait">Veuillez patienter</string>
|
||||
<string name="set_cast_description">Permettre de découvrir les périphériques Chromecast sur le réseau.</string>
|
||||
<string name="set_video_in_list">Vidéos en liste</string>
|
||||
<string name="set_video_in_list_description">Modifier la mise en page pour afficher les vidéos dans une liste</string>
|
||||
<string name="no_instances">Aucune instance !</string>
|
||||
<string name="show_more">Afficher plus</string>
|
||||
<string name="show_less">Afficher moins</string>
|
||||
<string name="cast">ChromeCast</string>
|
||||
<string name="chromecast_choice">Choix de ChromeCast</string>
|
||||
<string name="set_play_screen_lock">Verrouillage de l\'écran</string>
|
||||
<string name="set_play_screen_lock_description">Continuer à lire des vidéos quand l\'écran est verrouillé</string>
|
||||
<string name="save">Sauvegarder</string>
|
||||
<string name="enable_history">Activer l\'historique</string>
|
||||
<string name="change_profile_picture">Changer la photo de profil</string>
|
||||
<string name="app_name" translatable="false">TubeAcad</string>
|
||||
<string name="set_video_mode_choice" translatable="false">set_video_mode_choice</string>
|
||||
<string name="set_video_minimize_choice" translatable="false">set_video_minimize_choice</string>
|
||||
<string name="set_video_language_choice" translatable="false">set_video_language_choice</string>
|
||||
<string name="set_video_quality_choice" translatable="false">set_video_quality_choice</string>
|
||||
<string name="set_video_cache_choice" translatable="false">set_video_cache_choice</string>
|
||||
<string name="set_autoplay_choice" translatable="false">set_autoplay_choice</string>
|
||||
<string name="set_theme_choice" translatable="false">set_theme_choice</string>
|
||||
<string name="set_fullscreen_choice" translatable="false">set_fullscreen_choice</string>
|
||||
|
||||
|
||||
<string name="set_autoplay">Lecture automatique</string>
|
||||
<string name="set_autoplay_description">Si activé, les vidéos seront lues automatiquement</string>
|
||||
|
||||
<string name="set_fullscreen">Plein écran</string>
|
||||
<string name="set_fullscreen_description">Ouvrir automatiquement les vidéos en plein écran</string>
|
||||
<string name="set_autoplay_next_video_settings">Lecture auto</string>
|
||||
<string name="set_autoplay_next_video">Démarrer automatiquement la lecture de la prochaine vidéo</string>
|
||||
<string name="set_autoplay_next_video_description">Quand une vidéo est finie, continuer avec la prochaine vidéo suggérée.</string>
|
||||
<string name="add_public_reply">Ajouter une réponse publique</string>
|
||||
<string name="originally_published">Publié originalement</string>
|
||||
<string name="activity">Activité</string>
|
||||
<string name="app">Appli</string>
|
||||
<string name="notif_new_video">Nouvelle vidéo de vos abonnements</string>
|
||||
<string name="notif_new_comment">Nouveau commentaire sur votre vidéo</string>
|
||||
<string name="notif_blocked">Une de vos vidéos est bloquée/débloquée</string>
|
||||
<string name="notif_video_published">Vidéo publiée (après transcodage/mise à jour planifiée)</string>
|
||||
<string name="notif_video_imported">Importation de la vidéo terminée</string>
|
||||
<string name="notif_new_followers">Vous ou votre/vos chaîne(s) avez un nouvel abonné</string>
|
||||
<string name="notif_video_mention">Quelqu\'un vous a mentionné·e dans un commentaire</string>
|
||||
<string name="notif_abuse_received">Un rapport d\'abus a reçu un nouveau message</string>
|
||||
<string name="notif_abuse_accepted">Un de vos rapports d\'abus a été accepté ou rejeté par les modérateurs</string>
|
||||
<string name="set_fullscreen_description">Ouvre automatiquement les vidéos en plein écran</string>
|
||||
|
||||
<string name="delete_account_comment">Supprimer tous les commentaires</string>
|
||||
<string name="delete_account_comment_confirm">Etes-vous sûr de vouloir supprimer tous les commentaires de ce compte pour vos vidéos ?</string>
|
||||
<string-array name="settings_theme">
|
||||
<item>Clair</item>
|
||||
<item>Sombre</item>
|
||||
<item>Automatique</item>
|
||||
</string-array>
|
||||
|
||||
|
||||
<plurals name="number_of_replies">
|
||||
<item quantity="zero">%d réponse</item>
|
||||
<item quantity="one">%d réponse</item>
|
||||
<item quantity="other">%d réponses</item>
|
||||
</plurals>
|
||||
<string name="reply">Répondre</string>
|
||||
|
||||
<string name="set_theme">Thème</string>
|
||||
<string name="set_theme_description">Permet de changer le thème de l\'application</string>
|
||||
<string name="federation_issue">La vidéo ne peut pas être fédérée !</string>
|
||||
|
@ -57,7 +49,7 @@
|
|||
<string name="blur">Estomper</string>
|
||||
<string name="display">Afficher</string>
|
||||
<string name="no_opinion">Pas d\'opinion</string>
|
||||
<string name="instance_choice">Ajouter une instance</string>
|
||||
<string name="instance_choice">Choisissez une instance</string>
|
||||
<string name="not_valide_instance">Cette instance ne semble pas être valide !</string>
|
||||
<string name="no_videos">Aucune vidéo !</string>
|
||||
<string name="no_notifications">Aucune notification !</string>
|
||||
|
@ -68,28 +60,9 @@
|
|||
<string name="upload_video">Téléverser</string>
|
||||
<string name="image_preview">Aperçu de l\'image</string>
|
||||
<string name="file_to_upload">Sélectionnez un fichier à transférer</string>
|
||||
<string name="new_video">Nouvelle vidéo</string>
|
||||
<string name="new_blacklist">Nouvelles infos sut la liste noire</string>
|
||||
<string name="new_my_video_published">Votre vidéo est publiée</string>
|
||||
<string name="new_my_video_error">Erreur lors de la publication de votre vidéo</string>
|
||||
<string name="new_comment">Nouveau commentaire</string>
|
||||
<string name="new_follow">Nouvel abonnement</string>
|
||||
<string name="channel">Chaîne</string>
|
||||
<string name="videos">Vidéos</string>
|
||||
<string name="channels">Chaînes</string>
|
||||
<string name="refresh_every">Récupérer chaque :</string>
|
||||
<string-array name="refresh_time">
|
||||
<item>Jamais</item>
|
||||
<item>15 minutes</item>
|
||||
<item>30 minutes</item>
|
||||
<item>1 heure</item>
|
||||
<item>2 heures</item>
|
||||
<item>6 heures</item>
|
||||
<item>12 heures</item>
|
||||
</string-array>
|
||||
<string name="_retry">Réessayer</string>
|
||||
<string name="refresh_token_failed">Échec de l\'actualisation du jeton !</string>
|
||||
<string name="refresh_token_failed_message">Vous pouvez réessayer cette action ou simplement déconnecter le compte actuel</string>
|
||||
<string name="yes">Oui</string>
|
||||
<string name="no">Non</string>
|
||||
<string name="cancel">Annuler</string>
|
||||
|
@ -106,22 +79,21 @@
|
|||
<string name="uploading">Transfert en cours, veuillez patienter …</string>
|
||||
<string name="upload_video_success">La vidéo a été transférée !</string>
|
||||
<string name="toast_cancelled">Transfert annulé !</string>
|
||||
<string name="video_uploaded_action">Cliquez ici pour modifier les données de la vidéo.</string>
|
||||
<string name="video_uploaded_action">Cliquez ici pour éditer les données de la vidéo.</string>
|
||||
<string name="toot_select_image_error">Une erreur s’est produite lors de la sélection du média !</string>
|
||||
<string name="download_file">Télécharger %1$s</string>
|
||||
<string name="account_updated">Le compte a été mis à jour !</string>
|
||||
<string name="action_privacy">Confidentialité</string>
|
||||
<string name="action_logout">Déconnexion</string>
|
||||
<string name="login">Connexion</string>
|
||||
<string name="password">Mot de passe</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="email">Courriel</string>
|
||||
<string name="tags">Étiquettes</string>
|
||||
<string name="validate">Valider</string>
|
||||
<string name="share_with">Partager avec</string>
|
||||
<string name="shared_via">Partagé via TubeLab</string>
|
||||
<string name="username">Nom d’utilisateur</string>
|
||||
<string name="settings">Paramètres</string>
|
||||
<string name="logout_account_confirmation">Voulez-vous vraiment déconnecter le compte @%1$s@%2$s?</string>
|
||||
<string name="logout_account_confirmation">Voulez-vous vraiment déconnecter le compte @%1$s@%2$s ?</string>
|
||||
<string name="following">Suit</string>
|
||||
<string name="followers">Abonné·e·s</string>
|
||||
<string name="client_error">Impossible d’obtenir l’id du client !</string>
|
||||
|
@ -129,32 +101,20 @@
|
|||
<string name="toast_error_search">Une erreur s’est produite lors de la recherche !</string>
|
||||
<string name="nothing_to_do">Aucune action ne peut être réalisée</string>
|
||||
<string name="action_follow">S\'abonner</string>
|
||||
<string name="action_mute">Masquer</string>
|
||||
<string name="unlimited">Illimité</string>
|
||||
<string name="peers">%1$d utilisateur·rice·s</string>
|
||||
<string name="b">B</string>
|
||||
<string name="kb">KB</string>
|
||||
<string name="mb">Mo</string>
|
||||
<string name="gb">Go</string>
|
||||
<string name="total_video_quota">Quota vidéo total</string>
|
||||
<string name="daily_video_quota">Quota vidéo quotidien</string>
|
||||
<string name="nsfw_title_warning">Contenu adulte ou vulgaire</string>
|
||||
<string name="nsfw_message_warning">Cette vidéo contient du contenu adulte ou vulgaire. Êtes-vous sûr·e de vouloir la regarder ?</string>
|
||||
<string name="action_mute">Mettre en sourdine</string>
|
||||
<string name="search">Chercher</string>
|
||||
<string name="delete">Supprimer</string>
|
||||
<string name="action_lists_confirm_delete">Êtes-vous sûr de vouloir supprimer définitivement cette liste ?</string>
|
||||
<string name="action_lists_delete">Supprimer la liste</string>
|
||||
<string name="action_lists_confirm_delete">Êtes-vous sûr de vouloir supprimer définitivement cette liste de lecture ?</string>
|
||||
<string name="action_lists_delete">Supprimer la liste de lecture</string>
|
||||
<string name="no_comments">Soyez le·a premier·ère à laisser un commentaire sur cette vidéo en utilisant le bouton supérieur droit !</string>
|
||||
<string name="comment_no_allowed_peertube">Les commentaires sur cette vidéos ont été désactivés !</string>
|
||||
<string name="pickup_resolution">Choisissez une résolution</string>
|
||||
<string name="bookmark_add_peertube">La vidéo est rajoutée aux favoris !</string>
|
||||
<string name="bookmark_remove_peertube">La vidéo a été retirée de vos favoris !</string>
|
||||
<string name="information" tools:ignore="UnusedResources">information</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo de l’application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Abonnements</string>
|
||||
<string name="delete_instance">Supprimer l\'instance</string>
|
||||
<string name="delete_instance_confirm">Êtes-vous sûr·e de vouloir supprimer cette instance ?</string>
|
||||
<string name="delete_comment">Supprimer le commentaire</string>
|
||||
<string name="delete_comment_confirm">Etes-vous sûr de vouloir supprimer ce commentaire ?</string>
|
||||
<string name="set_video_mode">Mode pour les vidéos</string>
|
||||
|
@ -192,10 +152,10 @@
|
|||
<string name="language">Langue</string>
|
||||
<string name="peertube_nsfw">Cette vidéo contient du contenu pour adultes</string>
|
||||
<string name="peertube_enable_comments">Activer les commentaires</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="description">Libellé</string>
|
||||
<string name="toast_peertube_video_updated">La vidéo a été mise à jour !</string>
|
||||
<string name="register_account">Créer un compte</string>
|
||||
<string name="email_address">Adresse courriel</string>
|
||||
<string name="email_address">Adresse mèl</string>
|
||||
<string name="preview">Aperçu</string>
|
||||
<string name="change_preview">Modifier l\'aperçu</string>
|
||||
<string name="name">Nom</string>
|
||||
|
@ -204,7 +164,7 @@
|
|||
<string name="report_helper">Quelques explications concernant votre signalement…</string>
|
||||
<string name="report_video">Signaler la vidéo</string>
|
||||
<string name="report">Signaler</string>
|
||||
<string name="change_instance">Choisir une autre instance</string>
|
||||
<string name="change_instance">Changer d\'instance</string>
|
||||
<string name="my_history">Historique</string>
|
||||
<string name="edit">Modifier</string>
|
||||
<string name="video_settings">Réglages des vidéos</string>
|
||||
|
@ -215,11 +175,9 @@
|
|||
<string name="set_quality_mode">Résolution pour les vidéos</string>
|
||||
<string name="video_cache_value">Cache vidéo : %d Mo</string>
|
||||
<string name="captions">Légendes</string>
|
||||
<string name="pickup_captions">Choisir les légendes</string>
|
||||
<string name="pickup_captions">Options d\'envoi</string>
|
||||
<string name="none">Aucune</string>
|
||||
<string name="set_video_mode_description">Permet de changer le mode de lecture pour les vidéos (normal, streaming ou via un navigateur).</string>
|
||||
<string name="delete_account_comment">Supprimer les commentaires du compte</string>
|
||||
<string name="delete_account_comment_confirm">Êtes-vous sûr de vouloir supprimer tous les commentaires de ce compte ?</string>
|
||||
<string name="delete_video">Supprimer la vidéo</string>
|
||||
<string name="delete_video_confirmation">Êtes-vous sûr de vouloir supprimer cette vidéo ?</string>
|
||||
<string name="no_video_to_display">Aucune vidéo n’est disponible !</string>
|
||||
|
@ -233,28 +191,20 @@
|
|||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> a publié une nouvelle vidéo : <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Votre vidéo <b>%1$s</b> a été blacklisté]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Votre vidéo <b>%1$s</b> n’est plus blacklisté]]></string>
|
||||
<string name="peertube_video_report_success"><![CDATA[Votre rapport d’abus <b>%1$s</b> a été accepté]]></string>
|
||||
<string name="peertube_video_abuse"><![CDATA[Nouveau signalement pour la vidéo : <b>%1$s</b>]]></string>
|
||||
<string name="add_public_comment">Ajouter un commentaire public</string>
|
||||
<string name="add_public_reply">Répondre publiquement</string>
|
||||
<string name="send_comment">Envoyer un commentaire</string>
|
||||
<string name="all">Tout</string>
|
||||
|
||||
<string name="peertube_video_report_success"><![CDATA[ Votre signalement <b>%1$s</b> a été accepté]]></string>
|
||||
<string name="reply">Répondre</string>
|
||||
<!-- end languages -->
|
||||
<string name="playback_speed">Vitesse de lecture</string>
|
||||
<string name="normal">Normale</string>
|
||||
<string name="delete_history">Supprimer l\'historique des vidéos</string>
|
||||
<string name="delete_history_confirm">Êtes-vous sûr·e de vouloir supprimer tout votre historique des vidéos ?</string>
|
||||
<string name="export_list">Exporter</string>
|
||||
<string name="import_list">Importer</string>
|
||||
<string name="export_notification_title">Exportation réussie !</string>
|
||||
<string name="export_notification_content">Appuyez ici pour envoyer l\'exportation par courriel</string>
|
||||
<string name="export_notification_subjet">Nouvelle liste de lecture</string>
|
||||
<string name="export_notification_body">Ouvrir le fichier joint avec TubeLab</string>
|
||||
<string name="playlists">Listes de lecture</string>
|
||||
<string name="no_playlist">Aucune liste de lecture</string>
|
||||
<string name="display_name">Nom d\'affichage</string>
|
||||
<string name="action_playlist_add">Vous n\'avez aucune liste de lecture. Cliquez sur l\'icône « + » pour en ajouter une</string>
|
||||
<string name="error_display_name">Vous devez fournir un nom d\'affichage !</string>
|
||||
<string name="error_channel_mandatory">Un canal est requis lorsque la liste de lecture est publique.</string>
|
||||
<string name="error_channel_mandatory">Une chaîne est requise lorsque la liste de lecture est publique.</string>
|
||||
<string name="action_playlist_create">Créer une liste de lecture</string>
|
||||
<string name="action_playlist_empty_content">Cette liste de lecture est vide.</string>
|
||||
<string name="password_confirm">Confirmer le mot de passe</string>
|
||||
|
@ -268,23 +218,15 @@
|
|||
<string name="email_indicator">Vous recevrez un e-mail de confirmation</string>
|
||||
<string name="password_indicator">Utilisez au moins 8 caractères</string>
|
||||
<string name="password_too_short">Le mot de passe doit contenir au moins 8 caractères</string>
|
||||
<string name="username_error">Le nom d\'utilisateur·rice doit contenir uniquement des lettres, des chiffres et des caractères de soulignement</string>
|
||||
<string name="username_error">Le nom d\'utilisateur·rice doit être en minuscule, contenir uniquement des lettres, des chiffres, des points et des caractères de soulignement</string>
|
||||
<string name="account_created">Compte créé !</string>
|
||||
<string name="account_created_message"> Votre compte a été créé !\n\n
|
||||
Pensez à valider votre courriel dans les 48 heures qui suivent.\n\n
|
||||
Vous pouvez maintenant connecter votre compte en écrivant <b>%1$s</b> dans le premier champ et en appuyant sur <b>Connecter</b>.\n\n
|
||||
<b>Important</b> : si votre instance a besoin de validation, vous recevrez un courriel une qu\'elle est fois validée !
|
||||
</string>
|
||||
<string name="account_created_message">Votre compte est créé !\n\nVous allez recevoir un email de confirmation à l\'adresse <b>%1$s</b>.\n\nCliquez sur le lien présent dans le mail pour valider votre compte.</string>
|
||||
<string name="account">Compte</string>
|
||||
<string name="report_account">Signaler le compte</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Navigateur</item>
|
||||
</string-array>
|
||||
<string-array name="settings_theme">
|
||||
<item>Clair</item>
|
||||
<item>Sombre</item>
|
||||
<item>Automatique</item>
|
||||
<item>Streaming</item>
|
||||
<item>Flux direct</item>
|
||||
</string-array>
|
||||
<string-array name="settings_video_quality">
|
||||
<item>Élevée</item>
|
||||
|
@ -308,7 +250,7 @@
|
|||
<string name="error_display_name_channel">Vous devez fournir un nom d\'affichage et un nom pour la chaîne!</string>
|
||||
<string name="action_channel_create">Créer une chaîne</string>
|
||||
<string name="action_channel_edit">Modifier une chaîne</string>
|
||||
<string name="email_error_domain">Les adresses courriel %1$s ne sont pas autorisées !</string>
|
||||
<string name="email_error_domain">Les adresses mails %1$s ne sont pas autorisées !</string>
|
||||
<string name="report_comment_size">Veuillez préciser les raisons.</string>
|
||||
<string name="not_logged_in">Vous devez être connecté.e pour effectuer cette action !</string>
|
||||
<string name="successful_report">Le compte a été signalé !</string>
|
||||
|
@ -327,15 +269,14 @@
|
|||
<string name="issue_tracker">Suivi des tickets</string>
|
||||
<string name="action_instance_empty_content">Aucune instance ne correspond à ces critères</string>
|
||||
<string name="instances_picker">Sélecteur d\'instances</string>
|
||||
<string name="pickup_instance">Choisir cette instance</string>
|
||||
<string name="pickup_instance">Choisissez une instance</string>
|
||||
<string name="sensitive_video"> Vidéos sensibles</string>
|
||||
<string name="sensitive_content">Contenu sensible : %1$s</string>
|
||||
<string name="followers_instance">Abonné·e·s de l’instance</string>
|
||||
<string name="followers_instance">%1$s instances suiveuses</string>
|
||||
<string name="help">Aide</string>
|
||||
<string name="pickup_categories">Sélection des catégories</string>
|
||||
<string name="pickup_languages">Choisir une langue</string>
|
||||
<string name="pickup_languages">Sélection des langues</string>
|
||||
<string name="notification_channel_name">Mise à jour des informations</string>
|
||||
<string name="fetch_notification_channel_name">Récupérer les notifications</string>
|
||||
<string name="add_account">Ajouter un compte</string>
|
||||
<string name="list_of_accounts">Liste des comptes</string>
|
||||
<string name="pause">Pause</string>
|
||||
|
@ -344,33 +285,7 @@
|
|||
<string name="fast_rewind">Rembobinage rapide</string>
|
||||
<string name="fast_forward">Avance rapide</string>
|
||||
<string name="set_video_minimize">Minimiser la taille des vidéos</string>
|
||||
<string name="set_video_minimize_description">Réduire la taille des vidéos lorsque l\'application est en arrière-plan (Android N+)</string>
|
||||
<string name="set_video_minimize_description">Minimiser la taille des vidéos lorsque l\'application est en arrière-plan (Android N+)</string>
|
||||
<string name="set_video_language">Filtre de langue</string>
|
||||
<string name="set_video_language_description">Filtrer les vidéos avec différentes langues</string>
|
||||
<string name="live">En direct</string>
|
||||
<string name="live_not_started">Ce live n\'a pas commencé !</string>
|
||||
<string name="remote_account">Compte d\'un autre réseau !</string>
|
||||
<string name="instance_not_availabe">Instance non disponible !</string>
|
||||
<string name="max_tag_size">La vidéo ne devrait pas avoir plus de 5 tags!</string>
|
||||
<string name="watermark">Filigrane</string>
|
||||
<string name="toast_code_error">Une erreur est survenue ! L\'instance n\'a pas retourné de code d\'autorisation !</string>
|
||||
<string name="remote_account_from"><b>%1$s</b> compte distant connecté à l\'application.\n\nVous pouvez procéder à certaines actions limitées.</string>
|
||||
<string name="donate">Faire un don</string>
|
||||
<string name="my_donations">Mes dons</string>
|
||||
<string name="one_time_donation_text">Ici, vous pouvez faire un don unique pour soutenir le développement de l\'application. Cette action n\'apportera pas de fonctionnalités supplémentaires !</string>
|
||||
<string name="recurrent_donation_text">Ici, vous pouvez faire un don unique pour soutenir le développement de l\'application. Cette action n\'apportera pas de fonctionnalités supplémentaires !</string>
|
||||
<string name="make_a_donation">Faire un don</string>
|
||||
<string name="donations_description">Ici vous trouverez la liste de vos dons, faits pour soutenir le développement de l\'application ! Merci !</string>
|
||||
<string name="support_the_app">Soutenir l’application</string>
|
||||
<string name="donation_cancelled">Le don a été annulé !</string>
|
||||
<string name="donation_succeeded_null">Merci pour votre don!</string>
|
||||
<string name="donation_succeeded">Merci pour votre don!</string>
|
||||
<string name="one_time">Une fois</string>
|
||||
<string name="my_subscriptions">Mon abonnement</string>
|
||||
<string name="month">Mois</string>
|
||||
<string name="subscription_cancelled">Abonnement annulé !</string>
|
||||
<string name="cancel_subscription">Se désabonner</string>
|
||||
<string name="cancel_subscription_confirm">Êtes-vous sûr de vouloir annuler cet abonnement ?</string>
|
||||
<string name="mark_all_notifications_as_read_confirm">Êtes-vous sûr de vouloir marquer toutes les notifications comme lues?</string>
|
||||
<string name="mark_all_as_read">Tout marquer comme lu</string>
|
||||
</resources>
|
|
@ -1,145 +0,0 @@
|
|||
<resources>
|
||||
|
||||
<attr name="backgroundView" format="color" />
|
||||
|
||||
|
||||
<style name="BaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||
<item name="backgroundView">@color/backgroundLight</item>
|
||||
</style>
|
||||
<style name="BaseThemeNoAction" parent="Theme.AppCompat.Light.NoActionBar">
|
||||
<item name="backgroundView">@color/backgroundLight</item>
|
||||
</style>
|
||||
|
||||
<!-- Base application theme. -->
|
||||
<style name="AppTheme" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
</style>
|
||||
|
||||
<style name="AppThemeNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
</style>
|
||||
|
||||
<!-- Institutionnel theme. -->
|
||||
<style name="Institutionnel" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_institutionnel</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_institutionnel</item>
|
||||
<item name="colorAccent">@color/colorAccent_institutionnel</item>
|
||||
</style>
|
||||
<style name="InstitutionnelNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_institutionnel</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_institutionnel</item>
|
||||
<item name="colorAccent">@color/colorAccent_institutionnel</item>
|
||||
</style>
|
||||
<!-- Maternelle theme. -->
|
||||
<style name="Maternelle" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_maternelle</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_maternelle</item>
|
||||
<item name="colorAccent">@color/colorAccent_maternelle</item>
|
||||
</style>
|
||||
<style name="MaternelleNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_maternelle</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_maternelle</item>
|
||||
<item name="colorAccent">@color/colorAccent_maternelle</item>
|
||||
</style>
|
||||
<!-- Art theme. -->
|
||||
<style name="Art" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_art</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_art</item>
|
||||
<item name="colorAccent">@color/colorAccent_art</item>
|
||||
</style>
|
||||
<style name="ArtNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_art</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_art</item>
|
||||
<item name="colorAccent">@color/colorAccent_art</item>
|
||||
</style>
|
||||
<!-- Sciences theme. -->
|
||||
<style name="Sciences" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_sciences</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_sciences</item>
|
||||
<item name="colorAccent">@color/colorAccent_sciences</item>
|
||||
</style>
|
||||
<style name="SciencesNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_sciences</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_sciences</item>
|
||||
<item name="colorAccent">@color/colorAccent_sciences</item>
|
||||
</style>
|
||||
<!-- Education theme. -->
|
||||
<style name="Education" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_education</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_education</item>
|
||||
<item name="colorAccent">@color/colorAccent_education</item>
|
||||
</style>
|
||||
<style name="EducationNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_education</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_education</item>
|
||||
<item name="colorAccent">@color/colorAccent_education</item>
|
||||
</style>
|
||||
<!-- Enseignement Pro theme. -->
|
||||
<style name="EnseignementPro" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_enseignement_pro</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_enseignement_pro</item>
|
||||
<item name="colorAccent">@color/colorAccent_enseignement_pro</item>
|
||||
</style>
|
||||
<style name="EnseignementProNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_enseignement_pro</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_enseignement_pro</item>
|
||||
<item name="colorAccent">@color/colorAccent_enseignement_pro</item>
|
||||
</style>
|
||||
<!-- Langues theme. -->
|
||||
<style name="Langues" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_langues</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_langues</item>
|
||||
<item name="colorAccent">@color/colorAccent_langues</item>
|
||||
</style>
|
||||
<style name="LanguesNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_langues</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_langues</item>
|
||||
<item name="colorAccent">@color/colorAccent_langues</item>
|
||||
</style>
|
||||
<!-- ActionEducative theme. -->
|
||||
<style name="ActionEducative" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_action_educative</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_action_educative</item>
|
||||
<item name="colorAccent">@color/colorAccent_action_educative</item>
|
||||
</style>
|
||||
<style name="ActionEducativeNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_action_educative</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_action_educative</item>
|
||||
<item name="colorAccent">@color/colorAccent_action_educative</item>
|
||||
</style>
|
||||
<!-- Cycle 2 theme. -->
|
||||
<style name="Cycle2" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle2</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle2</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle2</item>
|
||||
</style>
|
||||
<style name="Cycle2NoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle2</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle2</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle2</item>
|
||||
</style>
|
||||
<!-- Cycle 3 theme. -->
|
||||
<style name="Cycle3" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle3</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle3</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle3</item>
|
||||
</style>
|
||||
<style name="Cycle3NoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle3</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle3</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle3</item>
|
||||
</style>
|
||||
<style name="theme" parent="@style/ThemeOverlay.AppCompat.Dark" />
|
||||
|
||||
<style name="popupTheme" parent="@style/ThemeOverlay.AppCompat.DayNight" />
|
||||
|
||||
<style name="progress" parent="SpinKitView.Circle" />
|
||||
|
||||
<style name="progressBottom" parent="SpinKitView.ThreeBounce" />
|
||||
|
||||
<style name="searchBarSepia" parent="MaterialSearchBarDark" />
|
||||
</resources>
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<paths>
|
||||
<external-path
|
||||
name="my_images"
|
||||
path="/TubeAcad/" />
|
||||
|
||||
<external-path
|
||||
name="external_files"
|
||||
path="/"/>
|
||||
|
||||
</paths>
|
|
@ -1,39 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="app.fedilab.fedilabtube">
|
||||
|
||||
|
||||
<application
|
||||
android:name=".FedilabTube"
|
||||
android:allowBackup="false"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
tools:replace="android:allowBackup">
|
||||
|
||||
<activity
|
||||
android:name=".activities.MainActivity"
|
||||
tools:node="merge"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="content" />
|
||||
<data android:scheme="file" />
|
||||
<data android:host="*" />
|
||||
<data android:mimeType="*/*" />
|
||||
<data android:pathPattern=".*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.tubelab" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
</application>
|
||||
</manifest>
|
|
@ -0,0 +1 @@
|
|||
https://fedilab.app
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 2.3 MiB After Width: | Height: | Size: 2.3 MiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -0,0 +1,5 @@
|
|||
- Nouvelles options :
|
||||
- Mode plein écran automatique
|
||||
- Désactiver la lecture automatique des vidéos
|
||||
|
||||
- Quelques corrections de bugs
|
|
@ -1,34 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="app.fedilab.fedilabtube">
|
||||
|
||||
|
||||
<application
|
||||
android:name=".FedilabTube"
|
||||
android:allowBackup="false"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
tools:replace="android:allowBackup">
|
||||
|
||||
<activity
|
||||
android:name=".activities.PeertubeActivity"
|
||||
android:exported="true"
|
||||
tools:node="mergeOnlyAttributes">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<!-- The app is a good candidate for URL in https://domain.name/videos/watch/xxxxx-->
|
||||
<data
|
||||
android:host="*"
|
||||
android:pathPrefix="/videos/watch/"
|
||||
android:scheme="https" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
</application>
|
||||
</manifest>
|
|
@ -0,0 +1 @@
|
|||
https://fedilab.app
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 139 KiB |
Before Width: | Height: | Size: 892 KiB After Width: | Height: | Size: 892 KiB |
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 67 KiB |
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -12,7 +12,7 @@ C'est un mode limité où vous pouvez faire certaines actions:
|
|||
De nombreuses fonctionnalités sont disponibles avec ce mode:
|
||||
|
||||
- Rédiger/supprimer des commentaires
|
||||
- Téléverser/supprimer/modifier des vidéos
|
||||
- Télécharger/supprimer/modifier des vidéos
|
||||
- Gérer (créer/modifier/supprimer) les chaînes et les listes de lecture
|
||||
- Suivre/ne pas suivre les canaux
|
||||
- Pouces vers le haut/vers le bas
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1,6 +1,6 @@
|
|||
*游客模式*
|
||||
|
||||
在该模式下, 功能受到限制
|
||||
此种受限模式下,您只能进行进行部分操作:
|
||||
|
||||
• 切换实例
|
||||
• 分享视频
|
|
@ -0,0 +1,22 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -0,0 +1,8 @@
|
|||
Added:
|
||||
- Enable/disable auto playback
|
||||
- Enter in fullscreen automatically (default disabled)
|
||||
- Back press pauses the video in fullscreen
|
||||
|
||||
Fixes:
|
||||
- Public timelines don't honor muted accounts
|
||||
- Comments are not removed when switching to a video without comments
|
|
@ -1,20 +0,0 @@
|
|||
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>. */
|
||||
|
||||
|
||||
|
||||
public class FedilabTube extends BaseFedilabTube {
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
package app.fedilab.fedilabtube.activities;
|
||||
/* Copyright 2022 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>. */
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
public class BaseActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
}
|