From 1293eac5c84340c4bdb4c9bef283de3e2710c7da Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Fri, 22 Feb 2019 13:34:24 +0800 Subject: [PATCH] Add a search view in MainActivity and add a SearchActivity. --- .idea/assetWizardSettings.xml | 21 ++++- .idea/caches/build_file_checksums.ser | Bin 533 -> 533 bytes .idea/caches/gradle_models.ser | Bin 296267 -> 303289 bytes app/build.gradle | 2 + app/src/main/AndroidManifest.xml | 14 ++- .../infinityforreddit/MainActivity.java | 84 +++++++++++++++-- .../infinityforreddit/RedditAPI.java | 20 ++-- .../infinityforreddit/SearchActivity.java | 88 ++++++++++++++++++ .../res/drawable/ic_search_white_24dp.xml | 5 + app/src/main/res/layout/activity_search.xml | 43 +++++++++ app/src/main/res/layout/app_bar_main.xml | 32 ++++++- app/src/main/res/menu/main_activity.xml | 9 +- app/src/main/res/menu/menu_search.xml | 10 ++ app/src/main/res/values/strings.xml | 10 ++ app/src/main/res/values/styles.xml | 12 ++- app/src/main/res/xml/searchable.xml | 6 ++ 16 files changed, 324 insertions(+), 32 deletions(-) create mode 100644 app/src/main/java/ml/docilealligator/infinityforreddit/SearchActivity.java create mode 100644 app/src/main/res/drawable/ic_search_white_24dp.xml create mode 100644 app/src/main/res/layout/activity_search.xml create mode 100644 app/src/main/res/menu/menu_search.xml create mode 100644 app/src/main/res/xml/searchable.xml diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml index 3c5b9551..626d196f 100644 --- a/.idea/assetWizardSettings.xml +++ b/.idea/assetWizardSettings.xml @@ -16,11 +16,26 @@ + diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index f6fe2a9577bc2bc3e6f0d9e2d428a730eb09d81b..9f603d1b3796f15f9c6121c5caba2e1acbb25325 100644 GIT binary patch delta 33 rcmV++0N($V1eFAkm;@6tYS*!xXaNy0k?0kWhP*T-`c$}Etdtgb+HVcS delta 33 pcmbQrGL>b*3>N<2DDjPRG8hG4Pw=mt@sG3QRIHYu+of2^3INZT47UIP diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser index 22d5243736f899fdd80592900594a61c9da48db0..64b76d98427aca2ad7c8a084aebde8e36fd6b79b 100644 GIT binary patch delta 21277 zcmeHvcYIVu_jl&ro82T^lMQUBf}sbJ-4s$FVW~lB2_W!Lv!u{T0--2KLKOrhu)y$0 zgiu7980tl7L1{h$1`wqP21GiT04jpOJ7;E{S@-$<@gl$XzZX8Avpe5&?#%a|bLPz4 z+0B0aZqR23f=b%gS8g8E-rx3GeNA&^>02|0Z|l*oOi`YkY}a>N!?aJ4^6H==&G3Ty zie=kf=jLXplj}rS82%(u(QZ32Kc{Yf(}vq)bMkzerDu-{A2KX&=(xe*9WuvcIY*92 z=rL?m&dAIjna(lkLwgO&oRDA(w}(eLoX#;hxjs{*(_=wC>R)g;CeO$0ZA|(M`tLr; z6-w{01i zHhbjY*ufd`wk%if@?f;gWuFz9`S&}B@a{B%b{diCjEs#MoE0}X#x^)IIyy2k-RaDT zj(0kpF-I<0ak0CnmvB_UR1~r;Y0HB^zX{!c){@!M6jy}GugK%=Q8@4@ zs#vFE92%K9#F_qPv$5lHa@VvmzWq-&!Usm71Xt-1b2EEXGkds= z{Dh!KnPv2;yPQ1b6=PX zwzo#L@hAW6+L~KQ+Q0CSt^>q#rCS->rZ3_-eEA!x%91c-biH^Z=La~V5vWh_d-<^50_bzX0@+V^h;hHGzp51zz1X{f!rZvfh@BSTDHzt4gz zCMvy2%;Qp!xY#`fC$%Kiu`!23;7ao#V&uND|dea zF2!<;dSfZF1D^|he_jlJ!mZY!M0Lp;^fuT|`=QHxm-A2p-u#i=92c&VHR}8g=ygyH zy|HC6o!z+34wR(!EXj~lW=i>v`+Vm2Y_@@kd?i6R4g$v_Rf?B4Rz5`^IvCnyS z*X0N0Shbc#x}kW6S2c%7VH%T1z^nIOkm8CcYwOCn7=Y7Wm0GB$YD)osGkJTLW+xp6 z7nDjCTyjc^P>0l)=KB7v=ci4iE1@AzF2_HC9fnVpaUer{e0(~M9plr|mDa5u9@v#c zv3@sco}}wYw7O&vop4IL9E~edr9qm`0CdAs-$2p0ti9Bw;pkz2yg_?ZNMAk^sGJCB zDu~`7{)MM*lIRtkwPV0m*8`tSV10DfcMs2-n3qH0Y;5i+9Y&LJ-Q7fM>m#*QyS^b= z5h}pQir!K0_L71Wl)a>%^a*N(ThAg!CGANH*Xu9I2(`squF5euWuW9xKO7+aEc<7t z-1mJ*SRvQSd(p0(Vu$+NDP>Cj*~!`3g@EIgtxz;fG<+#TijjO@!IiZY3aGO(r2r)P zhPndFqj71b)D6FXNQM%Tq|O{7<&e&Mot^>yL)hL>N?g($`C;=IsU^-IAvKqDA;35Z z7epd0h1Ix`QWGTUYPw1{w8A+%C*q%EohMO6&C61|-Vb`XCzPEuj#ncBlp3G)oH7YMTJu z3_J7+gBuN}X{3$%pVCMh0oE}fV)4qkI;5tj`RTagmA~;A7>*6e(NwvYFc`%bER73hHdS1`M7cw@ze7{BG$hz#iG-UBmioc z`4U2i)Wx0AU=fc?=SzX=@j_`A3E0V@*B<;m6^fUUR4^?jogDPY1d9IH5NXsCi>3Mq z9i`cj)=Ac2s;bi%nMFzfq-vIul<>`7Q#-6ZUOtG#qr6D!fQJ`J4k@5McKS=vDnSMz zDWI|1dbzZb%ny8bm9&w}BI@D7Z%~}-y9US?Q1S%mh`%l*6Oz1(S1Ue}xSyehp6-?Qqv@=BQs&ya(k^J!g#A(=BE6?JlagJw3pUq=i)I)qQ8gcs z&X7@hzS?ChzFS*~qs1LN4@vDL{}6onBw<6#ef7hV5n=N%S;5oaK#>4;Q$IN(-3ONx ze=U73`PIVqO(g1o;5CPYvA{2*LE+a|5 z59)&PhV&4%q_fzSay(WYeN$RYvNyTgy}c}ZUBoYryV5Wei&Jm2_p!LjJ?T#}dBF=f zZ93|p&ih5$K%8sVlx4FJ)~Q78@va9_YxFA%q2pH)!n}tN!as284N|`d(gH_Rkn}eF zKw=C{b-{1adeYD0M>Tq|Qd6*ku-o>SOq%U@>SriMt@DH=721WJPo!y>R2UMV6=bpR z^;8;0e7K`jzNaM)`P5I|frc`IDGNzV&iTtEFGga=`)GzrLiHFNKHMZ1p(0$iR*qg` zk)vEWmo+%gELWmpTJ#zAlUcnOC@%#2oGS8OR7|G~jh>?h+2|C8NE&rRRoR5l8hl{C zl)R)GNrZFNC7tRBkpp1zb*d>JMu~LUFdI>Tno>*dk5Fq|B1v=chr@_Dz_{F(r0KR- zWR-Z}c5q-1d_W;-3Oh1(&dx+! zYLi>2Q*AO-|5h8qhvTWUjx?(BSX`2^Yo*%pHm_%$rwM8JCI;DebL3sK`GHP)X6o?7vVCCqqrd@rnqdbrBo;Led4CReSg`#*o zzq1@o2-8IZ0M*__))2z5Bu&B9=aS(m9NJADK<2@kqIXv_zmlB=JOjnN*rSMZSjNb| z9yx=^Gi3sO2!x{@vV8e!@zh^YjLUq;M4ta%;K?$=Id*Jj-dO5HAoXHTR|^hH!7fYr zKY6xE4J28odx>%BW&|kPU+jj-egNA)mD`3BAHIO2@XG#jUHr;;iQepsxrsc4TJak9 zr3o)IY(&nO>>=ZvV=`bL3zPPRc`ukC(MN7_0`~&98!=|=U)$FgJgdM{CrWV;mlwRz zzwOkgc9*xJGqiN#w4QR3y0(WLfY3R0OHVmn@y-6sX8D0t_2MC$)8`^pAZ<4H47we^>w#^VnL$zMr+3f<{o+eETJUP_azla<&H78bIp zn26qhHHE(GpgtWeuOo%vYDMmS+^r_rE)6=2l5yi9au@VEt;w`K`U|oJdo)C@hEP{1 z%+X-h8BZK48`KrUWE<4+vQhFjbkn^b8cS;IAEQYfLU-MdE(F2(xw5b8(gU4)a|A}( zT=_jxN-`!)nomn1Y!}TF<#xErIN6R;*=863b^kaR{tcW`o9wS0Z^TsiNU2Gpmr*`W))aQER#2)UThy*CxGlU zYilJ9?ovd|`_hG(g2l^aU%an~WDnVmN8w^(s75ZA>8`e5rTh`P#x^s5od`Tdw_vaE z7AE_cXnIbdj#(o+NYt`E`u-G++RA%mh5J~ZgbslveeX~&uanIPeTB=ak$WR20uH?5 z3b{eL6@;dGYlBR;g1MXJ{is+aC2SFF6G)oIEZIud^6(PE@!4}Zk{zrZ-6F&Gr)$W> zhWK&{xx4a2sSAFxLyneoHr2k9#DolVpaUUEG@WswLo%x)cFBE7ERGkQyNfS1C$T8q zD|c4A?v)Q~e6vrVGpFFx+0fNNGRpLWawD>jfTtjp0QJZgf>sQiR#j?_%~i;zg**mL z15ZEwN?w7!!FI9%bd}$Y#=c+6f1uOkv3a68;TYW#JP%Y&Y>!g>t=t9|mXYZ1q(OkT zns8FCg2)6Xd!j^F%I$bp;!QIqTO!&}JD-*p!7!JmFF`#VrcfL%m^p0 z@wOcGQU~W3)8rN}{~?71k8+ZdKs@qNWKw%c7D-u4>+=5wDX8i%O{(xWvev!qozb1e zk1NQ|g7owfpHGkvazb#)Mb^(t`TBCP)cU1w>y=EIe#DjdGV@>z-lA7xfJ>{F>Lzn6 zU2UMFjxW>E-*zd_uE?LG<7}5g&xxB{m30W6#Ll&7DxP z$$~yx4Y&`FMtktdI?_UHv&zZ1@S)sNO@1g}2h)g0@+LHb)5v@9&%PkREQ|WmqX~g3@&*h*Ue=4QW$zDY{fNs+oEDqRz^;JkA{sjs# zJ#jIqUA0OVvSeJ^*JBhr;Nqv**sNE=C4ak0PKrh$@^AvXmA|xY*&)$i&1e-Hl`f=$ zUMN42&ib*{CZ`Mk3R3K75nH1vkW!OuC7uQ;Pl(%~KLWbXo5;I(^-3`5g^;&}DBDmJ zeP~~zA&Y09Y6^KEjfLYCvVHI)=erJ#dvzuH)@phUWhPvAv$nEL()qZLMdrxlNxGgA zqXyPdjO2J#QR~)KQhoK0N9*I#$x<%m`H%-fRjP%THBeqfkMX_+N^|n^YXc?8|8ai3 zA)CO+Rq$rhs-!l{3*iXT^jLN|;6adF9Oc?FCm2WMDIs`6LqhN|-qTR&PF_rn6dQSQ zG*ViVmuZa@hyUY84K^O2-Sr=8$A30b0*FT2Sos%uaW+6m?)cLOY@7Kqz zBB&!?k5E#`h07w8HcE}~z-j8`2xXmu`r>z^l`J#>S4Jy~%md(h>7D1~A9-U=!?`g^ zaP*hZ<=@IL#rT;RVkV7ume zr2s2%Y8xdu@B!5c_#vLsN@>>AP=gOJn=1`9IXF*%wejU1WYkyLAOdf|faM#<83kAe z*X^kU4-cg}0oUVg#X4@`^;~eAvJ9kL4c->jACdMGH#c>n=Ac+5z|I_8E5NR}vI`;C zo$BZZHq?KnUJOW`_hf-EPQmuBgj^4*6L3%7R;(k3{47&)I|R9%Yj%BN;O4rYs5y|^ zBfzU1EEV82h*yY3cZ(_oJKa58>QI8oDHsWnWrU7pfVhqYAKHqw7jF3_CG?FTRJOKI zUdPQ1B7x2bP$bYf0p4Sw^iCjyJAoScTz@W%D_AJK63Fn-!&@CX?QKZO-4Nt%Iu@;c z#(OdLLr@(F*Vf4(bGWiFxh{)rm+Nt})>A9;b#2<8tab2TK$IvmAl8VqL#) zvir#+enoH z-^AOB)#O|ePZ>oDMo}e=cJ$)rdf~1(0Sb4~8c(O6{t~07_x6|G?XOnxbw#G>%Naer zm&5d)4pYDQ{B26Flc3i*)-))dGcmTHcLUK(6<|vavQLC*bxmTa)`sdtG>sh?F!abf z9>xxuYJqL3PITOke0-<`x6crCGBfpW_TvVoxqRdi0-VReYyrN{ir7Lny1nY0!FL2W#U09NR4JUL zpT&T%$h2F+y1*UE=~OB38N97n?YEQfQhG}SJzUv4u7aBzL@0{{C_-5*z$7{`gSw{{A!CI>$kU~Lx4SE)`o z%hZ4Ydv9G9v&2+~g))@tL?88dTd^*;+@}@R_bWl}Kf|lp+Y56YH3xFv2vE;K`sGcw zC>j~LAgc2qSCs*EQ}aY^G?^(mhlT1y$HBavqxVbS52fnTZ zS8YnK0*)T5KscL)k!*BvO>+i3Sag1n0Bv*@4v*r)vwc!DZ!6XV%laIlbp8}{p1y7@ zYbSacLCpyd4HDo;4*CjkG$S{L>V&V1;~8-4bnirAoWsbCr8)uU@wQ@J7A$mhsK+EKXXJjO#-b0;%CB2{ zD29^jAjltOEtPL2CGCVjVZ~QmYXwvXPfs%@E$Pk(SzOLEe?tI13kdCbf*#*5Kh@rPb(J zT5TJB`cYqv7j!0^X_C30526!vCJRu|DG;E$^6R|$=-idR=zghKCUx%0uk)g(^Q2e0 z>uElvH($^zd@X8bd=bTxt7b{}GN?kaw-;iIAItwqmV$q!v9j&<+>mMr=BA)FWN{ zQF9@&SKhQl522-Vnbru62T=`?1uuh}XpqDAH#+h*NkUCRIL9E0g|t^!AZ+lK0FPjA&<8e zt50xa7Ruv-&WXdpm0fr*dL13KZ`j9zX;U@He6JRCwA#W?z@mGWCYU%g7Ak?Yj!vi|bU&l+V zUy1;EiS_F#Kw4tS3gBI1_3j$GFX~iHZmp*^maG6?MON=wWM7+cd=L$1x}cY_aY#S0 zdK$vGYliZ^4NW;XQh?#CrbSYnaF?Mu1DYImekqJ?tfoa#oq(fxTd|TaZ&ah?7722T zZ-%z)$jyy&sW}Am0|CzC;Bo=J&nCh`suSdlOBisfjqfsHT*xMZi|Pcth_@AMt*VD; z!S$OY$W6|wzu_h~*Rgp7$T$2t6JN~zjth`4=6)vyIFQwU@3q|IUdtcX znenGEPGj}oYbiH*F69voZZ)L7Di^-Gd@Q-(E8dH7BX`R+0dC@;I2AK)W_h;N%U8yo z40w2?NESVmusqvFbpqbb+lsYMQZ1Hee+Y7qxAwRyJg57TnnNJPgNE+lU!cDjkNimm z`;_88R4F2Ta( zHFg2+;b4pa_pwa-g6f33OotiJ?apD3y-F#~GzW`@=z|3U+KTm;NMj`>*G`aYKO_J8 zhuqv)1D|w~j{=M}IiIdVS(_!-t6qGJ4H&TWZl|-txDHFMP^uGfJ>FKVrz(GmpnL`h zJ_D_`!cVxlX&E(#c&7`nh=bxt!?c_^YZcXbIBP8fN=p9FiXMvDv|LSf0$#)0inYm~ zvuNh~ivte-3C*TXL{KfJv;v>f2DIV5jfEfUGSc?+I%Mod-es zwp1zbb~tS?DPr`)6I#Ty30o(fI?N4pJoB}!1jsXA+g5pU|b1;2F!!l>=egQ@KiG^LiuAs+Xawl`;D;{MY16JQbxrnkFHZg+JL{^_bP zcCcW2dCSy}drz_Mk8e&3n7=p<@-Lio{Y;YRWdt>cU@j8iNDeL);Al!NXbjbfSenM; zv07xW$iLhMGmPhZz zH@Fkue{8p7!nm02d%P0g;FSH{B(uw*4S6g`x(lJOQ0r8}jT|(f6Mm z{6m1xSYRbahT{ee1BOP;TrEH!7Fe0;1g!A3VpXy_(|il?_L!OoDyfRHw~#R-QYjfFOy>O>zIyscPo?_S7! zmmvb1qvk-amjH`6*jIqd>6{H(MRkIlaV<_6PU>4Ro29Gy@U*@e*YLJt zUAN9Mg8FKhpfh~Y>JFuR5dGJD#rlW+(jiJt9N7kJPygbeII=ZOqUJzu7w^L~nS*--IE8s` z8r2DMrdbSlGSp+?G8Hh-O{Y51#|++9tf@QuzDLP@Ey8;2NN9WoH`i~Z=0L7YfSWk@ ztpGQ>vu-O@3U>OP45&LNIYL;M(5ws6Z=*_qZ^w?&WXJZCAawPsJ>PhQlHCswy1}n9 zu$uz#jsRz|P`>NM$M8M_R@ZnWHf)C3ER=KqPRB5hw-xJ}dn>z9Z#@y@{!G8P;4?m? z={7YdJaj$+yu(3p7HPW2LV2I+gtJV)F~Abp*dcnTV4-|Kbpn3K+luw~Rhy%Lmd?V- z>4LxNb+?$cPkFkXG?W(I=ZuW7-iIAIq@e9$B}2EH6JU>>dw83C zIquY}TPPv%T&HXLj@ENibb*g;<3kvK;9#@>FVOt5{I}h@$O(vI7F~`xYI*fc_%IY$5Vb%+A7=QDuNl7WYldHvFgFCz z7(_D=@WT*hJBTO{@DmZ{SP=0b5<#>8K_3K7kNYelKU&F}nr;%TwA-{K^#hK%jmdZQ%L#E)5#*wcqZ`y)$aq4&_IDZ0M2p%%O z3F0jflR!)c@ivGlAo4*#l+9B?Oan0;#0(HKLCga24hV3zc@BtoLCgg)55#*Q-Ul%s zL}9Lx$OZ6r35aF5B#Cf>Y&S0l@i7QUbn|B*z5wwxh;Kn$1aS?-FCZQf5r{wpfPlCJ z)&v2b4-5wZz72GMcnw5%5dA=8fPkO<2^F|(#T+`nq`PQQ~kZj8LM^ukkel|&pKqv&yX zzETs>Kbo-UExq7^bPx=wVd*uZ%uFAWEHG8X-%(hS)TQ|fmQbc@o2Fz)0V8NG2j=pl8{IuA;d1BRkS6clu%pIQcI#}sS+-k+C!C~ zB}H?nTB5{KdrMndTa}6}p{3R0_dGM#%>CWZ`{(=q_xj_xcfQYaX1?dyX3lZ5vn1%d zIYCA3>(b%I_djgwRM!+s-*~Ta^tN8Fo}x7J$gk&F!3r9>txYB)bbizM?`}JvRnnAn za-C@0c-x`*@6_D(zVRT?_1?)ou2V;9(AQYfXRP2O62C3{)ZNOCm@$>6(&`|5Vvk*` zc#D;sBk?T#gw~FY{7y4%E4aaYOtftMZJ%N`W&x-!zo#>o?2LLH$d|) z>M`unueuLAQcP^y(*IfA0Q4X2jhZPY%&bq^8RKe^Kck7iG3*smfRhe-ZE-iD9$lif zGv>ZdHv0t7o6iZ+vIjrEQOv@hkk%|9Qcp2T2a!+zw}I{Y%RjQ*FfbT>P){}f9!7Q{ zugM$s1hdRqT0HBqOiOaTyV7PPO(0EuNNZ!nd*sbfFnKonRdlZuccoRea_;NA(@*+$W@II_H zc4aX8pcZM)0yYt|@yj}aWF)eaffxm)1d5X(w0j7J$-sZym* zM$=cdJ({I50G1a}gt73WdbBHjp_w^ehMb$wUkf%>K}|Kb-~f@DR2DEmGm+XXy_Ftf zwbVe1x+vn4_$t;HC9hH7TQuJj_gtcF>S zW_csD1fyrRmaRj2?0!qTqQRxBMr)fjddHQ1H`*0`s-00fMx#Wd6|SQE=;F7v<~V)C zJKA2&|GEJSZz7t1S$-^O&*pd4tSn~|q-6LcZ4C8EZ2fBOM{I9@y%oBUl3 zlL@TreVv1b<3p{E?vwcYd`l@ydJ|G^^heqhvc^RYMB~>)W58U^kC1h)$b%e6aP8h1 zAZ{Pj2}YlJaQo)O;_P)95N5(^wgY;}i?r4(exVj=HT?-eF+D)>h^5?ruDiZa3-UGn zjqtxL;tDY5myC32zJ!QKo1TEyS4ZLFI$a?wM37C-SjjdqRR?q8i%-qB_|h3`0K=MQ ze=gD*lIm<8e%Vz;(> zWr%YC%~b}EdDp)qBXwgH?v z#{6;}yffG8)1bh9uxyLgl5`dxL%@IrK_G>VlrObdShjby8BN*f+hExyjij)@zJkO~ z>8Z!^p|P=83nJ`jFEP$wqc(u!!LY5dbB8t;vf$>*dS|grAPb-^vxDDgsRSlysX^$m zPv`E|oP@N+f^j1Od!b-_63>3JYBAn!92@N;?81Vl*$Uo^Yq{r`~QIS01u3~t(C$D(28N{Rp4F< z?`XjU;tnm4Bk3ZN%mr z%*vmTWH$0YViD;LM(vI7G<^d^X7S%I_7Xj(ho7Fv?wa&i=woAsBX>VNft}n)e2itj zx=zR}mQqS$*ePGV8!OM#quAchq2=b8^gw@EMIGG*E8RQyU=m-67f?<^Ff=#R+Y$?I9|nwv5aMvv zya=s6NK0d#?T{D~CPNY=&e$C62 zS$QkX!NT`~8{tHdYV1nTm%@Fu+1MFxA| zWD@3Y5(~Hn>66((Z)FTj)$0>7l^+;b_$`ud*gNR2V-Fb7SwBp|_(1@>O-JL)E_zKu zs=2ZXdHd;T^ysEzK^Ok`Qkf{|q9iB~XHUH`*(eGc0b@r`9V%xtFWlmn^j_4QIQ_%2 z7)hDs_0it~W_;g)@2!ou`sx%(@l9=CBx%F?M-Yoq-cLV@mCDiDC=jJ6I5L;2fOgLuzIacqe`JNFqi-=*o z4MnT@o)h~~-gvzOE1E$ZSg67%Ogj8jxC+Qy>?@rbu zz`?y6C+pn7u7am+S^Zo+h8WzxFita|RoV#I#oY@)3hOpq4_g1$`{2SvHu3}gOHxBP zGT>ua?voGoFhXjx(O04O=UhrQn$OYe!Ww1yYu1Q{0Wk|?&GYmo?8H31F4@nID-tvY z&)4D1Qp(0Oguc8l1PR!ywYs`3&-4ZeFC0MSqzo>y^*_EpGe4$ z;L;p%#wh}&af^W?&54!Ht%;Ti;X3t~KWnpGk7UP}=~0@`NrNoc#}duwdwwI&)e-EW z31S9W5iKDjYo-1gx^vHJeJzP(fuBR>Px};h<>PDg$0WuT`H+vn`PJdtc_FZ)fjY+6 zxK@t?>c96{UBLF-gz^qAgnlqoOaR|wSw$gCFajqq!Z+$Sfb=Hcs>w*2w{dt}h+|VW zL!Yf9&JX}3v3gtde@O#zC)alu8g`6YUiv2zzT3?_Onw|cf) zPi7bIK5xFyu>|A5ZfL&Xrp_hMZ$^rQg@)GNcz?eRr-`wcud~Irf-r+^5e_c+G+6DR z-W0Fwa#-K3`9Fmom&o!CgW{tjdILf+nz&Y3%q}hu)t!J!I)4o*a1G77xW~ zzv|7%3YN89k8uV3+k##ERsRRhnfw3`PtDOr@+EyE(!6yQ3SfrVCL(^*<6UhY_!wc= zbO#|H0{2-4G-Q9Ql&^2H9nvJAVL7{fEM=xaFa#?r>Zy>r8dPoXuf!mcJXPZw*^#@=W8W~4Aurw7PD z-nYtcl3AxhA zyAH>$yx)D;$HCNQfaeNu&B#!?8H$uY*We?&(LId9nLEbFs6yLdP!?3DC1j^4A2=mD zSkY9{!hqK;u)XePC6j?L-%yqALQRSrDjQvwuF?FSVJXJ2oWp?3st0UzmUWa&HlEg} zU!&E|#`H5XP}D1&Oj;S=HGz!>JaxJWor(`7QFvf!Wqj3)c87@l`gZIbtieQfuLVtD zxluHheOVJ0NRFZ@M$;BFfIxEaqYog-?5#lPF>vgO$&aONjMx}D3m4tpif+^VPk>*N zjG{Q&4xUoau#5&U>#9U8mi3RPLB^!k^cW?DEG?OKHWvsV%pI(_?Xg;gC*@~DvV62G#)-uQfVxFyqikf!^a-+LEFpnsubn*214BHk=_YiEstvgs~4g(wd;$(2*vX3+JU> z9mMZ*{=B*txN{mT?w?ifMAN})R43Zjbh^fgV`MZ-c~1*Aj&`ChO8i*=?sN$BN_h7c z!mNvELzcG`4!iaqv`dl&r_erl2LIqofE|Y(?_dammh~&NZlm#=6$Gh`q9zDStgCz7 z#%zBN`T=eI-Dh=Kw{&`(ZW-CFh&{`rP8O3vH_%N11#66}8MN3$QrVI|v|-~7?`V~p zzYEvXk$km4_-fxMLHn&fYBHTTbsQMXz{Wo?a-Yv8gcaQlJXcUIl)R^umI?!(`je z0$!sba6$%mg=BjL#wP9*XQ9pxU3S;!bWSKbCzBVgdny;PhjI33{k;OKNbpAmRux$j z&UGGHQ%3;Rr~PbJ#?^V&WY^?61=o^e>fEqr#1l^Lx*~UDoi^r@G`Ec5=1A_20>?^F zWvOMHJCyHorDA89EP&o~4-8UMOmK&CB3CMWk{nZ~BWqP067#7f>G_bN24D4-=2jU> zACm%QD1H1D$U_N*;2le=yX4x$)qJL`d1Rpwyh3aB46U*M>nWUGn4(vurDH&xoW}MK zzZ<-T8VYh5CcVtsYhO9E&dm0701?(Qy@AsO&CVeKi$ z)ERjz?G9)3hGI0h;+0nAavGbNnU>l7RNH394{yON-c zFN!X4h3gc2RgS51W$=C8!hD!=)hF3uk?ocF5pIsITA{$B5?rmoV}jf%uJa)Gg8*t~ zj2ozoPY80SxlX}n(s%9T6uBoij`+sQSsb(Zy+Bw^M1gZ8 z=%c{7qMPM$o${PxkpONl9$Ku7=kacqy@2Z!yiks*)3WYh4AL@%NOGnZMw#+nljb(D zt)Wer0>$2jU^N9!7CD#WMb0)u04twvxTTDzik!=pWJJzQmt*RD$+VJ()zn0hYicyx zsrGcc+y_jNa%#KW2TU;vOyFS+^4=xj+MkY1hN?%DYxHdT6+`zlq@X@9oS z;JtDYODE1A-O^csoh8^^f$nXAf$wP{$~+khp5E7dGL<(NA6?RYYc z(|cXf>))xxRF4f(g;I4UhYF=?(T>R?&%8tFaECHUukui`a7-0><`qhZXDGK%^?Aa{ zjaTF*{1EYlIzQW%@OweuO_EdFmP&A{0+)+CE8sfiI@?+SeCwM3Oc}2fdA6GC6ud@` zsdGWiKkjjIA1iY6+8;ZrJZF*Z!?aM&VUg{_l&?VEctaaly!(g6-9Khu9Poj%=AAcq zxW%i1SUej@laASSIla#my>-u;jZ|BaO*N2>a&DVyAe$99SNP7mf!N#)Bsl5E=E`^; z_g$b@1FOAnfUkO#vc>Z`kaIs}nIL?ZEXXK4RRAqon*UH>lJH%MBqMgGwsK6Jl|mYd zz^a!AzROEPD!R#8EI)H|;;U_S}&R^V%5JILfZ#m@1D0M4XdQ^x>D zf3Y28ah;lDpd3?Y>3k!SlRKu!9sl+4F^?0*5pIs;&d51zMgn>(m@)*r_ql(uOHI*{@{G4wMFV*InWIZ5)wQg$zxk}eCOh4AgtFH{op3+wo234e*o zLu8S;w1fSUI=#u>|84_@7AqN?fO+X`=#YRGRgzGJYz08sRz#+cY_* z&Hy%-zX9?asC+l*X6=NI(%jyOnlEBmj;XU+<%7K8`gKy|IuEJ4Q9aOER&#SC*F(->StG$-3S8@MxP@G)*jYXoz~XB6 z)ltf_&fRb~aHX1Mqa0Ib^5C*G9@zI3y~)=vrK*N&mHUC;bUBAr?gxIe6zJX$tls;9 z)x96o^B>woS&RK3$a+Q65$BMrY~MRHB!00XlwYSbR6U(L%=`lMmkNc$UxKSxX$aM-1l4I&@Uazb^_tR!YYs;~;oFmfQK8!`a z14lG_Hopw%?NG`QBCWhTnBCpM{yel?SH>enT6r}vyJrLIlT=Nl)gi^_@YY_}l$$II zB#+~AYRf_io>t%@o>sw@Pq>k8~A!7>HD=5F}jTesD{bzdv(cUW2XcQ^bjNk=4-=iZ&Muj-qe-am@o z;}O3{z9*+~43kXMgP21G)2!m-7$FW8-obRZgW2PDsoK#TBYAQS@Cv5GGnn_H>=j7M z93;t^gJ(>;u|krw$s#m|Do_@oxhhM6Gd&yjI^?`}_1WCj_sN|uKdEbZ^@U`66`$>@ z^dWVgskqmi(`u|}HE~AdeIaLY$i8Y;Z!#R6pF7g5-efqs3ZHrRRfoH;78U*DtETNP z4r3XT3=gQIryNsfqyJ{{0x+xh8s_#{y{@bO>VeTxaw#q(XR_`^eR(HO6w+pMg zT@3j$^kX%Jo#$JSHBizK`4+^AroeH`S9;6WZ|i$!)N`Xn7J#o!&SsGX;HwU97Iy(y zybHkME`ZxFf2AC55e1NG@hSj|X919qNxW6~hAVnCgQiyVcrEzP^SJremGtb7CD@Ri zp7p%1R^q7Y6b>qYo*} zfohH_5*(tysyxSn!nw|aTpd<44cb_BQHeF>@*=Bh$uV_at30DNPkHsm$2_5Yju9*u zvB@@J_IPSlZDJ}59QC{sy&Hth-5|_w_c*2|9_Rmf32srA3GPZv=1RrRnkoRc)37S*BzNae;Yx+Km1F8G zoaV^lA>E_s?Y()R+ahItgqtHhkAvq?2_90G?vu6k6jyrC`#}IhTg?1aS-Vfx*3(?6 z@H28uopeZ7(Z|jydOtS)d%nj5&1`Ot^e(75=15SzShmh}doPbGJ?JeGK=g;5+p8(& zxxKf5D;2&_j;S-N_E&=5T}AKSM^AQ-ljauLHp~wcDBFhlkplm7)AQ~gR(JO>uiv50 zotCGZUZ&NneONu)hpTw&GbHA3lJxw2*L7Q>9zkpk`Q4z6dX};^lAwc;@z3iuf}_f9 zwrBx_w!KwP-i56h@(Rh0n)hvk#PGD1pM@;oM6t6`fX#KJBniE@E9GS58#m zQVFIgaJf5(1zf54Sl0^R$+04}lUrBvAojMd=1Mio8abv;eaQ;`Kb!vPieARaiE~4w zxqT-$M{lVYX7;aHCOClI%Asav&V`fDKEXg;c0d5{ZAz@Iz&*lYC6a+~*nT;t&WY1X zc5#OdQ;f0`cE_s5Xba=!$Vk0fu~m_vI)>P)qQk=KhjX3sm#vNfDj&PiQl9o|j;ZsX$cqO#IrVPVfBK;P2h_V+hsya`at?>ec@N7b;#lUL`3`sH|2x!Ur*bqC z`?*)IJ{vb`ii*+(p|j9(ML zr!W4kPGz>?&zRj7kIqcTq1d#kaIXxVV+UoauG`J zx^%efGB~PXvNB#NLg`hO4$rcDv}SV)PL3Zv_&Xo}t4Dg@sUl~w2v=h$uPbo6WUQX( zEHij0gDoElPburUEbk-eVzYSghFip5r_^Gb!!i7_>`W~lM1Ou_6oejs;Olt`Qr>zh z=dep}Su_PM7pEX^Z`s}6I#bbYgEC&pTSlOlx9n@!hjVEYQ!QX;X=Hpomj;t*aivYm z#Q*-NKQ~Q9gAOQqqZo-|DvEh1R-)L9q7=nB6xUHa1YtFyz`s+q)D%9mNn76Hv@Tk&j{>ieeO{D9)j{ zj^ZH*y9q^Q6!lQVf*5Y^fM0u~7=mH~idiV~QLIBzjG`39ITY7XJOtq|p{R_a9*S5L z9Z>W}F$Bc~6ths|v*h_Sr1A#*z6r%wD0X4g9EB`KeS~ndedfg zKo!sy_4iOzpm+d+yokj`UKt%&IP@_~Sp|Oq27mnM%l78c1X};6dwcMgu7&i%uAe5e z(~JgB3&6iK4nW5Q)JM?(MMD&gP&7u-1VvL6%}_K)5rHBSMHGq_D56ospg^+Ia}fG32;CFZ4FzU!&;S%eQH((`3B~&;=Au}P0=q%bdbZa^tNR8Wfq|tF zD|kh#TD*w%*QUh{c^Dy1+5f-0fN%bvb{8nRkZBuW70>R1(bSEOHN5@@yO9Dwzhnl{IYSfYIL`KR46;i+r~16Z%MVJY$QNP*)Sv!~WIkx_^03 zuvRqwd!GRR%CTLroZJ{La-W@;OX2TTmeK~@?Qa9(^&9=5`+x-mqWC|nho1`I4?96v r8tNzfLFWzAGRokOQ;d}>=o^~9`>9}DrASvv^F}PTfad5yPv89?FKQ96 diff --git a/app/build.gradle b/app/build.gradle index c7388dd5..9dbee2b3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -37,6 +37,7 @@ dependencies { implementation 'com.google.android.material:material:1.1.0-alpha03' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'androidx.legacy:legacy-support-v13:1.0.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.1.2-alpha01' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.2-alpha01' @@ -74,4 +75,5 @@ dependencies { implementation "ru.noties:markwon-syntax-highlight:2.0.1" implementation "ru.noties:markwon-view:2.0.1" implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.16' + implementation 'com.github.Ferfalk:SimpleSearchView:0.1.3' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5d815b6d..0d43f71f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,21 +11,25 @@ android:maxSdkVersion="22" /> + + + android:theme="@style/AppTheme.NoActionBarWithTransparentStatusBar"> - @@ -47,11 +51,11 @@ + android:theme="@style/AppTheme.NoActionBarWithTranslucentWindow" /> + android:theme="@style/AppTheme.NoActionBarWithTranslucentWindow" /> \ No newline at end of file diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java index bbd6e60c..3aec9917 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java @@ -1,19 +1,11 @@ package ml.docilealligator.infinityforreddit; -import androidx.lifecycle.ViewModelProviders; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.graphics.Color; import android.os.AsyncTask; import android.os.Bundle; -import androidx.fragment.app.Fragment; -import androidx.core.view.GravityCompat; -import androidx.drawerlayout.widget.DrawerLayout; -import androidx.appcompat.app.ActionBarDrawerToggle; -import androidx.appcompat.app.AppCompatActivity; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.appcompat.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -23,6 +15,7 @@ import android.widget.TextView; import com.bumptech.glide.Glide; import com.bumptech.glide.RequestManager; +import com.ferfalk.simplesearchview.SimpleSearchView; import java.util.ArrayList; import java.util.List; @@ -41,6 +34,15 @@ import SubscribedUserDatabase.SubscribedUserDao; import SubscribedUserDatabase.SubscribedUserData; import SubscribedUserDatabase.SubscribedUserRoomDatabase; import SubscribedUserDatabase.SubscribedUserViewModel; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.core.view.GravityCompat; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.ViewModelProviders; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; import de.hdodenhof.circleimageview.CircleImageView; @@ -56,6 +58,8 @@ public class MainActivity extends AppCompatActivity { private static final String FETCH_USER_INFO_STATE = "FUIS"; private static final String INSERT_SUBSCRIBED_SUBREDDIT_STATE = "ISSS"; + @BindView(R.id.search_view_main_activity) SimpleSearchView simpleSearchView; + @BindView(R.id.transparent_overlay_main_activity) View transparentOverlay; @BindView(R.id.subscribed_subreddit_recycler_view_main_activity) RecyclerView subscribedSubredditRecyclerView; @BindView(R.id.subscriptions_label_main_activity) TextView subscriptionsLabelTextView; @BindView(R.id.subscribed_user_recycler_view_main_activity) RecyclerView subscribedUserRecyclerView; @@ -111,6 +115,52 @@ public class MainActivity extends AppCompatActivity { drawer.addDrawerListener(toggle); toggle.syncState(); + transparentOverlay.setOnClickListener(view -> simpleSearchView.onBackPressed()); + + simpleSearchView.setOnQueryTextListener(new SimpleSearchView.OnQueryTextListener() { + @Override + public boolean onQueryTextSubmit(String query) { + Intent intent = new Intent(MainActivity.this, SearchActivity.class); + intent.putExtra(SearchActivity.QUERY_KEY, query); + startActivity(intent); + return false; + } + + @Override + public boolean onQueryTextChange(String newText) { + return false; + } + + @Override + public boolean onQueryTextCleared() { + return false; + } + }); + + simpleSearchView.setOnSearchViewListener(new SimpleSearchView.SearchViewListener() { + @Override + public void onSearchViewShown() { + transparentOverlay.setVisibility(View.VISIBLE); + getWindow().setStatusBarColor(Color.GRAY); + } + + @Override + public void onSearchViewClosed() { + transparentOverlay.setVisibility(View.GONE); + getWindow().setStatusBarColor(getResources().getColor(R.color.colorPrimaryDark)); + } + + @Override + public void onSearchViewShownAnimation() { + + } + + @Override + public void onSearchViewClosedAnimation() { + + } + }); + String accessToken = getSharedPreferences(SharedPreferencesUtils.AUTH_CODE_FILE_KEY, Context.MODE_PRIVATE).getString(SharedPreferencesUtils.ACCESS_TOKEN_KEY, ""); if (accessToken.equals("")) { Intent loginIntent = new Intent(this, LoginActivity.class); @@ -265,9 +315,21 @@ public class MainActivity extends AppCompatActivity { } } + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + if (simpleSearchView.onActivityResult(requestCode, resultCode, data)) { + return; + } + + super.onActivityResult(requestCode, resultCode, data); + } + @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_activity, menu); + + simpleSearchView.setMenuItem(menu.findItem(R.id.action_search_main_activity)); + return true; } @@ -292,6 +354,10 @@ public class MainActivity extends AppCompatActivity { if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { + if (simpleSearchView.onBackPressed()) { + return; + } + super.onBackPressed(); } } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/RedditAPI.java b/app/src/main/java/ml/docilealligator/infinityforreddit/RedditAPI.java index 39344b73..95d0f173 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/RedditAPI.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/RedditAPI.java @@ -3,13 +3,11 @@ package ml.docilealligator.infinityforreddit; import java.util.Map; import retrofit2.Call; -import retrofit2.http.DELETE; import retrofit2.http.FieldMap; import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; import retrofit2.http.HeaderMap; import retrofit2.http.POST; -import retrofit2.http.PUT; import retrofit2.http.Path; import retrofit2.http.Query; @@ -53,15 +51,21 @@ public interface RedditAPI { @POST("api/subscribe") Call subredditSubscription(@HeaderMap Map headers, @FieldMap Map params); - @PUT("api/v1/me/friends/username") - Call subscribeUser(@HeaderMap Map headers); - - @DELETE("api/v1/me/friends/username") - Call unsubscribeUser(@HeaderMap Map headers); - @GET("api/morechildren?api_type=json&raw_json=1") Call getMoreChildren(@Query("link_id") String linkId, @Query("children") String children); @GET("{subredditNamePrefixed}/api/info.json?raw_json=1") Call getInfo(@Path("subredditNamePrefixed") String subredditNamePrefixed, @Query("id") String id); + + @GET("subreddits/search.json?raw_json=1&include_over_18=on") + Call searchSubreddits(@Query("q") String subredditName, @Query("after") String after); + + @GET("/profiles/search.json?raw_json=1") + Call searchProfiles(@Query("q") String profileName, @Query("after") String after); + + @GET("/search.json?raw_json=1") + Call searchPosts(@Query("q") String query, @Query("after") String after); + + @GET("/r/{subredditName}/search.json?raw_json=1&restrict_sr=true") + Call searchPostsInSpecificSubreddit(@Query("q") String query, @Query("after") String after); } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/SearchActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/SearchActivity.java new file mode 100644 index 00000000..51099a9a --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/SearchActivity.java @@ -0,0 +1,88 @@ +package ml.docilealligator.infinityforreddit; + +import android.content.Intent; +import android.os.Bundle; +import android.view.MenuItem; + +import com.google.android.material.tabs.TabLayout; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; +import androidx.viewpager.widget.PagerAdapter; +import androidx.viewpager.widget.ViewPager; + +public class SearchActivity extends AppCompatActivity { + static final String QUERY_KEY = "QK"; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_search); + + Toolbar toolbar = findViewById(R.id.toolbar_search_activity); + setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + ViewPager viewPager = findViewById(R.id.view_pager_search_activity); + PagerAdapter pagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); + viewPager.setAdapter(pagerAdapter); + TabLayout tabLayout = findViewById(R.id.tab_layout_search_activity); + tabLayout.setupWithViewPager(viewPager); + + // Get the intent, verify the action and get the query + Intent intent = getIntent(); + String query = intent.getExtras().getString(QUERY_KEY); + if(query != null) { + setTitle(query); + } + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + onBackPressed(); + return true; + } + return super.onOptionsItemSelected(item); + } + + public class SectionsPagerAdapter extends FragmentPagerAdapter { + + public SectionsPagerAdapter(FragmentManager fm) { + super(fm); + } + + @Override + public Fragment getItem(int position) { + // getItem is called to instantiate the fragment for the given page. + // Return a PlaceholderFragment (defined as a static inner class below). + PostFragment mFragment = new PostFragment(); + Bundle bundle = new Bundle(); + bundle.putInt(PostFragment.POST_TYPE_KEY, PostDataSource.TYPE_FRONT_PAGE); + mFragment.setArguments(bundle); + return mFragment; + } + + @Override + public int getCount() { + return 3; + } + + @Override + public CharSequence getPageTitle(int position) { + switch (position) { + case 0: + return "Posts"; + case 1: + return "Subreddits"; + case 2: + return "Users"; + } + return null; + } + } +} diff --git a/app/src/main/res/drawable/ic_search_white_24dp.xml b/app/src/main/res/drawable/ic_search_white_24dp.xml new file mode 100644 index 00000000..be5ad99c --- /dev/null +++ b/app/src/main/res/drawable/ic_search_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml new file mode 100644 index 00000000..bd440eac --- /dev/null +++ b/app/src/main/res/layout/activity_search.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml index f8894bda..9c1dfa84 100644 --- a/app/src/main/res/layout/app_bar_main.xml +++ b/app/src/main/res/layout/app_bar_main.xml @@ -11,15 +11,37 @@ android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> - + android:layout_height="wrap_content"> + + + + + + + + diff --git a/app/src/main/res/menu/main_activity.xml b/app/src/main/res/menu/main_activity.xml index 2be22f5f..2a4357aa 100644 --- a/app/src/main/res/menu/main_activity.xml +++ b/app/src/main/res/menu/main_activity.xml @@ -5,8 +5,15 @@ tools:context="ml.docilealligator.infinityforreddit.MainActivity"> + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_search.xml b/app/src/main/res/menu/menu_search.xml new file mode 100644 index 00000000..afd34627 --- /dev/null +++ b/app/src/main/res/menu/menu_search.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 486fd853..a8058872 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,6 +1,7 @@ Infinity Login + Search Open navigation drawer Close navigation drawer @@ -8,6 +9,7 @@ Settings Download Refresh + Search Error loading image. Tap to retry. Error loading posts.\nTap to retry. @@ -51,4 +53,12 @@ Subreddit Banner Image Error loading post + + Infinity + Search anything + Search + Hello World from section: %1$d + Tab 1 + Tab 2 + Tab 3 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 1ea7c276..1b770151 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -13,10 +13,13 @@ + + - @@ -37,4 +40,11 @@ true + + diff --git a/app/src/main/res/xml/searchable.xml b/app/src/main/res/xml/searchable.xml new file mode 100644 index 00000000..9b87146c --- /dev/null +++ b/app/src/main/res/xml/searchable.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file