From 08648caaff83b779bccbc2f1c9f649b2f8302740 Mon Sep 17 00:00:00 2001
From: Christian Schabesberger <chris.schabesberger@gmail.com>
Date: Tue, 15 Sep 2015 20:11:42 +0200
Subject: [PATCH] fixed landscape layout problem & added watch with kodi
 function

---
 .../org/schabi/newpipe/ActionBarHandler.java  |  52 +++++++++++++++++-
 .../newpipe/VideoItemDetailFragment.java      |   4 ++
 app/src/main/res/drawable/ai_play.png         | Bin 1433 -> 0 bytes
 app/src/main/res/drawable/ai_share.png        | Bin 2019 -> 0 bytes
 app/src/main/res/drawable/ic_cast_black.png   | Bin 0 -> 869 bytes
 .../main/res/drawable/ic_play_arrow_black.png | Bin 0 -> 320 bytes
 app/src/main/res/drawable/ic_share_black.png  | Bin 0 -> 888 bytes
 .../fragment_videoitem_detail.xml             |   2 +-
 app/src/main/res/menu/videoitem_detail.xml    |   9 ++-
 app/src/main/res/values-de/strings.xml        |   6 ++
 app/src/main/res/values/attrs.xml             |  12 ----
 app/src/main/res/values/settings_keys.xml     |   1 +
 app/src/main/res/values/strings.xml           |   6 ++
 app/src/main/res/xml/settings_screen.xml      |   6 ++
 14 files changed, 80 insertions(+), 18 deletions(-)
 delete mode 100644 app/src/main/res/drawable/ai_play.png
 delete mode 100644 app/src/main/res/drawable/ai_share.png
 create mode 100644 app/src/main/res/drawable/ic_cast_black.png
 create mode 100644 app/src/main/res/drawable/ic_play_arrow_black.png
 create mode 100644 app/src/main/res/drawable/ic_share_black.png
 rename app/src/main/res/{layout-sw600dp => layout-land}/fragment_videoitem_detail.xml (99%)
 delete mode 100644 app/src/main/res/values/attrs.xml

diff --git a/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java b/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java
index 856e853b1..1be21537f 100644
--- a/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java
+++ b/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java
@@ -4,7 +4,9 @@ import android.app.DownloadManager;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.net.Uri;
+import android.preference.Preference;
 import android.preference.PreferenceManager;
 import android.support.v4.view.MenuItemCompat;
 import android.support.v7.app.ActionBar;
