\r
package eu.alefzero.owncloud.ui.activity;\r
\r
+import java.io.BufferedReader;\r
import java.io.File;\r
+import java.io.InputStreamReader;\r
+import java.lang.Thread.UncaughtExceptionHandler;\r
import java.net.URLEncoder;\r
import java.util.ArrayList;\r
\r
import android.net.Uri;\r
import android.os.Bundle;\r
import android.provider.MediaStore;\r
+import android.telephony.TelephonyManager;\r
import android.util.Log;\r
import android.view.View;\r
import android.view.ViewGroup;\r
import android.widget.ArrayAdapter;\r
+import android.widget.CheckedTextView;\r
import android.widget.EditText;\r
import android.widget.TextView;\r
\r
import com.actionbarsherlock.view.Window;\r
\r
import eu.alefzero.owncloud.AccountUtils;\r
+import eu.alefzero.owncloud.CrashHandler;\r
import eu.alefzero.owncloud.R;\r
import eu.alefzero.owncloud.authenticator.AccountAuthenticator;\r
import eu.alefzero.owncloud.datamodel.DataStorageManager;\r
*/\r
\r
public class FileDisplayActivity extends SherlockFragmentActivity implements\r
- OnNavigationListener, OnClickListener {\r
+ OnNavigationListener, OnClickListener, android.view.View.OnClickListener {\r
private ArrayAdapter<String> mDirectories;\r
private DataStorageManager mStorageManager;\r
private FileListFragment mFileList;\r
public void onCreate(Bundle savedInstanceState) {\r
super.onCreate(savedInstanceState);\r
\r
- if (!accountsAreSetup()) {\r
- showDialog(DIALOG_SETUP_ACCOUNT);\r
- return;\r
- }\r
-\r
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);\r
setProgressBarIndeterminateVisibility(false);\r
- \r
+\r
+ Thread.setDefaultUncaughtExceptionHandler(new CrashHandler(getApplicationContext()));\r
+\r
if(savedInstanceState != null){\r
mCurrentDir = (OCFile) savedInstanceState.getParcelable(KEY_CURRENT_DIR);\r
}\r
- \r
- setContentView(R.layout.files);\r
}\r
\r
@Override\r
public boolean onCreateOptionsMenu(Menu menu) {\r
MenuInflater inflater = getSherlock().getMenuInflater();\r
- inflater.inflate(R.menu.menu, menu);\r
- return true;\r
+ inflater.inflate(R.menu.menu, menu);\r
+ return true;\r
}\r
\r
@Override\r
ACTION_SELECT_FILE);\r
break;\r
}\r
- case R.id.action_accounts: {\r
- Intent accountIntent = new Intent(this, AccountSelectActivity.class);\r
- startActivity(accountIntent);\r
+ case R.id.action_settings: {\r
+ Intent settingsIntent = new Intent(this, Preferences.class);\r
+ startActivity(settingsIntent);\r
}\r
case android.R.id.home: {\r
if(mCurrentDir != null && mCurrentDir.getParentId() != 0){\r
if (!remotepath.endsWith("/"))\r
remotepath += "/";\r
remotepath += URLEncoder.encode(new File(filepath).getName());\r
- Log.e("ASD", remotepath + "");\r
\r
i.putExtra(FileUploader.KEY_LOCAL_FILE, filepath);\r
i.putExtra(FileUploader.KEY_REMOTE_FILE, remotepath);\r
\r
@Override\r
public void onBackPressed() {\r
- if (mDirectories.getCount() == 1) {\r
+ if (mDirectories == null || mDirectories.getCount() <= 1) {\r
finish();\r
return;\r
}\r
@Override\r
protected void onRestoreInstanceState(Bundle savedInstanceState) {\r
super.onRestoreInstanceState(savedInstanceState);\r
- // Check, if there are ownCloud accounts\r
- if (!accountsAreSetup()) {\r
- showDialog(DIALOG_SETUP_ACCOUNT);\r
- }\r
mDirs = savedInstanceState.getStringArray(KEY_DIR_ARRAY);\r
mDirectories = new CustomArrayAdapter<String>(this, R.layout.sherlock_spinner_dropdown_item);\r
mDirectories.add("/");\r
@Override\r
protected void onSaveInstanceState(Bundle outState) {\r
super.onSaveInstanceState(outState);\r
- if(mDirectories != null){\r
+ if(mDirectories != null && mDirectories.getCount() != 0){\r
mDirs = new String[mDirectories.getCount()-1];\r
for (int j = mDirectories.getCount() - 2, i = 0; j >= 0; --j, ++i) {\r
mDirs[i] = mDirectories.getItem(j);\r
\r
//TODO: Dialog useless -> get rid of this\r
if (!accountsAreSetup()) {\r
- showDialog(DIALOG_SETUP_ACCOUNT);\r
+ setContentView(R.layout.no_account_available);\r
+ setProgressBarIndeterminateVisibility(false);\r
+ getSupportActionBar().setNavigationMode(ActionBar.DISPLAY_SHOW_TITLE);\r
+ findViewById(R.id.setup_account).setOnClickListener(this);\r
return;\r
+ } else if (findViewById(R.id.file_list_view) == null) {\r
+ setContentView(R.layout.files);\r
}\r
\r
// Listen for sync messages\r
action_bar.setDisplayHomeAsUpEnabled(false);\r
}\r
\r
- \r
// List dir here\r
mFileList.listDirectory(mCurrentDir);\r
}\r
String password = mAm.getPassword(mAccount);\r
\r
wdc.setCredentials(username, password);\r
- wdc.allowUnsignedCertificates();\r
+ wdc.allowSelfsignedCertificates();\r
wdc.createDirectory(mTargetPath);\r
}\r
\r
\r
}\r
\r
+ @Override\r
+ public void onClick(View v) {\r
+ if (v.getId() == R.id.setup_account) {\r
+ Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS");\r
+ intent.putExtra("authorities", new String[] { AccountAuthenticator.AUTH_TOKEN_TYPE });\r
+ startActivity(intent);\r
+ }\r
+ } \r
}\r