/** @file ImportDialog.java
*
* @author marco corvi
* @date nov 2011
*
* @brief TopoDroid import file list dialog
* --------------------------------------------------------
* Copyright This sowftare is distributed under GPL-3.0 or later
* See the file COPYING.
* --------------------------------------------------------
*/
package com.topodroid.DistoX;
import java.io.File;
import java.util.Set;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Collections;
// import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.Toast;
import android.content.IntentFilter;
import android.content.Context;
public class ImportDialog extends MyDialog
implements OnItemClickListener
, OnClickListener
{
private TopoDroidApp app;
private MainWindow mParent;
private ArrayAdapter<String> mArrayAdapter;
private ListView mList;
private Button mBtnCancel;
public ImportDialog( Context context, MainWindow parent, TopoDroidApp _app )
{
super( context, R.string.ImportDialog );
mParent = parent;
app = _app;
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate( savedInstanceState );
initLayout( R.layout.import_dialog, R.string.import_title );
mArrayAdapter = new ArrayAdapter<String>( mContext, R.layout.message );
mList = (ListView) findViewById(R.id.list);
mList.setOnItemClickListener( this );
mList.setDividerHeight( 2 );
mBtnCancel = (Button)findViewById( R.id.button_cancel );
mBtnCancel.setOnClickListener( this );
File[] files = TDPath.getImportFiles();
ArrayList<String> names = new ArrayList<String>();
if ( files != null ) {
for ( File f : files ) {
names.add( f.getName() );
}
}
File[] zips = TDPath.getZipFiles();
if ( zips != null ) {
for ( File f : zips ) {
names.add( f.getName() );
}
}
if ( names.size() > 0 ) {
// sort files by name (alphabetical order)
Comparator<String> cmp = new Comparator<String>()
{
@Override
public int compare( String s1, String s2 ) { return s1.compareToIgnoreCase( s2 ); }
};
Collections.sort( names, cmp );
for ( int k=0; k<names.size(); ++k ) {
mArrayAdapter.add( names.get(k) );
}
mList.setAdapter( mArrayAdapter );
} else {
Toast.makeText( mContext, R.string.import_none, Toast.LENGTH_SHORT ).show();
dismiss();
}
}
@Override
public void onClick( View v )
{
dismiss();
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
String item = ((TextView) view).getText().toString();
// TDLog.Log( TDLog.LOG_INPUT, "ImportDialog onItemClick() " + item.toString() );
// hide();
mList.setOnItemClickListener( null );
// setTitle(" W A I T ");
dismiss();
mParent.importFile( item );
}
}