@@ -40,6 +42,8 @@ import java.io.File;
 
 public class ActionBarHandler {
     private static final String TAG = ActionBarHandler.class.toString();
+    private static final String KORE_PACKET = "org.xbmc.kore";
+
     private static ActionBarHandler handler = null;
 
     private Context context = null;
@@ -49,6 +53,8 @@ public class ActionBarHandler {
     private int selectedStream = -1;
     private String videoTitle = "";
 
+    SharedPreferences defaultPreferences = null;
+
     public static ActionBarHandler getHandler() {
         if(handler == null) {
             handler = new ActionBarHandler();
@@ -73,7 +79,7 @@ public class ActionBarHandler {
         this.streams = streams;
         selectedStream = 0;
         String[] itemArray = new String[streams.length];
-        String defaultResolution = PreferenceManager.getDefaultSharedPreferences(context)
+        String defaultResolution = defaultPreferences
                 .getString(context.getString(R.string.defaultResolutionPreference),
                         context.getString(R.string.defaultResolutionListItem));
         int defaultResolutionPos = 0;
@@ -104,15 +110,21 @@ public class ActionBarHandler {
         // CAUTION set item properties programmatically otherwise it would not be accepted by
         // appcompat itemsinflater.inflate(R.menu.videoitem_detail, menu);
 
+        defaultPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+
         inflater.inflate(R.menu.videoitem_detail, menu);
         MenuItem playItem = menu.findItem(R.id.menu_item_play);
         MenuItem shareItem = menu.findItem(R.id.menu_item_share);
+        MenuItem castItem = menu.findItem(R.id.action_play_with_kodi);
 
         MenuItemCompat.setShowAsAction(playItem, MenuItemCompat.SHOW_AS_ACTION_ALWAYS
                 | MenuItemCompat.SHOW_AS_ACTION_WITH_TEXT);
         MenuItemCompat.setShowAsAction(shareItem, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM
                 | MenuItemCompat.SHOW_AS_ACTION_WITH_TEXT);
 
+        castItem.setVisible(defaultPreferences
+                .getBoolean(context.getString(R.string.showPlayWidthKodiPreference), false));
+
         return true;
     }
 
@@ -143,6 +155,10 @@ public class ActionBarHandler {
                 Intent intent = new Intent(context, SettingsActivity.class);
                 context.startActivity(intent);
             }
+            break;
+            case R.id.action_play_with_kodi:
+                playWithKodi();
+                break;
             default:
                 Log.e(TAG, "Menu Item not known");
         }
@@ -216,8 +232,7 @@ public class ActionBarHandler {
             DownloadManager.Request request = new DownloadManager.Request(
                     Uri.parse(streams[selectedStream].url));
             request.setDestinationUri(Uri.fromFile(new File(
-                            PreferenceManager.getDefaultSharedPreferences(context)
-                            .getString("download_path_preference", "/storage/emulated/0/NewPipe")
+                            defaultPreferences.getString("download_path_preference", "/storage/emulated/0/NewPipe")
                             + "/" + videoTitle + suffix)));
             try {
                 dm.enqueue(request);
@@ -236,4 +251,35 @@ public class ActionBarHandler {
             context.startActivity(Intent.createChooser(intent, context.getString(R.string.chooseBrowser)));
         }
     }
+
+    public void playWithKodi() {
+        if(!videoTitle.isEmpty()) {
+            try {
+                Intent intent = new Intent(Intent.ACTION_VIEW);
+                intent.setPackage(KORE_PACKET);
+                intent.setData(Uri.parse(webisteUrl.replace("https", "http")));
+                context.startActivity(intent);
+            } catch (Exception e) {
+                e.printStackTrace();
+                AlertDialog.Builder builder = new AlertDialog.Builder(context);
+                builder.setMessage(R.string.koreNotFound)
+                        .setPositiveButton(R.string.installeKore, new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog, int which) {
+                                Intent intent = new Intent();
+                                intent.setAction(Intent.ACTION_VIEW);
+                                intent.setData(Uri.parse(context.getString(R.string.fdroidKoreUrl)));
+                                context.startActivity(intent);
+                            }
+                        })
+                        .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog, int which) {
+
+                            }
+                        });
+                builder.create().show();
+            }
+        }
+    }
 }
