From 51c63551385d34df439b80b3ae5e2e456dd0ec87 Mon Sep 17 00:00:00 2001 From: Narinder Rana Date: Thu, 2 Dec 2021 20:17:15 +0530 Subject: [PATCH 1/5] try to stop pull data to server --- .../java/foundation/e/drive/services/ObserverService.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/foundation/e/drive/services/ObserverService.java b/app/src/main/java/foundation/e/drive/services/ObserverService.java index f143c4e7..a61222ca 100644 --- a/app/src/main/java/foundation/e/drive/services/ObserverService.java +++ b/app/src/main/java/foundation/e/drive/services/ObserverService.java @@ -235,6 +235,8 @@ public class ObserverService extends Service implements OnRemoteOperationListene **/ private void startScan(boolean remote) { + + remote=false; Log.i(TAG, "startScan(" + remote + ")"); this.mSyncedFolders = loadSyncedFolders(); @@ -275,10 +277,10 @@ public class ObserverService extends Service implements OnRemoteOperationListene List syncedFileStates = DbHelper.getSyncedFileStatesByFolders(this, getIdsFromFolderToScan()); - if (!syncedFileStates.isEmpty() || !fileObserverObject.getFiles().isEmpty()) { +// if (!syncedFileStates.isEmpty() || !fileObserverObject.getFiles().isEmpty()) { handleLocalFiles(fileObserverObject.getFiles(), syncedFileStates); - } - // handleLocalFiles(fileObserverObject.getFiles(), fileObserverObject.getSyncedFileStatesList()); +// } + //handleLocalFiles(fileObserverObject.getFiles(), fileObserverObject.getSyncedFileStatesList()); } else { Log.i(TAG, "calling observer service with false or files list data null "); -- GitLab From 7752d16087aa59aee13471d085fdef80d8e809d8 Mon Sep 17 00:00:00 2001 From: Narinder Rana Date: Fri, 3 Dec 2021 09:32:52 +0530 Subject: [PATCH 2/5] manage call handleLocalFiles --- .../java/foundation/e/drive/services/ObserverService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/foundation/e/drive/services/ObserverService.java b/app/src/main/java/foundation/e/drive/services/ObserverService.java index a61222ca..7cbda7ff 100644 --- a/app/src/main/java/foundation/e/drive/services/ObserverService.java +++ b/app/src/main/java/foundation/e/drive/services/ObserverService.java @@ -277,9 +277,9 @@ public class ObserverService extends Service implements OnRemoteOperationListene List syncedFileStates = DbHelper.getSyncedFileStatesByFolders(this, getIdsFromFolderToScan()); -// if (!syncedFileStates.isEmpty() || !fileObserverObject.getFiles().isEmpty()) { + if (!syncedFileStates.isEmpty() || !fileObserverObject.getFiles().isEmpty()) { handleLocalFiles(fileObserverObject.getFiles(), syncedFileStates); -// } + } //handleLocalFiles(fileObserverObject.getFiles(), fileObserverObject.getSyncedFileStatesList()); } else { -- GitLab From dcea535239f54c53173ee3845d49e717f07a5d6e Mon Sep 17 00:00:00 2001 From: Narinder Rana Date: Fri, 3 Dec 2021 15:53:30 +0530 Subject: [PATCH 3/5] tacking data using log.e --- .../e/drive/operations/ListFileRemoteOperation.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java b/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java index ffde62e8..863776db 100644 --- a/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java +++ b/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java @@ -93,17 +93,25 @@ public class ListFileRemoteOperation extends RemoteOperation { LightReadFolderRemoteOperation operation = new LightReadFolderRemoteOperation(syncedFolder.getRemoteFolder(), DEPTH_1, false); RemoteOperationResult result = operation.execute(ownCloudClient); + //number of call , data size + Log.e(TAG, "........remoteOperation............"+result.getData().size()); + if(result.isSuccess() ){ //is success then data can't be null int dataSize = result.getData().size(); if(dataSize > 1){ //There is at least one subfiles RemoteFile directory = (RemoteFile) result.getData().get(0); + + Log.e(TAG, "........directory.getLength()............"+directory.getLength()); + if(!directory.getEtag().equals(syncedFolder.getLastEtag() )){ //if etag differs List remoteFiles = result.getData().subList( 1, dataSize ); //get list of subfiles //loop through subelements for (int i = -1, remoteFilesSize = remoteFiles.size(); ++i < remoteFilesSize; ){ RemoteFile remoteFile = (RemoteFile) remoteFiles.get(i); + Log.e(TAG, ".......remote id.." +remoteFile.getRemoteId()+"...getLength..."+remoteFile.getLength()+"..size.."+remoteFile.getSize()+"..remote path .."+remoteFile.getRemotePath()); + //if remoteFile is in a "media" folder and its name start with "." // then ignore it -- GitLab From ad8bb1b201980d0591357ecad5bc08023e0d6e02 Mon Sep 17 00:00:00 2001 From: Narinder Rana Date: Fri, 3 Dec 2021 15:56:26 +0530 Subject: [PATCH 4/5] comment code to execute ownCloudClient request for Download --- .../e/drive/operations/ListFileRemoteOperation.java | 6 +++++- .../java/foundation/e/drive/services/ObserverService.java | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java b/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java index 863776db..38c61c09 100644 --- a/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java +++ b/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java @@ -89,6 +89,8 @@ public class ListFileRemoteOperation extends RemoteOperation { } } + /* +//// //Create ReadRemoteOperation LightReadFolderRemoteOperation operation = new LightReadFolderRemoteOperation(syncedFolder.getRemoteFolder(), DEPTH_1, false); RemoteOperationResult result = operation.execute(ownCloudClient); @@ -152,7 +154,7 @@ public class ListFileRemoteOperation extends RemoteOperation { localFolder.delete(); } if( !localFolder.exists() ) { - if (syncedFolder.getId() > this.initialFolderNumber/*-1*/) { //does the synced folder has been persisted? + if (syncedFolder.getId() > this.initialFolderNumber*//*-1*//*) { //does the synced folder has been persisted? //remove it from DB int deleteResult = DbHelper.deleteSyncedFolder(syncedFolder.getId(), mContext); Log.d(TAG, "syncedFolder Id: "+syncedFolder.getId() + " deletion from db return " + deleteResult + " row affected"); @@ -164,6 +166,8 @@ public class ListFileRemoteOperation extends RemoteOperation { } + /////////////// +*/ try{ Thread.sleep(150); }catch(InterruptedException e){ diff --git a/app/src/main/java/foundation/e/drive/services/ObserverService.java b/app/src/main/java/foundation/e/drive/services/ObserverService.java index 7cbda7ff..3197b95b 100644 --- a/app/src/main/java/foundation/e/drive/services/ObserverService.java +++ b/app/src/main/java/foundation/e/drive/services/ObserverService.java @@ -236,7 +236,6 @@ public class ObserverService extends Service implements OnRemoteOperationListene private void startScan(boolean remote) { - remote=false; Log.i(TAG, "startScan(" + remote + ")"); this.mSyncedFolders = loadSyncedFolders(); -- GitLab From 85b89c77c112eeb9611d1cc3cea7bf80c7065d04 Mon Sep 17 00:00:00 2001 From: Narinder Rana Date: Tue, 7 Dec 2021 14:52:09 +0530 Subject: [PATCH 5/5] to manage file observer list data in bundle --- .../operations/ListFileRemoteOperation.java | 4 +--- .../drive/receivers/ConnectivityReceiver.java | 23 +++++++++++-------- .../e/drive/receivers/ScreenOffReceiver.java | 12 ++++++---- .../e/drive/services/ObserverService.java | 18 +++++---------- 4 files changed, 28 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java b/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java index 38c61c09..c924de45 100644 --- a/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java +++ b/app/src/main/java/foundation/e/drive/operations/ListFileRemoteOperation.java @@ -89,7 +89,6 @@ public class ListFileRemoteOperation extends RemoteOperation { } } - /* //// //Create ReadRemoteOperation LightReadFolderRemoteOperation operation = new LightReadFolderRemoteOperation(syncedFolder.getRemoteFolder(), DEPTH_1, false); @@ -154,7 +153,7 @@ public class ListFileRemoteOperation extends RemoteOperation { localFolder.delete(); } if( !localFolder.exists() ) { - if (syncedFolder.getId() > this.initialFolderNumber*//*-1*//*) { //does the synced folder has been persisted? + if (syncedFolder.getId() > this.initialFolderNumber-1) { //does the synced folder has been persisted? //remove it from DB int deleteResult = DbHelper.deleteSyncedFolder(syncedFolder.getId(), mContext); Log.d(TAG, "syncedFolder Id: "+syncedFolder.getId() + " deletion from db return " + deleteResult + " row affected"); @@ -167,7 +166,6 @@ public class ListFileRemoteOperation extends RemoteOperation { /////////////// -*/ try{ Thread.sleep(150); }catch(InterruptedException e){ diff --git a/app/src/main/java/foundation/e/drive/receivers/ConnectivityReceiver.java b/app/src/main/java/foundation/e/drive/receivers/ConnectivityReceiver.java index d6c7b25f..6c5a4586 100644 --- a/app/src/main/java/foundation/e/drive/receivers/ConnectivityReceiver.java +++ b/app/src/main/java/foundation/e/drive/receivers/ConnectivityReceiver.java @@ -14,6 +14,7 @@ import java.io.IOException; import foundation.e.drive.services.FileObserverService; import foundation.e.drive.services.InitializerService; import foundation.e.drive.services.MyApplication; +import foundation.e.drive.utils.CommonUtils; public class ConnectivityReceiver extends BroadcastReceiver { @@ -25,21 +26,20 @@ public class ConnectivityReceiver } public boolean isConnected; - - public static boolean isConnected() { + + public static boolean isConnected() { try { String command = "ping -c 1 ecloud.global"; return Runtime.getRuntime().exec(command).waitFor() == 0; - }catch (Exception ex){ + } catch (Exception ex) { ex.printStackTrace(); } - return false; + return false; } - @Override public void onReceive(final Context context, Intent arg1) { ConnectivityManager cm = (ConnectivityManager) context @@ -67,10 +67,15 @@ public class ConnectivityReceiver } else if (InitializerService.fileObserverFlag) { // - Bundle mBundle = new Bundle(); - mBundle.putBoolean("isFileObserverService", true); - observersServiceIntent.putExtras(mBundle); - context.startService(observersServiceIntent); + try { + Bundle mBundle = new Bundle(); + mBundle.putBoolean("isFileObserverService", true); + mBundle.putByteArray("fileObserverObject", CommonUtils.convertToBytes(new foundation.e.drive.models.FileObserver(FileObserverService.files))); + observersServiceIntent.putExtras(mBundle); + context.startService(observersServiceIntent); + } catch (IOException e) { + e.printStackTrace(); + } } InitializerService.schedulerFlag = false; diff --git a/app/src/main/java/foundation/e/drive/receivers/ScreenOffReceiver.java b/app/src/main/java/foundation/e/drive/receivers/ScreenOffReceiver.java index e8d29f5e..d1fa12cf 100644 --- a/app/src/main/java/foundation/e/drive/receivers/ScreenOffReceiver.java +++ b/app/src/main/java/foundation/e/drive/receivers/ScreenOffReceiver.java @@ -28,8 +28,8 @@ public class ScreenOffReceiver extends BroadcastReceiver { private final String TAG = ScreenOffReceiver.class.getSimpleName(); private static ScreenOffReceiver instance; - public static ScreenOffReceiver getInstance(){ - if(instance == null) + public static ScreenOffReceiver getInstance() { + if (instance == null) instance = new ScreenOffReceiver(); return instance; } @@ -37,20 +37,22 @@ public class ScreenOffReceiver extends BroadcastReceiver { /** * Private constructor */ - private ScreenOffReceiver(){} + private ScreenOffReceiver() { + } @Override public void onReceive(Context context, Intent intent) { Log.i(TAG, "onReceive"); - if(FileObserverService.files.size()!=0){ + if (FileObserverService.files.size() != 0) { try { Intent observersServiceIntent = new Intent(context, foundation.e.drive.services.ObserverService.class); Bundle mBundle = new Bundle(); mBundle.putBoolean("isFileObserverService", true); + mBundle.putByteArray("fileObserverObject", CommonUtils.convertToBytes(new foundation.e.drive.models.FileObserver(FileObserverService.files))); observersServiceIntent.putExtras(mBundle); context.startService(observersServiceIntent); - }catch (Exception exception){ + } catch (Exception exception) { exception.printStackTrace(); } } diff --git a/app/src/main/java/foundation/e/drive/services/ObserverService.java b/app/src/main/java/foundation/e/drive/services/ObserverService.java index 3197b95b..abf00b49 100644 --- a/app/src/main/java/foundation/e/drive/services/ObserverService.java +++ b/app/src/main/java/foundation/e/drive/services/ObserverService.java @@ -95,6 +95,10 @@ public class ObserverService extends Service implements OnRemoteOperationListene isFileObserverService = bundle.getBoolean("isFileObserverService"); fileObserverObject = (foundation.e.drive.models.FileObserver) CommonUtils.convertFromBytes(bundle.getByteArray("fileObserverObject")); } + else + { + isFileObserverService=false; + } } catch (Exception ex) { ex.printStackTrace(); } @@ -269,7 +273,7 @@ public class ObserverService extends Service implements OnRemoteOperationListene } else { if (isFileObserverService && null != fileObserverObject) { - Log.i(TAG, "calling observer service from event event with true and files list data"); + Log.e(TAG, "calling observer service from event event with true and files list data"); // List files = fileObserverObject.getFiles(); DbHelper.updateSyncedFolders(mSyncedFolders, this); //@ToDo: maybe do this when all contents will be synced. @@ -282,7 +286,7 @@ public class ObserverService extends Service implements OnRemoteOperationListene //handleLocalFiles(fileObserverObject.getFiles(), fileObserverObject.getSyncedFileStatesList()); } else { - Log.i(TAG, "calling observer service with false or files list data null "); + Log.e(TAG, "calling observer service with false or files list data null "); if(null!=FileObserverService.files){ FileObserverService.files.removeAll(FileObserverService.files); } @@ -347,18 +351,8 @@ public class ObserverService extends Service implements OnRemoteOperationListene //After everything has been scanned. Send Intent to OperationmanagerService with data in bundle if (operationsForIntent != null && !operationsForIntent.isEmpty()) { -// Intent OMSIntent = new Intent(this, OperationManagerService.class); -// for (Map.Entry entry : operationsForIntent.entrySet()) { -// OMSIntent.putExtra(entry.getKey() + "", entry.getValue()); -// } -// -// OMSIntent.putExtra("account", mAccount); -// startService(OMSIntent); - startOperationManagerService(); - - } else { Log.w(TAG, "There is no file to sync."); getSharedPreferences(AppConstants.SHARED_PREFERENCE_NAME, Context.MODE_PRIVATE) -- GitLab