package com.openxc.enabler;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.preference.PreferenceManager;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import com.openxcplatform.enabler.R;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
public class viewTraces extends Activity {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_saved_data);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
String dir = prefs.getString(getApplicationContext().getString(R.string.recording_directory_key), null);
final String dirPath = Environment.getExternalStorageDirectory().getPath() + "/" + dir;
listView = (ListView)findViewById(R.id.list);
ArrayList<String> FilesInFolder = GetFiles(dirPath);
Collections.sort(FilesInFolder, Collections.<String>reverseOrder());
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, android.R.id.text1, FilesInFolder);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, final int position, long id) {
LayoutInflater layoutInflater = LayoutInflater.from(viewTraces.this);
View promptView = layoutInflater.inflate(R.layout.prompt, null);
final AlertDialog alertD = new AlertDialog.Builder(viewTraces.this).create();
final String filename = listView.getItemAtPosition(position).toString();
TextView filenameDialog = (TextView) promptView.findViewById(R.id.fileName);
filenameDialog.setText(listView.getItemAtPosition(position).toString());
Button btnView = (Button) promptView.findViewById(R.id.btnFileView);
Button btnDelete = (Button) promptView.findViewById(R.id.btnFileDelete);
alertD.setView(promptView);
alertD.show();
btnView.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse(dirPath + "/" + filename);
intent.setDataAndType(uri, "text/plain");
startActivity(intent);
alertD.dismiss();
}
});
btnDelete.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
File file = new File(dirPath + "/" + filename);
file.delete();
alertD.dismiss();
finish();
startActivity(getIntent());
}
});
}
});
}
public ArrayList<String> GetFiles(String DirectoryPath) {
ArrayList<String> MyFiles = new ArrayList<String>();
File f = new File(DirectoryPath);
if(f.canRead())
{
f.mkdirs();
File[] files = f.listFiles();
if (files.length == 0)
return null;
else {
for (File file : files) MyFiles.add(file.getName());
}
}
return MyFiles;
}
}