+++ /dev/null
-/* ownCloud Android client application\r
- * Copyright (C) 2011 Bartek Przybylski\r
- *\r
- * This program is free software: you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation, either version 3 of the License, or\r
- * (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program. If not, see <http://www.gnu.org/licenses/>.\r
- *\r
- */\r
-package eu.alefzero.owncloud.ui.fragment;\r
-\r
-import android.accounts.Account;\r
-import android.content.Intent;\r
-import android.database.Cursor;\r
-import android.graphics.Bitmap;\r
-import android.graphics.BitmapFactory;\r
-import android.net.Uri;\r
-import android.os.Bundle;\r
-import android.view.LayoutInflater;\r
-import android.view.View;\r
-import android.view.View.OnClickListener;\r
-import android.view.ViewGroup;\r
-import android.widget.ImageView;\r
-import android.widget.TextView;\r
-import android.widget.Toast;\r
-import android.widget.VideoView;\r
-\r
-import com.actionbarsherlock.app.SherlockFragment;\r
-\r
-import eu.alefzero.owncloud.DisplayUtils;\r
-import eu.alefzero.owncloud.FileDownloader;\r
-import eu.alefzero.owncloud.R;\r
-import eu.alefzero.owncloud.db.ProviderMeta.ProviderTableMeta;\r
-\r
-/**\r
- * This Fragment is used to display the details about a file.\r
- * @author Bartek Przybylski\r
- *\r
- */\r
-public class FileDetail extends SherlockFragment implements OnClickListener {\r
- \r
- private Intent mIntent;\r
- private View mView;\r
- \r
- public void setStuff(Intent intent) {\r
- mIntent = intent;\r
- setStuff(getView());\r
- }\r
- \r
- private void setStuff(View view) {\r
- mView = view;\r
- String id = mIntent.getStringExtra("FILE_ID");\r
- Account account = mIntent.getParcelableExtra("ACCOUNT");\r
- String account_name = account.name;\r
- Cursor c = getActivity().managedQuery(\r
- Uri.withAppendedPath(ProviderTableMeta.CONTENT_URI_FILE, id),\r
- null,\r
- ProviderTableMeta.FILE_ACCOUNT_OWNER+"=?",\r
- new String[]{account_name},\r
- null);\r
- c.moveToFirst();\r
-\r
- // Retrieve details from DB\r
- String filename = c.getString(c.getColumnIndex(ProviderTableMeta.FILE_NAME));\r
- String mimetype = c.getString(c.getColumnIndex(ProviderTableMeta.FILE_CONTENT_TYPE));\r
- String path = c.getString(c.getColumnIndex(ProviderTableMeta.FILE_STORAGE_PATH));\r
- long filesize = c.getLong(c.getColumnIndex(ProviderTableMeta.FILE_CONTENT_LENGTH));\r
-\r
- // set file details\r
- setFilename(filename);\r
- setFiletype(DisplayUtils.convertMIMEtoPrettyPrint(mimetype));\r
- setFilesize(filesize);\r
- \r
- // set file preview if available and possible\r
- View w = view.findViewById(R.id.videoView1);\r
- w.setVisibility(View.INVISIBLE);\r
- if (path == null) {\r
- ImageView v = (ImageView) getView().findViewById(R.id.imageView2);\r
- v.setImageResource(R.drawable.download);\r
- v.setOnClickListener(this);\r
- } else {\r
- if (mimetype.startsWith("image/")) {\r
- ImageView v = (ImageView) view.findViewById(R.id.imageView2);\r
- Bitmap bmp = BitmapFactory.decodeFile(path);\r
- v.setImageBitmap(bmp);\r
- } else if (mimetype.startsWith("video/")) {\r
- VideoView v = (VideoView) view.findViewById(R.id.videoView1);\r
- v.setVisibility(View.VISIBLE);\r
- v.setVideoPath(path);\r
- v.start();\r
- }\r
- }\r
- }\r
-\r
- @Override\r
- public View onCreateView(LayoutInflater inflater, ViewGroup container,\r
- Bundle savedInstanceState) {\r
- View v = null;\r
- \r
- if (getActivity().getIntent() != null && getActivity().getIntent().getStringExtra("FILE_ID") != null) {\r
- v = inflater.inflate(R.layout.file_details, container, false);\r
- mIntent = getActivity().getIntent();\r
- setStuff(v);\r
- } else {\r
- v = inflater.inflate(R.layout.file_details_empty, container, false);\r
- }\r
- return v;\r
- }\r
-\r
- @Override\r
- public View getView() {\r
- return mView == null ? super.getView() : mView;\r
- };\r
- \r
- public void setFilename(String filename) {\r
- TextView tv = (TextView) getView().findViewById(R.id.textView1);\r
- if (tv != null) tv.setText(filename);\r
- }\r
- \r
- public void setFiletype(String mimetype) {\r
- TextView tv = (TextView) getView().findViewById(R.id.textView2);\r
- if (tv != null) tv.setText(mimetype);\r
- }\r
- \r
- public void setFilesize(long filesize) {\r
- TextView tv = (TextView) getView().findViewById(R.id.textView3);\r
- if (tv != null) tv.setText(DisplayUtils.bitsToHumanReadable(filesize));\r
- }\r
-\r
- @Override\r
- public void onClick(View v) {\r
- Toast.makeText(getActivity(), "Downloading", Toast.LENGTH_LONG).show();\r
- Intent i = new Intent(getActivity(), FileDownloader.class);\r
- i.putExtra(FileDownloader.EXTRA_ACCOUNT, mIntent.getParcelableExtra("ACCOUNT"));\r
- i.putExtra(FileDownloader.EXTRA_FILE_PATH, mIntent.getStringExtra("FULL_PATH"));\r
- getActivity().startService(i);\r
- }\r
- \r
-}\r