package com.openfarmanager.android.dialogs; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.Window; import android.widget.EditText; import android.widget.TextView; import com.openfarmanager.android.App; import com.openfarmanager.android.R; import com.openfarmanager.android.controllers.FileSystemController; import com.openfarmanager.android.model.exeptions.InAppAuthException; import com.openfarmanager.android.utils.Extensions; /** * @author Vlad Namashko */ public class SftpAuthDialog extends FtpAuthDialog { public SftpAuthDialog(Context context, Handler handler) { super(context, handler); } @Override public void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); mDialogView = View.inflate(App.sInstance.getApplicationContext(), R.layout.dialog_sftp_authentication, null); mServer = (EditText) mDialogView.findViewById(R.id.ftp_server); mPort = (EditText) mDialogView.findViewById(R.id.ftp_port); mUserName = (EditText) mDialogView.findViewById(R.id.ftp_username); mPassword = (EditText) mDialogView.findViewById(R.id.ftp_password); mError = (TextView) mDialogView.findViewById(R.id.error); mDialogView.findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); } }); mDialogView.findViewById(R.id.ok).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { clearError(); if (!validate()) { return; } connect(); } }); setContentView(mDialogView); } @Override protected Runnable getConnectRunnable() { return mConnectRunnable; } Runnable mConnectRunnable = new Runnable() { @Override public void run() { try { App.sInstance.getSftpApi().connectAndSave(mServer.getText().toString(), Extensions.tryParse(mPort.getText().toString(), 21), mUserName.getText().toString(), mPassword.getText().toString(), false, null); } catch (InAppAuthException e) { setErrorMessage(e.getErrorMessage()); setLoading(false); return; } dismiss(); mHandler.sendEmptyMessage(FileSystemController.SFTP_CONNECTED); } }; }