From 245514c951cf06ccce543715668502b94c980c98 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Thu, 26 May 2022 16:25:52 +0200 Subject: [PATCH 1/4] share dialog --- .../com/github/libretube/PlayerFragment.kt | 35 +++++++++++++------ app/src/main/res/values/strings.xml | 2 ++ 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/github/libretube/PlayerFragment.kt b/app/src/main/java/com/github/libretube/PlayerFragment.kt index 051e5c655..2801145d5 100644 --- a/app/src/main/java/com/github/libretube/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/PlayerFragment.kt @@ -2,6 +2,7 @@ package com.github.libretube import android.Manifest import android.annotation.SuppressLint +import android.app.ProgressDialog.show import android.content.Context import android.content.DialogInterface import android.content.Intent @@ -42,6 +43,7 @@ import androidx.preference.PreferenceManager import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.github.libretube.RetrofitInstance.url import com.github.libretube.adapters.CommentsAdapter import com.github.libretube.adapters.TrendingAdapter import com.github.libretube.obj.PipedStream @@ -68,12 +70,13 @@ import com.google.android.exoplayer2.util.RepeatModeUtil import com.google.android.material.button.MaterialButton import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.squareup.picasso.Picasso +import org.chromium.base.ThreadUtils.runOnUiThread +import org.chromium.net.CronetEngine +import retrofit2.HttpException import java.io.IOException import java.net.URLEncoder import java.util.concurrent.Executors import kotlin.math.abs -import org.chromium.net.CronetEngine -import retrofit2.HttpException var isFullScreen = false @@ -688,18 +691,30 @@ class PlayerFragment : Fragment() { view.findViewById(R.id.relPlayer_share).setOnClickListener { val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext()) - val intent = Intent() - intent.action = Intent.ACTION_SEND - var url = "https://piped.kavin.rocks/watch?v=$videoId" val instance = sharedPreferences.getString( "instance", "https://pipedapi.kavin.rocks" )!! - if (instance != "https://pipedapi.kavin.rocks") - url += "&instance=${URLEncoder.encode(instance, "UTF-8")}" - intent.putExtra(Intent.EXTRA_TEXT, url) - intent.type = "text/plain" - startActivity(Intent.createChooser(intent, "Share Url To:")) + val shareOptions = arrayOf(getString(R.string.piped), getString(R.string.instance), getString(R.string.youtube)) + MaterialAlertDialogBuilder(requireContext()) + .setTitle(getString(R.string.share)) + .setSingleChoiceItems( + shareOptions, 0, + DialogInterface.OnClickListener { _, id -> + val url = when (id) { + 0 -> "https://piped.kavin.rocks/watch?v=$videoId" + 1 -> "$instance/watch?v=$videoId" + 2 -> "https://youtu.be/$videoId" + else -> "https://piped.kavin.rocks/watch?v=$videoId" + } + val intent = Intent() + intent.action = Intent.ACTION_SEND + intent.putExtra(Intent.EXTRA_TEXT, url) + intent.type = "text/plain" + startActivity(Intent.createChooser(intent, "Share Url To:")) + } + ) + .show() } // check if livestream if (response.duration!! > 0) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b45f62dca..6b0495b18 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -112,4 +112,6 @@ Notifications Enabled Disabled + Piped + YouTube \ No newline at end of file From 1fdef3241fa0a04d75a96a899fbac4fb1505b24f Mon Sep 17 00:00:00 2001 From: Bnyro Date: Thu, 26 May 2022 16:37:47 +0200 Subject: [PATCH 2/4] fixes --- .../java/com/github/libretube/PlayerFragment.kt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/github/libretube/PlayerFragment.kt b/app/src/main/java/com/github/libretube/PlayerFragment.kt index 2801145d5..14a7e68fb 100644 --- a/app/src/main/java/com/github/libretube/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/PlayerFragment.kt @@ -70,13 +70,13 @@ import com.google.android.exoplayer2.util.RepeatModeUtil import com.google.android.material.button.MaterialButton import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.squareup.picasso.Picasso -import org.chromium.base.ThreadUtils.runOnUiThread -import org.chromium.net.CronetEngine -import retrofit2.HttpException import java.io.IOException import java.net.URLEncoder import java.util.concurrent.Executors import kotlin.math.abs +import org.chromium.base.ThreadUtils.runOnUiThread +import org.chromium.net.CronetEngine +import retrofit2.HttpException var isFullScreen = false @@ -695,15 +695,18 @@ class PlayerFragment : Fragment() { "instance", "https://pipedapi.kavin.rocks" )!! - val shareOptions = arrayOf(getString(R.string.piped), getString(R.string.instance), getString(R.string.youtube)) + val shareOptions = arrayOf( + getString(R.string.piped), + getString(R.string.instance), + getString(R.string.youtube)) MaterialAlertDialogBuilder(requireContext()) .setTitle(getString(R.string.share)) - .setSingleChoiceItems( - shareOptions, 0, + .setItems( + shareOptions, DialogInterface.OnClickListener { _, id -> val url = when (id) { 0 -> "https://piped.kavin.rocks/watch?v=$videoId" - 1 -> "$instance/watch?v=$videoId" + 1 -> "https://piped.kavin.rocks/watch?v=$videoId" + "&instance=${URLEncoder.encode(instance, "UTF-8")}" 2 -> "https://youtu.be/$videoId" else -> "https://piped.kavin.rocks/watch?v=$videoId" } From 7917db7437c19778fb5618e8a0d868f61d055306 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Thu, 26 May 2022 17:22:16 +0200 Subject: [PATCH 3/4] ktlint --- app/src/main/java/com/github/libretube/PlayerFragment.kt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/github/libretube/PlayerFragment.kt b/app/src/main/java/com/github/libretube/PlayerFragment.kt index 14a7e68fb..917cf8fae 100644 --- a/app/src/main/java/com/github/libretube/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/PlayerFragment.kt @@ -2,7 +2,6 @@ package com.github.libretube import android.Manifest import android.annotation.SuppressLint -import android.app.ProgressDialog.show import android.content.Context import android.content.DialogInterface import android.content.Intent @@ -43,7 +42,6 @@ import androidx.preference.PreferenceManager import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.github.libretube.RetrofitInstance.url import com.github.libretube.adapters.CommentsAdapter import com.github.libretube.adapters.TrendingAdapter import com.github.libretube.obj.PipedStream @@ -74,7 +72,6 @@ import java.io.IOException import java.net.URLEncoder import java.util.concurrent.Executors import kotlin.math.abs -import org.chromium.base.ThreadUtils.runOnUiThread import org.chromium.net.CronetEngine import retrofit2.HttpException @@ -695,6 +692,7 @@ class PlayerFragment : Fragment() { "instance", "https://pipedapi.kavin.rocks" )!! + val instanceStr = "&instance=${URLEncoder.encode(instance, "UTF-8")}" val shareOptions = arrayOf( getString(R.string.piped), getString(R.string.instance), @@ -706,7 +704,7 @@ class PlayerFragment : Fragment() { DialogInterface.OnClickListener { _, id -> val url = when (id) { 0 -> "https://piped.kavin.rocks/watch?v=$videoId" - 1 -> "https://piped.kavin.rocks/watch?v=$videoId" + "&instance=${URLEncoder.encode(instance, "UTF-8")}" + 1 -> "https://piped.kavin.rocks/watch?v=$videoId$instanceStr" 2 -> "https://youtu.be/$videoId" else -> "https://piped.kavin.rocks/watch?v=$videoId" } From c5e17438c529368c9c9448a2eac5fc2bc5705e98 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Thu, 26 May 2022 21:25:43 +0200 Subject: [PATCH 4/4] ktlint no 2 --- app/src/main/java/com/github/libretube/PlayerFragment.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/github/libretube/PlayerFragment.kt b/app/src/main/java/com/github/libretube/PlayerFragment.kt index 917cf8fae..958e810bd 100644 --- a/app/src/main/java/com/github/libretube/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/PlayerFragment.kt @@ -688,15 +688,16 @@ class PlayerFragment : Fragment() { view.findViewById(R.id.relPlayer_share).setOnClickListener { val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext()) - val instance = sharedPreferences.getString( + val instancePref = sharedPreferences.getString( "instance", "https://pipedapi.kavin.rocks" )!! - val instanceStr = "&instance=${URLEncoder.encode(instance, "UTF-8")}" + val instance = "&instance=${URLEncoder.encode(instancePref, "UTF-8")}" val shareOptions = arrayOf( getString(R.string.piped), getString(R.string.instance), - getString(R.string.youtube)) + getString(R.string.youtube) + ) MaterialAlertDialogBuilder(requireContext()) .setTitle(getString(R.string.share)) .setItems( @@ -704,7 +705,7 @@ class PlayerFragment : Fragment() { DialogInterface.OnClickListener { _, id -> val url = when (id) { 0 -> "https://piped.kavin.rocks/watch?v=$videoId" - 1 -> "https://piped.kavin.rocks/watch?v=$videoId$instanceStr" + 1 -> "https://piped.kavin.rocks/watch?v=$videoId$instance" 2 -> "https://youtu.be/$videoId" else -> "https://piped.kavin.rocks/watch?v=$videoId" }