- \r
- setListAdapter(new FileListListAdapter(mCursor, this));\r
- getListView().invalidate();*/\r
- //}\r
-\r
- //@Override\r
-/* protected void onListItemClick(ListView l, View v, int position, long id) {\r
- super.onListItemClick(l, v, position, id);\r
- /*PathLayout pl = (PathLayout) findViewById(R.id.pathLayout1);\r
- if (!mCursor.moveToPosition(position)) {\r
- throw new IndexOutOfBoundsException("Incorrect item selected");\r
- }\r
- if (!mIsDisplayingFile) {\r
- if (mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_CONTENT_TYPE)).equals("DIR")) {\r
- String id_ = mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta._ID));\r
- String dirname = mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_NAME));\r
- pl.push(DisplayUtils.HtmlDecode(dirname));\r
- mPath.addLast(DisplayUtils.HtmlDecode(dirname));\r
- mParents.push(id_);\r
- mCursor = managedQuery(Uri.withAppendedPath(ProviderTableMeta.CONTENT_URI_DIR, id_),\r
- null,\r
- ProviderTableMeta.FILE_ACCOUNT_OWNER + "=?",\r
- new String[]{mAccount.name}, null);\r
- setListAdapter(new FileListListAdapter(mCursor, this));\r
- } else {\r
- mIsDisplayingFile = true;\r
- setContentView(R.layout.file_display);\r
- String id_ = mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta._ID));\r
- mCursor = managedQuery(Uri.withAppendedPath(ProviderTableMeta.CONTENT_URI_FILE, id_),\r
- null,\r
- null,\r
- null,\r
- null);\r
- mCursor.moveToFirst();\r
- // filename\r
- TextView tv = (TextView) findViewById(R.id.textView1);\r
- tv.setText(mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_NAME)));\r
- // filetype\r
- tv = (TextView) findViewById(R.id.textView2);\r
- tv.setText(DisplayUtils.convertMIMEtoPrettyPrint(mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_CONTENT_TYPE))));\r
- // size\r
- tv = (TextView) findViewById(R.id.textView3);\r
- tv.setText(DisplayUtils.bitsToHumanReadable(mCursor.getLong(mCursor.getColumnIndex(ProviderTableMeta.FILE_CONTENT_LENGTH))));\r
- // modified\r
- tv = (TextView) findViewById(R.id.textView4);\r
- tv.setText(mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_MODIFIED)));\r
- if (!TextUtils.isEmpty(mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_STORAGE_PATH))) &&\r
- mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_CONTENT_TYPE)).matches("image/*")) {\r
- ImageView iv = (ImageView) findViewById(R.id.imageView1);\r
- Bitmap bmp = BitmapFactory.decodeFile(mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_STORAGE_PATH)));\r
- Matrix m = new Matrix();\r
- float scale;\r
- if (bmp.getWidth() > bmp.getHeight()) {\r
- scale = (float) (200./bmp.getWidth());\r
- } else {\r
- scale = (float) (200./bmp.getHeight());\r
- }\r
- m.postScale(scale, scale);\r
- Bitmap newBmp = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), m, true);\r
- iv.setImageBitmap(newBmp);\r
+ \r
+ IntentFilter f = new IntentFilter(FileSyncService.SYNC_MESSAGE);\r
+ b = new BR();\r
+ registerReceiver(b, f);\r
+ if (getSupportFragmentManager().findFragmentById(R.id.fileList) == null)\r
+ setContentView(R.layout.files);\r
+ \r
+ mDirectories = new CustomArrayAdapter<String>(this,\r
+ R.layout.sherlock_spinner_dropdown_item);\r
+ mDirectories.add("/");\r
+ \r
+ mStorageManager = new FileDataStorageManager(AccountUtils.getCurrentOwnCloudAccount(this), getContentResolver());\r
+ ActionBar action_bar = getSupportActionBar();\r
+ action_bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);\r
+ action_bar.setDisplayShowTitleEnabled(false);\r
+ action_bar.setListNavigationCallbacks(mDirectories, this);\r
+ action_bar.setDisplayHomeAsUpEnabled(true);\r
+ }\r
+ \r
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {\r
+ if (resultCode == RESULT_OK) {\r
+ if (requestCode == ACTION_SELECT_FILE) {\r
+ Uri selectedImageUri = data.getData();\r
+\r
+ String filemanagerstring = selectedImageUri.getPath();\r
+\r
+ String selectedImagePath = getPath(selectedImageUri);\r
+\r
+ //DEBUG PURPOSE - you can delete this if you want\r
+ if(selectedImagePath!=null)\r
+ System.out.println(selectedImagePath);\r
+ else System.out.println("selectedImagePath is null");\r
+ if(filemanagerstring!=null)\r
+ System.out.println(filemanagerstring);\r
+ else System.out.println("filemanagerstring is null");\r
+\r
+ //NOW WE HAVE OUR WANTED STRING\r
+ if(selectedImagePath!=null)\r
+ System.out.println("selectedImagePath is the right one for you!");\r
+ else\r
+ System.out.println("filemanagerstring is the right one for you!");\r
+ }\r
+ }\r
+ }\r
+ \r
+ public String getPath(Uri uri) {\r
+ String[] projection = { MediaStore.Images.Media.DATA };\r
+ Cursor cursor = managedQuery(uri, projection, null, null, null);\r
+ if(cursor!=null)\r
+ {\r
+ //HERE YOU WILL GET A NULLPOINTER IF CURSOR IS NULL\r
+ //THIS CAN BE, IF YOU USED OI FILE MANAGER FOR PICKING THE MEDIA\r
+ int column_index = cursor\r
+ .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);\r
+ cursor.moveToFirst();\r
+ return cursor.getString(column_index);\r
+ }\r
+ else return null;\r
+ }\r
+ \r
+ @Override\r
+ protected void onPause() {\r
+ super.onPause();\r
+ if (b != null) {\r
+ unregisterReceiver(b);\r
+ b = null;\r
+ }\r
+ \r
+ }\r
+ \r
+ @Override\r
+ public boolean onNavigationItemSelected(int itemPosition, long itemId) {\r
+ int i = itemPosition;\r
+ while (i-- != 0) {\r
+ onBackPressed();\r
+ }\r
+ return true;\r
+ }\r
+\r
+ private class DirectoryCreator implements Runnable {\r
+ private String mTargetPath;\r
+ private Account mAccount;\r
+ private AccountManager mAm;\r
+\r
+ public DirectoryCreator(String targetPath, Account account) {\r
+ mTargetPath = targetPath;\r
+ mAccount = account;\r
+ mAm = (AccountManager) getSystemService(ACCOUNT_SERVICE);\r
+ }\r
+\r
+ @Override\r
+ public void run() {\r
+ WebdavClient wdc = new WebdavClient(Uri.parse(mAm.getUserData(\r
+ mAccount, AccountAuthenticator.KEY_OC_URL)));\r
+\r
+ String username = mAccount.name.substring(0,\r
+ mAccount.name.lastIndexOf('@'));\r
+ String password = mAm.getPassword(mAccount);\r
+\r
+ wdc.setCredentials(username, password);\r
+ wdc.allowUnsignedCertificates();\r
+ wdc.createDirectory(mTargetPath);\r
+ }\r
+\r
+ }\r
+\r
+ // Custom array adapter to override text colors\r
+ private class CustomArrayAdapter<T> extends ArrayAdapter<T> {\r
+ \r
+ public CustomArrayAdapter(FileDisplayActivity ctx,\r
+ int view) {\r
+ super(ctx, view);\r
+ }\r
+\r
+ public View getView(int position, View convertView,\r
+ ViewGroup parent) {\r
+ View v = super.getView(position, convertView, parent);\r
+\r
+ ((TextView) v).setTextColor(\r
+ getResources()\r
+ .getColorStateList(android.R.color.white));\r
+ return v;\r