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=",""))