diff --git a/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java b/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java
index 842118490..23ca053f8 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java
@@ -156,7 +156,11 @@ public class VideoItemDetailFragment extends Fragment {
             ImageView uploaderThumbnailView = (ImageView) a.findViewById(R.id.detailUploaderThumbnailView);
             ImageView thumbsUpPic = (ImageView) a.findViewById(R.id.detailThumbsUpImgView);
             ImageView thumbsDownPic = (ImageView) a.findViewById(R.id.detailThumbsDownImgView);
+            View textSeperationLine = a.findViewById(R.id.textSeperationLine);
 
+            if(textSeperationLine != null) {
+                textSeperationLine.setVisibility(View.VISIBLE);
+            }
             progressBar.setVisibility(View.GONE);
             videoTitleView.setVisibility(View.VISIBLE);
             uploaderView.setVisibility(View.VISIBLE);
diff --git a/app/src/main/res/drawable/ai_play.png b/app/src/main/res/drawable/ai_play.png
deleted file mode 100644
index 1d6b6229755f7c6b12cb71d02e01802a319c3db5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1433
zcmV;K1!nq*P)<h;3K|Lk000e1NJLTq005H!005H+1^@s6isdU600004b3#c}2nYxW
zd<bNS00009a7bBm002L$002L$0i{vpy#N3J8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11r|v}K~#90?cGg?l~o+a@oy$7^ddxQi;xVWH%kbTUdTmLSm`Wl
zSM6FwwTTuLv<PZZ(90s)1O;u{Y803WQIv^BSlW~ZnJyw<ARWmu=e9VU$tE4Hcb@Zh
z@Am`${r^1tIOpE`oO=#Pk|arzBuSDaNs=T<k|arzBuUc98Ux-3mX~fs?Yj@?0mpzB
zfyG6;QPX0WV*La>RJ0>CYj&7oeG059*q0h~t}yk0Q@}gG<;A*FQ|1a&ti!-lz=ef+
zR3rKcQ>@*<x-xC51?Ll{SQ~+BN;Ipw4HBjva1wX}xHNyus@0%jiggfp99WRMan)zO
zVT!dKxGQt-s!Ug5>H*Whhro)gBTzNE3{$L0!mF7j`G%nyqzF^2{lKI7hN99^hAGxo
zV0Eqmshk{P>H((-TV0mr8J0@O6{c86foFk5IR>Y^a)&9_1h78C_>@tpFvZ#o+?0Hj
z%A$0bdcYLn)y&ewV^v}`gele`-0IS_n!*%oC$Ki<pp{0AVT!d8Seb6<>RQcV>H#N!
zSAa`WJpgs5_AtddKzKECL7K;)F0>M+Sl<A5BzY1;#LZ>>xefS|@M`AD!o6sg)@G(N
z>o{(8sY=UXinSO2g<OSU2ve*rz%AWAo;LZJY5wj3b`buBd`012M$$0NOlQ^+-0G6u
zu!bqtkHCYSJ*`H#%%yQ1@DX9F%MFEl$;L3HbuaK8{tG#&VPEFXR)64Dmn23pOtE$V
zchCP3*2iTozgvON30qyRF561C3{yE9fFB53T`n%%OVdVqnLAtk#t>|Eab~K+Rls||
z*TC(Cdl{Hvs>>Sw-RjcZf%}H3J_~?HfPHx2eqa2|)PFT|;J!0c{jMb(W>)=y`-Z6<
zW5BmmeBi!eYRf{x!LSpAS2GLCw)0<xsZEywuLHY)`wRCn!!Wh&df;O!IdI=F4TlZD
z9tv-DF-*f_5%4784-OZVXuvQHk160y!neN35)D-KZ9oItMEG|1OUWjjncB7ocmNou
zaFD<-wdx4)G;lNUN#R~*xXiWXZ{S_vIl}RYRWVHM*g}|%zAxR#xwy>L?`Pm)!r!K<
z4H7sr)$BO%8t^jV2GHsmrus|+9{|q)zZdT1ycnjsY$N<$w5@a_gYYv`9S#7G5zftQ
zGDzUeRN4vPE#M`>XQZYXrgAm`PXND`Zlo(NbNTHgoHa1c5CsVgQ%;8nKRT`fz9`&F
z5-xM;odVtlUI6|q+)Gl1DXmR}*=S$sMsjeOOJjm?rsX&z5+pE8T{}vciB=Id`i~Ts
zxo*U*A<q+z8yrc7Y5qPV%tpIPH&U9*+~D>SwuX#hkN{_<K}-U#5{?i2t8g!(%_DWD
z@xHk^IWzTVJ7H_cSEU=#|FtqRc}H&pY7djQhc~3=Fl_`@rW?AtR%4iU0&7zaT4~f2
zrbBo^PSa`#(-h%6qos+*s>Di%X)|zR@=+>_Qem0^)@K->GRhsMqj(YX(8?92(}Y(b
z%km6MCFBUxR$z6m0jZpnVcJi41)>p=B21HnTacFI8-{AoWtgT37uBrDIs#Rrt1xW`
z?#$e~Dl^|O9VA>x<F;cB9Hx_mS0HW;(TqXDRK;a8s?Yg^X*aO0Oq*&!KVdqITSL@`
zxxzF>#aD-_KIaP4W-7nbSoN75re>~NSAAlbjuBpgEH2uOnl?t*8nV1}Ba$RZk|arz
nBuSDaNs=T<k|arzq@nT;X59Myr_-Bf00000NkvXXu0mjfvW1c#

diff --git a/app/src/main/res/drawable/ai_share.png b/app/src/main/res/drawable/ai_share.png
deleted file mode 100644
index cca49170f14014f8f3b2cf2496c58252db2fc11f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2019
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

