package com.beanie.imagechooserapp; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; import com.kbeanie.imagechooser.api.ChooserType; import com.kbeanie.imagechooser.api.ChosenFile; import com.kbeanie.imagechooser.api.FileChooserListener; import com.kbeanie.imagechooser.api.FileChooserManager; /** * Created by kbibek on 14/11/14. */ public class FileChooserActivity extends BasicActivity implements FileChooserListener { private final static String TAG = "FileChooserActivity"; private FileChooserManager fm; private TextView textViewFileDetails; private ProgressBar pBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_file_chooser); textViewFileDetails = (TextView) findViewById(R.id.fileDetails); pBar = (ProgressBar) findViewById(R.id.pBar); pBar.setVisibility(View.INVISIBLE); setupAds(); } public void pickFile(View view) { fm = new FileChooserManager(this); fm.setFileChooserListener(this); try { pBar.setVisibility(View.VISIBLE); fm.choose(); } catch (Exception e) { pBar.setVisibility(View.INVISIBLE); e.printStackTrace(); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == ChooserType.REQUEST_PICK_FILE && resultCode == RESULT_OK) { if (fm == null) { fm = new FileChooserManager(this); fm.setFileChooserListener(this); } Log.i(TAG, "Probable file size: " + fm.queryProbableFileSize(data.getData(), this)); fm.submit(requestCode, data); } } @Override public void onFileChosen(final ChosenFile file) { runOnUiThread(new Runnable() { @Override public void run() { pBar.setVisibility(View.INVISIBLE); populateFileDetails(file); } }); } @Override public void onError(final String reason) { runOnUiThread(new Runnable() { @Override public void run() { pBar.setVisibility(View.INVISIBLE); Toast.makeText(FileChooserActivity.this, reason, Toast.LENGTH_LONG).show(); } }); } private void populateFileDetails(ChosenFile file) { StringBuffer text = new StringBuffer(); text.append("File name: " + file.getFileName() + "\n\n"); text.append("File path: " + file.getFilePath() + "\n\n"); text.append("Mime type: " + file.getMimeType() + "\n\n"); text.append("File extn: " + file.getExtension() + "\n\n"); text.append("File size: " + file.getFileSize() / 1024 + "KB"); textViewFileDetails.setText(text.toString()); } }