import android.accounts.Account;
import android.accounts.AccountManager;
-import android.app.AlertDialog;
-import android.app.AlertDialog.Builder;
+import android.support.v7.app.AlertDialog;
+import android.support.v7.app.AlertDialog.Builder;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
+import android.widget.ProgressBar;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import com.owncloud.android.utils.CopyTmpFileAsyncTask;
import com.owncloud.android.utils.DisplayUtils;
import com.owncloud.android.utils.ErrorMessageAdapter;
+import com.owncloud.android.utils.FileStorageUtils;
/**
if (mAccountSelected) {
setAccount((Account) savedInstanceState.getParcelable(FileActivity.EXTRA_ACCOUNT));
}
-
-
- ActionBar actionBar = getSupportActionBar();
- actionBar.setIcon(DisplayUtils.getSeasonalIconId());
-
}
@Override
final AlertDialog.Builder builder = new Builder(this);
switch (id) {
case DIALOG_WAITING:
- ProgressDialog pDialog = new ProgressDialog(this);
+ final ProgressDialog pDialog = new ProgressDialog(this, R.style.ProgressDialogTheme);
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.setMessage(getResources().getString(R.string.uploader_info_uploading));
+ pDialog.setOnShowListener(new DialogInterface.OnShowListener() {
+ @Override
+ public void onShow(DialogInterface dialog) {
+ ProgressBar v = (ProgressBar) pDialog.findViewById(android.R.id.progress);
+ v.getIndeterminateDrawable().setColorFilter(getResources().getColor(R.color.color_accent),
+ android.graphics.PorterDuff.Mode.MULTIPLY);
+
+ }
+ });
return pDialog;
case DIALOG_NO_ACCOUNT:
builder.setIcon(android.R.drawable.ic_dialog_alert);
Log_OC.d(TAG, "on item click");
// TODO Enable when "On Device" is recovered ?
Vector<OCFile> tmpfiles = getStorageManager().getFolderContent(mFile /*, false*/);
+ tmpfiles = sortFileList(tmpfiles);
+
if (tmpfiles.size() <= 0) return;
// filter on dirtype
Vector<OCFile> files = new Vector<OCFile>();
setContentView(R.layout.uploader_layout);
ListView mListView = (ListView) findViewById(android.R.id.list);
+ ActionBar actionBar = getSupportActionBar();
String current_dir = mParents.peek();
if(current_dir.equals("")){
- getSupportActionBar().setTitle(getString(R.string.default_display_name_for_root_folder));
+ actionBar.setTitle(getString(R.string.uploader_top_message));
}
else{
- getSupportActionBar().setTitle(current_dir);
+ actionBar.setTitle(current_dir);
}
boolean notRoot = (mParents.size() > 1);
- ActionBar actionBar = getSupportActionBar();
+
actionBar.setDisplayHomeAsUpEnabled(notRoot);
actionBar.setHomeButtonEnabled(notRoot);
if (mFile != null) {
// TODO Enable when "On Device" is recovered ?
Vector<OCFile> files = getStorageManager().getFolderContent(mFile/*, false*/);
+ files = sortFileList(files);
+
List<HashMap<String, Object>> data = new LinkedList<HashMap<String,Object>>();
for (OCFile f : files) {
- HashMap<String, Object> h = new HashMap<String, Object>();
if (f.isFolder()) {
+ HashMap<String, Object> h = new HashMap<String, Object>();
h.put("dirname", f.getFileName());
+ h.put("last_mod", DisplayUtils.getRelativeTimestamp(this, f));
data.add(h);
}
}
SimpleAdapter sa = new SimpleAdapter(this,
data,
R.layout.uploader_list_item_layout,
- new String[] {"dirname"},
- new int[] {R.id.filename});
+ new String[] {"dirname", "last_mod"},
+ new int[] {R.id.filename, R.id.last_mod});
mListView.setAdapter(sa);
Button btnChooseFolder = (Button) findViewById(R.id.uploader_choose_folder);
}
}
+ private Vector<OCFile> sortFileList(Vector<OCFile> files) {
+ SharedPreferences sharedPreferences = PreferenceManager
+ .getDefaultSharedPreferences(this);
+
+ // Read sorting order, default to sort by name ascending
+ FileStorageUtils.mSortOrder = sharedPreferences.getInt("sortOrder", 0);
+ FileStorageUtils.mSortAscending = sharedPreferences.getBoolean("sortAscending", true);
+
+ files = FileStorageUtils.sortFolder(files);
+ return files;
+ }
+
private String generatePath(Stack<String> dirs) {
String full_path = "";
private void onCreateFolderOperationFinish(CreateFolderOperation operation,
RemoteOperationResult result) {
if (result.isSuccess()) {
- dismissLoadingDialog();
populateDirectoryList();
} else {
- dismissLoadingDialog();
try {
Toast msg = Toast.makeText(this,
ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()),