diff --git a/app/src/main/res/drawable/ic_cast_black.png b/app/src/main/res/drawable/ic_cast_black.png
new file mode 100644
index 0000000000000000000000000000000000000000..9dbfcd941727c3b3d3f12fc83c48046b000cd6d4
GIT binary patch
literal 869
zcmV-r1DgDaP)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@0009lNkl<ZcmeI3
zO-NK<7>6InX+~W{s1%9Trh+u>OK1`8S`<k{lmsm*XrW0EMI>&b#6qkfw8no3WrS2j
z+de3XBuM`iwJ~*3iW)?Un4jav+_rk&d&gPKIOo85-sSmmm}l-i^S%cZi^XEGSS%LH
z0=Cmg4`Ce5Doi&awi1<ensBtP2#ut9fBg422Glz*g(e(BD&+p|JH}MR?JP9n7*ux<
z^cW@Z9YNSAfoTM4L^m9ztUx@l0#?8ZSOF_w1+0JuSOF_w1+0JuSb=$_7^a60v{1uw
zwvcLeCw3U)4OQ$Q#V`R;ecWW5aRQ?L=Oh8c1VsJf0_nyH2#M493=<Ibg<`V>9Ok$|
zP%i-=X{@1u{ZtU5otY&izLBqUCr)QCx9E+kFixrdqr`6RGZ{sq+Jspso6C%NDm=t*
z!Z5drTEZR*&k2|@jc(wrr-I*<ak`8NSA}L%1R$R-SA{Fd6_{a|UfO8lJiACG8Y_9}
zs&G`FPCUvp4n;Ydejd2qAU5kYN(@m=7Ve}F!V&eApl-9!I5lLrE4V&|Ivt0(J`UoB
zU!Dc#*s13<dY7Q<aqbq$Px$m4r$3W}q(DweoYM6^@RLnQ%0+IFwB;8FkVyfDxyDE4
zJr#btDzu8+x#V`@Tq+sxd<tt(*(k=m0ahe?ln7A9kjGgFqEaVPCv=#FvUu#O(11!N
zqe`Y-mtn4)S*bt?Dpy6ONDl!xz@$70qC2l<O3BpfA^;`K#&8#I7LwWsz!^DtlBs0&
z$d_n&?*oIprjqrz^JK{jObY!<;!-j?@jNZ$A<1S~+2W7*t-q}#UL|Xk7~>d{3bBbg
zqwW*eB42U@+=qc6gG%P9lE@H;JwJH@5lT_1QZggr8}3jN@<}G{4_`(7C0EJh5m7S5
zO5&dUu}z3TCoygO2$hZ{UbM4vhlB{!$0jhxIwf^oN&Kg_JY~HtAp#K!iE-nLO6rLC
zZ;HhfDeGMc5omx|1zsqrLS_92i^&naBK`uc1Y;NI7ws(i2h32`C*mv+p@AU8E)W*I
vAo_Z$I7RUin5L8Zh3~$_VzF2(7K`N{_zPlQnKI~100000NkvXXu0mjfgPMLk

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable/ic_play_arrow_black.png b/app/src/main/res/drawable/ic_play_arrow_black.png
new file mode 100644
index 0000000000000000000000000000000000000000..d12d495622fd5d3a5e91fb6032a88a0492557aaa
GIT binary patch
literal 320
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z{u|D;uuoF_;!|IV6&qH>wc3d
zf(=X;8n{9lxC0pV3<UWt7A#+SGI?G7)%lOo(#ygRYHupu`QOb20{A|ees5O$Y`wl%
zi9aIl*+iR!pXTq2-Q_m?nWz4#;c2Pea~~jkX8M-~Rn2volOD}dgHU?v>s}T;nne-?
z)~>paPb2Pm^0|K<=BZzL=UhB(GofEdzxb2E^TH}`gTLOMTxqQ$XU@Gn_$BM&>AQ0e
zeqm<UoFN)yV7;CFGXGsW(;JdL^KVaRid1CXT&yy~Znuaa7)-2>y>mM7*}PBNfg!`-
M>FVdQ&MBb@05rae3;+NC

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable/ic_share_black.png b/app/src/main/res/drawable/ic_share_black.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a8544ce5d6c8bf471c8fbd54cf4f88254ea9ccb
GIT binary patch
literal 888
zcmV-;1Bd*HP)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@0009&Nkl<ZcmeI&
zK}c*>9LMqRypZ5w`JO>))98$f6)oE2rdCPO(4t&OEy|HVqeUTEVJbno>6L`orcEYB
zO@<<t8JRNREOJw;pwg6hp;m^Lsi~vhe{Nbh%sI?ybN@H)=eu;{g>!#gj`DvJ3WY+U
zOXmgB9rTlB8$sA6%WE_c81+o!A$fUBQ49J#&EJTj15zm0gJ7>4#oCY}dJ?5-IY5eN
zpBhw}M2c)2g=+DTB0D3FI(>*kub|EX;?NxGY$6V=qfQQS=oocQ5r>XYXB~0qXVl3e
z4t<U)cROy7(1jXT80G|V>VzmNT;dsiN1Pi)h5PviagRT!#CK8B$bZVC8K2!qANxqb
ze#NtY#_=pZYi128*dhH~rkNeY&<>B`tGoCTF*HdH08qt9fnCb+E*1Ewj3MJ(e#-+~
zR7EGBvc?{}{Kz!VQ|a$qwzFkC7SC}5s@=!e##izkZb7x%_y94q$UP_!vCL%;d&aNH
zC-7Aruae<6&hXeGLoabIdX!b`T>2=%Bwm5@oF)bU+{qV~xs2nhR?GF%E-l>5TjY#$
z*@VwtMyz>kYo5!e5PQ1kGR{6?PWxQK$A~#ab7_#^3~}m^0WPCPFJegBTpG+H4$TMs
z?(%xj?=Ew}e*kqhf_{YNg8mYBBTjun9ja7wia2$|>y)C%hlq0<v=Tvy7=IzS_Z9b|
z#N&7f?s<%GD=Ktie+18XUH&Isl%PNhyVkqQQm%1q`1$uFQ6S3u1s3Uq_oxB@>X|_d
z%}}r7A-edCpE%%<>&)^3Q7%gIgYj>?Z%_*QmGGkRxNVXm0{T@jVtnnFXe1CCSu$?c
zC>7{OgcO^`%dnRyK|kxfF7pWa614L+<D?m;g9HlL=XI6_{`D}6NM2czC}5x0H@S%`
zOdy7)DAzu(zp#o}TA^D1yxLpls{VPkH=%A`oqJIKyxPm4i(y{PdBjj>0CA`db%qd!
z22p1macB&6(m{WK;h-O(4#c4p>Li?IGzvlf-`xdNN+Lzpgi=#T5q*SO<*Xp~_>M9Z
zt7h5$>vKEGU1h>@c*+QbhsfaN4d(()1WJrH1{phVkQ7lup-?CkD#AaVcIHkIiEiWo
O0000<MNUMnLSTZiu%q|@

literal 0
HcmV?d00001

diff --git a/app/src/main/res/layout-sw600dp/fragment_videoitem_detail.xml b/app/src/main/res/layout-land/fragment_videoitem_detail.xml
similarity index 99%
rename from app/src/main/res/layout-sw600dp/fragment_videoitem_detail.xml
rename to app/src/main/res/layout-land/fragment_videoitem_detail.xml
index f59e29844..2f8eb35dc 100644
--- a/app/src/main/res/layout-sw600dp/fragment_videoitem_detail.xml
+++ b/app/src/main/res/layout-land/fragment_videoitem_detail.xml
@@ -59,7 +59,7 @@
             android:visibility="invisible"
             android:text="Herr von Gurken" />
 
-        <View
+        <View android:id="@+id/textSeperationLine"
             android:layout_width="fill_parent"
             android:layout_height="1dp"
             android:background="@android:color/darker_gray"
diff --git a/app/src/main/res/menu/videoitem_detail.xml b/app/src/main/res/menu/videoitem_detail.xml
index 1fe0a9068..2625a801e 100644
--- a/app/src/main/res/menu/videoitem_detail.xml
+++ b/app/src/main/res/menu/videoitem_detail.xml
@@ -4,12 +4,12 @@
     <item android:id="@+id/menu_item_play"
         android:title="@string/play"
         app:showAsAction="always"
-        android:icon="@drawable/ai_play"/>
+        android:icon="@drawable/ic_play_arrow_black"/>
 
     <item android:id="@+id/menu_item_share"
         android:title="@string/share"
         app:showAsAction="ifRoom"
-        android:icon="@drawable/ai_share"/>
+        android:icon="@drawable/ic_share_black"/>
 
     <item android:id="@+id/menu_item_openInBrowser"
         app:showAsAction="never"
@@ -22,4 +22,9 @@
     <item android:id="@+id/action_settings"
         app:showAsAction="never"
         android:title="@string/settings"/>
+
+    <item android:id="@+id/action_play_with_kodi"
+        android:title="@string/playWithKodiTitle"
+        app:showAsAction="ifRoom"
+        android:icon="@drawable/ic_cast_black"/>
 </menu>
\ No newline at end of file
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 4e24b42c1..da39d8f3b 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -28,4 +28,10 @@
     <string name="autoPlayThroughIntentTitle">Automatisch abspielen durch Intent.</string>
     <string name="autoPlayThroughIntentSummary">Startet ein Video automatisch wenn es von einer anderen App aufgerufen wurde.</string>
     <string name="defaultResolutionPreferenceTitle">Standard Auflösung</string>
+    <string name="playWithKodiTitle">Mit Kodi abspielen</string>
+    <string name="koreNotFound">Kore app wurde nicht gefunden. Kore wird benötigt, um Videos mit Kodi wieder zu geben.</string>
+    <string name="installeKore">Kore installieren</string>
+    <string name="fdroidKoreUrl">https://f-droid.org/repository/browse/?fdfilter=Kore&amp;fdid=org.xbmc.kore</string>
+    <string name="showPlayWithKodiTitle">Zeige \"Mit Kodi abspielen\" Option</string>
+    <string name="showPlayWithKodiSummary">Zeigt eine Option an, über die man Videos mit dem Kodi Mediacenter abspielen kann.</string>
 </resources>
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
deleted file mode 100644
index 7ce840eb6..000000000
--- a/app/src/main/res/values/attrs.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<resources>
-
-    <!-- Declare custom theme attributes that allow changing which styles are
-         used for button bars depending on the API level.
-         ?android:attr/buttonBarStyle is new as of API 11 so this is
-         necessary to support previous API levels. -->
-    <declare-styleable name="ButtonBarContainerTheme">
-        <attr name="metaButtonBarStyle" format="reference" />
-        <attr name="metaButtonBarButtonStyle" format="reference" />
-    </declare-styleable>
-
-</resources>
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 464207fb6..5ad6be083 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -11,4 +11,5 @@
         <item>144p</item>
     </string-array>
     <string name="defaultResolutionListItem">360p</string>
+    <string name="showPlayWidthKodiPreference">show_play_with_kodi_preference</string>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9eb05d869..40d964e90 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -28,4 +28,10 @@
     <string name="autoPlayThroughIntentTitle">Autoplay through Intent</string>
     <string name="autoPlayThroughIntentSummary">Automatically starts a video when it was called from another app.</string>
     <string name="defaultResolutionPreferenceTitle">Default Resolution</string>
+    <string name="playWithKodiTitle">Play with Kodi</string>
+    <string name="koreNotFound">Kore app not found. Kore is needed to play videos with Kodi media center.</string>
+    <string name="installeKore">Install Kore</string>
+    <string name="fdroidKoreUrl">https://f-droid.org/repository/browse/?fdfilter=Kore&amp;fdid=org.xbmc.kore</string>
+    <string name="showPlayWithKodiTitle">Show \"Play with Kodi\" option</string>
+    <string name="showPlayWithKodiSummary">Displays an option to play a video via Kodi media center.</string>
 </resources>
diff --git a/app/src/main/res/xml/settings_screen.xml b/app/src/main/res/xml/settings_screen.xml
index e453128bc..a20d21711 100644
--- a/app/src/main/res/xml/settings_screen.xml
+++ b/app/src/main/res/xml/settings_screen.xml
@@ -28,4 +28,10 @@
         android:entryValues="@array/resolutionList"
         android:defaultValue="@string/defaultResolutionListItem"/>
 
+    <CheckBoxPreference
+        android:key="@string/showPlayWidthKodiPreference"
+        android:title="@string/showPlayWithKodiTitle"
+        android:summary="@string/showPlayWithKodiSummary"
+        android:defaultValue="false" />
+
 </PreferenceScreen>
\ No newline at end of file