Skip to content
Snippets Groups Projects
Commit 4634dd8b authored by RdVoitz's avatar RdVoitz
Browse files

First commit on this new proj

parent b69c5be2
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -20,6 +20,8 @@ android { ...@@ -20,6 +20,8 @@ android {
} }
dependencies { dependencies {
implementation 'com.ibm.watson.developer_cloud:java-sdk:3.7.2'
implementation 'com.github.kittinunf.fuel:fuel-android:1.9.0'
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2' implementation 'com.android.support.constraint:constraint-layout:1.1.2'
...@@ -31,4 +33,5 @@ dependencies { ...@@ -31,4 +33,5 @@ dependencies {
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:design:27.1.1'
} }
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.admin.sleepbetter"> package="com.example.admin.sleepbetter">
<uses-permission android:name="android.permission.INTERNET" />
<application <application
android:allowBackup="true" android:allowBackup="true"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
......
...@@ -84,6 +84,7 @@ public class MainMenu extends AppCompatActivity ...@@ -84,6 +84,7 @@ public class MainMenu extends AppCompatActivity
FragmentManager fragmentManager = getFragmentManager(); FragmentManager fragmentManager = getFragmentManager();
if (id == R.id.nav_factors) { if (id == R.id.nav_factors) {
fragmentManager.beginTransaction().replace(R.id.content_frame, new Factors()).commit(); fragmentManager.beginTransaction().replace(R.id.content_frame, new Factors()).commit();
} else if (id == R.id.nav_goal_diary) { } else if (id == R.id.nav_goal_diary) {
...@@ -94,6 +95,8 @@ public class MainMenu extends AppCompatActivity ...@@ -94,6 +95,8 @@ public class MainMenu extends AppCompatActivity
fragmentManager.beginTransaction().replace(R.id.content_frame, new Questionnaire()).commit(); fragmentManager.beginTransaction().replace(R.id.content_frame, new Questionnaire()).commit();
} else if (id == R.id.nav_help) { } else if (id == R.id.nav_help) {
fragmentManager.beginTransaction().replace(R.id.content_frame, new Help()).commit(); fragmentManager.beginTransaction().replace(R.id.content_frame, new Help()).commit();
} else if (id == R.id.nav_bot) {
fragmentManager.beginTransaction().replace(R.id.content_frame, new TestBot()).commit();
} }
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
......
package com.example.admin.sleepbetter;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Html;
import android.util.Log;
import android.view.KeyEvent;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
import android.widget.TextView;
import com.github.kittinunf.fuel.Fuel;
import com.github.kittinunf.fuel.core.FuelError;
import com.github.kittinunf.fuel.core.Handler;
import com.github.kittinunf.fuel.core.Request;
import com.github.kittinunf.fuel.core.Response;
import com.ibm.watson.developer_cloud.conversation.v1.ConversationService;
import com.ibm.watson.developer_cloud.conversation.v1.model.MessageRequest;
import com.ibm.watson.developer_cloud.conversation.v1.model.MessageResponse;
import com.ibm.watson.developer_cloud.http.ServiceCallback;
import java.util.HashMap;
import java.util.Map;
public class TestBot extends AppCompatActivity {
private static final String TAG = "TestBot";
private ConversationService myConversationService = null;
private TextView chatDisplayTV;
private EditText userStatementET;
private final String IBM_USERNAME = "528a69dc-8537-4a01-8598-bf08be28a75a";
private final String IBM_PASSWORD = "PqXreJu3IwoQ";
private final String IBM_WORKSPACE_ID = "724cbe7d-c790-4298-a591-79833ac9aff9";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.testbot);
chatDisplayTV = findViewById(R.id.tv_chat_display);
userStatementET = findViewById(R.id.et_user_statement);
//instantiating IBM Watson Conversation Service
myConversationService =
new ConversationService(
"2017-12-06",
IBM_USERNAME,
IBM_PASSWORD
);
userStatementET.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView tv, int action, KeyEvent keyEvent) {
if (action == EditorInfo.IME_ACTION_DONE) {
//show the user statement
final String userStatement = userStatementET.getText().toString();
chatDisplayTV.append(
Html.fromHtml("<p><b>YOU:</b> " + userStatement + "</p>")
);
userStatementET.setText("");
MessageRequest request = new MessageRequest.Builder()
.inputText(userStatement)
.build();
// initiate chat conversation
myConversationService
.message(IBM_WORKSPACE_ID, request)
.enqueue(new ServiceCallback<MessageResponse>() {
@Override
public void onResponse(MessageResponse response) {
final String botStatement = response.getText().get(0);
runOnUiThread(new Runnable() {
@Override
public void run() {
chatDisplayTV.append(
Html.fromHtml("<p><b>BOT:</b> " +
botStatement + "</p>")
);
}
});
// if the intent is joke then we access the third party
// service to get a random joke and respond to user
if (response.getIntents().get(0).getIntent().endsWith("RequestQuote")) {
final Map<String, String> params = new HashMap<String, String>() {{
put("Accept", "text/plain");
}};
Fuel.get("https://icanhazdadjoke.com/").header(params)
.responseString(new Handler<String>() {
@Override
public void success(Request request, Response response, String body) {
Log.d(TAG, "" + response + " ; " + body);
chatDisplayTV.append(
Html.fromHtml("<p><b>BOT:</b> " +
body + "</p>")
);
}
@Override
public void failure(Request request, Response response, FuelError fuelError) {
}
});
}
}
@Override
public void onFailure(Exception e) {
Log.d(TAG, e.getMessage());
}
});
}
return false;
}
});
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<!--tools:context="MainActivity">-->
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/user_statement_container">
<TextView
android:id="@+id/tv_chat_display"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp" />
</ScrollView>
<android.support.design.widget.TextInputLayout
android:id="@+id/user_statement_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<EditText
android:id="@+id/et_user_statement"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Your Message:"
android:imeOptions="actionDone"
android:inputType="textShortMessage" />
</android.support.design.widget.TextInputLayout>
</RelativeLayout>
\ No newline at end of file
...@@ -20,6 +20,9 @@ ...@@ -20,6 +20,9 @@
<item <item
android:id="@+id/nav_help" android:id="@+id/nav_help"
android:title="Help" /> android:title="Help" />
<item
android:id="@+id/nav_bot"
android:title="TestBot" />
</group> </group>
</menu> </menu>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment