From: David A. Velasco Date: Thu, 18 Sep 2014 07:31:24 +0000 (+0200) Subject: Fixed conflict - Merge branch 'develop' into better_loggin_system X-Git-Tag: oc-android-1.7.0_signed~176^2 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/ea5c4760c2f150f907b17c2c8609ab1353a3ef62?ds=inline;hp=-c Fixed conflict - Merge branch 'develop' into better_loggin_system --- ea5c4760c2f150f907b17c2c8609ab1353a3ef62 diff --combined src/com/owncloud/android/operations/SynchronizeFolderOperation.java index 46231c7a,60f35a5d..f5426527 --- a/src/com/owncloud/android/operations/SynchronizeFolderOperation.java +++ b/src/com/owncloud/android/operations/SynchronizeFolderOperation.java @@@ -43,7 -43,6 +43,7 @@@ import com.owncloud.android.lib.resourc import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; +import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.lib.resources.shares.GetRemoteSharesForFileOperation; import com.owncloud.android.lib.resources.files.FileUtils; import com.owncloud.android.lib.resources.files.ReadRemoteFileOperation; @@@ -52,6 -51,7 +52,6 @@@ import com.owncloud.android.lib.resourc import com.owncloud.android.syncadapter.FileSyncAdapter; import com.owncloud.android.utils.FileStorageUtils; -import com.owncloud.android.utils.Log_OC; @@@ -109,6 -109,9 +109,9 @@@ public class SynchronizeFolderOperatio /** 'True' means that the remote folder changed from last synchronization and should be fetched */ private boolean mRemoteFolderChanged; + /** 'True' means that Etag will be ignored */ + private boolean mIgnoreETag; + /** * Creates a new instance of {@link SynchronizeFolderOperation}. @@@ -126,6 -129,7 +129,7 @@@ long currentSyncTime, boolean syncFullAccount, boolean isShareSupported, + boolean ignoreETag, FileDataStorageManager dataStorageManager, Account account, Context context ) { @@@ -138,6 -142,7 +142,7 @@@ mContext = context; mForgottenLocalFiles = new HashMap(); mRemoteFolderChanged = false; + mIgnoreETag = ignoreETag; } @@@ -215,7 -220,7 +220,7 @@@ private RemoteOperationResult checkForChanges(OwnCloudClient client) { - mRemoteFolderChanged = false; + mRemoteFolderChanged = true; RemoteOperationResult result = null; String remotePath = null; @@@ -227,10 -232,12 +232,12 @@@ result = operation.execute(client); if (result.isSuccess()){ OCFile remoteFolder = FileStorageUtils.fillOCFile((RemoteFile) result.getData().get(0)); - - // check if remote and local folder are different - mRemoteFolderChanged = !(remoteFolder.getEtag().equalsIgnoreCase(mLocalFolder.getEtag())); - + + if (!mIgnoreETag) { + // check if remote and local folder are different + mRemoteFolderChanged = !(remoteFolder.getEtag().equalsIgnoreCase(mLocalFolder.getEtag())); + } + result = new RemoteOperationResult(ResultCode.OK); Log_OC.i(TAG, "Checked " + mAccount.name + remotePath + " : " + (mRemoteFolderChanged ? "changed" : "not changed")); diff --combined src/com/owncloud/android/syncadapter/FileSyncAdapter.java index 360dcf40,80964041..b095981e --- a/src/com/owncloud/android/syncadapter/FileSyncAdapter.java +++ b/src/com/owncloud/android/syncadapter/FileSyncAdapter.java @@@ -34,8 -34,8 +34,8 @@@ import com.owncloud.android.lib.common. import com.owncloud.android.operations.SynchronizeFolderOperation; import com.owncloud.android.operations.UpdateOCVersionOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; +import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.ui.activity.ErrorsWhileCopyingHandlerActivity; -import com.owncloud.android.utils.Log_OC; import android.accounts.Account; import android.accounts.AccountsException; @@@ -264,6 -264,7 +264,7 @@@ public class FileSyncAdapter extends Ab mCurrentSyncTime, true, mIsShareSupported, + true, getStorageManager(), getAccount(), getContext() diff --combined src/com/owncloud/android/ui/activity/FileDisplayActivity.java index 69d44212,c52845f5..21472fd1 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@@ -21,8 -21,6 +21,6 @@@ package com.owncloud.android.ui.activit import java.io.File; import java.io.IOException; - import org.apache.commons.httpclient.methods.PostMethod; - import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.AuthenticatorException; @@@ -50,7 -48,6 +48,6 @@@ import android.provider.MediaStore import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; - import android.support.v4.widget.SwipeRefreshLayout; import android.util.Log; import android.view.View; import android.view.ViewGroup; @@@ -64,7 -61,6 +61,7 @@@ import com.actionbarsherlock.view.Menu import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; import com.actionbarsherlock.view.Window; +import com.owncloud.android.BuildConfig; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; @@@ -81,7 -77,6 +78,7 @@@ import com.owncloud.android.lib.common. import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; +import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.operations.CreateFolderOperation; import com.owncloud.android.operations.CreateShareOperation; import com.owncloud.android.operations.MoveFileOperation; @@@ -104,6 -99,7 +101,6 @@@ import com.owncloud.android.ui.preview. import com.owncloud.android.ui.preview.PreviewVideoActivity; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.ErrorMessageAdapter; -import com.owncloud.android.utils.Log_OC; /** @@@ -115,7 -111,7 +112,7 @@@ public class FileDisplayActivity extends HookActivity implements FileFragment.ContainerActivity, OnNavigationListener, - OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { + OnSslUntrustedCertListener, OnEnforceableRefreshListener { private ArrayAdapter mDirectories; @@@ -252,7 -248,7 +249,7 @@@ Log_OC.e(TAG, "Initializing Fragments in onAccountChanged.."); initFragmentsWithFile(); if (file.isFolder()) { - startSyncFolderOperation(file); + startSyncFolderOperation(file, false); } } else { @@@ -293,7 -289,7 +290,7 @@@ if (listOfFiles != null) { listOfFiles.listDirectory(getCurrentDir()); } else { - Log.e(TAG, "Still have a chance to lose the initializacion of list fragment >("); + Log_OC.e(TAG, "Still have a chance to lose the initializacion of list fragment >("); } /// Second fragment @@@ -309,12 -305,12 +306,12 @@@ } } else { - Log.wtf(TAG, "initFragments() called with invalid NULLs!"); + Log_OC.wtf(TAG, "initFragments() called with invalid NULLs!"); if (getAccount() == null) { - Log.wtf(TAG, "\t account is NULL"); + Log_OC.wtf(TAG, "\t account is NULL"); } if (getFile() == null) { - Log.wtf(TAG, "\t file is NULL"); + Log_OC.wtf(TAG, "\t file is NULL"); } } } @@@ -453,16 -449,6 +450,16 @@@ } @Override + public boolean onPrepareOptionsMenu(Menu menu) { + if (BuildConfig.DEBUG) { + menu.findItem(R.id.action_logger).setVisible(true); + } else { + menu.findItem(R.id.action_logger).setVisible(false); + } + return super.onPrepareOptionsMenu(menu); + } + + @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getSherlock().getMenuInflater(); inflater.inflate(R.menu.main_menu, menu); @@@ -492,11 -478,6 +489,11 @@@ startActivity(settingsIntent); break; } + case R.id.action_logger: { + Intent loggerIntent = new Intent(getApplicationContext(),LogHistoryActivity.class); + startActivity(loggerIntent); + break; + } case android.R.id.home: { FileFragment second = getSecondFragment(); OCFile currentDir = getCurrentDir(); @@@ -1042,7 -1023,7 +1039,7 @@@ } ocFileListFragment.setMessageForEmptyList(getString(message)); } else { - Log.e(TAG, "OCFileListFragment is null"); + Log_OC.e(TAG, "OCFileListFragment is null"); } } @@@ -1169,7 -1150,7 +1166,7 @@@ OCFile root = getStorageManager().getFileByPath(OCFile.ROOT_PATH); listOfFiles.listDirectory(root); setFile(listOfFiles.getCurrentFile()); - startSyncFolderOperation(root); + startSyncFolderOperation(root, false); } cleanSecondFragment(); } @@@ -1184,7 -1165,7 +1181,7 @@@ setNavigationListWithFolder(folder); listOfFiles.listDirectory(folder); setFile(listOfFiles.getCurrentFile()); - startSyncFolderOperation(folder); + startSyncFolderOperation(folder, false); } else { Log_OC.e(TAG, "Unexpected null when accessing list fragment"); } @@@ -1203,7 -1184,7 +1200,7 @@@ cleanSecondFragment(); // Sync Folder - startSyncFolderOperation(directory); + startSyncFolderOperation(directory, false); } @@@ -1320,7 -1301,7 +1317,7 @@@ @Override public void onSavedCertificate() { - startSyncFolderOperation(getCurrentDir()); + startSyncFolderOperation(getCurrentDir(), false); } @@@ -1608,7 -1589,7 +1605,7 @@@ return null; } - public void startSyncFolderOperation(OCFile folder) { + public void startSyncFolderOperation(OCFile folder, boolean ignoreETag) { long currentSyncTime = System.currentTimeMillis(); mSyncInProgress = true; @@@ -1618,6 -1599,7 +1615,7 @@@ currentSyncTime, false, getFileOperationsHelper().isSharedSupported(), + ignoreETag, getStorageManager(), getAccount(), getApplicationContext() @@@ -1730,16 -1712,24 +1728,24 @@@ } @Override + public void onRefresh(boolean ignoreETag) { + refreshList(ignoreETag); + } + + @Override public void onRefresh() { + refreshList(true); + } + + private void refreshList(boolean ignoreETag) { OCFileListFragment listOfFiles = getListOfFilesFragment(); if (listOfFiles != null) { OCFile folder = listOfFiles.getCurrentFile(); if (folder != null) { /*mFile = mContainerActivity.getStorageManager().getFileById(mFile.getFileId()); listDirectory(mFile);*/ - startSyncFolderOperation(folder); + startSyncFolderOperation(folder, ignoreETag); } } } - } diff --combined src/com/owncloud/android/ui/activity/MoveActivity.java index c6025c4c,18633706..2d6824c8 --- a/src/com/owncloud/android/ui/activity/MoveActivity.java +++ b/src/com/owncloud/android/ui/activity/MoveActivity.java @@@ -61,7 -61,7 +61,7 @@@ import com.owncloud.android.ui.fragment import com.owncloud.android.ui.fragment.OCFileListFragment; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.ErrorMessageAdapter; -import com.owncloud.android.utils.Log_OC; +import com.owncloud.android.lib.common.utils.Log_OC; public class MoveActivity extends HookActivity implements FileFragment.ContainerActivity, OnClickListener, SwipeRefreshLayout.OnRefreshListener { @@@ -145,7 -145,7 +145,7 @@@ OCFileListFragment listOfFolders = getListOfFilesFragment(); listOfFolders.listDirectory(folder); - startSyncFolderOperation(folder); + startSyncFolderOperation(folder, false); } updateNavigationElementsInActionBar(); @@@ -201,12 -201,12 +201,12 @@@ setFile(directory); updateNavigationElementsInActionBar(); // Sync Folder - startSyncFolderOperation(directory); + startSyncFolderOperation(directory, false); } - public void startSyncFolderOperation(OCFile folder) { + public void startSyncFolderOperation(OCFile folder, boolean ignoreETag) { long currentSyncTime = System.currentTimeMillis(); mSyncInProgress = true; @@@ -216,6 -216,7 +216,7 @@@ currentSyncTime, false, getFileOperationsHelper().isSharedSupported(), + ignoreETag, getStorageManager(), getAccount(), getApplicationContext() @@@ -323,7 -324,7 +324,7 @@@ listOfFiles.listDirectory(root); setFile(listOfFiles.getCurrentFile()); updateNavigationElementsInActionBar(); - startSyncFolderOperation(root); + startSyncFolderOperation(root, false); } } @@@ -560,7 -561,7 +561,7 @@@ if (listOfFiles != null) { OCFile folder = listOfFiles.getCurrentFile(); if (folder != null) { - startSyncFolderOperation(folder); + startSyncFolderOperation(folder, true); } } } diff --combined src/com/owncloud/android/ui/fragment/ExtendedListFragment.java index 45a6aafe,85b04b22..5d3f7ace --- a/src/com/owncloud/android/ui/fragment/ExtendedListFragment.java +++ b/src/com/owncloud/android/ui/fragment/ExtendedListFragment.java @@@ -33,14 -33,15 +33,15 @@@ import android.widget.TextView import com.actionbarsherlock.app.SherlockFragment; import com.owncloud.android.R; +import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.ui.ExtendedListView; + import com.owncloud.android.ui.activity.OnEnforceableRefreshListener; -import com.owncloud.android.utils.Log_OC; /** * TODO extending SherlockListFragment instead of SherlockFragment */ public class ExtendedListFragment extends SherlockFragment - implements OnItemClickListener, SwipeRefreshLayout.OnRefreshListener { + implements OnItemClickListener, OnEnforceableRefreshListener { private static final String TAG = ExtendedListFragment.class.getSimpleName(); @@@ -63,7 -64,7 +64,7 @@@ private ArrayList mTops; private int mHeightCell = 0; - private SwipeRefreshLayout.OnRefreshListener mOnRefreshListener = null; + private OnEnforceableRefreshListener mOnRefreshListener = null; public void setListAdapter(ListAdapter listAdapter) { @@@ -240,7 -241,7 +241,7 @@@ } } - public void setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener) { + public void setOnRefreshListener(OnEnforceableRefreshListener listener) { mOnRefreshListener = listener; } @@@ -300,4 -301,13 +301,13 @@@ refreshLayout.setOnRefreshListener(this); } + @Override + public void onRefresh(boolean ignoreETag) { + mRefreshLayout.setRefreshing(false); + mRefreshEmptyLayout.setRefreshing(false); + + if (mOnRefreshListener != null) { + mOnRefreshListener.onRefresh(ignoreETag); + } + } } diff --combined src/com/owncloud/android/ui/fragment/OCFileListFragment.java index 099e442f,4e768535..3665fe0b --- a/src/com/owncloud/android/ui/fragment/OCFileListFragment.java +++ b/src/com/owncloud/android/ui/fragment/OCFileListFragment.java @@@ -34,15 -34,16 +34,16 @@@ import com.owncloud.android.R import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.files.FileMenuFilter; +import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.ui.activity.FileDisplayActivity; import com.owncloud.android.ui.activity.MoveActivity; + import com.owncloud.android.ui.activity.OnEnforceableRefreshListener; import com.owncloud.android.ui.adapter.FileListListAdapter; import com.owncloud.android.ui.dialog.ConfirmationDialogFragment; import com.owncloud.android.ui.dialog.RemoveFileDialogFragment; import com.owncloud.android.ui.dialog.RenameFileDialogFragment; import com.owncloud.android.ui.preview.PreviewImageFragment; import com.owncloud.android.ui.preview.PreviewMediaFragment; -import com.owncloud.android.utils.Log_OC; /** * A Fragment that lists all files and folders in a given path. @@@ -88,7 -89,7 +89,7 @@@ public class OCFileListFragment extend FileFragment.ContainerActivity.class.getSimpleName()); } try { - setOnRefreshListener((SwipeRefreshLayout.OnRefreshListener) activity); + setOnRefreshListener((OnEnforceableRefreshListener) activity); } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement " + @@@ -174,7 -175,7 +175,7 @@@ listDirectory(mFile); - onRefresh(); + onRefresh(false); // restore index and top position restoreIndexAndTopPosition();