From 8c843d98b6f17c371ab1fa92a9801de3cf022d2f Mon Sep 17 00:00:00 2001 From: sigmabeta Date: Sun, 7 Jun 2015 21:15:28 -0400 Subject: [PATCH] Android: Add refresh library function. --- .../dolphinemu/activities/GameGridActivity.java | 6 ++++++ .../dolphinemu/model/GameProvider.java | 10 ++++++++++ .../src/main/res/drawable-hdpi/ic_refresh.png | Bin 0 -> 531 bytes .../src/main/res/drawable-hdpi/ic_settings.png | Bin 0 -> 561 bytes .../src/main/res/drawable-mdpi/ic_refresh.png | Bin 0 -> 346 bytes .../src/main/res/drawable-mdpi/ic_settings.png | Bin 0 -> 420 bytes .../src/main/res/drawable-xhdpi/ic_refresh.png | Bin 0 -> 637 bytes .../src/main/res/drawable-xhdpi/ic_settings.png | Bin 0 -> 737 bytes .../src/main/res/drawable-xxhdpi/ic_refresh.png | Bin 0 -> 875 bytes .../src/main/res/drawable-xxhdpi/ic_settings.png | Bin 0 -> 974 bytes .../src/main/res/drawable-xxxhdpi/ic_refresh.png | Bin 0 -> 1148 bytes .../main/res/drawable-xxxhdpi/ic_settings.png | Bin 0 -> 1273 bytes .../app/src/main/res/menu/menu_game_grid.xml | 9 ++++++++- .../Android/app/src/main/res/values/strings.xml | 1 + 14 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 Source/Android/app/src/main/res/drawable-hdpi/ic_refresh.png create mode 100644 Source/Android/app/src/main/res/drawable-hdpi/ic_settings.png create mode 100644 Source/Android/app/src/main/res/drawable-mdpi/ic_refresh.png create mode 100644 Source/Android/app/src/main/res/drawable-mdpi/ic_settings.png create mode 100644 Source/Android/app/src/main/res/drawable-xhdpi/ic_refresh.png create mode 100644 Source/Android/app/src/main/res/drawable-xhdpi/ic_settings.png create mode 100644 Source/Android/app/src/main/res/drawable-xxhdpi/ic_refresh.png create mode 100644 Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings.png create mode 100644 Source/Android/app/src/main/res/drawable-xxxhdpi/ic_refresh.png create mode 100644 Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings.png diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/GameGridActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/GameGridActivity.java index 1c838ad18d..9e0bc40366 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/GameGridActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/GameGridActivity.java @@ -140,6 +140,12 @@ public final class GameGridActivity extends Activity implements LoaderManager.Lo Intent settings = new Intent(this, SettingsActivity.class); startActivity(settings); return true; + + case R.id.menu_refresh: + getContentResolver().insert(GameProvider.URI_REFRESH, null); + getLoaderManager().restartLoader(LOADER_ID_GAMES, null, this); + + return true; } return false; diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameProvider.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameProvider.java index 702c180309..0ee2d3928e 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameProvider.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameProvider.java @@ -15,13 +15,17 @@ import org.dolphinemu.dolphinemu.BuildConfig; */ public final class GameProvider extends ContentProvider { + public static final String REFRESH_LIBRARY = "refresh"; + public static final String AUTHORITY = "content://" + BuildConfig.APPLICATION_ID + ".provider"; public static final Uri URI_FOLDER = Uri.parse(AUTHORITY + "/" + GameDatabase.TABLE_NAME_FOLDERS + "/"); public static final Uri URI_GAME = Uri.parse(AUTHORITY + "/" + GameDatabase.TABLE_NAME_GAMES + "/"); + public static final Uri URI_REFRESH = Uri.parse(AUTHORITY + "/" + REFRESH_LIBRARY + "/"); public static final String MIME_TYPE_FOLDER = "vnd.android.cursor.item/vnd.dolphin.folder"; public static final String MIME_TYPE_GAME = "vnd.android.cursor.item/vnd.dolphin.game"; + private GameDatabase mDbHelper; @Override @@ -92,6 +96,12 @@ public final class GameProvider extends ContentProvider if (table != null) { + if (table.equals(REFRESH_LIBRARY)) + { + mDbHelper.scanLibrary(database); + return uri; + } + id = database.insertWithOnConflict(table, null, values, SQLiteDatabase.CONFLICT_IGNORE); // If insertion was successful... diff --git a/Source/Android/app/src/main/res/drawable-hdpi/ic_refresh.png b/Source/Android/app/src/main/res/drawable-hdpi/ic_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..cd16fdd5080541f0e67ebf3bfc97a50ac2beda79 GIT binary patch literal 531 zcmeAS@N?(olHy`uVBq!ia0y~yU{C>J4i*Lm25-&)VFm^Ug=CK)Uj~LMH3o);76yi2 z3=9knFBlj~4Hy_+B``2p&0t^7+dX!e;Lr6`SxWf5i1=j1;>GxM{t;1}a- z3+peeXHcDbaiy2m>P69WHI?-Z=JW1Jl$T=<$=sr4eWdp|TTS1Fcf9mQXJuQ{rDH1(L|ndO65e>VwZUfc6-nD`OMdUj2c(~9-L_M~gN?gu%w7#}QL-|yjY|qvt%+$cncG&Td`SNWiT2xnhFP^fww|LwBb=RUFbf^ZE z2&*0qioKDw#>D;R_r!_n%dglOrFR$RzT~hL`?!9?*#PUkVq11RGhH0`)q7X4W98dd kx1P%U+~51h@q+Z@bp|bmdiE$WFfcH9y85}Sb4q9e0D;%s3;+NC literal 0 HcmV?d00001 diff --git a/Source/Android/app/src/main/res/drawable-hdpi/ic_settings.png b/Source/Android/app/src/main/res/drawable-hdpi/ic_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a8915fd2dc378d35756de89784556e6fdc7db9 GIT binary patch literal 561 zcmeAS@N?(olHy`uVBq!ia0y~yU{C>J4i*Lm25-&)VFm^Ug=CK)Uj~LMH3o);76yi2 z3=9knFBlj~4Hy_+B``2p&0t^&?>%v5uH*%8fzq_%hkL#^7C*E79>d-@ z-?Go1ZI@HeoZ1WBELGdMKV6#U;A`{EA#si2HEoS!YK`YMcgM0$Ie7CV+fAh;rpgMY ztU1P~Wl~ED&+~ka31F8icPDv0ztbM=JzCm93$Tx=@b=NnmXZ{=EUV` zC(JlcFHl~)#!D#vcrd3{)Y*kRTm_2{9#JWFFXyX;0wUde8$U$_1P18LaLjI6(-wa4$C687Uli2Yr=53mVqChU zrn^>D#h#;&0k?+Cp)Izd!uE>rCi6Nz3$Ws_dzpamLV-Fny_Uz3}AOX^ng z)|-d-eDAGPU9$V1tm7rKeRnSLPvj{2%n@?Z$al^pvB~OgbByg8jr1lf9$sU7<7=qf z!6m!B?4^Ca?CMh!y|7~MUbBRkA5Hn!&&zUNC1@pbY~915=W>y9>kr_Wm>b85kHi3p^r=85p>Q zL70(Y)*O)8mpok@Lo80;y=?1u*g>Ez(Ol)5r-ne`KRu2sjV^&l#4I^Q9|;MrTg2h# zASlggZz4G9vFRl58!yA&ubz3eX12$#&`;tmoeKhfhHxBPetY(g2{*ImMNQbHs+JO0 zu*JaC#9(t!qJPYdM-NtAEPnI&%4$`g0-M9a<@SfSwluh^%L#J%SbyvYNW78Gzqd8~ z%rB1qiVmmjJKI}h)|T8oR6JFG`o^QIdn8RiOf1)V{LtHW@fMTmo@duisVKTQ^;$^4 w{MP*357m2$rLC8qI=AfavM2I?UgjTuJntsg_HXMM7#J8lUHx3vIVCg!023F7VE_OC literal 0 HcmV?d00001 diff --git a/Source/Android/app/src/main/res/drawable-mdpi/ic_settings.png b/Source/Android/app/src/main/res/drawable-mdpi/ic_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..fdcf657fadf9e5191bde2ac712d34664973044d3 GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4i*Lm2CurW#S9D#3dtTpz6=aiY77hwEes65 z7#J8DUNA6}8Za=tN?>5Hn!&&zUNC1@pbY~915=W>y9>kr_Wm>b85kHi3p^r=85p>Q zL70(Y)*J~221XfA7sn8b(_5$5doc$Jw8xiSUYY57B)G%LPm%HBp#>f08w>=j1zjfT zwlqX=Byrg`ighh$HM_PcqE%qZ90kE}``Oz!Z}u-SUtoMU|Jm&0e;!Jn$;kW1v_klH znB9YzhBCVcfer2R8T+f(MWnQu$uqgkF*qx9{Z605Hn!&&zUNC1@pbY~915=W>y9>kr_Wm>b85kHi3p^r=85p>Q zL70(Y)*J~22F93%@+z3X%ozO>MdRF+G%K^wywvXsr0hygshkk{w>$S zR_OV}EC?~{)$@t@>Ym|sY1zT8x^)YZO!Q1ld}iC+jmb+pRPcUopx7+S&5dWO@29^j zIJdK%W8%xWi2?#l|HKbu=56$w{r-l`$L8FqJI{LBH$9Rsm?_4*C+UE(&h%|u{}?#s ziaNA%u61yK75c#(vFE6Y)sv15I{PG<*Ig{1u_w9JMl!9_@ODsKpxC0__=cBZeXGIx4eK>tMREVoYMGh2 z^>yI$Ie*g`7ym2Di(;58|FfTAu}SP)u>}eYzh^lWZ-3{XbhSxt!lbo}Qg}4FMeUz{ zT$xkm-@3>9)QP&jc@ZB^tIg*Y9{d zr^+$PaKhdxyUdL1)OOE#bP0l+XkKP&yG5 literal 0 HcmV?d00001 diff --git a/Source/Android/app/src/main/res/drawable-xhdpi/ic_settings.png b/Source/Android/app/src/main/res/drawable-xhdpi/ic_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..12e5d100dd80ca03315f8d15af6289c3db015327 GIT binary patch literal 737 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4i*LmhQHi~JPZsB3dtTpz6=aiY77hwEes65 z7#J8DUNA6}8Za=tN?>5Hn!&&zUNC1@pbY~915=W>y9>kr_Wm>b85kHi3p^r=85p>Q zL70(Y)*J~22Bt_)7srr@!%t_N&lV08IIh0cuu<)*o657iuK}6-{~DU?H+)gJ+PqZ! z;C@FI+b!3c12(wwSABSLG}vHCeM`iOD#1M+E7r!Dq&a&om6)*N>~U|7yW2mPnV)2v za?X11&G%=@@6R?j&NpxS687s!z50vy5HbWkzcb$n*W}IG|C~*7UC>c~vmJ*R z^FA%K{O@vT{)1_!|A;3Z>77+vUGm(~&(3Sr>01Glm4mjiR<6wcuA~{ch4rTj@1hB8 z>RTj^RJewG3R0fIY4Gcmjf# zaJum>d3?0OI%p&6k+`7{!wtSIO)V(lkBNY{6C4y5_CO+`#ju4vxNCQn_~>+2LmJ@^&28lHTp{ z-*O$jR_>4q*mvrTvDYM(C0oTY|Aj+RP;Bd|KP_CsdHw@+k!r-2sIu57Bq3H zsb~4jv(ZL6(%W2CpNPG_NAA>8>8%?s@BN;(efrmDPWOv?|DFl>c$cp|vu($@-PcNW zYQVtoDuIE)Y6b&?c)^@qfi?^b3`|Mh?k)`f+xyS#XJBC9EbxddW?V=x;Tbp+ojMd&2Mj-mtKG8-t$_u z?s@6k-~Ro3@BHs~mGiz=*7q~JSJuj~r8q#4H2bHEZZkX=9r2i`c1|X^#nRXJ;0?yT z3i`HZHpIeCH72V zQ(;qOzx@g2Yg~6sr59XVvs-xKx`Yts^WMx{DPQKY$h!VJ>$h&hD(NSuBqHZ$ZZQem zvSEezmH7uhM$hwj|B~gZ*X4vmkM5q7c_HPHsOj47)+cmA+jg_kG)w1Q?vec_@2_M& z)o47zdTfX5xrBqqJ5wk4bMa?A(`dNW@*vWCPU9lE9n%~iaY$c17s%ktb#P%(#1nVc z0B6gFB&HLwd<&*96iHs#|6%&n*yVb=6YZ56j%}IqX5ECqhj;B%TJ~Q*Q25F7M8y%S z6;ZQZe80^mE3`@V=9*1^W{3sd+0I*~lQKJCHGk|hv5c?VEUK55?>5d-=-+arK56xT zAI_O#D}vT8xI5|BMa$F+s+#9bzfQWxSI5ygEi>qmjDluL=f;x*SLmPC;%5o(Q?BPF+Pyb!eeis%&~sI5@2%GZPljf$(zzq{a_OQiv-R!Ty4O6@ zFJwM{>;w=(pi+&I8E_j39L3 dKld-z9{FDTA7@t8GcYhPc)I$ztaD0e0sxisjHLho literal 0 HcmV?d00001 diff --git a/Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings.png b/Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb8f6e080aa108b72cf86f0963a3c309440b4ea GIT binary patch literal 974 zcmeAS@N?(olHy`uVBq!ia0y~yVDJE84i*LmhW}5h&oD4BC?tCX`7$t6sWC7#v@kII zVqjosc)`F>YQVtoDuIE)Y6b&?c)^@qfi?^b3`|Mh?k)`f+xyS#XJBC9EbxddW?ZL`Wq+Vtzc6D}qN$_xTxezU&;wh38 z5fKo0{vvBp_+pOD-7HN3T(bo3%5iV)&|9K8$wl1jvR+tP)U?k1^X}X_eP(84$)sEP z_s%8$`(t7Jx%U4|OS2r~)i;|Q92Y2DNQrjSU-Uxpu1$dCCW{og6@gqK>2fP#xk~Qa zT-YG;VshpJmNiPZbOQFNUf|m75Uty|Z3b&m6qD?{tOWtHBo@q)nQt!m=D}9g0RE*e zKfc7Cv%DAV-(eTf8U2e<)n(Uw@k`BFdy*FKju*LI`Jyg(3Aagqx!fh^If}Dc)-9F} z?^JHj+E-!oR^5yL#fJs&|$&T#`uM_1N0`YU8>@CB2nQYmbJk31j4XywPxh zUs@#d+k+`@wlH-iUeLI}E_R~vT$Z=r1vg&5Iae;6YbpCb*=WJhp6pKEV7E!_P0ZrT zQBwAuqRdA#m+qUb^2=9>FUlmuZHB(|CYxU(t*618?y#jL6O{AOHn zyO9|hu=Am1%%UR_YAaIe&&_r5PJg^%j`!1jksdKI<{rK^Gbi2Dny$gKG448l>IL1H z7oJ`YCl9GyaE($BE1T@F&iCeoG7b?grq5S?vlN-0a@fk$dbg2LR^Wu?)W#U5*1!Kb zF5H`Gma@q6?mC_;mQyENO;$gY`aa;0r=Z^NJfo6EuBDaNma>E>p8d-D%Arh4S9^=| z!`~5>?T`PxTDbm#Ql93NqhfD@<`m>8$$kCe%o&^zViDn}1o07~cN7r$PLb zfq&%lcjoO$@1o{^?rwBiv3R=Hraw0(=W?ZA)z|!%tiQ?9*Zw)PrN#WhaPCiGIhRj;hUU29CAExuqO3Oc9UvH7S#k29qk-i?!q fwJ}ZWg8q>|-(0OKURN_PFfe$!`njxgN@xNAc^9J@ literal 0 HcmV?d00001 diff --git a/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_refresh.png b/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..d271d8e03f41181bc2ee2c26762a11597ca486ce GIT binary patch literal 1148 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4i*Lm29JsRH#0CWC?tCX`7$t6sWC7#v@kII zVqjosc)`F>YQVtoDuIE)Y6b&?c)^@qfi?^b3`|Mh?k)`f+xyS#XJBC9EbxddW?PsMdS`(G5@?D^|u z>udh!bE@}#udF*?$Ump}UhKTzw)fBPeQx>OX8&_(MWJ_cg$#TL7%dpsA27%?Fc*M0 zckCJZizkHrl1S>ZUbEql>@tZ({bGC{GG=8Rf6M4nIghU{ZLis}cAM#&YTq!}xY+KW z;3vJfucvn7&G*i^&(Z?$U!gTG;i%j@MT z3;!}O#y$35a!Y8v$_9A>2R8KydGGJd_Bwm&IU_^L<>^;WiQGN1a={d(O(zuQ2Ym}T z9DYXSZ=CqdS$`QAHtm>k;gF2%8=qa_Zm zW%)FN1MbHh-(7Obi?W*ib4uuMhV@eI5=+lq4%#qXb2o#(RQa9!6QB2p*dG$DW-#1m zexlyz%=Nf=hbyBQ@+FSg3tDh&yTPcDa?hYLY2RD(+q0a`wndwtZ>m*nV4Ak2b@Q37 zTE&Ja-)%>?|5ckUeRIXO*UzFh=`(#;qZXBWb|1%q-?t{}9-sdA*p|MVObp6hDebPm znHZu?PRs9Be;?wXEG?y^di@ z8?VFKJ)*6=4!ZHFt-KG?ZZN7Hwrh1eTqj(=oMDfIS;OT+?wPL{@--Q36PZ_pFw}8N zJ1A;%9a^_xulhenMhn3ibI(ti$d^+e*c$e`#e|gm7B_VW1VbaKMT`^1--#q z%mNQ*DcPKCe)R3@qo)m5Yy}oZ{m#90gz?Muw)Q6sMKgnsOuwm^Rlj}PHQyy=IbZDT zkF#{`{-3J*Wy#Umn+j($E!(Pij%&*G>-VhUFKww;jkeM+Iq~7ZT}`3OKMyU45p{X6 z@_xsI_wgs5^f-R4G3Zk#yOl?Mc*cEEGnM6-1g@EqrAr^7m5K8H0X}B@8#;6MILO+z?S1n9Esx~3qQ!x? zjxzhdzrnX}-x>L&XW}>a3!c2YwnjVYzfpf~$QO%Kuh0B4vY&fvq2-AO*^0*_KBUw& zvdQn>k@3Z%->U7hk-g8I{gsvtTmSLMe|Wshag$(_=Jx0?&-LP)=Wl=cNbB*L!s)4E wGZQAn&06{7Vebm=yVvicW-w50+xee&zopr03E{(N&o-= literal 0 HcmV?d00001 diff --git a/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings.png b/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..97e9ca945ce91be7ac959990171271a2dd1a961e GIT binary patch literal 1273 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4i*Lm29JsRH#0CWC?tCX`7$t6sWC7#v@kII zVqjosc)`F>YQVtoDuIE)Y6b&?c)^@qfi?^b3`|Mh?k)`f+xyS#XJBC9EbxddW?d0Ic>3ElJD=OVJ8Sv*?p({_b2E)4Q^&5WqskSRO@nwMZ-mF@*S24B{q$6;Rm*c2cpaw%Q_jq?cn^dRN}#m*$nr)8TEE@ ze%LOtz}~`L>duGc7biZyW1N!3s8h(lAd36J-w-C92S)ZAyOZXZPy4)9%)wgJ?$)wR zlch^G8E`bD@A!A)g}~X6Ni#nj3%X@6(JapI!ch+P~`vC zj>k7n1ai&4uyyL}!*%O7vT8ip*M5`HFUWC<*1rQ`?>@%x{jU-dxKaaHigm z(Pn`Q{{xM6Cpl#srWXWG^I|l5Ss?Uale^3_&JE{oT@gr+IIr~Sq}psIubT&UGMF9Z zPi3%=l9Wu)zigwP###E&;1p|_HD|i9;=-@ef~h;>MV5(4GU|k7?3I%_u%9dVr~gu!Kj{Gs zflq@@n=zdTT-PYzVAaZXXP(n5*O)ApfMpk|bS)UBO5aUj*`R5fXX3TC=)6rf%Y{`j z%%ym`hbkBAwYlyKcwANmjWHf1S?So-tvKIBYNV@Jr6xhvzSIEdRao z68niq+-Ije*4p{#VgEw!;NQM*h_0Q$GK=YVbBs#s9{faFQmB|wjoriC~ z6LILR)0r~+LWN<`qsv<#ZGXAvDbIn|%hs|zpDR(9ccc5CFR%Xmy;yJC{r{?R|6r%VB`ixh1aei1Q@gUcn@zfCp?n{5Q9 + + android:icon="@drawable/ic_settings" + android:showAsAction="ifRoom"/> + \ No newline at end of file diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml index 47fefbaf20..e01c06da3a 100644 --- a/Source/Android/app/src/main/res/values/strings.xml +++ b/Source/Android/app/src/main/res/values/strings.xml @@ -226,6 +226,7 @@ Settings + Refresh Library Add Folder to Library