diff --git a/AndroidManifest.xml b/AndroidManifest.xml new file mode 100644 index 0000000..3f7428b --- /dev/null +++ b/AndroidManifest.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + diff --git a/Sexy Personal Assistant.iml b/Sexy Personal Assistant.iml new file mode 100644 index 0000000..08a9591 --- /dev/null +++ b/Sexy Personal Assistant.iml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ant.properties b/ant.properties new file mode 100644 index 0000000..b0971e8 --- /dev/null +++ b/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked into Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/assets/fonts/AdventPro-Medium.ttf b/assets/fonts/AdventPro-Medium.ttf new file mode 100644 index 0000000..68d0b29 Binary files /dev/null and b/assets/fonts/AdventPro-Medium.ttf differ diff --git a/assets/fonts/Monda-Regular.ttf b/assets/fonts/Monda-Regular.ttf new file mode 100644 index 0000000..c685632 Binary files /dev/null and b/assets/fonts/Monda-Regular.ttf differ diff --git a/assets/fonts/Prata-Regular.ttf b/assets/fonts/Prata-Regular.ttf new file mode 100644 index 0000000..cd9dd03 Binary files /dev/null and b/assets/fonts/Prata-Regular.ttf differ diff --git a/assets/fonts/SourceSerifPro-Regular.ttf b/assets/fonts/SourceSerifPro-Regular.ttf new file mode 100644 index 0000000..e985b61 Binary files /dev/null and b/assets/fonts/SourceSerifPro-Regular.ttf differ diff --git a/assets/fonts/always forever.ttf b/assets/fonts/always forever.ttf new file mode 100644 index 0000000..f9c5533 Binary files /dev/null and b/assets/fonts/always forever.ttf differ diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..0293828 --- /dev/null +++ b/build.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gen/com/sexy/sexypa/BuildConfig.java b/gen/com/sexy/sexypa/BuildConfig.java new file mode 100644 index 0000000..7913e2d --- /dev/null +++ b/gen/com/sexy/sexypa/BuildConfig.java @@ -0,0 +1,8 @@ +/*___Generated_by_IDEA___*/ + +package com.sexy.sexypa; + +/* This stub is only used by the IDE. It is NOT the BuildConfig class actually packed into the APK */ +public final class BuildConfig { + public final static boolean DEBUG = Boolean.parseBoolean(null); +} \ No newline at end of file diff --git a/gen/com/sexy/sexypa/Manifest.java b/gen/com/sexy/sexypa/Manifest.java new file mode 100644 index 0000000..d1a311b --- /dev/null +++ b/gen/com/sexy/sexypa/Manifest.java @@ -0,0 +1,7 @@ +/*___Generated_by_IDEA___*/ + +package com.sexy.sexypa; + +/* This stub is only used by the IDE. It is NOT the Manifest class actually packed into the APK */ +public final class Manifest { +} \ No newline at end of file diff --git a/gen/com/sexy/sexypa/R.java b/gen/com/sexy/sexypa/R.java new file mode 100644 index 0000000..673bdde --- /dev/null +++ b/gen/com/sexy/sexypa/R.java @@ -0,0 +1,7 @@ +/*___Generated_by_IDEA___*/ + +package com.sexy.sexypa; + +/* This stub is only used by the IDE. It is NOT the R class actually packed into the APK */ +public final class R { +} \ No newline at end of file diff --git a/local.properties b/local.properties new file mode 100644 index 0000000..555c755 --- /dev/null +++ b/local.properties @@ -0,0 +1,10 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must *NOT* be checked into Version Control Systems, +# as it contains information specific to your local configuration. + +# location of the SDK. This is only used by Ant +# For customization when using a Version Control System, please read the +# header note. +sdk.dir=/home/master/android-sdk diff --git a/out/production/Sexy Personal Assistant/Sexy Personal Assistant.apk b/out/production/Sexy Personal Assistant/Sexy Personal Assistant.apk new file mode 100644 index 0000000..1a66d2e Binary files /dev/null and b/out/production/Sexy Personal Assistant/Sexy Personal Assistant.apk differ diff --git a/out/production/Sexy Personal Assistant/Sexy Personal Assistant.unaligned.apk b/out/production/Sexy Personal Assistant/Sexy Personal Assistant.unaligned.apk new file mode 100644 index 0000000..7686907 Binary files /dev/null and b/out/production/Sexy Personal Assistant/Sexy Personal Assistant.unaligned.apk differ diff --git a/out/production/Sexy Personal Assistant/com/sexy/sexypa/BuildConfig.class b/out/production/Sexy Personal Assistant/com/sexy/sexypa/BuildConfig.class new file mode 100644 index 0000000..e699c41 Binary files /dev/null and b/out/production/Sexy Personal Assistant/com/sexy/sexypa/BuildConfig.class differ diff --git a/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$array.class b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$array.class new file mode 100644 index 0000000..ef10785 Binary files /dev/null and b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$array.class differ diff --git a/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$attr.class b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$attr.class new file mode 100644 index 0000000..27d69ad Binary files /dev/null and b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$attr.class differ diff --git a/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$drawable.class b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$drawable.class new file mode 100644 index 0000000..de36bdd Binary files /dev/null and b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$drawable.class differ diff --git a/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$id.class b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$id.class new file mode 100644 index 0000000..8e9ba82 Binary files /dev/null and b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$id.class differ diff --git a/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$layout.class b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$layout.class new file mode 100644 index 0000000..778a2e4 Binary files /dev/null and b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$layout.class differ diff --git a/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$string.class b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$string.class new file mode 100644 index 0000000..05555ff Binary files /dev/null and b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R$string.class differ diff --git a/out/production/Sexy Personal Assistant/com/sexy/sexypa/R.class b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R.class new file mode 100644 index 0000000..32d1af0 Binary files /dev/null and b/out/production/Sexy Personal Assistant/com/sexy/sexypa/R.class differ diff --git a/out/production/Sexy Personal Assistant/com/sexy/sexypa/SexyPAActivity.class b/out/production/Sexy Personal Assistant/com/sexy/sexypa/SexyPAActivity.class new file mode 100644 index 0000000..039d50e Binary files /dev/null and b/out/production/Sexy Personal Assistant/com/sexy/sexypa/SexyPAActivity.class differ diff --git a/proguard-project.txt b/proguard-project.txt new file mode 100644 index 0000000..f2fe155 --- /dev/null +++ b/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/project.properties b/project.properties new file mode 100644 index 0000000..af7e34d --- /dev/null +++ b/project.properties @@ -0,0 +1,14 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=Google Inc.:Google APIs:18 diff --git a/res/drawable-hdpi/background_repeat.xml b/res/drawable-hdpi/background_repeat.xml new file mode 100644 index 0000000..33304d8 --- /dev/null +++ b/res/drawable-hdpi/background_repeat.xml @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/res/drawable-hdpi/denim.png b/res/drawable-hdpi/denim.png new file mode 100644 index 0000000..3b0bb7e Binary files /dev/null and b/res/drawable-hdpi/denim.png differ diff --git a/res/drawable-hdpi/gun_metal.png b/res/drawable-hdpi/gun_metal.png new file mode 100644 index 0000000..5a3880a Binary files /dev/null and b/res/drawable-hdpi/gun_metal.png differ diff --git a/res/drawable-hdpi/ic_launcher.png b/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000..96a442e Binary files /dev/null and b/res/drawable-hdpi/ic_launcher.png differ diff --git a/res/drawable-hdpi/read_audio.png b/res/drawable-hdpi/read_audio.png new file mode 100644 index 0000000..8efe444 Binary files /dev/null and b/res/drawable-hdpi/read_audio.png differ diff --git a/res/drawable-hdpi/speak_audio.png b/res/drawable-hdpi/speak_audio.png new file mode 100644 index 0000000..b314036 Binary files /dev/null and b/res/drawable-hdpi/speak_audio.png differ diff --git a/res/drawable-hdpi/tiled.png b/res/drawable-hdpi/tiled.png new file mode 100644 index 0000000..1ccea5a Binary files /dev/null and b/res/drawable-hdpi/tiled.png differ diff --git a/res/drawable-ldpi/ic_launcher.png b/res/drawable-ldpi/ic_launcher.png new file mode 100644 index 0000000..9923872 Binary files /dev/null and b/res/drawable-ldpi/ic_launcher.png differ diff --git a/res/drawable-mdpi/ic_launcher.png b/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 0000000..359047d Binary files /dev/null and b/res/drawable-mdpi/ic_launcher.png differ diff --git a/res/drawable-xhdpi/ic_launcher.png b/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 0000000..71c6d76 Binary files /dev/null and b/res/drawable-xhdpi/ic_launcher.png differ diff --git a/res/layout/sexy_pa.xml b/res/layout/sexy_pa.xml new file mode 100644 index 0000000..296b950 --- /dev/null +++ b/res/layout/sexy_pa.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml new file mode 100644 index 0000000..d9591e7 --- /dev/null +++ b/res/values/strings.xml @@ -0,0 +1,9 @@ + + SPA + + Welcome To Sexy Personal Assistant + + + LISTEN + + \ No newline at end of file diff --git a/src/com/sexy/sexypa/SexyPAActivity.java b/src/com/sexy/sexypa/SexyPAActivity.java new file mode 100644 index 0000000..ee538d1 --- /dev/null +++ b/src/com/sexy/sexypa/SexyPAActivity.java @@ -0,0 +1,161 @@ +package com.sexy.sexypa; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.graphics.Typeface; +import android.os.Bundle; +import android.os.Environment; +import android.speech.RecognizerIntent; +import android.speech.tts.TextToSpeech; +import android.view.View; +import android.widget.EditText; +import android.widget.TextView; +import android.widget.Toast; + + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Locale; +import java.util.logging.Logger; + +public class SexyPAActivity extends Activity implements View.OnClickListener, TextToSpeech.OnInitListener { + + protected static final int REQUEST_OK = 1; + private TextToSpeech tts; + private String spoken = ""; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.sexy_pa); + findViewById(R.id.speak).setOnClickListener(this); + + tts = new TextToSpeech(this, this); + findViewById(R.id.play).setOnClickListener(this); + //Typeface myFont = Typeface.createFromAsset(getAssets(), "fonts/Prata-Regular.ttf"); + Typeface myFont = Typeface.createFromAsset(getAssets(), "fonts/AdventPro-Medium.ttf"); + + EditText spokenWord = (EditText)findViewById(R.id.editText1); + spokenWord.setTypeface(myFont); + + createBookFile(); + } + + @Override + public void onClick(View v) + { + switch (v.getId()) + { + case R.id.speak: + Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); + i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US"); + try + { + startActivityForResult(i, REQUEST_OK); + } catch (Exception e) + { + Toast.makeText(this, "Error initializing speech to text engine.", Toast.LENGTH_LONG).show(); + } + break; + case R.id.play: + if (tts!=null) + { + String text = ((EditText)findViewById(R.id.editText1)).getText().toString(); + if(text != null && text.equalsIgnoreCase("hello")) + { + if (!tts.isSpeaking()) + { + tts.speak("Hello Scott, how was your night?", TextToSpeech.QUEUE_FLUSH, null); + } + + }else if(text != null && text.equalsIgnoreCase("good")) + { + if(!tts.isSpeaking()) + { + tts.speak("Cool, it is nice to see you today, man.", TextToSpeech.QUEUE_FLUSH, null); + } + } + else{ + if(!tts.isSpeaking()) + { + tts.speak("What? What? What? What?", TextToSpeech.QUEUE_FLUSH, null); + } + } + + } + } + + } + + @Override + protected void onDestroy() + { + if (tts!=null) + { + tts.stop(); + tts.shutdown(); + } + super.onDestroy(); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) + { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode==REQUEST_OK && resultCode==RESULT_OK) + { + ArrayList thingsYouSaid = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); + spoken = thingsYouSaid.get(0); + ((TextView)findViewById(R.id.editText1)).setText(spoken); + } + } + + + @Override + public void onInit(int code) + { + if (code == TextToSpeech.SUCCESS) + { + tts.setLanguage(Locale.getDefault()); + + } else + { + tts = null; + Toast.makeText(this, "Failed to initialize TTS engine.", + Toast.LENGTH_SHORT).show(); + } + } + + public void createBookFile() + { + File folder = new File(Environment.getExternalStorageDirectory() + "/draft"); + boolean success = true; + if (!folder.exists()) { + success = folder.mkdir(); + } + if (success) { + writeToFile("Some Value", "book.txt"); + } else { + // Do something else on failure + } + } + + public void writeToFile(String text, String fileName) + { + Context context = getBaseContext(); + try { + FileWriter out = new FileWriter(new File(context.getFilesDir(), fileName)); + out.write(text); + out.close(); + } catch (IOException e) { + + } + } + + + + +}