Refactor answerSpeech() argument. Small fixes in speak().

This commit is contained in:
Snek 2017-03-03 23:56:07 +03:00
parent d841ce561b
commit 7efe80ab13
2 changed files with 36 additions and 40 deletions

View File

@ -65,14 +65,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@ -81,6 +73,14 @@
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />

View File

@ -59,8 +59,8 @@ public class MainActivity extends AppCompatActivity {
@Override
public void run() {
if (isLoop) {
Random randomgen = new Random();
speak(voiceLines.get(randomgen.nextInt(voiceLines.size())));
Random randomgen = new Random();
speak(voiceLines.get(randomgen.nextInt(voiceLines.size())));
handler.postDelayed(this, 5000 + randomgen.nextInt(5) * 1000);
}
}
@ -88,13 +88,13 @@ public class MainActivity extends AppCompatActivity {
@Override
public boolean onLongClick(View view) {
if (!isSpeaking) {
if(!isLoop){
isLoop =true;
handler.post(loop);
}else{
handler.removeCallbacks(loop);
isLoop = false;
}
if (!isLoop) {
isLoop = true;
handler.post(loop);
} else {
handler.removeCallbacks(loop);
isLoop = false;
}
}
return true;
}
@ -102,21 +102,20 @@ public class MainActivity extends AppCompatActivity {
}
@Override
protected void onDestroy(){
if(sr!=null)
protected void onDestroy() {
if (sr != null)
sr.destroy();
isLoop = false;
super.onDestroy();
}
@Override
protected void onStop(){
protected void onStop() {
isLoop = false;
super.onStop();
}
@Override
protected void onPause(){
protected void onPause() {
isLoop = false;
super.onPause();
}
@ -147,6 +146,9 @@ public class MainActivity extends AppCompatActivity {
m.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
isSpeaking = true;
mp.start();
runOnUiThread(new Runnable() {
@Override
public void run() {
@ -159,6 +161,7 @@ public class MainActivity extends AppCompatActivity {
m.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
isSpeaking = false;
mp.release();
runOnUiThread(new Runnable() {
@ -166,25 +169,21 @@ public class MainActivity extends AppCompatActivity {
public void run() {
animation.stop();
kurisu.setImageDrawable(animation.getFrame(0));
isSpeaking = false;
}
});
}
});
isSpeaking = true;
m.start();
} catch (Exception e) {
e.printStackTrace();
}
}
private void answerSpeech(String request) {
String[] greetingArr = new String[]{"ハロー", "おはよう", "こんにちは", "こんばんは"};
List<String> greeting = Arrays.asList(greetingArr);
Log.e(TAG, request);
private void answerSpeech(String input) {
List<String> greeting = Arrays.asList("ハロー", "おはよう", "こんにちは", "こんばんは");
Log.e(TAG, input);
Random randomGen = new Random();
if (request.contains("クリスティーナ")) {
if (input.contains("クリスティーナ")) {
switch (randomGen.nextInt(4)) {
case 0:
speak(voiceLines.get(10));
@ -199,17 +198,17 @@ public class MainActivity extends AppCompatActivity {
speak(voiceLines.get(15));
break;
}
} else if (request.contains("ぬるぽ")) {
} else if (input.contains("ぬるぽ")) {
speak(voiceLines.get(9));
} else if (request.contains("アットチャンネル") || request.contains("栗ご飯") || request.contains("カメハメハ")) {
} else if (input.contains("アットチャンネル") || input.contains("栗ご飯") || input.contains("カメハメハ")) {
speak(voiceLines.get(30 + randomGen.nextInt(2)));
} else if (request.contains("サリエリ") || request.contains("真帆") || request.contains("比屋定")) {
} else if (input.contains("サリエリ") || input.contains("真帆") || input.contains("比屋定")) {
speak(voiceLines.get(26 + randomGen.nextInt(4)));
} else if (request.contains("タイムマシーン") || request.contains("cern") || request.contains("タイムトラベル")) {
} else if (input.contains("タイムマシーン") || input.contains("cern") || input.contains("タイムトラベル")) {
speak(voiceLines.get(32 + randomGen.nextInt(5)));
} else if (request.contains("メモリー") || request.contains("アマデウス") || request.contains("サイエンス")) {
} else if (input.contains("メモリー") || input.contains("アマデウス") || input.contains("サイエンス")) {
speak(voiceLines.get(37 + randomGen.nextInt(5)));
} else if (greeting.contains(request)) {
} else if (greeting.contains(input)) {
switch (randomGen.nextInt(3)) {
case 0:
speak(voiceLines.get(12));
@ -221,7 +220,7 @@ public class MainActivity extends AppCompatActivity {
speak(voiceLines.get(25));
break;
}
} else if (request.contains("ナイスボディ") || request.contains("ほっと") || request.contains("セクシー") || request.contains("ボビーズ")) {
} else if (input.contains("ナイスボディ") || input.contains("ほっと") || input.contains("セクシー") || input.contains("ボビーズ")) {
switch (randomGen.nextInt(3)) {
case 0:
speak(voiceLines.get(2));
@ -338,7 +337,4 @@ public class MainActivity extends AppCompatActivity {
}
}