88-e@FYC%|E0}pO*gziiBLfe{%Kc@qo)p8GVT7N0*
z4M_Lw1tG5n(zZ5$P*4jGZTlL!ZFJhUpIRgx=rAmS%;sT8&)W?`?kC{()PbwS3u#;G
z5xOo6ZIjcs{+JdGz5K@sSo14D=FzK={`?LQo~r_Pel@s?4}xpcmx|K19GZo;!D-un
zE}eyzVa=&&Sk`n2mb~yf2+vl6yMJIGxIEq&SWRe)op$60@i246YB3>oE(3e2L-^}4_|K@$pmRb!NBBQzlNb;zJF
zMc&w;%{On(HbQ|
z@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)yI9C9*oUga6
z=hxw6QasLPnee@3^pcqGR@o#L@+8nuG5suzgA#ZC&s
z|EF-4U3#nH>r^ME@~U|CYWRjZ`yN=c=Fr}#_Mgg|JQ_F~MDJ{2FSyz9PS&T@VVxu?
zJm1Eneyq~b<9m$74O-iHG@!Fk->^qks+0-Tx2T+XVGXw8twMc3$0rG>+mL)4wdl~R
g1N9*XHQJT-A9HGq3eLdY0ssI207*qoM6N<$f)O(SQ~&?~
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
index 4cde12118dda48d71e01fcb589a74d069c5d7cb5..4cd7b0099ca80c806f8fe495613e8d6c69460d76 100644
GIT binary patch
delta 266
zcmV+l0rmcY2$}+r8Gi!+003c4mpuRg09{Z_R7L;)|5U~JDYo_jSDX9(|7FYh`2GLd
z^Zv2r{H^2sT*&w!Y^SB+`<>qVZqE6)=lqo0`vF#&*75!I`TIh@_d&k*HoEtQyV-iD
z%Xz2D9EQRbeYh5Nr~y=#0ZD;^+vz0$004MNL_t(2&&|%+4u6C&2tZM$Wf&dzefR%A
z(^3-?6X>hnCz2Ba@RH&`m!pgy?n@#@AuLYB&}Q)FGY`?vcft0!vht0Z@M&ZeNCWXh75gzRTXR8EE3oN&6
Q00000NkvXXt^-0~g5kS`djJ3c
delta 1014
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
Zxpx7IC@PekH?;r&002ovPDHLkV1i)CYaajr
delta 1916
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
delta 1274
zcmV@pi1MCNO0zH7s
z{8#}P0)7Ba8DqYf&QgSne>X__O83t$NZM4&R0{XJq|x}oAU?tcfC@|eNz$04T}34&
z8DJf78R&>*Zz`k$q{`#gfGHnx7nlH^G{y`jfER)1<_fNi<9aM%_zrm1C`yPkKma(+
ztQ;y*CR2bbBYz>zG*SVsfpkGU(q>uHZf3iogk_%#9E|5SWeHrmAo>P;ejX7mwq#*}
zW25m^ZI+{(Z8fI?4jM_fffY0nok=+88^|*_DwcW>mR#e+X$F_KMdb6sRz!~7K
zkyN0G(3XQ+;z3X%PZ4gh;n-%62U<*VUKNv(D&IDi_4_D!s#MVXp|-XhH;H
z#&@_;oApJVd}}5O@b=X_gJboD^-fM@6|#V@sA%X)Rlkd}3MLH0dGXGG&-HX|aD~|M
zC)W#H7=H?AbtdaV#dGpubj_O^J-SlWpVNv-5(;wR%mvE9`Qaqo>03b#eNNf=m#B
z9@^lsd8tJ;BvI86kNV
zc~0CY(7V{s+h%cWG|y=gt|q`z$l<(@qU=i?9q#uz`G?PgDMK!VMGidHZt*N+1L0ZI
zFkH=mFtywc6rJ}C_?)=m)18V!ZQ`*-j(D`gCFK|nt#{bk*%%zuQ7o7kvJgA^=(^7b
zzkm5GZ;jxRn{Wup8IOUx8D4uh&(=Ox-7$a;U><*5L^!%
zxRlw)vAbh;sdlR||&e}8_8%)c2Fwy=F&
zH|LM+p{pZB5DKTx>Y?F1N%BlZkXf!}Jb#viX>Oi;kBKp1x_fc0#UIbIeSJ^EkWFox
zijdim{ojmn@#7EC*aY;fC0W*WN+DmQtE06pNK3SfZ^#@2K`6RgEuU_KwJTQ>E?Yar
zc_9e#I$F8%>kuy-JI6ocSsYvQGbsxUCx04(w1z-pMRz9`kH5smmF@WHEG?dcYkv){
zV?kn3XB$_3zr*h1Uow)(<5)w5;3Wh1jHI)`ZlXp&!yEV{Y_~@;?CLwq;4eeaGOe6(
zEsSSbwSGD0-`dUUl014$1_O8Gi!+006nq0-pc?0H{z*R7L;)|5U~JDYo_jSDXF*|5nEMy6F5^
z$M}8I`uzU?*Yf=uXr;5|{0m;6_Wb|A>ik^D_|)+I$?g3CSDK^3+eX0mD!2CP`2NN0
z{dLg!a?km&%iyTt`yiax0acdp`~T(l{$a`ZF1YpsRg(cvjDG_-U$Er-fz#Bw>2W$eUI#iU
z)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G!hkE!s;%oku3;IwG3U^2k
zw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn_j%}l|2+O?a>_7qq7W
zmx(qtA2nV^tZlLpy_#$U%ZNx5;$`0L&dZ!@e7rFXPGAOup%q`|03hpdtXsPP0000<
KMNUMnLSTZ1N;Pr-
delta 1891
zcmV-p2b}oI1m_Nr8Gi-<0052=@~r>>2QEoOK~#9!?VW3E6jc<*XLh$yKNt;)Mial3
z7z%<>zxaV5DhMs*(b6YIW1=KP6Jj(m21QYbiJ}su&;o5EN=$%gptMj6p|(7#AOTUJ
zlt8fsX(iGq?ZQ50=XmbU+~w|cmz~|6$KBbz$-g^IcV>Hk`+q<8%-p?uMi3G-0B~!5
ze-yPCwFPw?HGmpMc~K)7BCq;C528+>zC*o^8h^XKC)IFgkv#xzm!ewK7j|kRa9dFo
zC>MoDSR@P2#cWSU{i1oH5K2-Xb3jRz>|h7VOh0K`
zhq^--L3H}A0r)nr
z;Tr|-kPjB1s=ItpnS`oT%|U=a4oK-ZFIE^YBLH{u2#~@%%D^K)$`9*Tg(~9M-B+Zj
z;~H?4LVsEt0eFtN4&>H(DZ@KpI6RhBKLL21CxC`J&m4Gc^9wwMZU#7SR1+KtuhSZM
z+yLY}Vekzw6T_ApfEkuB_yU;e&a)L@rX~z70A_N+upOXN!qygmPDmKG0d%7CECcAI
zgkd>ArzH$a0XjKsO$X@IgkcH5Y;m3`0G*yNOn(KK4GF_EfL4aB5i1j9o&Z{vFk~k>
z&?@K2jQcJO%W!cddG(_DyfSoO55bUMHtbDF8DPkwF^~Ql#Eq4w15k{h%ML5Ar&pzi
zl-D7v8kQXQ!&RRgKCW#5DZB$$6?mjWm50rRw*ukK>P-GkA|k69h{NARc>e}uLx+U4
z0DqE>7pa}9Fez+Vc-3jb`%i^uulglFoMzAVR|2%rf=
zf#;74FXF^Ku_4+G&-4$KVy%YP>%2rxu2VG_cdm?XRjEhF&wPXJ>#
z_Q2+jGs=l~Fyx#MmGn+PZ0`@kBfGp|fO;Vov<$;z`(+sSZ7;Y=zXaF(8rb@CuQDV^
zq3i(2LfqO%AS!Ss>V%j7%>{6mtbYQrtQK5V4InPq0NZSaXv+f2U=&2}Z6OvkBfNHi
z{LSaVJ!d5dC2K*ft_L^DRk;boQhOoVw!~Kt#0b2vd%!(&DF|~u1F@nG#LA5zR&7Fv
z4GKgXooMSKb1g)6Obo-rgpuEP20T;W0Aa>55KC4gtQrKkAq-Hgs@FigV1GG8+rQ=z
z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRet3L_uNyQ*c
zE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=kyx=~RKa4{iT
zm{_>_vSCm?$Ej=i6@=m%@PE9t1zZaoM}@2|h!#1K02~31S_I<0ZV=|K0}n!RRX6Ac
zXmMf*5P-dLW}WPVsCKq)-x(0*txpZ2xrv3cxJ%l=7lpoNCyG<
zK92ySAcmb-3m&}s@VwXv9(0#p<>B-5$bMxT;rk;OmENa6eM4D&LVo~01soUL39?R{
zyFLt3m|v?rCK7#KNu9E9Q4KV-pEUv^{rrClE&X&9I4-e7%pu_31#zGTOfC=ab%w20R*zBP+uT#l2{a~~~0wuG%6
zco*tVxK&e>%SJj*K!2tq*_h&ES5S9@TKb8WzpK;`&b9dNdxh4S)z%Q)o`aYWUh}9L
z(`p!#WO5IxI|nf?yz{90R93Ed6@2qim*}Zjj$H&Esd`?JsFJUnDfiAgF_eYiWR3GC
z>M9SHDylEWrA(%mfm~;u7OU9!Wz^!7Z%jZF
zi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i0WYBP
d*#0Ks^FNSabJA*5${_#%002ovPDHLkV1gB0Vle;!
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
index a6d6b8609df07bf62e5100a53a01510388bd2b22..0ec303439225b78712f49115768196d8d76f6790 100644
GIT binary patch
delta 850
zcmV-Y1Fih&6y64q8Gi!+000iU#^3+|0OwFlR7L;)|5U~J09TtSw)Xt~|5(QO`~Ck(
z!T0|D|3<*~RmJ%E{r+;#`2ba!klFf7!uJMSo%Q?vP{jByxcAZE>;OrUCbaZYjJo^$
z{nGILmD~Da$@upC{`C6(Ey4dPw)Pyc^>5DkHoEo!QcuK-Jwl-l}t(fQKv
z{dds$V#@dygS`PvhX6is7Z+@*x-d;$
zb=6f@U3Jw}_s+W3%*+b9H_vS)-R#9?zrXogeLVI2We2RFTTAL}&3C8PS~<5D&v@UI
z+`s*$wqQ=yd$laNUY-|ovcS9~n_90tFUdl#qq0tEUXle|k{Op|DHpSrbxEeZ5~$>o%>OSe
z^=41qvh3LlC2xXzu+-2eQoqs1^L>7ylB$bCP);(%(xYZL1
cY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f@rA97ytkO
literal 2665
zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p
zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8
zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa
ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ
z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5
z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~
z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n
zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ
zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs
z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0@S>k_hS{T4PF*TDrgdXp+dzsE?
z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw
z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah-
zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw
z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D
zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a
zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD
zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~
z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX
z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR?
zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA
zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c
z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1<
zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-!
zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s
XsPq=LnkwKG00000NkvXXu0mjfhAk5^
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
index a6d6b8609df07bf62e5100a53a01510388bd2b22..0ec303439225b78712f49115768196d8d76f6790 100644
GIT binary patch
delta 850
zcmV-Y1Fih&6y64q8Gi!+000iU#^3+|0OwFlR7L;)|5U~J09TtSw)Xt~|5(QO`~Ck(
z!T0|D|3<*~RmJ%E{r+;#`2ba!klFf7!uJMSo%Q?vP{jByxcAZE>;OrUCbaZYjJo^$
z{nGILmD~Da$@upC{`C6(Ey4dPw)Pyc^>5DkHoEo!QcuK-Jwl-l}t(fQKv
z{dds$V#@dygS`PvhX6is7Z+@*x-d;$
zb=6f@U3Jw}_s+W3%*+b9H_vS)-R#9?zrXogeLVI2We2RFTTAL}&3C8PS~<5D&v@UI
z+`s*$wqQ=yd$laNUY-|ovcS9~n_90tFUdl#qq0tEUXle|k{Op|DHpSrbxEeZ5~$>o%>OSe
z^=41qvh3LlC2xXzu+-2eQoqs1^L>7ylB$bCP);(%(xYZL1
cY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f@rA97ytkO
literal 2665
zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p
zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8
zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa
ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ
z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5
z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~
z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n
zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ
zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs
z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0@S>k_hS{T4PF*TDrgdXp+dzsE?
z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw
z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah-
zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw
z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D
zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a
zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD
zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~
z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX
z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR?
zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA
zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c
z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1<
zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-!
zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s
XsPq=LnkwKG00000NkvXXu0mjfhAk5^
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
index 75b2d164a5a98e212cca15ea7bf2ab5de5108680..e9f5fea27c705180eb716271f41b582e76dcbd90 100644
GIT binary patch
delta 1668
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
c|%svPo;TeUku<2G7%?$oft
zyaO;tVo}(W)VsTUhq^XmFi#2z%-W9a{7mXn{uzivYQ_d6b7VJG{77naW(vHt-uhnY
zVN#d!JTqVh(7r-lhtXVU6o})aZbDt_;&wJVGl2FKYFBFpU-#9U)z#(A%=IVnqytR$SY-sO(
z($oNE09{D^@OuYPz&w~?9>Fl5`g9u&ecFGhqX=^#fmR=we0CJw+5xna*@oHnkahk+
z9aWeE3v|An+O5%?4fA&$Fgu~H_YmqR!yIU!bFCk4!#pAj%(lI(A5n)n@Id#M)O9Yx
zJU9oKy{sRAIV3=5>(s8n{8ryJ!;ho}%pn6hZKTKbqk=&m=f*UnK$zW3YQP*)pw$O*
zIfLA^!-bmBl6%d_n$#tP8Zd_(XdA*z*WH|E_yILwjtI~;jK#v-6jMl^?<%Y%`gvpwv&cFb$||^v4D&V=aNy?NGo620jL3VZnA%s
zH~I|qPzB~e(;p;b^gJr7Ure#7?8%F0m4vzzPy^^(q4q1OdthF}Fi*RmVZN1OwTsAP
zn9CZP`FazX3^kG(KodIZ=Kty8DLTy--UKfa1$6XugS
zk%6v$Kmxt6U!YMx0JQ)0qX*{CXwZZk$vEROidEc7=J-1;peNat!vS<3P-FT5po>iE
z!l3R+<`#x|+_hw!HjQGV=8!q|76y8L7N8gP3$%0kfush|u0uU^?dKBaeRSBUpOZ0c
z62;D&Mdn2}N}xHRFTRI?zRv=>=AjHgH}`2k4WK=#AHB)UFrR-J87GgX*x5fL^W2#d
z=(%K8-oZfMO=i{aWRDg=FX}UubM4eotRDcn;OR#{3q=*?3mE3_oJ-~prjhxh%PgQT
zyn)Qozaq0@o&|LEgS{Ind4Swsr;b`u185hZPOBLL<`d2%^Yp1?oL)=jnLi;Zo0ZDliTtQ^b5SmfIMe{T==zZkbvn$KTQGlbG8w}s@M3TZnde;1Am46P3juKb
zl9GU&3F=q`>j!`?SyH#r@O59%@aMX^rx}Nxe<>NqpUp5=lX1ojGDIR*-D^SDuvCKF
z?3$xG(gVUsBERef_YjPFl^rU9EtD{pt
z0CXwpN7BN3!8>hajGaTVk-wl=9rxmfWtIhC{mheHgStLi^+Nz12a?4r(fz)?3A%at
zMlvQmL<2-R)-@G1wJ0^zQK%mR=r4d{Y3fHp){nWXUL#|CqXl(+v+qDh>FkF9`eWrW
zfr^D%LNfOcTNvtx0JXR35J0~Jpi2#P3Q&80w+nqNfc}&G0A~*)lGHKv=^FE+b(37|)zL;KLF>oiGfb(?&1
zV3XRu!Sw>@quKiab%g6jun#oZ%!>V#A%+lNc?q>6+VvyAn=kf_6z^(TZUa4Eelh{{
zqFX-#dY(EV@7l$NE&kv9u9BR8&Ojd#ZGJ6l8_BW}^r?DIS_rU2(XaGOK
z225E@kH5Opf+CgD^{y29jD4gHbGf{1MD6ggQ&%>UG4WyPh5q_tb`{@_34B?xfSO*|
zZv8!)q;^o-bz`MuxXk*G^}(6)ACb@=Lfs`Hxoh>`Y0NE8QRQ!*p|SH@{r8=%RKd4p
z+#Ty^-0kb=-H-O`nAA3_6>2z(D=~Tbs(n8LHxD0`R0_ATFqp-SdY3(bZ3;VUM?J=O
zKCNsxsgt@|&nKMC=*+ZqmLHhX1KHbAJs{nGVMs6~TiF%Q)P@>!koa$%oS
zjXa=!5>P`vC-a}ln!uH1ooeI&v?=?v7?1n~P(wZ~0>xWxd_Aw;+}9#eULM7M8&E?Y
zC-ZLhi3RoM92SXUb-5i-Lmt5_rfjE{6y^+24`y$1lywLyHO!)Boa7438K4#iLe?rh
z2O~YGSgFUBH?og*6=r9rme=peP~ah`(8Zt7V)j5!V0KPFf_mebo3z95U8(up$-+EA^9dTRLq>Yl)YMBuch9%=e5B`Vnb>o
zt03=kq;k2TgGe4|lGne&zJa~h(UGutjP_zr?a7~#b)@15XNA>Dj(m=gg2Q5V4-$)D|Q9}R#002ovPDHLkV1o7DH3k3x
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
index c4df70d39da7941ef3f6dcb7f06a192d8dcb308d..84ac32ae7d989f82d5e46a60405adcc8279e8001 100644
GIT binary patch
delta 749
zcmVg;Ps8|O$@u8^{Z_{KM!@$5TAfS6_e#O{MZfpz`2O`0$7~@NRr(1{THzH08y3x{{PYM{eL;T_A9^tcF_4Sxb`8l
z_9V3RD6;a(-0A^Pjsi!1?)d#Ap4Tk3^CP0(07;VpJ7@tgQ}z4)*zx@&yZwC9`DV-b
z0ZobH_5IB4{KxD3;p_6%|f=bdFhu+F!zMZ2UFj;GUKX7tI;hv3{q~!*pMj75WP_c}>
z6)IWvg5_yyg<9Op()eD1hWC19M@?_9_MHec{Z8n3FMs~w_u?Av_yNBmRxVYrpi(M%
zFMP21g+hmocQp3ay*Su=qM6He)*HaaTg$E^sym`(t%s3A)x!M+vfjXUBEpK6X9%iU
zU!u9jj3(-$dM~sJ%Liy#?|+!6IY#MTau#O6vVj`yh_7%Ni!?!VS+MPTO(_fG+1<#p
zqu;A#i+_(N%CmVnYvb>#nA{>Q%3E`Ds7<~jZMywn@h2t>G-LrYy7?Dj{aZqhQd6tzX%(Trn+
z)HNF}%-F{rr=m*0{=a;s#YDL00000NkvXXu0mjfaGjYE
delta 1884
zcmV-i2c!7<1>g>l8Gi-<0076AQ7Zrd2Pa8HK~#9!?VNjT6h$1z_m0EFf5bmb1dTDK
zp;kdKV1h(V(8Sc1M<37!RE>znAk{x4#zX@eOeE1j3~!+nB5IL
z<xS}u?#DBMB>w^b($1Z)`9G?eP95EKi&
z$eOy@K%h;ryrR3la%;>|o*>CgB(s>dDcNOXg}CK9SPmD?Uu$P4(=PGA0ShFasNfcIHTL?9WjB9#(2xSLC
z`0%$#9DW9F;B4mbU{BlaYx!SjF!QSeF~(msQRxwboh5B_O$BWOQja)GboJz$&!?mgB&3$ytsA
zvns&b3Cl5Hx#%p%faR*Q906u&fbXy$maV`n?S>A)vJIH!F-vxCrY+rq5_JA(GcOgu7(Ky4X3ATR9z8*%k&<5qYeV&4Y`~}XYmK(j{)!g8d2UgHXIINM!Rvn
zKtEq~Foe0s!U{kux~F6Y7Sp+2f|*Cc${S{@oh8D0=XhB8Ec-w9CflfL+te4ium2cU
zoPTCj_m<3d#gjK=<*8R`HP^C$lOPM5d~UhKhRRmvv{LI
za^|oavk1$QiEApSrP@~Jjbg`<*dW4TO@DPEEX$Tg$xh?Y>Qd}y@kaH~IT8!lLpS^J
zR7(&wZSI6+>Eb)tX>9Z?GX#q$u
z4I>7e#b7ojyJ1grOh!^}s8S#ubi^Jkd1?UK)3mp6rI^_zxRY
zrx6_QmhoWoDR`fp4R7gu6@OBFGu7IDVR6~nJsB{^f5jHn<{WJ&&f^X?3f8TIk3#U&
zu1*Q-e@;snJxNx8-PBnpI|uFTKN!+Lp;fPfZ+eqqU^Y1|#DJY~126?zOx-+d>%4*?
z&o`TbrXSNXZW^!P0t2>@$6&aiBtUDh2wLXLD9&a(1J=k_FK|iGbAQ@x4Qmx}Ms+*;
zze&q6bH(=wYuXHfz0H6<05!LkE4rl~v^!bj=^9d+vI5fN<;GP>*Pas=q2l9RxDkk`
zPRk&EQI+t_0$Y%nKE)Ma)W?jaA@4Z{h
zTk*7;;#lG?hvTN_On=Jaxp%bdE;mDq(q#dgdYF|-?wrMeI4h`$idZ6^VyXZVlaCd0
z;i)OYR3npf@9>00Gqn##Zb4HRurgaWFCzL9u6@J@sse>Z1XznxWvSy%Td32I3!#YN
zXt9v0)RQtDDZRd?#WY?~KF7A0U+s-Y^792ij<=y*ic4IaLl%Oid~lwk&weY%W(Z
z@ofdwPHncEZzZgmqS|!gTj3wQq9rxQy+^eNYKr1mj&?tm@wkO*9@UtnRMG>cR{jt9
W+;fr}hV%pg0000&=UXv0SHh`R7L;)|5U~JDYo_jSDRDC`1<|-SjPDL
z{{Q{{{{H{}09Kk-#rR9Y_viNgVafPO!S|ls`uzR=MZfp^{QU=8od8La1X`Tr_Wmff
z_5e$ivgQ1@=KMy$_g9a+`TPAle6cOJ_Fc#L7qIpvwDkd1mw$fK`6IOUD75rX!}mad
zv(fMTE4=(Nx%L54lL1hVF1YpqNrC`FddBPg#_Ietx%Lrkq5wX00X1L{S%Cm9QY*av
z#_Rh5PKy9KYTWbvz3BX9%J>0Hi1+#X{rLA{m%$Kamk?i!03AC38#Yrxs)5QTeTVRiEmz~MKK1WAjCw(c-JK6eox;2O)?`?TG`AHia671e^vgmp!llK
zp|=5sVHk#C7=~epA~VAf-~%aPC=%Qw01h8mnSZ|p?tc*y?iZ$PR7_ceEIapF3KB14K0Pog?7wtd+^xgUCa_GVmlD
z<^nU>AU_Yn-JU?NFdu|wf^bTCNf-wSBYVZltDdvGBln-YrbeGvJ!|s{#`gjN@yAMb
zM6cjFz0eFECCsc|_8hTa3*9-JQGehksdoVP^K4m?&wpA~+|b%{EP5D-+7h)6CE;
z*{>BP=GRR3Ea}xyV*bqry{l^J=0#DaC4ej;1qs8_by?H6Tr@7hl>UKNZt)^B&yl;)&oqzLg
zcfZxpE?3k%_iTOVywh%`XVN-E#COl+($9{v(pqSQcrz=)>G!!3HeNxbXGM@})1|9g
zG4*@(OBaMvY0P0_TfMFPh
fVHk#CZX3S=^^2mI>Ux-D00000NkvXXu0mjfzK(<8
literal 3294
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
cX)(b1KSk$MOV07*qoM6N<$f&{Qds=
z{r_0T`1}6fwc-8!#-TGX}_?g)CZq4{k!uZ_g@DrQdoW0kI
zu+W69&uN^)W`CK&06mMNcYMVF00dG=L_t(|+U?wHQxh>12H+Dm+1+fh+IF>G0SjJM
zkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJTkdTm&kdTm&kdTm&kdP`e
zsgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>VI$fQI%^ugM`#6By?GeadWcu
z0gy9!D`m!H>Bd!JW(@avE8`|5XX(0PN}!8K>`dkavs;rHL+wy96QGNT=S@#7%xtlm
zIW!++@*2zm-Py#Zr`DzqsLm!b{iskFNULSqE9A>SqHem>o31A%XL>S_5?=;V_i_y+
z(xxXhnt#r-l1Y8_*h`r?8Tr|)(RAiO)4jQR`13X0mx07C&p@KBP_2s``KEhv^|*8c
z$$_T(v6^1Ig=#R}sE{vjA?ErGDZGUsyoJuWdJMc7Nb1^KF)-u<7q
zPy$=;)0>vuWuK2hQhswLf!9yg`88u&eBbR8uhod?Nw09AXH}-#qOLLxeT2%C;R)QQ$Za#qp~cM&YVmS4i-*Fpd!cC
zBXc?(4wcg>sHmXGd^VdE<5QX{Kyz$;$sCPl(_*-P2Iw?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF34$0Z;QO!J
zOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUCUoZo%k(yku
QW&i*H07*qoM6N<$g47z!?*IS*
literal 3612
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
iW8
- CADisableMinimumFrameDurationOnPhone
-
CFBundleDevelopmentRegion
$(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ Example
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
@@ -13,7 +13,7 @@
CFBundleInfoDictionaryVersion
6.0
CFBundleName
- better_player_example
+ example
CFBundlePackageType
APPL
CFBundleShortVersionString
@@ -24,21 +24,6 @@
$(FLUTTER_BUILD_NUMBER)
LSRequiresIPhoneOS
- NSAppTransportSecurity
-
- NSAllowsArbitraryLoads
-
-
- NSBonjourServices
-
- _dartobservatory._tcp
-
- UIBackgroundModes
-
- audio
- processing
- remote-notification
-
UILaunchStoryboardName
LaunchScreen
UIMainStoryboardFile
@@ -56,7 +41,9 @@
UIInterfaceOrientationLandscapeLeft
UIInterfaceOrientationLandscapeRight
- UIViewControllerBasedStatusBarAppearance
-
+ CADisableMinimumFrameDurationOnPhone
+
+ UIApplicationSupportsIndirectInputEvents
+
diff --git a/example/ios/Runner/Runner-Bridging-Header.h b/example/ios/Runner/Runner-Bridging-Header.h
index 7335fdf90..308a2a560 100644
--- a/example/ios/Runner/Runner-Bridging-Header.h
+++ b/example/ios/Runner/Runner-Bridging-Header.h
@@ -1 +1 @@
-#import "GeneratedPluginRegistrant.h"
\ No newline at end of file
+#import "GeneratedPluginRegistrant.h"
diff --git a/example/lib/main.dart b/example/lib/main.dart
index 5cd5edd1f..5a09d4656 100644
--- a/example/lib/main.dart
+++ b/example/lib/main.dart
@@ -1,4 +1,4 @@
-import 'package:better_player_example/pages/welcome_page.dart';
+import 'package:example/pages/welcome_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
diff --git a/example/lib/pages/auto_fullscreen_orientation_page.dart b/example/lib/pages/auto_fullscreen_orientation_page.dart
index eed036887..ed083e60b 100644
--- a/example/lib/pages/auto_fullscreen_orientation_page.dart
+++ b/example/lib/pages/auto_fullscreen_orientation_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class AutoFullscreenOrientationPage extends StatefulWidget {
diff --git a/example/lib/pages/basic_player_page.dart b/example/lib/pages/basic_player_page.dart
index b7d96b17c..f8c969a4e 100644
--- a/example/lib/pages/basic_player_page.dart
+++ b/example/lib/pages/basic_player_page.dart
@@ -1,6 +1,6 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/utils.dart';
+import 'package:example/constants.dart';
+import 'package:example/utils.dart';
import 'package:flutter/material.dart';
class BasicPlayerPage extends StatefulWidget {
diff --git a/example/lib/pages/cache_page.dart b/example/lib/pages/cache_page.dart
index 2100d0891..64a6a6e60 100644
--- a/example/lib/pages/cache_page.dart
+++ b/example/lib/pages/cache_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class CachePage extends StatefulWidget {
diff --git a/example/lib/pages/clearkey_page.dart b/example/lib/pages/clearkey_page.dart
index 8e82721a2..9074e7f6a 100644
--- a/example/lib/pages/clearkey_page.dart
+++ b/example/lib/pages/clearkey_page.dart
@@ -3,8 +3,8 @@ import 'dart:io';
import 'package:better_player/better_player.dart';
import 'package:flutter/material.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/utils.dart';
+import 'package:example/constants.dart';
+import 'package:example/utils.dart';
class ClearKeyPage extends StatefulWidget {
@override
diff --git a/example/lib/pages/controller_controls_page.dart b/example/lib/pages/controller_controls_page.dart
index fe7e36c89..74c57a9da 100644
--- a/example/lib/pages/controller_controls_page.dart
+++ b/example/lib/pages/controller_controls_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class ControllerControlsPage extends StatefulWidget {
diff --git a/example/lib/pages/controls_always_visible_page.dart b/example/lib/pages/controls_always_visible_page.dart
index b9aca8eff..937aa00b8 100644
--- a/example/lib/pages/controls_always_visible_page.dart
+++ b/example/lib/pages/controls_always_visible_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class ControlsAlwaysVisiblePage extends StatefulWidget {
diff --git a/example/lib/pages/controls_configuration_page.dart b/example/lib/pages/controls_configuration_page.dart
index c3d650010..584b02bfb 100644
--- a/example/lib/pages/controls_configuration_page.dart
+++ b/example/lib/pages/controls_configuration_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class ControlsConfigurationPage extends StatefulWidget {
diff --git a/example/lib/pages/custom_controls/change_player_theme_page.dart b/example/lib/pages/custom_controls/change_player_theme_page.dart
index 3bb7b4358..5a3e7be6b 100644
--- a/example/lib/pages/custom_controls/change_player_theme_page.dart
+++ b/example/lib/pages/custom_controls/change_player_theme_page.dart
@@ -1,6 +1,6 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/pages/custom_controls/custom_controls_widget.dart';
+import 'package:example/constants.dart';
+import 'package:example/pages/custom_controls/custom_controls_widget.dart';
import 'package:flutter/material.dart';
class ChangePlayerThemePage extends StatefulWidget {
diff --git a/example/lib/pages/dash_page.dart b/example/lib/pages/dash_page.dart
index 1b1fbcf2c..ce967028e 100644
--- a/example/lib/pages/dash_page.dart
+++ b/example/lib/pages/dash_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class DashPage extends StatefulWidget {
diff --git a/example/lib/pages/drm_page.dart b/example/lib/pages/drm_page.dart
index b8fbe1fec..0aa74d959 100644
--- a/example/lib/pages/drm_page.dart
+++ b/example/lib/pages/drm_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class DrmPage extends StatefulWidget {
diff --git a/example/lib/pages/event_listener_page.dart b/example/lib/pages/event_listener_page.dart
index 3043531c4..f6b39626a 100644
--- a/example/lib/pages/event_listener_page.dart
+++ b/example/lib/pages/event_listener_page.dart
@@ -1,7 +1,7 @@
import 'dart:async';
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class EventListenerPage extends StatefulWidget {
diff --git a/example/lib/pages/fade_placeholder_page.dart b/example/lib/pages/fade_placeholder_page.dart
index 43976c743..467a284a2 100644
--- a/example/lib/pages/fade_placeholder_page.dart
+++ b/example/lib/pages/fade_placeholder_page.dart
@@ -1,7 +1,7 @@
import 'dart:async';
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class FadePlaceholderPage extends StatefulWidget {
diff --git a/example/lib/pages/hls_audio_page.dart b/example/lib/pages/hls_audio_page.dart
index 116223d04..a766e9030 100644
--- a/example/lib/pages/hls_audio_page.dart
+++ b/example/lib/pages/hls_audio_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class HlsAudioPage extends StatefulWidget {
diff --git a/example/lib/pages/hls_subtitles_page.dart b/example/lib/pages/hls_subtitles_page.dart
index 464dc74a6..3c1a1c0e6 100644
--- a/example/lib/pages/hls_subtitles_page.dart
+++ b/example/lib/pages/hls_subtitles_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class HlsSubtitlesPage extends StatefulWidget {
diff --git a/example/lib/pages/hls_tracks_page.dart b/example/lib/pages/hls_tracks_page.dart
index 757b58901..12e93be29 100644
--- a/example/lib/pages/hls_tracks_page.dart
+++ b/example/lib/pages/hls_tracks_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class HlsTracksPage extends StatefulWidget {
diff --git a/example/lib/pages/memory_player_page.dart b/example/lib/pages/memory_player_page.dart
index 702f772de..8ce1adca6 100644
--- a/example/lib/pages/memory_player_page.dart
+++ b/example/lib/pages/memory_player_page.dart
@@ -1,8 +1,8 @@
import 'dart:io';
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/utils.dart';
+import 'package:example/constants.dart';
+import 'package:example/utils.dart';
import 'package:flutter/material.dart';
class MemoryPlayerPage extends StatefulWidget {
diff --git a/example/lib/pages/normal_player_page.dart b/example/lib/pages/normal_player_page.dart
index 076107f0d..61549f3c7 100644
--- a/example/lib/pages/normal_player_page.dart
+++ b/example/lib/pages/normal_player_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
diff --git a/example/lib/pages/notification_player_page.dart b/example/lib/pages/notification_player_page.dart
index e5cd3365a..9d772c80f 100644
--- a/example/lib/pages/notification_player_page.dart
+++ b/example/lib/pages/notification_player_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class NotificationPlayerPage extends StatefulWidget {
diff --git a/example/lib/pages/overridden_aspect_ratio_page.dart b/example/lib/pages/overridden_aspect_ratio_page.dart
index 52203a85b..2dba62e7b 100644
--- a/example/lib/pages/overridden_aspect_ratio_page.dart
+++ b/example/lib/pages/overridden_aspect_ratio_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class OverriddenAspectRatioPage extends StatefulWidget {
diff --git a/example/lib/pages/overriden_duration_page.dart b/example/lib/pages/overriden_duration_page.dart
index f4af01a47..8a9b308a4 100644
--- a/example/lib/pages/overriden_duration_page.dart
+++ b/example/lib/pages/overriden_duration_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class OverriddenDurationPage extends StatefulWidget {
diff --git a/example/lib/pages/picture_in_picture_page.dart b/example/lib/pages/picture_in_picture_page.dart
index 6ff4c3308..9c58dc09b 100644
--- a/example/lib/pages/picture_in_picture_page.dart
+++ b/example/lib/pages/picture_in_picture_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class PictureInPicturePage extends StatefulWidget {
diff --git a/example/lib/pages/placeholder_until_play_page.dart b/example/lib/pages/placeholder_until_play_page.dart
index 4f857213c..533c567a4 100644
--- a/example/lib/pages/placeholder_until_play_page.dart
+++ b/example/lib/pages/placeholder_until_play_page.dart
@@ -1,7 +1,7 @@
import 'dart:async';
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class PlaceholderUntilPlayPage extends StatefulWidget {
diff --git a/example/lib/pages/playlist_page.dart b/example/lib/pages/playlist_page.dart
index df79c2194..54487cc49 100644
--- a/example/lib/pages/playlist_page.dart
+++ b/example/lib/pages/playlist_page.dart
@@ -1,6 +1,6 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/utils.dart';
+import 'package:example/constants.dart';
+import 'package:example/utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
diff --git a/example/lib/pages/resolutions_page.dart b/example/lib/pages/resolutions_page.dart
index f89dcf7a6..a5e6899c1 100644
--- a/example/lib/pages/resolutions_page.dart
+++ b/example/lib/pages/resolutions_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class ResolutionsPage extends StatefulWidget {
diff --git a/example/lib/pages/reusable_video_list/reusable_video_list_page.dart b/example/lib/pages/reusable_video_list/reusable_video_list_page.dart
index 6e826bfe0..c6f44992c 100644
--- a/example/lib/pages/reusable_video_list/reusable_video_list_page.dart
+++ b/example/lib/pages/reusable_video_list/reusable_video_list_page.dart
@@ -1,9 +1,9 @@
import 'dart:math';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/model/video_list_data.dart';
-import 'package:better_player_example/pages/reusable_video_list/reusable_video_list_controller.dart';
-import 'package:better_player_example/pages/reusable_video_list/reusable_video_list_widget.dart';
+import 'package:example/constants.dart';
+import 'package:example/model/video_list_data.dart';
+import 'package:example/pages/reusable_video_list/reusable_video_list_controller.dart';
+import 'package:example/pages/reusable_video_list/reusable_video_list_widget.dart';
import 'package:flutter/material.dart';
class ReusableVideoListPage extends StatefulWidget {
diff --git a/example/lib/pages/reusable_video_list/reusable_video_list_widget.dart b/example/lib/pages/reusable_video_list/reusable_video_list_widget.dart
index 5eb7fcff9..dbc93d5c3 100644
--- a/example/lib/pages/reusable_video_list/reusable_video_list_widget.dart
+++ b/example/lib/pages/reusable_video_list/reusable_video_list_widget.dart
@@ -1,8 +1,8 @@
import 'dart:async';
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/model/video_list_data.dart';
-import 'package:better_player_example/pages/reusable_video_list/reusable_video_list_controller.dart';
+import 'package:example/model/video_list_data.dart';
+import 'package:example/pages/reusable_video_list/reusable_video_list_controller.dart';
import 'package:flutter/material.dart';
import 'package:visibility_detector/visibility_detector.dart';
diff --git a/example/lib/pages/rotation_and_fit_page.dart b/example/lib/pages/rotation_and_fit_page.dart
index c90d7bb59..d68b650ae 100644
--- a/example/lib/pages/rotation_and_fit_page.dart
+++ b/example/lib/pages/rotation_and_fit_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class RotationAndFitPage extends StatefulWidget {
diff --git a/example/lib/pages/subtitles_page.dart b/example/lib/pages/subtitles_page.dart
index 2459e8b55..9f68ae3d2 100644
--- a/example/lib/pages/subtitles_page.dart
+++ b/example/lib/pages/subtitles_page.dart
@@ -1,6 +1,6 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/utils.dart';
+import 'package:example/constants.dart';
+import 'package:example/utils.dart';
import 'package:flutter/material.dart';
class SubtitlesPage extends StatefulWidget {
diff --git a/example/lib/pages/video_list/video_list_page.dart b/example/lib/pages/video_list/video_list_page.dart
index 7a8ad829d..da4fa89fd 100644
--- a/example/lib/pages/video_list/video_list_page.dart
+++ b/example/lib/pages/video_list/video_list_page.dart
@@ -1,7 +1,7 @@
import 'dart:math';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/model/video_list_data.dart';
+import 'package:example/constants.dart';
+import 'package:example/model/video_list_data.dart';
import 'package:flutter/material.dart';
import 'video_list_widget.dart';
diff --git a/example/lib/pages/video_list/video_list_widget.dart b/example/lib/pages/video_list/video_list_widget.dart
index 82b682712..014a3c5d0 100644
--- a/example/lib/pages/video_list/video_list_widget.dart
+++ b/example/lib/pages/video_list/video_list_widget.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/model/video_list_data.dart';
+import 'package:example/model/video_list_data.dart';
import 'package:flutter/material.dart';
class VideoListWidget extends StatefulWidget {
diff --git a/example/lib/pages/welcome_page.dart b/example/lib/pages/welcome_page.dart
index bad138ec2..d456b2c2e 100644
--- a/example/lib/pages/welcome_page.dart
+++ b/example/lib/pages/welcome_page.dart
@@ -1,34 +1,34 @@
import 'dart:io';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/pages/auto_fullscreen_orientation_page.dart';
-import 'package:better_player_example/pages/basic_player_page.dart';
-import 'package:better_player_example/pages/cache_page.dart';
-import 'package:better_player_example/pages/clearkey_page.dart';
-import 'package:better_player_example/pages/controller_controls_page.dart';
-import 'package:better_player_example/pages/controls_always_visible_page.dart';
-import 'package:better_player_example/pages/controls_configuration_page.dart';
-import 'package:better_player_example/pages/custom_controls/change_player_theme_page.dart';
-import 'package:better_player_example/pages/dash_page.dart';
-import 'package:better_player_example/pages/drm_page.dart';
-import 'package:better_player_example/pages/event_listener_page.dart';
-import 'package:better_player_example/pages/fade_placeholder_page.dart';
-import 'package:better_player_example/pages/hls_audio_page.dart';
-import 'package:better_player_example/pages/hls_subtitles_page.dart';
-import 'package:better_player_example/pages/hls_tracks_page.dart';
-import 'package:better_player_example/pages/memory_player_page.dart';
-import 'package:better_player_example/pages/normal_player_page.dart';
-import 'package:better_player_example/pages/notification_player_page.dart';
-import 'package:better_player_example/pages/overridden_aspect_ratio_page.dart';
-import 'package:better_player_example/pages/overriden_duration_page.dart';
-import 'package:better_player_example/pages/placeholder_until_play_page.dart';
-import 'package:better_player_example/pages/playlist_page.dart';
-import 'package:better_player_example/pages/resolutions_page.dart';
-import 'package:better_player_example/pages/reusable_video_list/reusable_video_list_page.dart';
-import 'package:better_player_example/pages/rotation_and_fit_page.dart';
-import 'package:better_player_example/pages/subtitles_page.dart';
-import 'package:better_player_example/pages/video_list/video_list_page.dart';
-import 'package:better_player_example/pages/picture_in_picture_page.dart';
+import 'package:example/constants.dart';
+import 'package:example/pages/auto_fullscreen_orientation_page.dart';
+import 'package:example/pages/basic_player_page.dart';
+import 'package:example/pages/cache_page.dart';
+import 'package:example/pages/clearkey_page.dart';
+import 'package:example/pages/controller_controls_page.dart';
+import 'package:example/pages/controls_always_visible_page.dart';
+import 'package:example/pages/controls_configuration_page.dart';
+import 'package:example/pages/custom_controls/change_player_theme_page.dart';
+import 'package:example/pages/dash_page.dart';
+import 'package:example/pages/drm_page.dart';
+import 'package:example/pages/event_listener_page.dart';
+import 'package:example/pages/fade_placeholder_page.dart';
+import 'package:example/pages/hls_audio_page.dart';
+import 'package:example/pages/hls_subtitles_page.dart';
+import 'package:example/pages/hls_tracks_page.dart';
+import 'package:example/pages/memory_player_page.dart';
+import 'package:example/pages/normal_player_page.dart';
+import 'package:example/pages/notification_player_page.dart';
+import 'package:example/pages/overridden_aspect_ratio_page.dart';
+import 'package:example/pages/overriden_duration_page.dart';
+import 'package:example/pages/placeholder_until_play_page.dart';
+import 'package:example/pages/playlist_page.dart';
+import 'package:example/pages/resolutions_page.dart';
+import 'package:example/pages/reusable_video_list/reusable_video_list_page.dart';
+import 'package:example/pages/rotation_and_fit_page.dart';
+import 'package:example/pages/subtitles_page.dart';
+import 'package:example/pages/video_list/video_list_page.dart';
+import 'package:example/pages/picture_in_picture_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:path_provider/path_provider.dart';
diff --git a/example/pubspec.yaml b/example/pubspec.yaml
index 6bd4dcdf8..7c92b5258 100644
--- a/example/pubspec.yaml
+++ b/example/pubspec.yaml
@@ -1,10 +1,9 @@
-name: better_player_example
-description: Better Player example usage app.
+name: example
+description: "Example to showcase use cases of Better Player."
+publish_to: 'none'
version: 1.0.0+1
-publish_to: none
-
environment:
- sdk: '>=2.12.0 <3.0.0'
+ sdk: '>=3.4.1 <4.0.0'
dependencies:
better_player:
@@ -13,9 +12,9 @@ dependencies:
sdk: flutter
flutter_localizations:
sdk: flutter
- path_provider: ^2.0.10
- visibility_detector: ^0.3.3
- collection: ^1.16.0
+ path_provider: ^2.1.3
+ visibility_detector: ^0.4.0+2
+ collection: ^1.18.0
dev_dependencies:
flutter_test:
diff --git a/lib/src/configuration/better_player_controls_configuration.dart b/lib/src/configuration/better_player_controls_configuration.dart
index d40bcf5e5..104d1b7ab 100644
--- a/lib/src/configuration/better_player_controls_configuration.dart
+++ b/lib/src/configuration/better_player_controls_configuration.dart
@@ -240,8 +240,8 @@ class BetterPlayerControlsConfiguration {
///Setup BetterPlayerControlsConfiguration based on Theme options.
factory BetterPlayerControlsConfiguration.theme(ThemeData theme) {
return BetterPlayerControlsConfiguration(
- textColor: theme.textTheme.bodyText1?.color ?? Colors.white,
- iconsColor: theme.textTheme.button?.color ?? Colors.white,
+ textColor: theme.textTheme.bodySmall?.color ?? Colors.white,
+ iconsColor: theme.buttonTheme.colorScheme?.primary ?? Colors.white,
);
}
}
diff --git a/lib/src/core/better_player.dart b/lib/src/core/better_player.dart
index 5396a9568..7160e9314 100644
--- a/lib/src/core/better_player.dart
+++ b/lib/src/core/better_player.dart
@@ -6,7 +6,7 @@ import 'package:better_player/src/core/better_player_with_controls.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:visibility_detector/visibility_detector.dart';
-import 'package:wakelock/wakelock.dart';
+import 'package:wakelock_plus/wakelock_plus.dart';
///Widget which uses provided controller to render video player.
class BetterPlayer extends StatefulWidget {
@@ -102,7 +102,7 @@ class _BetterPlayerState extends State
///full screen is on, then full screen route must be pop and return to normal
///state.
if (_isFullScreen) {
- Wakelock.disable();
+ WakelockPlus.disable();
_navigatorState.maybePop();
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
overlays: _betterPlayerConfiguration.systemOverlaysAfterFullScreen);
@@ -244,7 +244,7 @@ class _BetterPlayerState extends State
}
if (!_betterPlayerConfiguration.allowedScreenSleep) {
- Wakelock.enable();
+ WakelockPlus.enable();
}
await Navigator.of(context, rootNavigator: true).push(route);
@@ -253,7 +253,7 @@ class _BetterPlayerState extends State
// The wakelock plugins checks whether it needs to perform an action internally,
// so we do not need to check Wakelock.isEnabled.
- Wakelock.disable();
+ WakelockPlus.disable();
await SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
overlays: _betterPlayerConfiguration.systemOverlaysAfterFullScreen);
diff --git a/pubspec.lock b/pubspec.lock
index 7d19ee3d7..11837d5a6 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -1,81 +1,100 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
+ args:
+ dependency: transitive
+ description:
+ name: args
+ sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.5.0"
async:
dependency: transitive
description:
name: async
- url: "https://pub.dartlang.org"
+ sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
+ url: "https://pub.dev"
source: hosted
- version: "2.8.2"
+ version: "2.11.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
- url: "https://pub.dartlang.org"
+ sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.1"
characters:
dependency: transitive
description:
name: characters
- url: "https://pub.dartlang.org"
- source: hosted
- version: "1.2.0"
- charcode:
- dependency: transitive
- description:
- name: charcode
- url: "https://pub.dartlang.org"
+ sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
+ url: "https://pub.dev"
source: hosted
- version: "1.3.1"
+ version: "1.3.0"
clock:
dependency: transitive
description:
name: clock
- url: "https://pub.dartlang.org"
+ sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
+ url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.1.1"
collection:
dependency: "direct main"
description:
name: collection
- url: "https://pub.dartlang.org"
+ sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
+ url: "https://pub.dev"
source: hosted
- version: "1.16.0"
+ version: "1.18.0"
csslib:
dependency: transitive
description:
name: csslib
- url: "https://pub.dartlang.org"
+ sha256: f857285c8dc0b4f2f77b49a1c083ff8c75223a7549de20f3e607df58cf497a43
+ url: "https://pub.dev"
source: hosted
version: "0.17.0"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
- url: "https://pub.dartlang.org"
+ sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.8"
+ dbus:
+ dependency: transitive
+ description:
+ name: dbus
+ sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
+ url: "https://pub.dev"
source: hosted
- version: "1.0.5"
+ version: "0.7.10"
fake_async:
dependency: transitive
description:
name: fake_async
- url: "https://pub.dartlang.org"
+ sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
+ url: "https://pub.dev"
source: hosted
- version: "1.3.0"
+ version: "1.3.1"
ffi:
dependency: transitive
description:
name: ffi
- url: "https://pub.dartlang.org"
+ sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21"
+ url: "https://pub.dev"
source: hosted
- version: "1.0.0"
+ version: "2.1.2"
file:
dependency: transitive
description:
name: file
- url: "https://pub.dartlang.org"
+ sha256: "9fd2163d866769f60f4df8ac1dc59f52498d810c356fe78022e383dd3c57c0e1"
+ url: "https://pub.dev"
source: hosted
version: "6.1.0"
flutter:
@@ -102,147 +121,208 @@ packages:
dependency: "direct main"
description:
name: flutter_widget_from_html_core
- url: "https://pub.dartlang.org"
- source: hosted
- version: "0.8.5+3"
- fwfh_text_style:
- dependency: transitive
- description:
- name: fwfh_text_style
- url: "https://pub.dartlang.org"
+ sha256: df7c7c9e5ea144f7ab0adfbad733b4d4f7d408ab733c94e6e9fdcb327af92aa1
+ url: "https://pub.dev"
source: hosted
- version: "2.7.2"
+ version: "0.15.1"
html:
dependency: transitive
description:
name: html
- url: "https://pub.dartlang.org"
+ sha256: bfef906cbd4e78ef49ae511d9074aebd1d2251482ef601a280973e8b58b51bbf
+ url: "https://pub.dev"
source: hosted
version: "0.15.0"
+ http:
+ dependency: transitive
+ description:
+ name: http
+ sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.1"
+ http_parser:
+ dependency: transitive
+ description:
+ name: http_parser
+ sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.0.2"
intl:
dependency: transitive
description:
name: intl
- url: "https://pub.dartlang.org"
+ sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
+ url: "https://pub.dev"
source: hosted
- version: "0.17.0"
- js:
+ version: "0.19.0"
+ leak_tracker:
+ dependency: transitive
+ description:
+ name: leak_tracker
+ sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "10.0.4"
+ leak_tracker_flutter_testing:
dependency: transitive
description:
- name: js
- url: "https://pub.dartlang.org"
+ name: leak_tracker_flutter_testing
+ sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
+ url: "https://pub.dev"
source: hosted
- version: "0.6.4"
+ version: "3.0.3"
+ leak_tracker_testing:
+ dependency: transitive
+ description:
+ name: leak_tracker_testing
+ sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.1"
lint:
dependency: "direct dev"
description:
name: lint
- url: "https://pub.dartlang.org"
+ sha256: d758a5211fce7fd3f5e316f804daefecdc34c7e53559716125e6da7388ae8565
+ url: "https://pub.dev"
source: hosted
- version: "1.8.2"
+ version: "2.3.0"
+ logging:
+ dependency: transitive
+ description:
+ name: logging
+ sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.0"
matcher:
dependency: transitive
description:
name: matcher
- url: "https://pub.dartlang.org"
+ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
+ url: "https://pub.dev"
source: hosted
- version: "0.12.11"
+ version: "0.12.16+1"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
- url: "https://pub.dartlang.org"
+ sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
+ url: "https://pub.dev"
source: hosted
- version: "0.1.4"
+ version: "0.8.0"
meta:
dependency: "direct main"
description:
name: meta
- url: "https://pub.dartlang.org"
+ sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.12.0"
+ package_info_plus:
+ dependency: transitive
+ description:
+ name: package_info_plus
+ sha256: b93d8b4d624b4ea19b0a5a208b2d6eff06004bc3ce74c06040b120eeadd00ce0
+ url: "https://pub.dev"
+ source: hosted
+ version: "8.0.0"
+ package_info_plus_platform_interface:
+ dependency: transitive
+ description:
+ name: package_info_plus_platform_interface
+ sha256: f49918f3433a3146047372f9d4f1f847511f2acd5cd030e1f44fe5a50036b70e
+ url: "https://pub.dev"
source: hosted
- version: "1.7.0"
+ version: "3.0.0"
path:
dependency: transitive
description:
name: path
- url: "https://pub.dartlang.org"
+ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
+ url: "https://pub.dev"
source: hosted
- version: "1.8.1"
+ version: "1.9.0"
path_provider:
dependency: "direct main"
description:
name: path_provider
- url: "https://pub.dartlang.org"
+ sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161
+ url: "https://pub.dev"
source: hosted
- version: "2.0.10"
+ version: "2.1.3"
path_provider_android:
dependency: transitive
description:
name: path_provider_android
- url: "https://pub.dartlang.org"
+ sha256: "9c96da072b421e98183f9ea7464898428e764bc0ce5567f27ec8693442e72514"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.11"
- path_provider_ios:
+ version: "2.2.5"
+ path_provider_foundation:
dependency: transitive
description:
- name: path_provider_ios
- url: "https://pub.dartlang.org"
+ name: path_provider_foundation
+ sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16
+ url: "https://pub.dev"
source: hosted
- version: "2.0.7"
+ version: "2.4.0"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
- url: "https://pub.dartlang.org"
- source: hosted
- version: "2.1.2"
- path_provider_macos:
- dependency: transitive
- description:
- name: path_provider_macos
- url: "https://pub.dartlang.org"
+ sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
+ url: "https://pub.dev"
source: hosted
- version: "2.0.0"
+ version: "2.2.1"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
- url: "https://pub.dartlang.org"
+ sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.1"
+ version: "2.1.2"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
- url: "https://pub.dartlang.org"
+ sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.4"
+ version: "2.2.1"
petitparser:
dependency: transitive
description:
name: petitparser
- url: "https://pub.dartlang.org"
+ sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
+ url: "https://pub.dev"
source: hosted
- version: "5.0.0"
+ version: "6.0.2"
platform:
dependency: transitive
description:
name: platform
- url: "https://pub.dartlang.org"
+ sha256: ebc79f16b5f6b609aad4a5e63447d4795d16f7adee46e93ed03200848c006735
+ url: "https://pub.dev"
source: hosted
version: "3.0.0"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
- url: "https://pub.dartlang.org"
+ sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.0"
+ version: "2.1.8"
process:
dependency: transitive
description:
name: process
- url: "https://pub.dartlang.org"
+ sha256: c7b9f7d8a6ee4407ab4f8a7d4a951f8f5659c40df14c0924e2e97c32372e9b14
+ url: "https://pub.dev"
source: hosted
version: "4.1.0"
sky_engine:
@@ -254,114 +334,130 @@ packages:
dependency: transitive
description:
name: source_span
- url: "https://pub.dartlang.org"
+ sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
+ url: "https://pub.dev"
source: hosted
- version: "1.8.2"
+ version: "1.10.0"
stack_trace:
dependency: transitive
description:
name: stack_trace
- url: "https://pub.dartlang.org"
+ sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
+ url: "https://pub.dev"
source: hosted
- version: "1.10.0"
+ version: "1.11.1"
stream_channel:
dependency: transitive
description:
name: stream_channel
- url: "https://pub.dartlang.org"
+ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.2"
string_scanner:
dependency: transitive
description:
name: string_scanner
- url: "https://pub.dartlang.org"
+ sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+ url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.2.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
- url: "https://pub.dartlang.org"
+ sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
+ url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
- url: "https://pub.dartlang.org"
+ sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
+ url: "https://pub.dev"
source: hosted
- version: "0.4.9"
+ version: "0.7.0"
+ typed_data:
+ dependency: transitive
+ description:
+ name: typed_data
+ sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.2"
vector_math:
dependency: transitive
description:
name: vector_math
- url: "https://pub.dartlang.org"
+ sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.2"
+ version: "2.1.4"
visibility_detector:
dependency: "direct main"
description:
name: visibility_detector
- url: "https://pub.dartlang.org"
+ sha256: dd5cc11e13494f432d15939c3aa8ae76844c42b723398643ce9addb88a5ed420
+ url: "https://pub.dev"
source: hosted
- version: "0.3.3"
- wakelock:
- dependency: "direct main"
- description:
- name: wakelock
- url: "https://pub.dartlang.org"
- source: hosted
- version: "0.6.1+2"
- wakelock_macos:
+ version: "0.4.0+2"
+ vm_service:
dependency: transitive
description:
- name: wakelock_macos
- url: "https://pub.dartlang.org"
+ name: vm_service
+ sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
+ url: "https://pub.dev"
source: hosted
- version: "0.4.0"
- wakelock_platform_interface:
- dependency: transitive
+ version: "14.2.1"
+ wakelock_plus:
+ dependency: "direct main"
description:
- name: wakelock_platform_interface
- url: "https://pub.dartlang.org"
+ name: wakelock_plus
+ sha256: "14758533319a462ffb5aa3b7ddb198e59b29ac3b02da14173a1715d65d4e6e68"
+ url: "https://pub.dev"
source: hosted
- version: "0.3.0"
- wakelock_web:
+ version: "1.2.5"
+ wakelock_plus_platform_interface:
dependency: transitive
description:
- name: wakelock_web
- url: "https://pub.dartlang.org"
+ name: wakelock_plus_platform_interface
+ sha256: "422d1cdbb448079a8a62a5a770b69baa489f8f7ca21aef47800c726d404f9d16"
+ url: "https://pub.dev"
source: hosted
- version: "0.4.0"
- wakelock_windows:
+ version: "1.2.1"
+ web:
dependency: transitive
description:
- name: wakelock_windows
- url: "https://pub.dartlang.org"
+ name: web
+ sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
+ url: "https://pub.dev"
source: hosted
- version: "0.2.0"
+ version: "0.5.1"
win32:
dependency: transitive
description:
name: win32
- url: "https://pub.dartlang.org"
+ sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4
+ url: "https://pub.dev"
source: hosted
- version: "2.0.0"
+ version: "5.5.1"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
- url: "https://pub.dartlang.org"
+ sha256: "0186b3f2d66be9a12b0295bddcf8b6f8c0b0cc2f85c6287344e2a6366bc28457"
+ url: "https://pub.dev"
source: hosted
version: "0.2.0"
xml:
dependency: "direct main"
description:
name: xml
- url: "https://pub.dartlang.org"
+ sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
+ url: "https://pub.dev"
source: hosted
- version: "6.1.0"
+ version: "6.5.0"
sdks:
- dart: ">=2.17.0 <3.0.0"
- flutter: ">=2.12.0"
+ dart: ">=3.4.0 <4.0.0"
+ flutter: ">=3.22.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index ebfe24469..31b237d02 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,30 +1,27 @@
name: better_player
-description: Advanced video player based on video_player and Chewie. It's solves many typical use cases and it's easy to run.
-version: 0.0.83
-# Disabled because of warning from analyzer
-# authors:
-# - Jakub Homlala
+description: Advanced video player. It solves many typical use cases and it's easy to run.
+version: 0.0.84
homepage: https://github.com/jhomlala/betterplayer
documentation: https://jhomlala.github.io/betterplayer/
environment:
- sdk: '>=2.12.0 <3.0.0'
- flutter: ">=2.2.3"
+ sdk: ">=3.0.0 <4.0.0"
+ flutter: ">=3.3.0"
dependencies:
flutter:
sdk: flutter
- cupertino_icons: ^1.0.5
- wakelock: ^0.6.1+2
- meta: ^1.7.0
- flutter_widget_from_html_core: ^0.8.5+3
- visibility_detector: ^0.3.3
- path_provider: ^2.0.10
- collection: ^1.16.0
- xml: ^6.1.0
+ cupertino_icons: ^1.0.8
+ wakelock_plus: ^1.2.5
+ meta: ^1.12.0
+ flutter_widget_from_html_core: ^0.15.1
+ visibility_detector: ^0.4.0+2
+ path_provider: ^2.1.3
+ collection: ^1.18.0
+ xml: ^6.5.0
dev_dependencies:
- lint: ^1.8.2
+ lint: ^2.3.0
flutter_test:
sdk: flutter
flutter_localizations: