package it.angelic.soulissclient; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.os.Looper; import android.preference.PreferenceManager; import android.support.v4.app.FragmentActivity; import android.util.Log; import android.view.View; import android.view.Window; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.net.InetAddress; import it.angelic.soulissclient.helpers.SoulissGlobalPreferenceHelper; import it.angelic.soulissclient.util.SystemUiHider; /** * An example full-screen activity that shows and hides the system UI (i.e. * status bar and navigation/system bar) with user interaction. * * @see SystemUiHider */ public class WelcomeCreateConfigActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SoulissGlobalPreferenceHelper gbPref = new SoulissGlobalPreferenceHelper(getApplicationContext()); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_welcome_createconf); // final TextView welcomeSkipText = (TextView) findViewById(R.id.welcome_skip_text); final Button welcomeTourButton = (Button) findViewById(R.id.welcome_tour_button); final EditText configName = (EditText) findViewById(R.id.config_name); // final EditText initialIp = (EditText) findViewById(R.id.config_ip); ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, gbPref.getIpDictionary()); final AutoCompleteTextView initialIp = (AutoCompleteTextView) findViewById(R.id.config_ip); initialIp.setAdapter(adapter); welcomeTourButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //here we've already chosen config and loaded right if (configName.getText() == null || configName.getText().toString().length() <= 0) { //Toast & exit Toast.makeText(WelcomeCreateConfigActivity.this, R.string.config_mandatory, Toast.LENGTH_SHORT).show(); return; } if (initialIp.getText() != null && initialIp.getText().toString().length() > 0) { new Thread() { public void run() { Looper.prepare(); //Setta Ip try {// sanity check final InetAddress checkIPt = InetAddress.getByName(initialIp.getText().toString()); final String pars = " (" + checkIPt.getHostName() + ")"; Log.w(Constants.TAG, "Valid IP inserted " + pars); SoulissApp.getOpzioni().setIPPreference(initialIp.getText().toString()); //save valid IP to cache SoulissGlobalPreferenceHelper gbPref = new SoulissGlobalPreferenceHelper(WelcomeCreateConfigActivity.this); gbPref.addWordToIpDictionary(initialIp.getText().toString()); } catch (final Exception e) { Log.e(Constants.TAG, "Error in address parsing: " + e.getMessage(), e); } } }.start(); } String adding = configName.getText().toString(); //crea conf vuota SharedPreferences newDefault = PreferenceManager.getDefaultSharedPreferences(WelcomeCreateConfigActivity.this); SharedPreferences.Editor demo = newDefault.edit(); demo.clear().apply(); //TODO crea DB vuoto? Log.w(Constants.TAG, "Saving new Config:" + adding); SoulissApp.setCurrentConfig(adding); SoulissApp.addConfiguration(adding); //TODO Ask DB Struct? startSoulissMainActivity(); //close and don't go back here supportFinishAfterTransition(); } }); /*welcomeSkipText.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startSoulissMainActivity(); } });*/ } private void startSoulissMainActivity() { Intent myIntent = new Intent(WelcomeCreateConfigActivity.this, MainActivity.class); startActivity(myIntent); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); finish(); } }