diff --git a/app/build.gradle b/app/build.gradle
index 21cd69f15..14a56faa6 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,7 +19,7 @@ android {
buildTypes {
release {
- minifyEnabled false
+ minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
@@ -36,6 +36,18 @@ android {
kotlinOptions {
jvmTarget = '1.8'
}
+ splits {
+ abi {
+ enable true
+ reset()
+ include "armeabi-v7a","arm64-v8a","x86","x86_64"
+ universalApk false
+
+ }
+ }
+ packagingOptions {
+ exclude 'lib/armeabi-v7a/*_neon.so'
+ }
}
dependencies {
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index 481bb4348..6cd107af9 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -18,4 +18,7 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
+#-renamesourcefileattribute SourceFile
+#uncomment for debug
+#-keepnames class **
+-keep class com.github.libretube.obj.** { *; }
diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json
index 9ae28ab5c..024e64961 100644
--- a/app/release/output-metadata.json
+++ b/app/release/output-metadata.json
@@ -8,12 +8,64 @@
"variantName": "release",
"elements": [
{
- "type": "SINGLE",
+ "type": "UNIVERSAL",
"filters": [],
"attributes": [],
"versionCode": 4,
"versionName": "0.2.2",
- "outputFile": "app-release.apk"
+ "outputFile": "app-universal-release.apk"
+ },
+ {
+ "type": "ONE_OF_MANY",
+ "filters": [
+ {
+ "filterType": "ABI",
+ "value": "arm64-v8a"
+ }
+ ],
+ "attributes": [],
+ "versionCode": 4,
+ "versionName": "0.2.2",
+ "outputFile": "app-arm64-v8a-release.apk"
+ },
+ {
+ "type": "ONE_OF_MANY",
+ "filters": [
+ {
+ "filterType": "ABI",
+ "value": "armeabi-v7a"
+ }
+ ],
+ "attributes": [],
+ "versionCode": 4,
+ "versionName": "0.2.2",
+ "outputFile": "app-armeabi-v7a-release.apk"
+ },
+ {
+ "type": "ONE_OF_MANY",
+ "filters": [
+ {
+ "filterType": "ABI",
+ "value": "x86_64"
+ }
+ ],
+ "attributes": [],
+ "versionCode": 4,
+ "versionName": "0.2.2",
+ "outputFile": "app-x86_64-release.apk"
+ },
+ {
+ "type": "ONE_OF_MANY",
+ "filters": [
+ {
+ "filterType": "ABI",
+ "value": "x86"
+ }
+ ],
+ "attributes": [],
+ "versionCode": 4,
+ "versionName": "0.2.2",
+ "outputFile": "app-x86-release.apk"
}
],
"elementType": "File"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4e8448cbe..e0cc0a308 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -5,6 +5,7 @@
+
-
-
\ No newline at end of file
diff --git a/app/src/main/java/com/github/libretube/PlayerFragment.kt b/app/src/main/java/com/github/libretube/PlayerFragment.kt
index 83f7dc363..ee5fb82a5 100644
--- a/app/src/main/java/com/github/libretube/PlayerFragment.kt
+++ b/app/src/main/java/com/github/libretube/PlayerFragment.kt
@@ -396,7 +396,7 @@ class PlayerFragment : Fragment() {
)
}
}
- FFmpegKit.executeAsync("-i ${response.videoStreams[0].url} -i ${response.audioStreams!![0].url} -c copy ${context?.getExternalFilesDir(DIRECTORY_DOWNLOADS)}${File.separator}output1.mkv",
+ FFmpegKit.executeAsync("-i ${response.videoStreams[0].url} -i ${response.audioStreams!![0].url} -c copy ${context?.getExternalFilesDir(DIRECTORY_DOWNLOADS)}${File.separator}output2.mkv",
{ session ->
val state = session.state
val returnCode = session.returnCode
diff --git a/app/src/main/java/com/github/libretube/adapters/TrendingAdapter.kt b/app/src/main/java/com/github/libretube/adapters/TrendingAdapter.kt
index 6fabbd68f..5cfdb6316 100644
--- a/app/src/main/java/com/github/libretube/adapters/TrendingAdapter.kt
+++ b/app/src/main/java/com/github/libretube/adapters/TrendingAdapter.kt
@@ -50,8 +50,16 @@ class TrendingAdapter(private val videoFeed: List): RecyclerView.Ada
}
}
- Picasso.get().load(trending.thumbnail).into(thumbnailImage)
- Picasso.get().load(trending.uploaderAvatar).into(channelImage)
+ if (trending.thumbnail!!.isEmpty()) {
+ } else{
+ Picasso.get().load(trending.thumbnail).into(thumbnailImage)
+ }
+ if (trending.uploaderAvatar!!.isEmpty()) {
+ } else{
+ Picasso.get().load(trending.uploaderAvatar).into(channelImage)
+ }
+
+
holder.v.setOnClickListener{
var bundle = Bundle()
bundle.putString("videoId",trending.url!!.replace("/watch?v=",""))