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&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&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