X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/eda6f714913d16cdfd269b48c2afd712b3232506..df001d5dfd541cfe58fd964d47db3f4ea98d99fc:/src/com/owncloud/android/ui/activity/Uploader.java diff --git a/src/com/owncloud/android/ui/activity/Uploader.java b/src/com/owncloud/android/ui/activity/Uploader.java index 8b5be060..99ca54ec 100644 --- a/src/com/owncloud/android/ui/activity/Uploader.java +++ b/src/com/owncloud/android/ui/activity/Uploader.java @@ -33,8 +33,8 @@ import java.util.Vector; 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; @@ -66,6 +66,7 @@ import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; +import android.widget.ProgressBar; import android.widget.SimpleAdapter; import android.widget.Toast; @@ -83,6 +84,7 @@ import com.owncloud.android.ui.dialog.LoadingDialog; import com.owncloud.android.utils.CopyTmpFileAsyncTask; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.ErrorMessageAdapter; +import com.owncloud.android.utils.FileStorageUtils; /** @@ -148,11 +150,6 @@ public class Uploader extends FileActivity if (mAccountSelected) { setAccount((Account) savedInstanceState.getParcelable(FileActivity.EXTRA_ACCOUNT)); } - - - ActionBar actionBar = getSupportActionBar(); - actionBar.setIcon(DisplayUtils.getSeasonalIconId()); - } @Override @@ -208,10 +205,19 @@ public class Uploader extends FileActivity 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); @@ -330,6 +336,8 @@ public class Uploader extends FileActivity Log_OC.d(TAG, "on item click"); // TODO Enable when "On Device" is recovered ? Vector tmpfiles = getStorageManager().getFolderContent(mFile /*, false*/); + tmpfiles = sortFileList(tmpfiles); + if (tmpfiles.size() <= 0) return; // filter on dirtype Vector files = new Vector(); @@ -394,16 +402,17 @@ public class Uploader extends FileActivity 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); @@ -415,19 +424,22 @@ public class Uploader extends FileActivity if (mFile != null) { // TODO Enable when "On Device" is recovered ? Vector files = getStorageManager().getFolderContent(mFile/*, false*/); + files = sortFileList(files); + List> data = new LinkedList>(); for (OCFile f : files) { - HashMap h = new HashMap(); if (f.isFolder()) { + HashMap h = new HashMap(); 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); @@ -440,6 +452,18 @@ public class Uploader extends FileActivity } } + private Vector sortFileList(Vector 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 dirs) { String full_path = ""; @@ -602,10 +626,8 @@ public class Uploader extends FileActivity 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()),