diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0a67958..67c81e2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -25,6 +25,7 @@ + diff --git a/app/src/main/java/info/androidhive/speechtotext/MainActivity.java b/app/src/main/java/info/androidhive/speechtotext/MainActivity.java index ed26b41..7958b3c 100644 --- a/app/src/main/java/info/androidhive/speechtotext/MainActivity.java +++ b/app/src/main/java/info/androidhive/speechtotext/MainActivity.java @@ -16,13 +16,16 @@ import android.app.Activity; import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.AsyncTask; import android.os.Bundle; +import android.preference.PreferenceManager; import android.speech.RecognizerIntent; import android.util.Log; import android.view.Menu; +import android.view.MenuItem; import android.view.View; import android.widget.ImageButton; import android.widget.TextView; @@ -33,9 +36,10 @@ public class MainActivity extends Activity { private TextView txtSpeechInput; private ImageButton btnSpeak; private final int REQ_CODE_SPEECH_INPUT = 100; + private final int REQ_PREF = 200; public static final String TAG = MainActivity.class.getSimpleName(); - public static final String Url = "http://192.168.10.109:1234"; public static final int MAX_ANSWER_LEN = 500; + public static String Url; @Override protected void onCreate(Bundle savedInstanceState) { @@ -46,7 +50,7 @@ public class MainActivity extends Activity { btnSpeak = (ImageButton) findViewById(R.id.btnSpeak); // hide the action bar - getActionBar().hide(); + //getActionBar().hide(); btnSpeak.setOnClickListener(new View.OnClickListener() { @@ -56,7 +60,9 @@ public class MainActivity extends Activity { } }); new SilentTalkToMeTask().execute("goodbye"); - + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); + Url = preferences.getString(SettingsActivity.KEY_PREF_SERVER_URL, ""); + Log.d(TAG, "Server url is " + Url); } /** @@ -78,9 +84,6 @@ public class MainActivity extends Activity { } } - /** - * Receiving speech input - * */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); @@ -104,6 +107,11 @@ public class MainActivity extends Activity { } break; } + case REQ_PREF:{ + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); + Url = preferences.getString(SettingsActivity.KEY_PREF_SERVER_URL, ""); + } + break; } } @@ -115,6 +123,16 @@ public class MainActivity extends Activity { return true; } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.action_settings: + startActivityForResult(new Intent(getBaseContext(), SettingsActivity.class), REQ_PREF); + return true; + } + return super.onOptionsItemSelected(item); + } + private class TalkToMeTask extends AsyncTask{ @Override @@ -122,7 +140,7 @@ public class MainActivity extends Activity { try { return talkToServer(question[0]); } catch (IOException e){ - Log.d(TAG, "Coincoin "+e); + Log.d(TAG, e.toString()); return "Cannot connect to server"; } } @@ -140,7 +158,7 @@ public class MainActivity extends Activity { try { return talkToServer(question[0]); } catch (IOException e){ - Log.d(TAG, "Coincoin "+e); + Log.d(TAG, e.toString()); return "Cannot connect to server"; } } diff --git a/app/src/main/java/info/androidhive/speechtotext/SettingsActivity.java b/app/src/main/java/info/androidhive/speechtotext/SettingsActivity.java new file mode 100644 index 0000000..cbcbb32 --- /dev/null +++ b/app/src/main/java/info/androidhive/speechtotext/SettingsActivity.java @@ -0,0 +1,22 @@ +package info.androidhive.speechtotext; + +import android.app.Activity; +import android.os.Bundle; +import android.preference.PreferenceFragment; + +public class SettingsActivity extends Activity { + final static String KEY_PREF_SERVER_URL = "pref_serverURL"; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // Display the fragment as the main content. + getFragmentManager().beginTransaction() + .replace(android.R.id.content, new SettingsFragment()) + .commit(); + } + + +} + + diff --git a/app/src/main/java/info/androidhive/speechtotext/SettingsFragment.java b/app/src/main/java/info/androidhive/speechtotext/SettingsFragment.java new file mode 100644 index 0000000..0e4f45b --- /dev/null +++ b/app/src/main/java/info/androidhive/speechtotext/SettingsFragment.java @@ -0,0 +1,13 @@ +package info.androidhive.speechtotext; + +import android.os.Bundle; +import android.preference.PreferenceFragment; + +public class SettingsFragment extends PreferenceFragment { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + addPreferencesFromResource(R.xml.preference); + } +} \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7e6018a..2a6cbe4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,11 +1,14 @@ - + Speech To Text Settings - Hello world! - Say something… - Sorry! Your device doesn\'t support speech input + Hello world! + Say something… + Sorry! Your device doesn\'t support speech input Tap on mic to speak + Server URL + http://127.0.0.1:1234 + diff --git a/app/src/main/res/xml/preference.xml b/app/src/main/res/xml/preference.xml new file mode 100644 index 0000000..e140cba --- /dev/null +++ b/app/src/main/res/xml/preference.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file