From ef2d913acef98cd016d03c79ffe4d964d45088d7 Mon Sep 17 00:00:00 2001 From: Seil0 Date: Sun, 7 May 2017 19:57:55 +0200 Subject: [PATCH] google drive integration v2/cloud integration clean up * Clean up the cloud part * Added an alert to verify activation of cloud sync --- bin/application/CloudController$1.class | Bin 1288 -> 1989 bytes bin/application/CloudController$2.class | Bin 1320 -> 2471 bytes bin/application/CloudController.class | Bin 2754 -> 2978 bytes bin/application/Main.class | Bin 6979 -> 6981 bytes bin/application/MainWindowController$7.class | Bin 4835 -> 4835 bytes bin/application/MainWindowController.class | Bin 27963 -> 28540 bytes .../GoogleDriveController.class | Bin 13770 -> 13652 bytes src/application/CloudController.java | 36 ++++++-- src/application/Main.java | 5 +- src/application/MainWindowController.java | 31 +++++-- .../GoogleDriveController.java | 80 ++++-------------- 11 files changed, 70 insertions(+), 82 deletions(-) diff --git a/bin/application/CloudController$1.class b/bin/application/CloudController$1.class index 5a40f24ba320429e8c17018d311443a01c5e72c9..7688576421c4ae85a9ad872466bfb83376479385 100644 GIT binary patch literal 1989 zcmb7Ee^c8=5PfG{gcUWoCLv7|@`E~!aas%7CM7YU1t%n=CZsVX>F=K90|fG&M>CXlRx?aI{i$Y?%8fEY{t`$Mx)c-?%Q{7ckj=?U;hE%QwR$whAG}^1-{3%ucTWE zRNSa2sY4Y6BFxWONHb)2`9608F1OwF`mXS_g;9oF&-y%;lGg*lFsgU_C_hWE)gicL za$NAGuNN7v6^44wY%-)Psv$C9c-w)6F&iTocaTArVWeOj#;d**Pvd4?gc}_mxvKJb zu*pN;{CACMLyqCB$P*s-JQ1}^u|D(& zbO7&U)mLStxuj_Kky6`%co6#gqSq8<8y}!x;U+`r|3x~OF*Q3Iw*ti*OF^*W2O`Q* zVJC@jz?=03&(CJ)m>)SP!KKPKxi6{JPE>4-Y~>8*@QHTl6Z^uK z4fRWpJj3(=R=*D&@H5=CFi*|dkKOO<;2x-9>}{c`pohzv*iIKnQq^>Kx0I0nf$MeV zDRQ5zyj+g8R(o%HEzoRVo$nx%)5su~f_n$SC{;owVD8JtLmT*s}- zj_~#vZl01h(X|O8*=41)32t@pA{*=Y%EB`esy8{l+*faGDqmGtjLCx2q zJU)u2S!8XRf)@^MAv2rB`PA`w}jdfgZh@iZwcc+^|N zUFlNp=tcubcOboQfe{b7a_Krt)0=^zd4^W=NYMk>#aq9@DgKVLztUd{?-*Nq$3)+O zxdP zYI+H#Itj8VBVsqf5>YV;CJgQoK0LzgG4A9RjX|bbb?33CxypYrEi*~eu6bxO_FVcME@Eu@lAX6Eq=g{_=)y%-BZvKKckKYF8%{( C_yrgM literal 1288 zcmb7E?M@Rx6g@*%wk(VN;6nj{3ROyhRun}oqS7L1EMQXP|FE6F>UOr--Bx)3Uqydo z1dTs@03XVDXK7Lp(!?g4xifRm{W@p*`_Io`0G3hG(Zevo8x6;{cwoCSUv%7Nt?0_Y za~(%`=_MT+L;M|Y@w~(3L4Nnp6THUI8ywnx`X0e6UGN3Mwz!kFRM@KUTDBz^l9f)p zYT()Ofcz4npQtxWwkNE>^^PdXsx9qcjiHq3n&oo5%O`Vt3|i5xi9Rq~H*pQU%8HxN z5mi>wL?5CCA{a7ZV3;A2QJ`4GmSVeE-xuC4-*>|LU5h(=+_TlbeWX9Fax``>I$jfa848v!A*lzv}jVYjE30^NmG0iaP2iyy2b}9cz zS}9wmr1+2uLV9w!oPjj%>bS!&7!Lbl2otl&Fz5{x)sd7abJfJ6$TIYAy6%A^N}k;k z1{RRhvB)sqg>@5okTRm&vV~Bbteg(KbO37T`+JT%Q_w~Q!_KLf+sp2pBqtmXXB$K8tN&Sc&aoI3rAE9xb=S5<4V1Zz78+v5X9|3=(xoj zZBZCix9M5pm91nm^v~nUDPkzYhNK>RVsc9ahi*-kxXv(p1tV8+#9)@C6kgHczAt>F zNXij<-jR4*X&i_rmBPc7^i4NC^cm;YkX<-IEW3DuMD{xdk3;W~ z&|jgbSZv}3Sti+p!A*>Y=VKUd$NNO_lyBxM#*?>CF_Zm*D(E~PF%^aphHH+6N-B%0x|vf2;H+?;#PzUS<-&z=1B&x=0+T*A*9x&)5Ndfm26 z8Cb59pRnCVWx{m=&$VskWiM(-2=uPVHJP`ivy`7*Tv2AAVUK{(w%%?yj$E{rz@A{) z^0Vg&Tk3#YAm*C1vu1c)S$S)g$ylS*Ml1)Oo( z9O`(=PQ0C#;RS)jgj-QPU{X3XB*T@VqX(&QHK1cJQYm!fpbi~_0^LJlP`YF}>QNd-6dO1de)js;cZ;e@D6#16R=I+ zI^G4TPfF8Nek9x3j?|O*NV4q-nRZy6!{~hM@b-2gh4=7*25NQe|3&KfFf2R~a+X37 zlNu&s6iv@gt(&SI4y}%Pwf5dy0GvhC-%1HsiVQV)m z21PFRMF=yp-qLTFNmwD|=VHAsrMbEFP4lButPd9}`YcuCuZ zB&y`A&LoIjb{n3lu36ztIj~KOW1;%l#wmwF@p=A?3YOhUsDo93v%APXHnFb;fxH)8 zH}C^b)|&u+3J&TTTr$wUUoB_NT~+x~)Lc5ss*EmI9bbai!QNWiB=C3q@K$6K{DyQY zw(_$j*IjMY3p+E4S+)euZ`4)X{l9NEkL(;9zaLx36VkTJR-g*$J*f3!Fvam$(^0}; zT0?_|mhEdDmB{uL4FdYK<0x;!mcFli4c`l#-a+DSRA~5-qUr3)7g>`xWSC4hKd+&? zw>NwR0lh}}0*an|{qSl}@S|fNz4mieL|0@P$c;QhIyd?ZeYtbb(4YGQ2cB@h3$OD# z#U~h%Mj3~=(zyl(a2Q7-`%w(G@P4Cb=v&OazzN_vGQZ=DF}jJd+*9-!mwv$^F4E8O z79ahaxcV!SrIAgH)BoBl|LgRBLd3%u!U%Khjn}67%U|K^C70UYjehxe813NlAc5SdUg4 V_y*tNJMI~+D!9aB{D7Zu=wH1Xi0J?T literal 1320 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 HljafqZ5=cn delta 153 zcmV;K0A~N=CF3QquMPpNv#<`a0)MaoB?7VlDgv_rL;|z`Oaih1Ujn!QY67_cbppBo zfC9V#i~_v?ssg?M$^yUu^#Z{G0RqASD+0p-E&{{>Gy=u}MgqqHT>{7fcLK@*eFDn? zi2}?4lLE~Fp90PSq5{tW$pX;<-vZJB`U2Ae69Uu%I|9`LJ_6PPXad>-as~q10(k=6 Hljafq{kbxn diff --git a/bin/application/MainWindowController.class b/bin/application/MainWindowController.class index 01d6830d558bcb508a07f52693b89a4fed847d42..0b13344abfc19c0dff3cc532c9d8f69077fb7f5e 100644 GIT binary patch delta 11254 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 { + main.mainWindowController.getPlayBtn().setText("syncing..."); + }); + googleDriveController.uploadAllFiles(); + Platform.runLater(() -> { + main.mainWindowController.getPlayBtn().setText("play"); + }); + } + }); + thread.start(); } else { sync(cloudService, cemuDirectory); } @@ -68,8 +80,11 @@ public class CloudController { void sync(String cloudService, String cemuDirectory) { //running sync in a new thread, instead of blocking the main thread - new Thread() { - public void run() { + Thread thread = new Thread(new Runnable() { + public void run() { + Platform.runLater(() -> { + main.mainWindowController.getPlayBtn().setText("syncing..."); + }); System.out.println("starting sync in new thread..."); if(cloudService == "GoogleDrive") { @@ -82,8 +97,13 @@ public class CloudController { if(cloudService == "Dropbox") { } + Platform.runLater(() -> { + main.mainWindowController.getPlayBtn().setText("play"); + }); + System.out.println("sync finished!"); } - }.start(); + }); + thread.start(); } diff --git a/src/application/Main.java b/src/application/Main.java index 05b97b9..8cc889a 100644 --- a/src/application/Main.java +++ b/src/application/Main.java @@ -35,7 +35,7 @@ import javafx.scene.layout.AnchorPane; public class Main extends Application { Stage primaryStage; - MainWindowController mainWindowController; + public MainWindowController mainWindowController; //TODO find a better way CloudController cloudController; private String dirWin = System.getProperty("user.home") + "/Documents/cemu_UI"; //Windows: C:/Users/"User"/Documents/HomeFlix private String dirLinux = System.getProperty("user.home") + "/cemu_UI"; //Linux: /home/"User"/HomeFlix @@ -120,12 +120,11 @@ public class Main extends Application { //loading settings and initialize UI, dbController.main() loads all databases mainWindowController.loadSettings(); + mainWindowController.dbController.main(); if(mainWindowController.isCloudSync()) { cloudController.initializeConnection(mainWindowController.getCloudService(), mainWindowController.getCemuPath()); cloudController.stratupCheck(mainWindowController.getCloudService(), mainWindowController.getCemuPath()); -// mainWindowController.saveSettings();//TODO find a better way } - mainWindowController.dbController.main(); mainWindowController.addUIData(); mainWindowController.initActions(); mainWindowController.initUI(); diff --git a/src/application/MainWindowController.java b/src/application/MainWindowController.java index 585c90e..e5e125f 100644 --- a/src/application/MainWindowController.java +++ b/src/application/MainWindowController.java @@ -146,7 +146,7 @@ public class MainWindowController { private String selectedGameTitle; private String color; private String version = "0.1.5"; - private String buildNumber = "010"; + private String buildNumber = "011"; private String versionName = "Gusty Garden"; private int xPos = -200; private int yPos = 17; @@ -194,7 +194,7 @@ public class MainWindowController { } void initActions() { - System.out.print("initializing Actions... "); + System.out.println("initializing Actions... "); HamburgerBackArrowBasicTransition burgerTask = new HamburgerBackArrowBasicTransition(menuHam); menuHam.addEventHandler(MouseEvent.MOUSE_PRESSED, (e)->{ @@ -419,7 +419,7 @@ public class MainWindowController { } } }); - System.out.println("done!"); + System.out.println("initializing Actions done!"); } @FXML @@ -540,9 +540,20 @@ public class MainWindowController { if(cloudSync) { cloudSync = false; } else { - cloudSync = true; - main.cloudController.initializeConnection(getCloudService(), getCemuPath()); - main.cloudController.sync(getCloudService(), getCemuPath()); + Alert cloudWarningAlert = new Alert(AlertType.CONFIRMATION); //new alert with file-chooser + cloudWarningAlert.setTitle("cemu_UI"); + cloudWarningAlert.setHeaderText("activate cloud savegame sync (beta)"); + cloudWarningAlert.setContentText("You just activate the cloud savegame sync function of cemu_UI which is currently in beta. Are you sure you want to do this?"); + cloudWarningAlert.initOwner(main.primaryStage); + Optional coverResult = cloudWarningAlert.showAndWait(); + if (coverResult.get() == ButtonType.OK){ + cloudSync = true; + main.cloudController.initializeConnection(getCloudService(), getCemuPath()); + main.cloudController.sync(getCloudService(), getCemuPath()); + } else { + cloudSyncToggleBtn.setSelected(false); + } + } saveSettings();//TODO remove (only save on exit settings) } @@ -1029,4 +1040,12 @@ public class MainWindowController { this.cloudService = cloudService; } + public JFXButton getPlayBtn() { + return playBtn; + } + + public void setPlayBtn(JFXButton playBtn) { + this.playBtn = playBtn; + } + } diff --git a/src/cloudControllerInstances/GoogleDriveController.java b/src/cloudControllerInstances/GoogleDriveController.java index 25af9a7..833135e 100644 --- a/src/cloudControllerInstances/GoogleDriveController.java +++ b/src/cloudControllerInstances/GoogleDriveController.java @@ -8,7 +8,6 @@ import java.io.InputStreamReader; import java.io.OutputStream; import java.util.ArrayList; import java.util.Collections; -import java.util.Date; import java.util.List; import org.apache.commons.io.FileUtils; @@ -112,49 +111,18 @@ public class GoogleDriveController { public void sync(String cemuDirectory) throws IOException { getLocalSavegames(); -// -// if (!checkFolder()) { -// creatFolder(); -// -// for (int i = 0; i < localSavegames.size(); i++) { -// uploadFile(localSavegames.get(i)); -// } -// } else { - getCloudSavegames(); -// System.out.println(cloudSavegames.size() + "; " + localSavegames.size() + "; " + localSavegamesName.size()); // download files from cloud which don't exist locally for (int i = 0; i < cloudSavegames.size(); i++) { - // System.out.println(localSavegamesName.get(i)+";"+cloudSavegames.get(i).getName()); - // System.out.println(localSavegames.get(a).getName()+";"+cloudSavegames.get(i).getName().substring(9,cloudSavegames.get(i).getName().length())); - // if the file exists locally, check which one is newer if (localSavegamesName.contains(cloudSavegames.get(i).getName())) { int localSavegamesNumber = localSavegamesName.indexOf(cloudSavegames.get(i).getName()); long localModified = new DateTime(localSavegames.get(localSavegamesNumber).lastModified()).getValue(); long cloudModified = cloudSavegames.get(i).getModifiedTime().getValue(); - FileInputStream fis = new FileInputStream(localSavegames.get(localSavegamesNumber)); - -// // System.out.println(localSavegamesNumber); -//// System.out.println(localSavegames.get(localSavegamesNumber).getName() + "; " + cloudSavegames.get(i).getName()); -// System.out.println(localModified + "; " + cloudModified); -//// System.out.println(new Date(localModified) + "; " + new Date(cloudModified)); -// if (localModified == cloudModified) { -// System.out.println("both files are the same, nothing to do \n"); -// } else if (localModified >= cloudModified) { -// System.out.println("\nlocal is newer, going to upload local file"); -// System.out.println("uploading "+ localSavegames.get(localSavegamesNumber).getName()+"("+new Date(localModified)+")"); -//// updateFile(cloudSavegames.get(i), localSavegames.get(localSavegamesNumber)); -// } else { -// System.out.println("\ncloud is newer, going to download cloud file"); -// System.out.println("downloading "+ cloudSavegames.get(i).getName() + "(" + new Date(cloudModified) + ")"); -//// downloadFile(cloudSavegames.get(i)); -// } - - + FileInputStream fis = new FileInputStream(localSavegames.get(localSavegamesNumber)); if (cloudSavegames.get(i).getMd5Checksum().equals(org.apache.commons.codec.digest.DigestUtils.md5Hex(fis))) { System.out.println("both files are the same, nothing to do"); @@ -181,8 +149,6 @@ public class GoogleDriveController { uploadFile(localSavegames.get(j)); } } -// } - } //create a folder in google drive @@ -217,16 +183,11 @@ public class GoogleDriveController { private void getLocalSavegames() throws IOException { java.io.File dir = new java.io.File(cemuDirectory+"/mlc01/emulatorSave"); String[] extensions = new String[] { "dat" }; - - System.out.println("Getting all .dat files in " + dir.getCanonicalPath()+" including those in subdirectories \n"); + System.out.println("Getting all .dat files in " + dir.getCanonicalPath()+" including those in subdirectories"); List files = (List) FileUtils.listFiles(dir, extensions, true); for (java.io.File file : files) { localSavegamesName.add(file.getParentFile().getName()+"_"+file.getName()); localSavegames.add(file); -// System.out.println(file.getAbsolutePath()); -// System.out.println(file.getParentFile().getName()); -// System.out.println(file.lastModified()); -// System.out.println(file.getName()+"\n"); } } @@ -239,8 +200,6 @@ public class GoogleDriveController { for (File file : files.getFiles()) { cloudSavegamesName.add(file.getName()); cloudSavegames.add(file); -// System.out.println(file.getName()); -// System.out.println(file.getModifiedTime()+"\n"); } } @@ -250,29 +209,23 @@ public class GoogleDriveController { File fileMetadata = new File(); fileMetadata.setName(uploadFile.getParentFile().getName()+"_"+uploadFile.getName()); fileMetadata.setParents(Collections.singletonList(folderID)); -// System.out.println(new DateTime(uploadFile.lastModified())+"; "+ new DateTime(uploadFile.lastModified()).getTimeZoneShift()); fileMetadata.setModifiedTime(new DateTime(uploadFile.lastModified())); -// System.out.println(fileMetadata.getModifiedTime()+"; "+fileMetadata.getModifiedTime().getTimeZoneShift()); - FileContent mediaContent = new FileContent("", uploadFile); File file = service.files().create(fileMetadata, mediaContent).setFields("id, parents").execute(); - System.out.println("File ID: " + file.getId()); + System.out.println("upload successfull, File ID: " + file.getId()); } //download a file from the cloud to the local savegames folder private void downloadFile(File downloadFile) throws IOException{ System.out.print("downloading "+downloadFile.getName()+"... "); -// String directory = downloadFile.getName().substring(0,8); java.io.File directoryFile = new java.io.File(cemuDirectory+"/mlc01/emulatorSave/"+ downloadFile.getName().substring(0,8)); String file = downloadFile.getName().substring(9,downloadFile.getName().length()); -// System.out.println(cemuDirectory+"/mlc01/emulatorSave/"+ directory +"/"+ file); -// System.out.println("DownloadfileID: " + downloadFile.getId()); if(!directoryFile.exists()) { System.out.println("dir dosent exist"); directoryFile.mkdir(); } - OutputStream outputStream = new FileOutputStream(directoryFile +"/"+ file); //TODO needs to be tested + OutputStream outputStream = new FileOutputStream(directoryFile +"/"+ file); service.files().get(downloadFile.getId()).executeMediaAndDownloadTo(outputStream); System.out.println("done"); @@ -295,20 +248,17 @@ public class GoogleDriveController { } public void uploadAllFiles() { - new Thread() { - public void run() { - try { - getLocalSavegames(); - for (int i = 0; i < localSavegames.size(); i++) { - uploadFile(localSavegames.get(i)); - } - } catch (IOException e) { - //Auto-generated catch block - e.printStackTrace(); - } - } - }.start(); - } + try { + getLocalSavegames(); + System.out.println("uploading " + localSavegames.size() + " files..."); + for (int i = 0; i < localSavegames.size(); i++) { + uploadFile(localSavegames.get(i)); + } + } catch (IOException e) { + //Auto-generated catch block + e.printStackTrace(); + } + } public String getFolderID() {