Merge pull request #3545 from Stypox/kore
Fix Kodi button showing up with unsupported services
This commit is contained in:
commit
b990f30a09
5 changed files with 23 additions and 12 deletions
|
@ -632,9 +632,10 @@ public class VideoDetailFragment extends BaseStateFragment<StreamInfo>
|
|||
}
|
||||
|
||||
private void updateMenuItemVisibility() {
|
||||
// show kodi if set in settings
|
||||
// show kodi button if it supports the current service and it is enabled in settings
|
||||
menu.findItem(R.id.action_play_with_kodi).setVisible(
|
||||
PreferenceManager.getDefaultSharedPreferences(activity).getBoolean(
|
||||
KoreUtil.isServiceSupportedByKore(serviceId)
|
||||
&& PreferenceManager.getDefaultSharedPreferences(activity).getBoolean(
|
||||
activity.getString(R.string.show_play_with_kodi_key), false));
|
||||
}
|
||||
|
||||
|
@ -665,8 +666,7 @@ public class VideoDetailFragment extends BaseStateFragment<StreamInfo>
|
|||
return true;
|
||||
case R.id.action_play_with_kodi:
|
||||
try {
|
||||
NavigationHelper.playWithKore(activity, Uri.parse(
|
||||
url.replace("https", "http")));
|
||||
NavigationHelper.playWithKore(activity, Uri.parse(currentInfo.getUrl()));
|
||||
} catch (Exception e) {
|
||||
if (DEBUG) {
|
||||
Log.i(TAG, "Failed to start kore", e);
|
||||
|
|
|
@ -593,9 +593,6 @@ public final class MainVideoPlayer extends AppCompatActivity
|
|||
|
||||
titleTextView.setSelected(true);
|
||||
channelTextView.setSelected(true);
|
||||
boolean showKodiButton = PreferenceManager.getDefaultSharedPreferences(this.context)
|
||||
.getBoolean(this.context.getString(R.string.show_play_with_kodi_key), false);
|
||||
kodiButton.setVisibility(showKodiButton ? View.VISIBLE : View.GONE);
|
||||
|
||||
getRootView().setKeepScreenOn(true);
|
||||
}
|
||||
|
@ -712,6 +709,13 @@ public final class MainVideoPlayer extends AppCompatActivity
|
|||
protected void onMetadataChanged(@NonNull final MediaSourceTag tag) {
|
||||
super.onMetadataChanged(tag);
|
||||
|
||||
// show kodi button if it supports the current service and it is enabled in settings
|
||||
final boolean showKodiButton =
|
||||
KoreUtil.isServiceSupportedByKore(tag.getMetadata().getServiceId())
|
||||
&& PreferenceManager.getDefaultSharedPreferences(context)
|
||||
.getBoolean(context.getString(R.string.show_play_with_kodi_key), false);
|
||||
kodiButton.setVisibility(showKodiButton ? View.VISIBLE : View.GONE);
|
||||
|
||||
titleTextView.setText(tag.getMetadata().getName());
|
||||
channelTextView.setText(tag.getMetadata().getUploaderName());
|
||||
}
|
||||
|
@ -725,13 +729,12 @@ public final class MainVideoPlayer extends AppCompatActivity
|
|||
public void onKodiShare() {
|
||||
onPause();
|
||||
try {
|
||||
NavigationHelper.playWithKore(this.context,
|
||||
Uri.parse(playerImpl.getVideoUrl().replace("https", "http")));
|
||||
NavigationHelper.playWithKore(context, Uri.parse(playerImpl.getVideoUrl()));
|
||||
} catch (Exception e) {
|
||||
if (DEBUG) {
|
||||
Log.i(TAG, "Failed to start kore", e);
|
||||
}
|
||||
KoreUtil.showInstallKoreDialog(this.context);
|
||||
KoreUtil.showInstallKoreDialog(context);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -7,10 +7,16 @@ import android.content.DialogInterface;
|
|||
import androidx.appcompat.app.AlertDialog;
|
||||
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.extractor.ServiceList;
|
||||
|
||||
public final class KoreUtil {
|
||||
private KoreUtil() { }
|
||||
|
||||
public static boolean isServiceSupportedByKore(final int serviceId) {
|
||||
return (serviceId == ServiceList.YouTube.getServiceId()
|
||||
|| serviceId == ServiceList.SoundCloud.getServiceId());
|
||||
}
|
||||
|
||||
public static void showInstallKoreDialog(final Context context) {
|
||||
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
||||
builder.setMessage(R.string.kore_not_found)
|
||||
|
|
|
@ -325,8 +325,9 @@
|
|||
android:src="@drawable/ic_cast_white_24dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:contentDescription="@string/play_with_kodi_title"
|
||||
android:visibility="gone"
|
||||
tools:ignore="RtlHardcoded"
|
||||
android:visibility="visible"/>
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/share"
|
||||
|
|
|
@ -317,8 +317,9 @@
|
|||
android:src="@drawable/ic_cast_white_24dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:contentDescription="@string/play_with_kodi_title"
|
||||
android:visibility="gone"
|
||||
tools:ignore="RtlHardcoded"
|
||||
android:visibility="visible"/>
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/share"
|
||||
|
|
Loading…
Add table
Reference in a new issue