Skip to content

Instantly share code, notes, and snippets.

@bumie-e
Created February 7, 2021 22:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bumie-e/51bc544c73813f4b5d4a56998bae0e3d to your computer and use it in GitHub Desktop.
Save bumie-e/51bc544c73813f4b5d4a56998bae0e3d to your computer and use it in GitHub Desktop.
package com.bumie.dounix;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import org.pytorch.Module;
import org.pytorch.Tensor;
import java.nio.LongBuffer;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import ca.rmen.porterstemmer.PorterStemmer;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class Chat extends AppCompatActivity {
private String baseURL = "http://localhost:8000/";
Button send;
EditText edtxt;
RecyclerView rv;
ArrayList<MessageModel> messagesList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chat);
send = findViewById(R.id.button_chatbox_send);
edtxt = findViewById(R.id.edittext_chatbox);
rv = findViewById(R.id.rv);
send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sendMessage(edtxt.getText().toString());
}
});
}
private void sendMessage(String message){
messagesList.add(new MessageModel(message, CustomAdapter.MESSAGE_TYPE_OUT));
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(baseURL)
.addConverterFactory(GsonConverterFactory.create())
.build();
JsonPlaceholderApi placeholderApi = retrofit.create(JsonPlaceholderApi.class);
Call<MessageModel> call = placeholderApi.addText(message);
call.enqueue(new Callback<MessageModel>() {
@Override
public void onResponse(Call<MessageModel> call, Response<MessageModel> response) {
if(response.isSuccessful()){
Toast.makeText(Chat.this, "Post successfully sent! Code : " + response.code(), Toast.LENGTH_LONG).show();
messagesList.add(new MessageModel(response.body().getMessage(), CustomAdapter.MESSAGE_TYPE_IN));
CustomAdapter adapter = new CustomAdapter(Chat.this, messagesList);
rv.setLayoutManager(new LinearLayoutManager(Chat.this));
rv.setAdapter(adapter);
}
}
@Override
public void onFailure(Call<MessageModel> call, Throwable t) {
Log.i("Upload Images","Unable to submit");
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment