/** @file CalibImportDialog.java
*
* @author marco corvi
* @date sept 2015
*
* @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 CalibImportDialog extends MyDialog
implements OnItemClickListener
, OnClickListener
{
private DeviceActivity mParent;
private ArrayAdapter<String> mArrayAdapter;
private ListView mList;
// private Button mBtnCancel;
public CalibImportDialog( Context context, DeviceActivity parent )
{
super( context, R.string.CalibImportDialog );
mParent = parent;
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate( savedInstanceState );
initLayout( R.layout.import_dialog, R.string.calib_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 );
// setTitleColor( 0x006d6df6 );
File[] files = TDPath.getCalibFiles();
ArrayList<String> names = new ArrayList<String>();
if ( files != null ) {
for ( File f : files ) {
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, "CalibImportDialog onItemClick() " + item );
// hide();
mList.setOnItemClickListener( null );
// setTitle(" W A I T ");
dismiss();
mParent.importCalibFile( item );
}
}