<string name="prefs_feedback">Σχόλια </string>
<string name="prefs_imprint">Αποτύπωμα</string>
<string name="recommend_subject">Δοκιμάστε %1$s στο κινητό σας!</string>
+ <string name="recommend_text">Θα ήθελα να σε προσκαλέσω να χρησιμοποιήσεις το %1$s στο κινητό σου!\nΛήψη εδώ: %2$s</string>
<string name="auth_check_server">Έλεγχος Διακομιστή</string>
<string name="auth_host_url">Διεύθυνση διακομιστή https://…</string>
<string name="auth_username">Όνομα χρήστη</string>
<string name="prefs_feedback">Segnalazioni</string>
<string name="prefs_imprint">Imprint</string>
<string name="recommend_subject">Prova %1$s sul tuo smartphone!</string>
+ <string name="recommend_text">Vorrei invitarti a usare %1$s sul tuo smartphone!\nScarica qui: %2$s</string>
<string name="auth_check_server">Verifica server</string>
<string name="auth_host_url">Indirizzo server https://...</string>
<string name="auth_username">Nome utente</string>
<string name="prefs_feedback">Odziv</string>
<string name="prefs_imprint">Natis</string>
<string name="recommend_subject">Preizkusi %1$s na pametnem telefonu!</string>
+ <string name="recommend_text">Želim ti predstaviti %1$s na pametnem telefonu!\nPrejmeš ga lahko na: %2$s</string>
<string name="auth_check_server">Preveri strežnik</string>
<string name="auth_host_url">Naslov strežnika https://…</string>
<string name="auth_username">Uporabniško ime</string>
/** '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}.
long currentSyncTime,
boolean syncFullAccount,
boolean isShareSupported,
+ boolean ignoreETag,
FileDataStorageManager dataStorageManager,
Account account,
Context context ) {
mContext = context;
mForgottenLocalFiles = new HashMap<String, String>();
mRemoteFolderChanged = false;
+ mIgnoreETag = ignoreETag;
}
private RemoteOperationResult checkForChanges(OwnCloudClient client) {
- mRemoteFolderChanged = false;
+ mRemoteFolderChanged = true;
RemoteOperationResult result = null;
String remotePath = null;
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"));
mCurrentSyncTime,
true,
mIsShareSupported,
+ true,
getStorageManager(),
getAccount(),
getContext()
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;
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;
public class FileDisplayActivity extends HookActivity implements
FileFragment.ContainerActivity, OnNavigationListener,
-OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener {
+OnSslUntrustedCertListener, OnEnforceableRefreshListener {
private ArrayAdapter<String> mDirectories;
Log_OC.e(TAG, "Initializing Fragments in onAccountChanged..");
initFragmentsWithFile();
if (file.isFolder()) {
- startSyncFolderOperation(file);
+ startSyncFolderOperation(file, false);
}
} else {
OCFile root = getStorageManager().getFileByPath(OCFile.ROOT_PATH);
listOfFiles.listDirectory(root);
setFile(listOfFiles.getCurrentFile());
- startSyncFolderOperation(root);
+ startSyncFolderOperation(root, false);
}
cleanSecondFragment();
}
setNavigationListWithFolder(folder);
listOfFiles.listDirectory(folder);
setFile(listOfFiles.getCurrentFile());
- startSyncFolderOperation(folder);
+ startSyncFolderOperation(folder, false);
} else {
Log_OC.e(TAG, "Unexpected null when accessing list fragment");
}
cleanSecondFragment();
// Sync Folder
- startSyncFolderOperation(directory);
+ startSyncFolderOperation(directory, false);
}
@Override
public void onSavedCertificate() {
- startSyncFolderOperation(getCurrentDir());
+ startSyncFolderOperation(getCurrentDir(), false);
}
return null;
}
- public void startSyncFolderOperation(OCFile folder) {
+ public void startSyncFolderOperation(OCFile folder, boolean ignoreETag) {
long currentSyncTime = System.currentTimeMillis();
mSyncInProgress = true;
currentSyncTime,
false,
getFileOperationsHelper().isSharedSupported(),
+ ignoreETag,
getStorageManager(),
getAccount(),
getApplicationContext()
}
@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);
}
}
}
-
}
OCFileListFragment listOfFolders = getListOfFilesFragment();
listOfFolders.listDirectory(folder);
- startSyncFolderOperation(folder);
+ startSyncFolderOperation(folder, false);
}
updateNavigationElementsInActionBar();
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;
currentSyncTime,
false,
getFileOperationsHelper().isSharedSupported(),
+ ignoreETag,
getStorageManager(),
getAccount(),
getApplicationContext()
listOfFiles.listDirectory(root);
setFile(listOfFiles.getCurrentFile());
updateNavigationElementsInActionBar();
- startSyncFolderOperation(root);
+ startSyncFolderOperation(root, false);
}
}
if (listOfFiles != null) {
OCFile folder = listOfFiles.getCurrentFile();
if (folder != null) {
- startSyncFolderOperation(folder);
+ startSyncFolderOperation(folder, true);
}
}
}
--- /dev/null
+package com.owncloud.android.ui.activity;
+
+import android.support.v4.widget.SwipeRefreshLayout;
+
+ public interface OnEnforceableRefreshListener extends SwipeRefreshLayout.OnRefreshListener {
+
+ public void onRefresh(boolean enforced);
+
+ }
+
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;
/**
* 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();
private ArrayList<Integer> mTops;
private int mHeightCell = 0;
- private SwipeRefreshLayout.OnRefreshListener mOnRefreshListener = null;
+ private OnEnforceableRefreshListener mOnRefreshListener = null;
public void setListAdapter(ListAdapter listAdapter) {
}
}
- public void setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener) {
+ public void setOnRefreshListener(OnEnforceableRefreshListener listener) {
mOnRefreshListener = listener;
}
refreshLayout.setOnRefreshListener(this);
}
+ @Override
+ public void onRefresh(boolean ignoreETag) {
+ mRefreshLayout.setRefreshing(false);
+ mRefreshEmptyLayout.setRefreshing(false);
+
+ if (mOnRefreshListener != null) {
+ mOnRefreshListener.onRefresh(ignoreETag);
+ }
+ }
}
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;
FileFragment.ContainerActivity.class.getSimpleName());
}
try {
- setOnRefreshListener((SwipeRefreshLayout.OnRefreshListener) activity);
+ setOnRefreshListener((OnEnforceableRefreshListener) activity);
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement " +
listDirectory(mFile);
- onRefresh();
+ onRefresh(false);
// restore index and top position
restoreIndexAndTopPosition();