diff --git a/app/build.gradle b/app/build.gradle index 82a94b7..b07c0d7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,13 +4,12 @@ apply plugin: "androidx.navigation.safeargs" android { - compileSdkVersion 30 - buildToolsVersion "30.0.3" + compileSdkVersion 31 defaultConfig { minSdkVersion 21 - targetSdkVersion 30 + targetSdkVersion 31 versionCode 43 versionName "1.14.1" multiDexEnabled true @@ -102,21 +101,7 @@ android { buildConfigField "int", "cast_enabled", "1" buildConfigField "int", "default_theme", "2" } - bittube { - applicationId "app.fedilab.bittube" - resValue "string", "app_name", "Bittube" - resValue "string", "app_id", "app.fedilab.bittube" - buildConfigField "String", "version", "\"bittube\"" - buildConfigField "boolean", "full_instances", "true" - 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", "1" - } + } sourceSets { @@ -137,10 +122,6 @@ android { 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'] } - bittube { - res.srcDirs = ['src/main/res', 'src/google_cast_lib/res', 'src/bittube/res'] - java.srcDirs = ['src/main/java', 'src/full/java', 'src/no_google_donation/java', 'src/google_cast_lib/java'] - } } } @@ -155,25 +136,25 @@ allprojects { dependencies { implementation "androidx.multidex:multidex:2.0.1" implementation fileTree(dir: "libs", include: ["*.jar"]) - implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'androidx.preference:preference:1.1.1' - implementation 'com.google.android.material:material:1.3.0' - implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + 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.vectordrawable:vectordrawable:1.1.0' - implementation 'androidx.navigation:navigation-fragment:2.3.3' - implementation "androidx.fragment:fragment:1.3.0" - implementation 'androidx.navigation:navigation-ui:2.3.3' - implementation ("androidx.navigation:navigation-dynamic-features-fragment:2.3.3") + 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.lifecycle:lifecycle-extensions:2.2.0' - implementation 'androidx.browser:browser:1.3.0' + implementation 'androidx.browser:browser:1.4.0' implementation 'androidx.documentfile:documentfile:1.0.1' implementation project(path: ':torrentStream') - testImplementation 'junit:junit:4.13.1' - androidTestImplementation 'androidx.test.ext:junit:1.1.2' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + 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.localbroadcastmanager:localbroadcastmanager:1.0.0' - implementation 'com.github.GrenderG:Toasty:1.4.2' + 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 "com.github.mabbas007:TagsEditText:1.0.5" @@ -184,7 +165,7 @@ dependencies { implementation "net.gotev:uploadservice:4.5.1" implementation "net.gotev:uploadservice-okhttp:4.5.1" implementation "com.google.code.gson:gson:2.8.6" - implementation 'androidx.media:media:1.2.1' + implementation 'androidx.media:media:1.6.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' @@ -194,12 +175,11 @@ dependencies { implementation "io.github.kobakei:ratethisapp:1.2.0" implementation 'com.github.vkay94:DoubleTapPlayerView:1.0.0' - implementation "androidx.work:work-runtime:2.5.0" - implementation "androidx.work:work-runtime-ktx:2.5.0" + implementation "androidx.work:work-runtime:2.7.1" //************ DONATION GOOGLE ONLY **************// - google_fullImplementation "com.android.billingclient:billing:3.0.2" + google_fullImplementation "com.android.billingclient:billing:4.1.0" //************ MATOMO --> acad instances only **************// @@ -208,13 +188,16 @@ dependencies { //************ CAST **************/// - //---> Google libs (google_full + bittube) - google_acadImplementation "androidx.mediarouter:mediarouter:1.2.2" - google_acadImplementation 'com.google.android.gms:play-services-cast-framework:19.0.0' - google_fullImplementation "androidx.mediarouter:mediarouter:1.2.2" - google_fullImplementation 'com.google.android.gms:play-services-cast-framework:19.0.0' - bittubeImplementation "androidx.mediarouter:mediarouter:1.2.2" - bittubeImplementation 'com.google.android.gms:play-services-cast-framework:19.0.0' + //---> 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' @@ -224,5 +207,4 @@ dependencies { fdroid_fullImplementation 'com.fasterxml.jackson.core:jackson-core:2.12.0' fdroid_fullImplementation 'org.slf4j:slf4j-simple:1.7.30' - } \ No newline at end of file diff --git a/app/src/bittube/AndroidManifest.xml b/app/src/bittube/AndroidManifest.xml deleted file mode 100644 index d0b65c3..0000000 --- a/app/src/bittube/AndroidManifest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/bittube/ic_launcher-playstore.png b/app/src/bittube/ic_launcher-playstore.png deleted file mode 100644 index 3dcbb45..0000000 Binary files a/app/src/bittube/ic_launcher-playstore.png and /dev/null differ diff --git a/app/src/bittube/res/color/bottom_nav_color.xml b/app/src/bittube/res/color/bottom_nav_color.xml deleted file mode 100644 index 662d3b2..0000000 --- a/app/src/bittube/res/color/bottom_nav_color.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/bittube/res/drawable-anydpi-v24/ic_notification_tubelab.xml b/app/src/bittube/res/drawable-anydpi-v24/ic_notification_tubelab.xml deleted file mode 100644 index a00c0ed..0000000 --- a/app/src/bittube/res/drawable-anydpi-v24/ic_notification_tubelab.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/app/src/bittube/res/drawable-hdpi/ic_notification_tubelab.png b/app/src/bittube/res/drawable-hdpi/ic_notification_tubelab.png deleted file mode 100644 index 82df2ff..0000000 Binary files a/app/src/bittube/res/drawable-hdpi/ic_notification_tubelab.png and /dev/null differ diff --git a/app/src/bittube/res/drawable-mdpi/ic_notification_tubelab.png b/app/src/bittube/res/drawable-mdpi/ic_notification_tubelab.png deleted file mode 100644 index 2ee1ba2..0000000 Binary files a/app/src/bittube/res/drawable-mdpi/ic_notification_tubelab.png and /dev/null differ diff --git a/app/src/bittube/res/drawable-v24/ic_launcher_foreground.xml b/app/src/bittube/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 402ec31..0000000 --- a/app/src/bittube/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,463 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/bittube/res/drawable-xhdpi/ic_notification_tubelab.png b/app/src/bittube/res/drawable-xhdpi/ic_notification_tubelab.png deleted file mode 100644 index 216e5e7..0000000 Binary files a/app/src/bittube/res/drawable-xhdpi/ic_notification_tubelab.png and /dev/null differ diff --git a/app/src/bittube/res/drawable-xxhdpi/ic_notification_tubelab.png b/app/src/bittube/res/drawable-xxhdpi/ic_notification_tubelab.png deleted file mode 100644 index 2e824a3..0000000 Binary files a/app/src/bittube/res/drawable-xxhdpi/ic_notification_tubelab.png and /dev/null differ diff --git a/app/src/bittube/res/drawable/bittube.xml b/app/src/bittube/res/drawable/bittube.xml deleted file mode 100644 index 7bca606..0000000 --- a/app/src/bittube/res/drawable/bittube.xml +++ /dev/null @@ -1,856 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/bittube/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/bittube/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index 7353dbd..0000000 --- a/app/src/bittube/res/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/bittube/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/bittube/res/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index 7353dbd..0000000 --- a/app/src/bittube/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/bittube/res/mipmap-hdpi/ic_launcher.png b/app/src/bittube/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 54d20ba..0000000 Binary files a/app/src/bittube/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/bittube/res/mipmap-hdpi/ic_launcher_round.png b/app/src/bittube/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index 83fc248..0000000 Binary files a/app/src/bittube/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/bittube/res/mipmap-mdpi/ic_launcher.png b/app/src/bittube/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 6b2dde7..0000000 Binary files a/app/src/bittube/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/bittube/res/mipmap-mdpi/ic_launcher_round.png b/app/src/bittube/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 18d2556..0000000 Binary files a/app/src/bittube/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/bittube/res/mipmap-xhdpi/ic_launcher.png b/app/src/bittube/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 96b528c..0000000 Binary files a/app/src/bittube/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/bittube/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/bittube/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 553edb8..0000000 Binary files a/app/src/bittube/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/bittube/res/mipmap-xxhdpi/ic_launcher.png b/app/src/bittube/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index af491cf..0000000 Binary files a/app/src/bittube/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/bittube/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/bittube/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index 51c8d70..0000000 Binary files a/app/src/bittube/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/bittube/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/bittube/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 062724b..0000000 Binary files a/app/src/bittube/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/bittube/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/bittube/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index 8765bf3..0000000 Binary files a/app/src/bittube/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/bittube/res/values/colors.xml b/app/src/bittube/res/values/colors.xml deleted file mode 100644 index 0f32543..0000000 --- a/app/src/bittube/res/values/colors.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - #343434 - #343434 - #00abff - - #bbF2690D - #FAFAFA - #2b90d9 - #ca8f04 - #795548 - #F44336 - #DD000000 - #F44336 - #80808080 - \ No newline at end of file diff --git a/app/src/bittube/res/values/ic_launcher_background.xml b/app/src/bittube/res/values/ic_launcher_background.xml deleted file mode 100644 index c5d5899..0000000 --- a/app/src/bittube/res/values/ic_launcher_background.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - #FFFFFF - \ No newline at end of file diff --git a/app/src/bittube/res/xml/file_paths.xml b/app/src/bittube/res/xml/file_paths.xml deleted file mode 100644 index 63687c5..0000000 --- a/app/src/bittube/res/xml/file_paths.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/google_acad/AndroidManifest.xml b/app/src/google_acad/AndroidManifest.xml index 3313fb5..42e78f4 100644 --- a/app/src/google_acad/AndroidManifest.xml +++ b/app/src/google_acad/AndroidManifest.xml @@ -16,7 +16,8 @@ + tools:node="merge" + android:exported="true"> diff --git a/app/src/google_cast_lib/java/app/fedilab/fedilabtube/BasePeertubeActivity.java b/app/src/google_cast_lib/java/app/fedilab/fedilabtube/BasePeertubeActivity.java index 8475b78..f0b3b7a 100644 --- a/app/src/google_cast_lib/java/app/fedilab/fedilabtube/BasePeertubeActivity.java +++ b/app/src/google_cast_lib/java/app/fedilab/fedilabtube/BasePeertubeActivity.java @@ -1,4 +1,18 @@ package app.fedilab.fedilabtube; +/* Copyright 2021 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 . */ import android.content.Context; import android.content.SharedPreferences; @@ -7,6 +21,7 @@ import android.os.Bundle; import android.view.Menu; import android.view.View; +import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import com.google.android.exoplayer2.SimpleExoPlayer; @@ -23,21 +38,6 @@ import app.fedilab.fedilabtube.client.data.VideoData; import app.fedilab.fedilabtube.databinding.ActivityPeertubeBinding; import app.fedilab.fedilabtube.helper.Helper; -/* Copyright 2021 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 . */ - public class BasePeertubeActivity extends AppCompatActivity { protected ActivityPeertubeBinding binding; @@ -58,11 +58,10 @@ public class BasePeertubeActivity extends AppCompatActivity { View view = binding.getRoot(); setContentView(view); final SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); - int search_cast = sharedpreferences.getInt(getString(R.string.set_cast_choice), BuildConfig.cast_enabled); if (search_cast == 1) { setupCastListener(); - mCastContext = CastContext.getSharedInstance(this); + mCastContext = CastContext.getSharedInstance(BasePeertubeActivity.this); mCastSession = mCastContext.getSessionManager().getCurrentCastSession(); } @@ -82,7 +81,7 @@ public class BasePeertubeActivity extends AppCompatActivity { MediaInfo mediaInfo = new MediaInfo.Builder(videoURL) .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED) .setMetadata(movieMetadata) - .setStreamDuration(peertube.getDuration() * 1000) + .setStreamDuration(peertube.getDuration() * 1000L) .build(); if (mCastSession != null) { RemoteMediaClient remoteMediaClient = mCastSession.getRemoteMediaClient(); @@ -94,45 +93,45 @@ public class BasePeertubeActivity extends AppCompatActivity { private void setupCastListener() { mSessionManagerListener = new SessionManagerListener() { @Override - public void onSessionStarting(CastSession castSession) { + public void onSessionStarting(@NonNull CastSession castSession) { } @Override - public void onSessionStarted(CastSession castSession, String s) { + public void onSessionStarted(@NonNull CastSession castSession, String s) { onApplicationConnected(castSession, true); } @Override - public void onSessionStartFailed(CastSession castSession, int i) { + public void onSessionStartFailed(@NonNull CastSession castSession, int i) { onApplicationDisconnected(); } @Override - public void onSessionEnding(CastSession castSession) { + public void onSessionEnding(@NonNull CastSession castSession) { onApplicationDisconnected(); } @Override - public void onSessionEnded(CastSession castSession, int i) { + public void onSessionEnded(@NonNull CastSession castSession, int i) { onApplicationDisconnected(); } @Override - public void onSessionResuming(CastSession castSession, String s) { + public void onSessionResuming(@NonNull CastSession castSession, String s) { } @Override - public void onSessionResumed(CastSession castSession, boolean b) { + public void onSessionResumed(@NonNull CastSession castSession, boolean b) { onApplicationConnected(castSession, false); } @Override - public void onSessionResumeFailed(CastSession castSession, int i) { + public void onSessionResumeFailed(@NonNull CastSession castSession, int i) { onApplicationDisconnected(); } @Override - public void onSessionSuspended(CastSession castSession, int i) { + public void onSessionSuspended(@NonNull CastSession castSession, int i) { onApplicationDisconnected(); } diff --git a/app/src/google_cast_lib/java/app/fedilab/fedilabtube/provider/CastOptionsProvider.java b/app/src/google_cast_lib/java/app/fedilab/fedilabtube/provider/CastOptionsProvider.java index 922aa3f..712af7e 100644 --- a/app/src/google_cast_lib/java/app/fedilab/fedilabtube/provider/CastOptionsProvider.java +++ b/app/src/google_cast_lib/java/app/fedilab/fedilabtube/provider/CastOptionsProvider.java @@ -1,54 +1,26 @@ package app.fedilab.fedilabtube.provider; -/* Copyright 2021 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 . */ import android.content.Context; +import androidx.annotation.NonNull; + import com.google.android.gms.cast.framework.CastOptions; import com.google.android.gms.cast.framework.OptionsProvider; import com.google.android.gms.cast.framework.SessionProvider; -import com.google.android.gms.cast.framework.media.CastMediaOptions; -import com.google.android.gms.cast.framework.media.NotificationOptions; import java.util.List; -import app.fedilab.fedilabtube.BuildConfig; -import app.fedilab.fedilabtube.expandedcontrols.ExpandedControlsActivity; import app.fedilab.fedilabtube.helper.Helper; - public class CastOptionsProvider implements OptionsProvider { - - @Override - public CastOptions getCastOptions(Context context) { - NotificationOptions notificationOptions = new NotificationOptions.Builder() - .setTargetActivityClassName(ExpandedControlsActivity.class.getName()) - .build(); - CastMediaOptions mediaOptions = new CastMediaOptions.Builder() - .setNotificationOptions(notificationOptions) - .setExpandedControllerActivityClassName(ExpandedControlsActivity.class.getName()) - .build(); + public CastOptions getCastOptions(@NonNull Context context) { return new CastOptions.Builder() - .setReceiverApplicationId(BuildConfig.FLAVOR.compareTo("bittube") == 0 ? Helper.CAST_ID_BITTUBE : Helper.CAST_ID) - .setCastMediaOptions(mediaOptions) + .setReceiverApplicationId(Helper.CAST_ID) .build(); } - @Override - public List getAdditionalSessionProviders(Context context) { + public List getAdditionalSessionProviders(@NonNull Context context) { return null; } } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a4cad0b..3295f52 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -31,7 +31,7 @@ android:name=".MainActivity" android:theme="@style/AppThemeNoActionBar" android:configChanges="orientation|screenSize" - android:label="@string/app_name"> + android:exported="true"> @@ -43,7 +43,6 @@ + android:configChanges="keyboardHidden|orientation|screenSize" /> + android:configChanges="keyboardHidden|orientation|screenSize" /> + /> + android:windowSoftInputMode="stateAlwaysHidden" + android:exported="true"> @@ -175,12 +160,6 @@ android:name=".services.RetrieveInfoService" android:exported="false" /> - - + + + \ No newline at end of file diff --git a/app/src/main/java/app/fedilab/fedilabtube/AboutActivity.java b/app/src/main/java/app/fedilab/fedilabtube/AboutActivity.java index e251a2c..f62b128 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/AboutActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/AboutActivity.java @@ -104,19 +104,10 @@ public class AboutActivity extends AppCompatActivity { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.paypal.me/Mastalab")); startActivity(browserIntent); }); - if (BuildConfig.FLAVOR.equals("queermotion")) { - donatePaypal.setVisibility(View.GONE); - LinearLayout dev_info = findViewById(R.id.dev_info); - dev_info.setVisibility(View.GONE); - } Button donateLiberapay = findViewById(R.id.donate_liberapay); donateLiberapay.setOnClickListener(v -> { Intent browserIntent; - if (BuildConfig.FLAVOR.equals("queermotion")) { - browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://soutenir.queermotion.org")); - } else { - browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://liberapay.com/tom79")); - } + browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://liberapay.com/tom79")); startActivity(browserIntent); }); diff --git a/app/src/main/java/app/fedilab/fedilabtube/AccountActivity.java b/app/src/main/java/app/fedilab/fedilabtube/AccountActivity.java index 7fcca2a..7982871 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/AccountActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/AccountActivity.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.MainActivity.badgeCount; + import android.content.Intent; import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; @@ -54,13 +56,12 @@ import app.fedilab.fedilabtube.helper.SwitchAccountHelper; import app.fedilab.fedilabtube.sqlite.AccountDAO; import app.fedilab.fedilabtube.sqlite.Sqlite; -import static app.fedilab.fedilabtube.MainActivity.badgeCount; - public class AccountActivity extends AppCompatActivity { private ActivityAccountBinding binding; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -259,6 +260,11 @@ public class AccountActivity extends AppCompatActivity { super.onDestroy(); } + @Override + public void onBackPressed() { + super.onBackPressed(); + overridePendingTransition(R.anim.slide_out_up, R.anim.slide_in_up_down); + } /** * Pager adapter for three tabs (notifications, muted, blocked) @@ -292,11 +298,5 @@ public class AccountActivity extends AppCompatActivity { } } - @Override - public void onBackPressed() { - super.onBackPressed(); - overridePendingTransition(R.anim.slide_out_up, R.anim.slide_in_up_down); - } - } \ No newline at end of file diff --git a/app/src/main/java/app/fedilab/fedilabtube/AllPlaylistsActivity.java b/app/src/main/java/app/fedilab/fedilabtube/AllPlaylistsActivity.java index adaec45..26a36c7 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/AllPlaylistsActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/AllPlaylistsActivity.java @@ -14,6 +14,9 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.PeertubeUploadActivity.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE; +import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; + import android.Manifest; import android.app.Activity; import android.content.Context; @@ -67,9 +70,6 @@ import app.fedilab.fedilabtube.viewmodel.ChannelsVM; import app.fedilab.fedilabtube.viewmodel.PlaylistsVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.PeertubeUploadActivity.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE; -import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; - public class AllPlaylistsActivity extends AppCompatActivity implements PlaylistAdapter.AllPlaylistRemoved { diff --git a/app/src/main/java/app/fedilab/fedilabtube/BaseFedilabTube.java b/app/src/main/java/app/fedilab/fedilabtube/BaseFedilabTube.java index c075850..f0b7663 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/BaseFedilabTube.java +++ b/app/src/main/java/app/fedilab/fedilabtube/BaseFedilabTube.java @@ -22,8 +22,6 @@ import android.os.Build; import androidx.multidex.MultiDex; import androidx.multidex.MultiDexApplication; -import androidx.work.Configuration; -import androidx.work.WorkManager; import net.gotev.uploadservice.UploadServiceConfig; import net.gotev.uploadservice.observer.request.GlobalRequestObserver; @@ -45,10 +43,6 @@ public class BaseFedilabTube extends MultiDexApplication { SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); int interval = sharedpreferences.getInt(Helper.NOTIFICATION_INTERVAL, 60); - Configuration myConfig = new Configuration.Builder() - .setMinimumLoggingLevel(android.util.Log.INFO) - .build(); - WorkManager.initialize(BaseFedilabTube.this, myConfig); if (interval >= 15) { WorkHelper.fetchNotifications(this, interval); } diff --git a/app/src/main/java/app/fedilab/fedilabtube/InstancePickerActivity.java b/app/src/main/java/app/fedilab/fedilabtube/InstancePickerActivity.java index 0d0190f..7de07e1 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/InstancePickerActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/InstancePickerActivity.java @@ -15,6 +15,8 @@ package app.fedilab.fedilabtube; * see . */ +import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; + import android.os.Bundle; import android.text.SpannableStringBuilder; import android.text.Spanned; @@ -48,8 +50,6 @@ import app.fedilab.fedilabtube.helper.RoundedBackgroundSpan; import app.fedilab.fedilabtube.viewmodel.InstancesVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; - public class InstancePickerActivity extends AppCompatActivity { diff --git a/app/src/main/java/app/fedilab/fedilabtube/LoginActivity.java b/app/src/main/java/app/fedilab/fedilabtube/LoginActivity.java index 3aaa372..266af76 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/LoginActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/LoginActivity.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.updateCredential; + import android.annotation.SuppressLint; import android.content.Intent; import android.content.SharedPreferences; @@ -22,7 +24,6 @@ import android.text.SpannableString; import android.text.Spanned; import android.text.style.ForegroundColorSpan; import android.text.style.UnderlineSpan; -import android.util.Log; import android.util.Patterns; import android.view.MenuItem; import android.view.View; @@ -54,8 +55,6 @@ import app.fedilab.fedilabtube.helper.HelperAcadInstance; import app.fedilab.fedilabtube.helper.HelperInstance; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.updateCredential; - public class LoginActivity extends AppCompatActivity { @@ -78,11 +77,7 @@ public class LoginActivity extends AppCompatActivity { SpannableString content_create; - if (BuildConfig.FLAVOR.compareTo("queermotion") == 0) { - content_create = new SpannableString(getString(R.string.register_account)); - } else { - content_create = new SpannableString(getString(R.string.join_peertube)); - } + content_create = new SpannableString(getString(R.string.join_peertube)); content_create.setSpan(new UnderlineSpan(), 0, content_create.length(), 0); content_create.setSpan(new ForegroundColorSpan(ContextCompat.getColor(LoginActivity.this, Helper.getColorAccent())), 0, content_create.length(), @@ -100,11 +95,6 @@ public class LoginActivity extends AppCompatActivity { if (BuildConfig.full_instances && BuildConfig.instance_switcher) { binding.loginInstanceContainer.setVisibility(View.VISIBLE); } - if (BuildConfig.FLAVOR.compareTo("queermotion") == 0) { - binding.loginInstance.setText("queermotion.org"); - }else if (BuildConfig.FLAVOR.compareTo("bittube") == 0) { - binding.loginInstance.setText("bittube.video"); - } if (Helper.isTablet(LoginActivity.this)) { @@ -141,11 +131,8 @@ public class LoginActivity extends AppCompatActivity { for (AcadInstances ac : acadInstances) { academiesKey[i] = ac.getName(); academiesValue[i] = ac.getUrl(); - Log.v(Helper.TAG, "url 1: " + ac.getUrl()); - Log.v(Helper.TAG, "url 2: " + acad); if (ac.getUrl().compareTo(acad) == 0) { position = i; - Log.v(Helper.TAG, "ok: " + position); } i++; } @@ -156,17 +143,10 @@ public class LoginActivity extends AppCompatActivity { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { acadInstance = academiesValue[position]; - if (acadInstances.get(position).isOpenId()) { - binding.loginUidContainer.setVisibility(View.GONE); - binding.loginPasswdContainer.setVisibility(View.GONE); - binding.loginInstanceContainer.setVisibility(View.GONE); - binding.createAnAccountPeertube.setVisibility(View.GONE); - } else { - binding.loginUidContainer.setVisibility(View.VISIBLE); - binding.loginPasswdContainer.setVisibility(View.VISIBLE); - binding.loginInstanceContainer.setVisibility(View.GONE); - binding.createAnAccountPeertube.setVisibility(View.VISIBLE); - } + binding.loginUidContainer.setVisibility(View.GONE); + binding.loginPasswdContainer.setVisibility(View.GONE); + binding.loginInstanceContainer.setVisibility(View.GONE); + binding.createAnAccountPeertube.setVisibility(View.GONE); } @Override @@ -222,7 +202,7 @@ public class LoginActivity extends AppCompatActivity { editor.apply(); Intent intent = new Intent(LoginActivity.this, WebviewConnectActivity.class); Bundle b = new Bundle(); - b.putString("url", "https://" + acadInstance + "/plugins/auth-openid-connect/0.0.1/auth/openid-connect"); + b.putString("url", "https://" + acadInstance + "/plugins/auth-openid-connect/0.0.7/auth/openid-connect"); intent.putExtras(b); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); diff --git a/app/src/main/java/app/fedilab/fedilabtube/MainActivity.java b/app/src/main/java/app/fedilab/fedilabtube/MainActivity.java index 72dcf95..bbf1837 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/MainActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/MainActivity.java @@ -14,6 +14,10 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.MainActivity.TypeOfConnection.NORMAL; +import static app.fedilab.fedilabtube.MainActivity.TypeOfConnection.SURFING; +import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; + import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; @@ -82,10 +86,6 @@ import app.fedilab.fedilabtube.sqlite.StoredInstanceDAO; import app.fedilab.fedilabtube.viewmodel.TimelineVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.MainActivity.TypeOfConnection.NORMAL; -import static app.fedilab.fedilabtube.MainActivity.TypeOfConnection.SURFING; -import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; - public class MainActivity extends BaseMainActivity { @@ -95,12 +95,10 @@ public class MainActivity extends BaseMainActivity { public static UserMe userMe; public static InstanceData.InstanceConfig instanceConfig; public static TypeOfConnection typeOfConnection; - - + public static int badgeCount; private DisplayVideosFragment recentFragment, locaFragment, trendingFragment, subscriptionFragment, mostLikedFragment; private DisplayOverviewFragment overviewFragment; private ActivityMainBinding binding; - public static int badgeCount; private final BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = item -> { int itemId = item.getItemId(); @@ -215,7 +213,6 @@ public class MainActivity extends BaseMainActivity { } - @Override public void onDestroy() { super.onDestroy(); @@ -223,7 +220,6 @@ public class MainActivity extends BaseMainActivity { } - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/app/src/main/java/app/fedilab/fedilabtube/ManageInstancesActivity.java b/app/src/main/java/app/fedilab/fedilabtube/ManageInstancesActivity.java index c5963b4..2b0b5df 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/ManageInstancesActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/ManageInstancesActivity.java @@ -14,6 +14,9 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.MainActivity.PICK_INSTANCE_SURF; +import static app.fedilab.fedilabtube.MainActivity.showRadioButtonDialogFullInstances; + import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; @@ -39,9 +42,6 @@ import app.fedilab.fedilabtube.sqlite.Sqlite; import app.fedilab.fedilabtube.sqlite.StoredInstanceDAO; import app.fedilab.fedilabtube.viewmodel.InfoInstanceVM; -import static app.fedilab.fedilabtube.MainActivity.PICK_INSTANCE_SURF; -import static app.fedilab.fedilabtube.MainActivity.showRadioButtonDialogFullInstances; - public class ManageInstancesActivity extends AppCompatActivity implements AboutInstanceAdapter.AllInstancesRemoved { diff --git a/app/src/main/java/app/fedilab/fedilabtube/MastodonWebviewConnectActivity.java b/app/src/main/java/app/fedilab/fedilabtube/MastodonWebviewConnectActivity.java index 0811d95..88cabfd 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/MastodonWebviewConnectActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/MastodonWebviewConnectActivity.java @@ -35,10 +35,10 @@ import android.widget.Toast; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; -import app.fedilab.fedilabtube.client.mastodon.RetrofitMastodonAPI; import app.fedilab.fedilabtube.client.entities.Error; import app.fedilab.fedilabtube.client.entities.OauthParams; import app.fedilab.fedilabtube.client.entities.Token; +import app.fedilab.fedilabtube.client.mastodon.RetrofitMastodonAPI; import app.fedilab.fedilabtube.helper.Helper; import es.dmoral.toasty.Toasty; diff --git a/app/src/main/java/app/fedilab/fedilabtube/MyAccountActivity.java b/app/src/main/java/app/fedilab/fedilabtube/MyAccountActivity.java index e554a8d..c507885 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/MyAccountActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/MyAccountActivity.java @@ -14,6 +14,9 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.PeertubeUploadActivity.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE; +import static app.fedilab.fedilabtube.worker.WorkHelper.NOTIFICATION_WORKER; + import android.Manifest; import android.app.Activity; import android.content.Context; @@ -55,9 +58,6 @@ import app.fedilab.fedilabtube.helper.Helper; import app.fedilab.fedilabtube.worker.WorkHelper; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.PeertubeUploadActivity.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE; -import static app.fedilab.fedilabtube.worker.WorkHelper.NOTIFICATION_WORKER; - public class MyAccountActivity extends AppCompatActivity { private static final int PICK_IMAGE = 466; diff --git a/app/src/main/java/app/fedilab/fedilabtube/PeertubeActivity.java b/app/src/main/java/app/fedilab/fedilabtube/PeertubeActivity.java index ff375be..bb22ba4 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/PeertubeActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/PeertubeActivity.java @@ -14,6 +14,18 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static com.google.android.exoplayer2.Player.MEDIA_ITEM_TRANSITION_REASON_AUTO; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.ADD_COMMENT; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.RATEVIDEO; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPLY; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPORT_ACCOUNT; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPORT_VIDEO; +import static app.fedilab.fedilabtube.helper.Helper.canMakeAction; +import static app.fedilab.fedilabtube.helper.Helper.getAttColor; +import static app.fedilab.fedilabtube.helper.Helper.isLoggedIn; +import static app.fedilab.fedilabtube.helper.Helper.loadGiF; +import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; + import android.Manifest; import android.annotation.SuppressLint; import android.app.Activity; @@ -158,23 +170,13 @@ import app.fedilab.fedilabtube.webview.MastalabWebChromeClient; import app.fedilab.fedilabtube.webview.MastalabWebViewClient; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.ADD_COMMENT; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.RATEVIDEO; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPLY; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPORT_ACCOUNT; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPORT_VIDEO; -import static app.fedilab.fedilabtube.helper.Helper.canMakeAction; -import static app.fedilab.fedilabtube.helper.Helper.getAttColor; -import static app.fedilab.fedilabtube.helper.Helper.isLoggedIn; -import static app.fedilab.fedilabtube.helper.Helper.loadGiF; -import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; -import static com.google.android.exoplayer2.Player.MEDIA_ITEM_TRANSITION_REASON_AUTO; - public class PeertubeActivity extends BasePeertubeActivity implements CommentListAdapter.AllCommentRemoved, Player.EventListener, VideoListener, TorrentListener, MenuAdapter.ItemClicked, MenuItemAdapter.ItemAction { public static String video_id; public static List playedVideos = new ArrayList<>(); + Uri captionURI; + String captionLang; private String peertubeInstance, videoUuid; private ImageView fullScreenIcon; private boolean fullScreenMode; @@ -203,10 +205,7 @@ public class PeertubeActivity extends BasePeertubeActivity implements CommentLis private String currentCaption; private boolean isRemote; private boolean willPlayFromIntent; - private app.fedilab.fedilabtube.client.mastodon.Status status; - Uri captionURI; - String captionLang; public static void hideKeyboard(Activity activity) { if (activity != null && activity.getWindow() != null) { @@ -495,7 +494,6 @@ public class PeertubeActivity extends BasePeertubeActivity implements CommentLis }); - } private void manageVIewVideos(APIResponse apiResponse) { diff --git a/app/src/main/java/app/fedilab/fedilabtube/PeertubeEditUploadActivity.java b/app/src/main/java/app/fedilab/fedilabtube/PeertubeEditUploadActivity.java index ac230eb..5cf52bf 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/PeertubeEditUploadActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/PeertubeEditUploadActivity.java @@ -14,6 +14,10 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.PEERTUBEDELETEVIDEO; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.DataType.MY_CHANNELS; +import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; + import android.Manifest; import android.app.Activity; import android.content.Intent; @@ -61,10 +65,6 @@ import app.fedilab.fedilabtube.viewmodel.PostActionsVM; import app.fedilab.fedilabtube.viewmodel.TimelineVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.PEERTUBEDELETEVIDEO; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.DataType.MY_CHANNELS; -import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; - public class PeertubeEditUploadActivity extends AppCompatActivity { diff --git a/app/src/main/java/app/fedilab/fedilabtube/PeertubeRegisterActivity.java b/app/src/main/java/app/fedilab/fedilabtube/PeertubeRegisterActivity.java index ef18590..f8422c7 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/PeertubeRegisterActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/PeertubeRegisterActivity.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.MainActivity.PICK_INSTANCE; + import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; @@ -42,8 +44,6 @@ import app.fedilab.fedilabtube.helper.HelperAcadInstance; import app.fedilab.fedilabtube.helper.HelperInstance; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.MainActivity.PICK_INSTANCE; - public class PeertubeRegisterActivity extends AppCompatActivity { @@ -71,11 +71,6 @@ public class PeertubeRegisterActivity extends AppCompatActivity { binding.titleLoginInstance.setVisibility(View.GONE); } - if (BuildConfig.FLAVOR.compareTo("queermotion") == 0) { - binding.loginInstance.setText("queermotion.org"); - }else if (BuildConfig.FLAVOR.compareTo("bittube") == 0) { - binding.loginInstance.setText("bittube.video"); - } binding.username.setOnFocusChangeListener((view, focused) -> { if (!focused && binding.username.getText() != null) { diff --git a/app/src/main/java/app/fedilab/fedilabtube/PeertubeUploadActivity.java b/app/src/main/java/app/fedilab/fedilabtube/PeertubeUploadActivity.java index 41c84ec..0b95b12 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/PeertubeUploadActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/PeertubeUploadActivity.java @@ -14,6 +14,10 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.MainActivity.userMe; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.DataType.MY_CHANNELS; +import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; + import android.Manifest; import android.app.Activity; import android.app.PendingIntent; @@ -62,10 +66,6 @@ import app.fedilab.fedilabtube.helper.HelperInstance; import app.fedilab.fedilabtube.viewmodel.ChannelsVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.MainActivity.userMe; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.DataType.MY_CHANNELS; -import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; - public class PeertubeUploadActivity extends AppCompatActivity { diff --git a/app/src/main/java/app/fedilab/fedilabtube/SepiaSearchActivity.java b/app/src/main/java/app/fedilab/fedilabtube/SepiaSearchActivity.java index b69e922..3fc4c67 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/SepiaSearchActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/SepiaSearchActivity.java @@ -14,6 +14,9 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.PeertubeActivity.hideKeyboard; +import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; + import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; @@ -42,9 +45,6 @@ import app.fedilab.fedilabtube.databinding.ActivitySepiaSearchBinding; import app.fedilab.fedilabtube.fragment.DisplaySepiaSearchFragment; import app.fedilab.fedilabtube.helper.Helper; -import static app.fedilab.fedilabtube.PeertubeActivity.hideKeyboard; -import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; - public class SepiaSearchActivity extends AppCompatActivity { diff --git a/app/src/main/java/app/fedilab/fedilabtube/ShowAccountActivity.java b/app/src/main/java/app/fedilab/fedilabtube/ShowAccountActivity.java index 259d2d2..3dd0ce0 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/ShowAccountActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/ShowAccountActivity.java @@ -14,6 +14,10 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.MUTE; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPORT_ACCOUNT; + import android.content.Intent; import android.os.Build; import android.os.Bundle; @@ -54,10 +58,6 @@ import app.fedilab.fedilabtube.viewmodel.PostActionsVM; import app.fedilab.fedilabtube.viewmodel.TimelineVM; import es.dmoral.toasty.Toasty; -import static androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.MUTE; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPORT_ACCOUNT; - public class ShowAccountActivity extends AppCompatActivity { diff --git a/app/src/main/java/app/fedilab/fedilabtube/ShowChannelActivity.java b/app/src/main/java/app/fedilab/fedilabtube/ShowChannelActivity.java index 0c1aebe..3ed4b5c 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/ShowChannelActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/ShowChannelActivity.java @@ -14,6 +14,15 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY; +import static app.fedilab.fedilabtube.MainActivity.TypeOfConnection.SURFING; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.FOLLOW; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.MUTE; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPORT_ACCOUNT; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.UNFOLLOW; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.DataType.CHANNEL; +import static app.fedilab.fedilabtube.helper.Helper.isLoggedIn; + import android.content.Intent; import android.content.SharedPreferences; import android.content.res.ColorStateList; @@ -69,15 +78,6 @@ import app.fedilab.fedilabtube.viewmodel.RelationshipVM; import app.fedilab.fedilabtube.viewmodel.TimelineVM; import es.dmoral.toasty.Toasty; -import static androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY; -import static app.fedilab.fedilabtube.MainActivity.TypeOfConnection.SURFING; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.FOLLOW; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.MUTE; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPORT_ACCOUNT; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.UNFOLLOW; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.DataType.CHANNEL; -import static app.fedilab.fedilabtube.helper.Helper.isLoggedIn; - public class ShowChannelActivity extends AppCompatActivity { diff --git a/app/src/main/java/app/fedilab/fedilabtube/VideosTimelineActivity.java b/app/src/main/java/app/fedilab/fedilabtube/VideosTimelineActivity.java index 3aff82b..1a07792 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/VideosTimelineActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/VideosTimelineActivity.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.viewmodel.TimelineVM.TimelineType.HISTORY; + import android.app.AlertDialog; import android.os.Bundle; import android.view.Menu; @@ -38,8 +40,6 @@ import app.fedilab.fedilabtube.fragment.DisplayVideosFragment; import app.fedilab.fedilabtube.helper.Helper; import app.fedilab.fedilabtube.viewmodel.TimelineVM; -import static app.fedilab.fedilabtube.viewmodel.TimelineVM.TimelineType.HISTORY; - public class VideosTimelineActivity extends AppCompatActivity { diff --git a/app/src/main/java/app/fedilab/fedilabtube/WebviewConnectActivity.java b/app/src/main/java/app/fedilab/fedilabtube/WebviewConnectActivity.java index 1878487..ebced17 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/WebviewConnectActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/WebviewConnectActivity.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.updateCredential; + import android.annotation.SuppressLint; import android.content.Context; import android.content.SharedPreferences; @@ -23,6 +25,7 @@ import android.view.MenuItem; import android.webkit.CookieManager; import android.webkit.CookieSyncManager; import android.webkit.WebChromeClient; +import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.ProgressBar; @@ -40,13 +43,11 @@ import app.fedilab.fedilabtube.client.entities.Token; import app.fedilab.fedilabtube.helper.Helper; import app.fedilab.fedilabtube.webview.CustomWebview; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.updateCredential; - public class WebviewConnectActivity extends AppCompatActivity { - private CustomWebview webView; + private WebView webView; private AlertDialog alert; private String clientId, clientSecret; private String url; @@ -72,7 +73,7 @@ public class WebviewConnectActivity extends AppCompatActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); - + WebView.setWebContentsDebuggingEnabled(true); setContentView(R.layout.activity_webview_connect); Bundle b = getIntent().getExtras(); if (b != null) { @@ -87,11 +88,19 @@ public class WebviewConnectActivity extends AppCompatActivity { webView = findViewById(R.id.webviewConnect); clearCookies(WebviewConnectActivity.this); webView.getSettings().setJavaScriptEnabled(true); - if (Build.VERSION.SDK_INT >= 21) { - CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true); - } else { - CookieManager.getInstance().setAcceptCookie(true); - } + CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true); + webView.getSettings().setUseWideViewPort(true); + webView.getSettings().setLoadWithOverviewMode(true); + webView.getSettings().setSupportZoom(true); + webView.getSettings().setDisplayZoomControls(false); + webView.getSettings().setBuiltInZoomControls(true); + webView.getSettings().setAllowContentAccess(true); + webView.getSettings().setLoadsImagesAutomatically(true); + webView.getSettings().setSupportMultipleWindows(false); + webView.getSettings().setAppCacheEnabled(true); + webView.getSettings().setDatabaseEnabled(true); + webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); + webView.getSettings().setMediaPlaybackRequiresUserGesture(true); if (getSupportActionBar() != null) getSupportActionBar().setDisplayHomeAsUpEnabled(true); setTitle(R.string.login); @@ -112,7 +121,6 @@ public class WebviewConnectActivity extends AppCompatActivity { webView.setWebViewClient(new WebViewClient() { - @Override public void onPageFinished(WebView view, String url) { Matcher matcher = Helper.redirectPattern.matcher(url); diff --git a/app/src/main/java/app/fedilab/fedilabtube/client/RetrofitPeertubeAPI.java b/app/src/main/java/app/fedilab/fedilabtube/client/RetrofitPeertubeAPI.java index 5c805a4..a5cd5a1 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/client/RetrofitPeertubeAPI.java +++ b/app/src/main/java/app/fedilab/fedilabtube/client/RetrofitPeertubeAPI.java @@ -97,6 +97,10 @@ import retrofit2.converter.gson.GsonConverterFactory; @SuppressWarnings({"unused", "RedundantSuppression", "ConstantConditions"}) public class RetrofitPeertubeAPI { + final OkHttpClient okHttpClient = new OkHttpClient.Builder() + .readTimeout(60, TimeUnit.SECONDS) + .connectTimeout(60, TimeUnit.SECONDS) + .build(); private final String finalUrl; private final Context _context; private final String instance; @@ -106,12 +110,6 @@ public class RetrofitPeertubeAPI { private Set selection; - final OkHttpClient okHttpClient = new OkHttpClient.Builder() - .readTimeout(60, TimeUnit.SECONDS) - .connectTimeout(60, TimeUnit.SECONDS) - .build(); - - public RetrofitPeertubeAPI(Context context) { _context = context; instance = HelperInstance.getLiveInstance(context); diff --git a/app/src/main/java/app/fedilab/fedilabtube/client/entities/AcadInstances.java b/app/src/main/java/app/fedilab/fedilabtube/client/entities/AcadInstances.java index d28f3e6..65e04bd 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/client/entities/AcadInstances.java +++ b/app/src/main/java/app/fedilab/fedilabtube/client/entities/AcadInstances.java @@ -15,9 +15,8 @@ package app.fedilab.fedilabtube.client.entities; * see . */ import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -42,14 +41,7 @@ public class AcadInstances { public static List getInstances() { List acadInstances = new ArrayList<>(); - for (String academie : HelperAcadInstance.academies) { - AcadInstances acadInstance = new AcadInstances(); - acadInstance.name = academie; - acadInstance.openId = !Arrays.asList(HelperAcadInstance.notOpenId).contains(academie); - acadInstance.url = getPeertubeUrl(academie); - acadInstances.add(acadInstance); - } - HashMap instancesMap = new HashMap<>(HelperAcadInstance.instances_themes); + LinkedHashMap instancesMap = new LinkedHashMap<>(HelperAcadInstance.instances_themes); Iterator> it = instancesMap.entrySet().iterator(); while (it.hasNext()) { Map.Entry pair = it.next(); @@ -63,36 +55,6 @@ public class AcadInstances { return acadInstances; } - /** - * Returns the peertube URL depending of the academic domain name - * - * @param acad String academic domain name - * @return String the peertube URL - */ - private static String getPeertubeUrl(String acad) { - - if (acad.compareTo("education.gouv.fr") == 0 || acad.compareTo("igesr.gouv.fr") == 0) { - acad = "education.fr"; - } else if (acad.compareTo("ac-nancy-metz.fr") == 0) { - acad = "ac-nancy.fr"; - } else if (acad.compareTo("clermont.fr") == 0) { - acad = "clermont-ferrand.fr"; - } else if (acad.compareTo("ac-wf.wf") == 0 || acad.compareTo("ac-mayotte.fr") == 0 || acad.compareTo("ac-noumea.nc") == 0 - || acad.compareTo("ac-guadeloupe.fr") == 0 || acad.compareTo("monvr.pf") == 0 || acad.compareTo("ac-reunion.fr") == 0 || - acad.compareTo("ac-martinique.fr") == 0 || acad.compareTo("ac-guyane.fr") == 0 - ) { - acad = "outremer.fr"; - } - if (!acad.contains("ac-lyon.fr")) { - //TODO: remove hack for test with openid - /*if( acad.contains("orleans-tours.fr")) { - return "tube-normandie.beta.education.fr"; - }*/ - return "tube-" + acad.replaceAll("ac-|\\.fr", "") + ".beta.education.fr"; - } else { - return "tube.ac-lyon.fr"; - } - } public String getName() { return name; diff --git a/app/src/main/java/app/fedilab/fedilabtube/client/mastodon/MastodonAccount.java b/app/src/main/java/app/fedilab/fedilabtube/client/mastodon/MastodonAccount.java index 97bb4c4..7115443 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/client/mastodon/MastodonAccount.java +++ b/app/src/main/java/app/fedilab/fedilabtube/client/mastodon/MastodonAccount.java @@ -29,6 +29,18 @@ import app.fedilab.fedilabtube.client.entities.Avatar; public class MastodonAccount { + public static AccountData.Account convertToPeertubeAccount(MastodonAccount.Account initialAccount) { + AccountData.Account account = new AccountData.Account(); + Avatar avatar = new Avatar(); + avatar.setPath(initialAccount.getAvatar()); + account.setAvatar(avatar); + account.setDescription(initialAccount.getDescription()); + account.setDisplayName(initialAccount.getDisplayName()); + account.setUsername(initialAccount.getUsername()); + account.setHost(initialAccount.getHost()); + return account; + } + public static class Account implements Parcelable { public static final Creator CREATOR = new Creator() { @Override @@ -240,16 +252,4 @@ public class MastodonAccount { dest.writeString(this.url); } } - - public static AccountData.Account convertToPeertubeAccount(MastodonAccount.Account initialAccount) { - AccountData.Account account = new AccountData.Account(); - Avatar avatar = new Avatar(); - avatar.setPath(initialAccount.getAvatar()); - account.setAvatar(avatar); - account.setDescription(initialAccount.getDescription()); - account.setDisplayName(initialAccount.getDisplayName()); - account.setUsername(initialAccount.getUsername()); - account.setHost(initialAccount.getHost()); - return account; - } } diff --git a/app/src/main/java/app/fedilab/fedilabtube/client/mastodon/RetrofitMastodonAPI.java b/app/src/main/java/app/fedilab/fedilabtube/client/mastodon/RetrofitMastodonAPI.java index 302084f..f3662dd 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/client/mastodon/RetrofitMastodonAPI.java +++ b/app/src/main/java/app/fedilab/fedilabtube/client/mastodon/RetrofitMastodonAPI.java @@ -45,17 +45,33 @@ import retrofit2.converter.gson.GsonConverterFactory; public class RetrofitMastodonAPI { + final OkHttpClient okHttpClient = new OkHttpClient.Builder() + .readTimeout(60, TimeUnit.SECONDS) + .connectTimeout(60, TimeUnit.SECONDS) + .build(); private final String finalUrl; private final String finalUrl2; private final Context _context; private String instance; private String token; + public RetrofitMastodonAPI(Context context) { + _context = context; + SharedPreferences sharedpreferences = _context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); + this.instance = sharedpreferences.getString(Helper.PREF_REMOTE_INSTANCE, null); + this.token = sharedpreferences.getString(Helper.PREF_KEY_OAUTH_TOKEN, null); + finalUrl = "https://" + this.instance + "/api/v1/"; + finalUrl2 = "https://" + this.instance + "/api/v2/"; + } - final OkHttpClient okHttpClient = new OkHttpClient.Builder() - .readTimeout(60, TimeUnit.SECONDS) - .connectTimeout(60, TimeUnit.SECONDS) - .build(); + + public RetrofitMastodonAPI(Context context, String instance, String token) { + _context = context; + this.instance = instance; + this.token = token; + finalUrl = "https://" + instance + "/api/v1/"; + finalUrl2 = "https://" + this.instance + "/api/v2/"; + } public Status search(String url) throws Error { MastodonService mastodonService2 = init2(); @@ -81,24 +97,6 @@ public class RetrofitMastodonAPI { return null; } - - public RetrofitMastodonAPI(Context context) { - _context = context; - SharedPreferences sharedpreferences = _context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); - this.instance = sharedpreferences.getString(Helper.PREF_REMOTE_INSTANCE, null); - this.token = sharedpreferences.getString(Helper.PREF_KEY_OAUTH_TOKEN, null); - finalUrl = "https://" + this.instance + "/api/v1/"; - finalUrl2 = "https://" + this.instance + "/api/v2/"; - } - - public RetrofitMastodonAPI(Context context, String instance, String token) { - _context = context; - this.instance = instance; - this.token = token; - finalUrl = "https://" + instance + "/api/v1/"; - finalUrl2 = "https://" + this.instance + "/api/v2/"; - } - public void updateCredential(Activity activity, String client_id, String client_secret, String refresh_token, String software) { new Thread(() -> { MastodonAccount.Account account; @@ -340,6 +338,13 @@ public class RetrofitMastodonAPI { return null; } + private String getToken() { + if (token != null) { + return "Bearer " + token; + } else { + return null; + } + } public enum actionType { BOOST, @@ -349,12 +354,4 @@ public class RetrofitMastodonAPI { BOOKMARK, UNBOOKMARK } - - private String getToken() { - if (token != null) { - return "Bearer " + token; - } else { - return null; - } - } } diff --git a/app/src/main/java/app/fedilab/fedilabtube/drawer/AboutInstanceAdapter.java b/app/src/main/java/app/fedilab/fedilabtube/drawer/AboutInstanceAdapter.java index b06fadd..2fdc47e 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/drawer/AboutInstanceAdapter.java +++ b/app/src/main/java/app/fedilab/fedilabtube/drawer/AboutInstanceAdapter.java @@ -15,6 +15,8 @@ package app.fedilab.fedilabtube.drawer; * see . */ +import static androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY; + import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; @@ -45,8 +47,6 @@ import app.fedilab.fedilabtube.helper.Helper; import app.fedilab.fedilabtube.sqlite.Sqlite; import app.fedilab.fedilabtube.sqlite.StoredInstanceDAO; -import static androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY; - public class AboutInstanceAdapter extends RecyclerView.Adapter { diff --git a/app/src/main/java/app/fedilab/fedilabtube/drawer/CommentListAdapter.java b/app/src/main/java/app/fedilab/fedilabtube/drawer/CommentListAdapter.java index a5ed4fa..b8a8af1 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/drawer/CommentListAdapter.java +++ b/app/src/main/java/app/fedilab/fedilabtube/drawer/CommentListAdapter.java @@ -14,6 +14,9 @@ package app.fedilab.fedilabtube.drawer; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.MUTE; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPLY; + import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; @@ -64,9 +67,6 @@ import app.fedilab.fedilabtube.helper.Helper; import app.fedilab.fedilabtube.viewmodel.PostActionsVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.MUTE; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.REPLY; - public class CommentListAdapter extends RecyclerView.Adapter { diff --git a/app/src/main/java/app/fedilab/fedilabtube/drawer/InstanceAdapter.java b/app/src/main/java/app/fedilab/fedilabtube/drawer/InstanceAdapter.java index ef82099..58d34a2 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/drawer/InstanceAdapter.java +++ b/app/src/main/java/app/fedilab/fedilabtube/drawer/InstanceAdapter.java @@ -15,6 +15,10 @@ package app.fedilab.fedilabtube.drawer; * see . */ +import static android.app.Activity.RESULT_OK; +import static androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY; +import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; + import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -41,10 +45,6 @@ import app.fedilab.fedilabtube.client.data.InstanceData.Instance; import app.fedilab.fedilabtube.databinding.DrawerInstanceBinding; import app.fedilab.fedilabtube.helper.RoundedBackgroundSpan; -import static android.app.Activity.RESULT_OK; -import static androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY; -import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; - public class InstanceAdapter extends RecyclerView.Adapter { diff --git a/app/src/main/java/app/fedilab/fedilabtube/drawer/PeertubeAdapter.java b/app/src/main/java/app/fedilab/fedilabtube/drawer/PeertubeAdapter.java index c064da0..1fe53c9 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/drawer/PeertubeAdapter.java +++ b/app/src/main/java/app/fedilab/fedilabtube/drawer/PeertubeAdapter.java @@ -14,6 +14,11 @@ package app.fedilab.fedilabtube.drawer; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.FOLLOW; +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.UNFOLLOW; +import static app.fedilab.fedilabtube.viewmodel.TimelineVM.TimelineType.MY_VIDEOS; +import static app.fedilab.fedilabtube.viewmodel.TimelineVM.TimelineType.SEPIA_SEARCH; + import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; @@ -70,11 +75,6 @@ import app.fedilab.fedilabtube.viewmodel.TimelineVM; import es.dmoral.toasty.Toasty; import jp.wasabeef.glide.transformations.BlurTransformation; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.FOLLOW; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.ActionType.UNFOLLOW; -import static app.fedilab.fedilabtube.viewmodel.TimelineVM.TimelineType.MY_VIDEOS; -import static app.fedilab.fedilabtube.viewmodel.TimelineVM.TimelineType.SEPIA_SEARCH; - public class PeertubeAdapter extends RecyclerView.Adapter { diff --git a/app/src/main/java/app/fedilab/fedilabtube/drawer/PeertubeNotificationsListAdapter.java b/app/src/main/java/app/fedilab/fedilabtube/drawer/PeertubeNotificationsListAdapter.java index b6dee41..75d706d 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/drawer/PeertubeNotificationsListAdapter.java +++ b/app/src/main/java/app/fedilab/fedilabtube/drawer/PeertubeNotificationsListAdapter.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube.drawer; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.MainActivity.badgeCount; + import android.content.Context; import android.content.Intent; import android.os.Build; @@ -45,8 +47,6 @@ import app.fedilab.fedilabtube.fragment.DisplayNotificationsFragment; import app.fedilab.fedilabtube.helper.Helper; import app.fedilab.fedilabtube.helper.HelperInstance; -import static app.fedilab.fedilabtube.MainActivity.badgeCount; - public class PeertubeNotificationsListAdapter extends RecyclerView.Adapter { diff --git a/app/src/main/java/app/fedilab/fedilabtube/drawer/PlaylistAdapter.java b/app/src/main/java/app/fedilab/fedilabtube/drawer/PlaylistAdapter.java index 5d2cc0b..347689b 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/drawer/PlaylistAdapter.java +++ b/app/src/main/java/app/fedilab/fedilabtube/drawer/PlaylistAdapter.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube.drawer; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.viewmodel.PlaylistsVM.action.GET_LIST_VIDEOS; + import android.Manifest; import android.annotation.SuppressLint; import android.app.Activity; @@ -72,8 +74,6 @@ import app.fedilab.fedilabtube.sqlite.Sqlite; import app.fedilab.fedilabtube.viewmodel.PlaylistsVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.viewmodel.PlaylistsVM.action.GET_LIST_VIDEOS; - public class PlaylistAdapter extends RecyclerView.Adapter { diff --git a/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayChannelsFragment.java b/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayChannelsFragment.java index e77559a..00d3630 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayChannelsFragment.java +++ b/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayChannelsFragment.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube.fragment; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.PeertubeUploadActivity.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE; + import android.Manifest; import android.app.Activity; import android.content.Context; @@ -63,8 +65,6 @@ import app.fedilab.fedilabtube.viewmodel.ChannelsVM; import app.fedilab.fedilabtube.viewmodel.SearchVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.PeertubeUploadActivity.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE; - public class DisplayChannelsFragment extends Fragment implements ChannelListAdapter.AllChannelRemoved, ChannelListAdapter.EditAlertDialog { diff --git a/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayOverviewFragment.java b/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayOverviewFragment.java index 71fe80c..fa59bb9 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayOverviewFragment.java +++ b/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayOverviewFragment.java @@ -14,6 +14,10 @@ package app.fedilab.fedilabtube.fragment; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.client.data.VideoData.Video.titleType.CATEGORY; +import static app.fedilab.fedilabtube.client.data.VideoData.Video.titleType.CHANNEL; +import static app.fedilab.fedilabtube.client.data.VideoData.Video.titleType.TAG; + import android.content.Context; import android.graphics.Rect; import android.os.Bundle; @@ -52,10 +56,6 @@ import app.fedilab.fedilabtube.viewmodel.RelationshipVM; import app.fedilab.fedilabtube.viewmodel.TimelineVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.client.data.VideoData.Video.titleType.CATEGORY; -import static app.fedilab.fedilabtube.client.data.VideoData.Video.titleType.CHANNEL; -import static app.fedilab.fedilabtube.client.data.VideoData.Video.titleType.TAG; - public class DisplayOverviewFragment extends Fragment implements PeertubeAdapter.RelationShipListener, PeertubeAdapter.PlaylistListener { diff --git a/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayPlaylistsFragment.java b/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayPlaylistsFragment.java index 4e4eedd..d8a4035 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayPlaylistsFragment.java +++ b/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayPlaylistsFragment.java @@ -14,6 +14,9 @@ package app.fedilab.fedilabtube.fragment; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.DataType.MY_CHANNELS; +import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; + import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -64,9 +67,6 @@ import app.fedilab.fedilabtube.viewmodel.ChannelsVM; import app.fedilab.fedilabtube.viewmodel.PlaylistsVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.DataType.MY_CHANNELS; -import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; - public class DisplayPlaylistsFragment extends Fragment { diff --git a/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplaySepiaSearchFragment.java b/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplaySepiaSearchFragment.java index 2145156..552d2bc 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplaySepiaSearchFragment.java +++ b/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplaySepiaSearchFragment.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube.fragment; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.viewmodel.TimelineVM.TimelineType.SEPIA_SEARCH; + import android.content.Context; import android.content.SharedPreferences; import android.graphics.Rect; @@ -49,8 +51,6 @@ import app.fedilab.fedilabtube.helper.Helper; import app.fedilab.fedilabtube.viewmodel.SepiaSearchVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.viewmodel.TimelineVM.TimelineType.SEPIA_SEARCH; - public class DisplaySepiaSearchFragment extends Fragment implements AccountsHorizontalListAdapter.EventListener { diff --git a/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayVideosFragment.java b/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayVideosFragment.java index 9c6047f..f3a37e3 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayVideosFragment.java +++ b/app/src/main/java/app/fedilab/fedilabtube/fragment/DisplayVideosFragment.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube.fragment; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.viewmodel.TimelineVM.TimelineType.VIDEOS_IN_LOCAL_PLAYLIST; + import android.content.Context; import android.content.SharedPreferences; import android.graphics.Rect; @@ -62,8 +64,6 @@ import app.fedilab.fedilabtube.viewmodel.SearchVM; import app.fedilab.fedilabtube.viewmodel.TimelineVM; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.viewmodel.TimelineVM.TimelineType.VIDEOS_IN_LOCAL_PLAYLIST; - public class DisplayVideosFragment extends Fragment implements AccountsHorizontalListAdapter.EventListener, PeertubeAdapter.RelationShipListener, PeertubeAdapter.PlaylistListener { diff --git a/app/src/main/java/app/fedilab/fedilabtube/fragment/SettingsFragment.java b/app/src/main/java/app/fedilab/fedilabtube/fragment/SettingsFragment.java index 5f4bd17..d4b4bde 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/fragment/SettingsFragment.java +++ b/app/src/main/java/app/fedilab/fedilabtube/fragment/SettingsFragment.java @@ -1,5 +1,7 @@ package app.fedilab.fedilabtube.fragment; +import static app.fedilab.fedilabtube.MainActivity.userMe; + import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -45,8 +47,6 @@ import app.fedilab.fedilabtube.helper.HelperInstance; import app.fedilab.fedilabtube.helper.ThemeHelper; import es.dmoral.toasty.Toasty; -import static app.fedilab.fedilabtube.MainActivity.userMe; - /* Copyright 2020 Thomas Schneider * * This file is a part of TubeLab diff --git a/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java b/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java index 309be0a..7f8737a 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java +++ b/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java @@ -14,6 +14,9 @@ package app.fedilab.fedilabtube.helper; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static android.content.Context.DOWNLOAD_SERVICE; +import static android.content.Context.MODE_PRIVATE; + import android.annotation.SuppressLint; import android.app.Activity; import android.app.DownloadManager; @@ -76,9 +79,6 @@ import app.fedilab.fedilabtube.webview.ProxyHelper; import es.dmoral.toasty.Toasty; import jp.wasabeef.glide.transformations.BlurTransformation; -import static android.content.Context.DOWNLOAD_SERVICE; -import static android.content.Context.MODE_PRIVATE; - public class Helper { public static final int RELOAD_MYVIDEOS = 10; @@ -135,7 +135,6 @@ public class Helper { public static final String VIDEO_ID = "video_id_update"; public static final String APP_PREFS = "app_prefs"; public static final String CAST_ID = "D402501A"; - public static final String CAST_ID_BITTUBE = "CBA4A31D"; public static final int VIDEOS_PER_PAGE = 10; public static final String RECEIVE_ACTION = "receive_action"; public static final String SET_UNFOLLOW_VALIDATION = "set_unfollow_validation"; diff --git a/app/src/main/java/app/fedilab/fedilabtube/helper/HelperAcadInstance.java b/app/src/main/java/app/fedilab/fedilabtube/helper/HelperAcadInstance.java index 1915207..23a4e23 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/helper/HelperAcadInstance.java +++ b/app/src/main/java/app/fedilab/fedilabtube/helper/HelperAcadInstance.java @@ -14,15 +14,13 @@ package app.fedilab.fedilabtube.helper; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ -import java.util.Collections; +import java.util.HashMap; import java.util.LinkedHashMap; -import java.util.Map; + public class HelperAcadInstance { - public static Map instances_themes; - public static String LOCAL = "LOCALES"; public static String DISCOVER = "DECOUVRIR"; public static String MOSTLIKED = "PLUS_APPRECIEES"; @@ -31,64 +29,7 @@ public class HelperAcadInstance { public static String HISTORY = "HISTORIQUE"; public static String SUBSCRIPTIONS = "ABONNEMENTS"; public static String MYVIDEOS = "VIDEOS"; - - - public static String[] notOpenId = { - "ac-aix-marseille.fr", - "ac-amiens.fr", - "ac-besancon.fr", - "ac-bordeaux.fr", - "clermont-ferrand.fr", - "ac-corse.fr", - "ac-creteil.fr", - "ac-dijon.fr", - "ac-grenoble.fr", - "ac-lille.fr", - "ac-limoges.fr", - "ac-lyon.fr", - "ac-mayotte.fr", - "ac-montpellier.fr", - "ac-nancy.fr", - "ac-nantes.fr", - "ac-orleans-tours.fr", - "ac-paris.fr", - "ac-poitiers.fr", - "outremer.fr", - "ac-rennes.fr", - "ac-strasbourg.fr", - "ac-toulouse.fr", - "ac-versailles.fr" - }; - - public static String[] academies = { - "ac-aix-marseille.fr", - "ac-amiens.fr", - "ac-besancon.fr", - "ac-bordeaux.fr", - "clermont-ferrand.fr", - "ac-corse.fr", - "ac-creteil.fr", - "ac-dijon.fr", - "ac-grenoble.fr", - "education.fr", - "ac-lille.fr", - "ac-limoges.fr", - "ac-lyon.fr", - "ac-mayotte.fr", - "ac-montpellier.fr", - "ac-nancy.fr", - "ac-nantes.fr", - "ac-normandie.fr", - "ac-orleans-tours.fr", - "ac-paris.fr", - "ac-poitiers.fr", - "outremer.fr", - "ac-rennes.fr", - "ac-strasbourg.fr", - "ac-toulouse.fr", - "ac-versailles.fr" - }; - + public static String openIdURL = "https://auth.apps.education.fr/auth/realms/apps/protocol/openid-connect/auth?"; //List of available emails public static String[] valideEmails = { @@ -130,20 +71,34 @@ public class HelperAcadInstance { }; + public static LinkedHashMap instances_themes; + public static HashMap instance_client_id; static { - Map is = new LinkedHashMap<>(); - //TODO: remove comments when instances will be available - is.put("Enseignement professionnel", "tube-enseignement-professionnel.apps.education.fr"); - is.put("Action éducative", "tube-action-educative.apps.education.fr"); - is.put("Numérique éducatif", "tube-numerique-educatif.apps.education.fr"); - is.put("Institutionnel", "tube-institutionnelle.apps.education.fr"); - is.put("2d - langues vivantes", "tube-2d-langues-vivantes.apps.education.fr"); - is.put("2d - éducation physique et sportive", "tube-2d-education-physique-et-sportive.apps.education.fr"); - is.put("2d - arts, lettres et sciences humaines", "tube-2d-arts-lettres-sciences-humaines.apps.education.fr"); - is.put("Maternelle", "tube-maternelle.apps.education.fr"); - is.put("Cycle 2", "tube-cycle-2.apps.education.fr"); - is.put("Cycle 3", "tube-cycle-3.apps.education.fr"); - instances_themes = Collections.unmodifiableMap(is); + instances_themes = new LinkedHashMap<>(); + instances_themes.put("Institutionnel Éducatif", "tube-institutionnel.apps.education.fr"); + instances_themes.put("Maternelle Éducatif", "tube-maternelle.apps.education.fr"); + instances_themes.put("Art & Sciences Humaines", "tube-arts-lettres-sciences-humaines.apps.education.fr"); + instances_themes.put("Sciences & Technologies", "tube-sciences-technologies.apps.education.fr"); + instances_themes.put("Éducation Physique & Sportive", "tube-education-physique-et-sportive.apps.education.fr"); + instances_themes.put("Enseignement Professionnel", "tube-enseignement-professionnel.apps.education.fr"); + instances_themes.put("Langues Vivantes", "tube-langues-vivantes.apps.education.fr"); + instances_themes.put("Action Éducative", "tube-action-educative.apps.education.fr"); + instances_themes.put("Cycle-2 Éducatif", "tube-cycle-2.apps.education.fr"); + instances_themes.put("Cycle-3 Éducatif", "tube-cycle-3.apps.education.fr"); + } + static { + instance_client_id = new HashMap<>(); + instance_client_id.put("tube-institutionnel.apps.education.fr", "tube-institutionnel"); + instance_client_id.put("tube-maternelle.apps.education.fr", "tube-maternelle"); + instance_client_id.put("tube-arts-lettres-sciences-humaines.apps.education.fr", "tube-arts-lettres-sciences-humaines"); + instance_client_id.put("tube-sciences-technologies.apps.education.fr", "tube-sciences-technologies"); + instance_client_id.put("tube-education-physique-et-sportive.apps.education.fr", "tube-education-physique-et-sportive"); + instance_client_id.put("tube-enseignement-professionnel.apps.education.fr", "tube-enseignement-professionnel"); + instance_client_id.put("tube-langues-vivantes.apps.education.fr", "tube-langues-vivantes"); + instance_client_id.put("tube-action-educative.apps.education.fr", "tube-action-educative"); + instance_client_id.put("tube-cycle-2.apps.education.fr", "tube-cycle-2"); + instance_client_id.put("tube-cycle-3.apps.education.fr", "tube-cycle-3"); } + } diff --git a/app/src/main/java/app/fedilab/fedilabtube/helper/HelperInstance.java b/app/src/main/java/app/fedilab/fedilabtube/helper/HelperInstance.java index d07e0b4..3fcefbb 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/helper/HelperInstance.java +++ b/app/src/main/java/app/fedilab/fedilabtube/helper/HelperInstance.java @@ -34,10 +34,6 @@ public class HelperInstance { final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); if (BuildConfig.FLAVOR.compareTo("fdroid_full") == 0 || BuildConfig.FLAVOR.compareTo("google_full") == 0) { return sharedpreferences.getString(Helper.PREF_INSTANCE, getDefaultInstance()); - } else if (BuildConfig.FLAVOR.compareTo("bittube") == 0) { - return sharedpreferences.getString(Helper.PREF_INSTANCE, "bittube.video"); - } else if (BuildConfig.FLAVOR.compareTo("queermotion") == 0) { - return sharedpreferences.getString(Helper.PREF_INSTANCE, "queermotion.org"); } else { String instance = sharedpreferences.getString(Helper.PREF_INSTANCE, "tube.ac-lyon.fr"); if (!instance.startsWith("tube")) { diff --git a/app/src/main/java/app/fedilab/fedilabtube/helper/NotificationHelper.java b/app/src/main/java/app/fedilab/fedilabtube/helper/NotificationHelper.java index 2b0d2e0..ed75dc1 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/helper/NotificationHelper.java +++ b/app/src/main/java/app/fedilab/fedilabtube/helper/NotificationHelper.java @@ -15,6 +15,8 @@ package app.fedilab.fedilabtube.helper; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.worker.NotificationsWorker.FETCH_NOTIFICATION_CHANNEL_ID; + import android.app.Notification; import android.app.NotificationChannel; import android.app.NotificationManager; @@ -31,8 +33,6 @@ import androidx.core.app.NotificationManagerCompat; import app.fedilab.fedilabtube.R; import app.fedilab.fedilabtube.client.data.AccountData; -import static app.fedilab.fedilabtube.worker.NotificationsWorker.FETCH_NOTIFICATION_CHANNEL_ID; - public class NotificationHelper { diff --git a/app/src/main/java/app/fedilab/fedilabtube/helper/SwitchAccountHelper.java b/app/src/main/java/app/fedilab/fedilabtube/helper/SwitchAccountHelper.java index 91caf5a..688e06a 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/helper/SwitchAccountHelper.java +++ b/app/src/main/java/app/fedilab/fedilabtube/helper/SwitchAccountHelper.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube.helper; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static android.content.Context.MODE_PRIVATE; + import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; @@ -31,8 +33,6 @@ import app.fedilab.fedilabtube.drawer.OwnAccountsAdapter; import app.fedilab.fedilabtube.sqlite.AccountDAO; import app.fedilab.fedilabtube.sqlite.Sqlite; -import static android.content.Context.MODE_PRIVATE; - public class SwitchAccountHelper { diff --git a/app/src/main/java/app/fedilab/fedilabtube/helper/ThemeHelper.java b/app/src/main/java/app/fedilab/fedilabtube/helper/ThemeHelper.java index 6368407..4cef6a5 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/helper/ThemeHelper.java +++ b/app/src/main/java/app/fedilab/fedilabtube/helper/ThemeHelper.java @@ -14,13 +14,13 @@ package app.fedilab.fedilabtube.helper; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.helper.Helper.DARK_MODE; +import static app.fedilab.fedilabtube.helper.Helper.LIGHT_MODE; + import android.os.Build; import androidx.appcompat.app.AppCompatDelegate; -import static app.fedilab.fedilabtube.helper.Helper.DARK_MODE; -import static app.fedilab.fedilabtube.helper.Helper.LIGHT_MODE; - public class ThemeHelper { public static void switchTo(int themePref) { diff --git a/app/src/main/java/app/fedilab/fedilabtube/services/RetrieveInfoService.java b/app/src/main/java/app/fedilab/fedilabtube/services/RetrieveInfoService.java index 8b037a0..801ed42 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/services/RetrieveInfoService.java +++ b/app/src/main/java/app/fedilab/fedilabtube/services/RetrieveInfoService.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube.services; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; + import android.app.Notification; import android.app.NotificationChannel; import android.app.NotificationManager; @@ -36,8 +38,6 @@ import app.fedilab.fedilabtube.client.entities.PeertubeInformation; import app.fedilab.fedilabtube.helper.EmojiHelper; import app.fedilab.fedilabtube.helper.NetworkStateReceiver; -import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation; - public class RetrieveInfoService extends Service implements NetworkStateReceiver.NetworkStateReceiverListener { diff --git a/app/src/main/java/app/fedilab/fedilabtube/sqlite/MastodonAccountDAO.java b/app/src/main/java/app/fedilab/fedilabtube/sqlite/MastodonAccountDAO.java index c6bdfd0..7d5433f 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/sqlite/MastodonAccountDAO.java +++ b/app/src/main/java/app/fedilab/fedilabtube/sqlite/MastodonAccountDAO.java @@ -22,8 +22,8 @@ import android.database.sqlite.SQLiteDatabase; import java.util.Date; -import app.fedilab.fedilabtube.client.mastodon.MastodonAccount.Account; import app.fedilab.fedilabtube.client.entities.Token; +import app.fedilab.fedilabtube.client.mastodon.MastodonAccount.Account; import app.fedilab.fedilabtube.helper.Helper; import app.fedilab.fedilabtube.helper.HelperInstance; @@ -200,8 +200,6 @@ public class MastodonAccountDAO { } - - /** * Test if the current user is already stored in data base * @@ -218,5 +216,4 @@ public class MastodonAccountDAO { } - } diff --git a/app/src/main/java/app/fedilab/fedilabtube/viewmodel/ChannelsVM.java b/app/src/main/java/app/fedilab/fedilabtube/viewmodel/ChannelsVM.java index fa1c63a..1558cdc 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/viewmodel/ChannelsVM.java +++ b/app/src/main/java/app/fedilab/fedilabtube/viewmodel/ChannelsVM.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube.viewmodel; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static android.content.Context.MODE_PRIVATE; + import android.app.Application; import android.content.Context; import android.content.SharedPreferences; @@ -26,7 +28,6 @@ import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; -import app.fedilab.fedilabtube.AccountActivity; import app.fedilab.fedilabtube.client.APIResponse; import app.fedilab.fedilabtube.client.RetrofitPeertubeAPI; import app.fedilab.fedilabtube.client.data.AccountData; @@ -34,8 +35,6 @@ import app.fedilab.fedilabtube.helper.Helper; import app.fedilab.fedilabtube.sqlite.AccountDAO; import app.fedilab.fedilabtube.sqlite.Sqlite; -import static android.content.Context.MODE_PRIVATE; - public class ChannelsVM extends AndroidViewModel { private MutableLiveData apiResponseMutableLiveData; diff --git a/app/src/main/java/app/fedilab/fedilabtube/viewmodel/PlaylistsVM.java b/app/src/main/java/app/fedilab/fedilabtube/viewmodel/PlaylistsVM.java index b152b66..3b60376 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/viewmodel/PlaylistsVM.java +++ b/app/src/main/java/app/fedilab/fedilabtube/viewmodel/PlaylistsVM.java @@ -16,7 +16,6 @@ package app.fedilab.fedilabtube.viewmodel; import android.app.Application; import android.content.Context; -import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; import android.os.Handler; import android.os.Looper; diff --git a/app/src/main/java/app/fedilab/fedilabtube/viewmodel/TimelineVM.java b/app/src/main/java/app/fedilab/fedilabtube/viewmodel/TimelineVM.java index dda0a3a..e36c2a2 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/viewmodel/TimelineVM.java +++ b/app/src/main/java/app/fedilab/fedilabtube/viewmodel/TimelineVM.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube.viewmodel; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static app.fedilab.fedilabtube.viewmodel.PlaylistsVM.action.GET_LIST_VIDEOS; + import android.app.Application; import android.content.Context; import android.database.sqlite.SQLiteDatabase; @@ -38,8 +40,6 @@ import app.fedilab.fedilabtube.helper.HelperInstance; import app.fedilab.fedilabtube.sqlite.ManagePlaylistsDAO; import app.fedilab.fedilabtube.sqlite.Sqlite; -import static app.fedilab.fedilabtube.viewmodel.PlaylistsVM.action.GET_LIST_VIDEOS; - public class TimelineVM extends AndroidViewModel { private MutableLiveData apiResponseMutableLiveData; @@ -125,10 +125,7 @@ public class TimelineVM extends AndroidViewModel { private void getSingle(String instance, String videoId, boolean myVideo) { Context _mContext = getApplication().getApplicationContext(); - boolean canUseToken = false; - if (instance == null || instance.compareTo(HelperInstance.getLiveInstance(_mContext)) == 0) { - canUseToken = true; - } + boolean canUseToken = instance == null || instance.compareTo(HelperInstance.getLiveInstance(_mContext)) == 0; boolean finalCanUseToken = canUseToken; new Thread(() -> { try { diff --git a/app/src/main/java/app/fedilab/fedilabtube/worker/NotificationsWorker.java b/app/src/main/java/app/fedilab/fedilabtube/worker/NotificationsWorker.java index 7fa75da..8b221cc 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/worker/NotificationsWorker.java +++ b/app/src/main/java/app/fedilab/fedilabtube/worker/NotificationsWorker.java @@ -14,6 +14,8 @@ package app.fedilab.fedilabtube.worker; * You should have received a copy of the GNU General Public License along with TubeLab; if not, * see . */ +import static android.content.Context.NOTIFICATION_SERVICE; + import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.PendingIntent; @@ -57,8 +59,6 @@ import app.fedilab.fedilabtube.helper.NotificationHelper; import app.fedilab.fedilabtube.sqlite.AccountDAO; import app.fedilab.fedilabtube.sqlite.Sqlite; -import static android.content.Context.NOTIFICATION_SERVICE; - public class NotificationsWorker extends Worker { public static String FETCH_NOTIFICATION_CHANNEL_ID = "fetch_notification_peertube"; diff --git a/app/src/main/res/layout/activity_webview_connect.xml b/app/src/main/res/layout/activity_webview_connect.xml index cb702fc..fb0d401 100644 --- a/app/src/main/res/layout/activity_webview_connect.xml +++ b/app/src/main/res/layout/activity_webview_connect.xml @@ -30,7 +30,7 @@ android:layout_height="10dp" android:padding="2dp" /> -