X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/576e2923ccbb2175b7177b26aca90b4b4c0253d0..e8c9e5b09a18d1fa8a764046b7da1402fada46f1:/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java diff --git a/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java b/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java index e7ee4cc1..832ccae8 100644 --- a/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java +++ b/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java @@ -20,8 +20,6 @@ package eu.alefzero.owncloud.ui.activity; import java.io.File; import java.net.URLDecoder; -import java.net.URLEncoder; - import android.accounts.Account; import android.accounts.AccountManager; import android.app.AlertDialog; @@ -62,7 +60,6 @@ import eu.alefzero.owncloud.datamodel.OCFile; import eu.alefzero.owncloud.files.services.FileUploader; import eu.alefzero.owncloud.syncadapter.FileSyncService; import eu.alefzero.owncloud.ui.fragment.FileListFragment; -import eu.alefzero.owncloud.utils.OwnCloudVersion; import eu.alefzero.webdav.WebdavClient; /** @@ -76,13 +73,14 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements OnNavigationListener, OnClickListener { private ArrayAdapter mDirectories; private DataStorageManager mStorageManager; + private String[] mDirs = null; private SyncBroadcastReceiver syncBroadcastRevceiver; + private static final String KEY_DIR = "DIR"; + private static final int DIALOG_SETUP_ACCOUNT = 0; private static final int DIALOG_CREATE_DIR = 1; - - private static final int REQUEST_ACCOUNT_SETUP = 0; private static final int ACTION_SELECT_FILE = 1; public void pushPath(String path) { @@ -172,8 +170,7 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setProgressBarIndeterminateVisibility(false); - // if (getSupportFragmentManager().findFragmentById(R.id.fileList) == - // null) + setContentView(R.layout.files); } @@ -182,41 +179,36 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements public boolean onOptionsItemSelected(MenuItem item) { boolean retval = true; switch (item.getItemId()) { - case R.id.settingsItem: { - Intent i = new Intent(this, Preferences.class); - startActivity(i); - break; - } - case R.id.createDirectoryItem: { - showDialog(DIALOG_CREATE_DIR); - break; - } - case R.id.startSync: { - Bundle bundle = new Bundle(); - bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true); - ContentResolver.requestSync( - AccountUtils.getCurrentOwnCloudAccount(this), - "org.owncloud", bundle); - break; - } - case R.id.action_upload: { - Intent action = new Intent(Intent.ACTION_GET_CONTENT); - action = action.setType("*/*") - .addCategory(Intent.CATEGORY_OPENABLE); - startActivityForResult( - Intent.createChooser(action, "Upload file from..."), - ACTION_SELECT_FILE); - break; - } - - case android.R.id.home: { - Intent i = new Intent(this, AccountSelectActivity.class); - startActivity(i); - finish(); - break; - } - default: - retval = false; + case R.id.createDirectoryItem: { + showDialog(DIALOG_CREATE_DIR); + break; + } + case R.id.startSync: { + Bundle bundle = new Bundle(); + bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true); + ContentResolver.requestSync( + AccountUtils.getCurrentOwnCloudAccount(this), + "org.owncloud", bundle); + break; + } + case R.id.action_upload: { + Intent action = new Intent(Intent.ACTION_GET_CONTENT); + action = action.setType("*/*") + .addCategory(Intent.CATEGORY_OPENABLE); + startActivityForResult( + Intent.createChooser(action, "Upload file from..."), + ACTION_SELECT_FILE); + break; + } + + case android.R.id.home: { + Intent i = new Intent(this, AccountSelectActivity.class); + startActivity(i); + finish(); + break; + } + default: + retval = false; } return retval; } @@ -246,6 +238,23 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements if (!accountsAreSetup()) { showDialog(DIALOG_SETUP_ACCOUNT); } + mDirs = savedInstanceState.getStringArray(KEY_DIR); + mDirectories = new CustomArrayAdapter(this, R.layout.sherlock_spinner_dropdown_item); + mDirectories.add("/"); + if (mDirs != null) + for (String s : mDirs) + mDirectories.insert(s, 0); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + if(mDirectories != null){ + mDirs = new String[mDirectories.getCount()-1]; + for (int j = mDirectories.getCount() - 2, i = 0; j >= 0; --j, ++i) { + mDirs[i] = mDirectories.getItem(j); + } + } } @Override @@ -260,9 +269,15 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements syncBroadcastRevceiver = new SyncBroadcastReceiver(); registerReceiver(syncBroadcastRevceiver, f); - mDirectories = new CustomArrayAdapter(this, - R.layout.sherlock_spinner_dropdown_item); + mDirectories = new CustomArrayAdapter(this, R.layout.sherlock_spinner_dropdown_item); mDirectories.add("/"); + if (mDirs != null) { + for (String s : mDirs) + mDirectories.insert(s, 0); + FileListFragment fileListFramgent = (FileListFragment) getSupportFragmentManager() + .findFragmentById(R.id.fileList); + if (fileListFramgent != null) fileListFramgent.listDirectory(); + } mStorageManager = new FileDataStorageManager( AccountUtils.getCurrentOwnCloudAccount(this), @@ -445,7 +460,7 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements FileListFragment fileListFramgent = (FileListFragment) getSupportFragmentManager() .findFragmentById(R.id.fileList); if (fileListFramgent != null) - fileListFramgent.populateFileList(); + fileListFramgent.listDirectory(); } }