3636import android .os .Bundle ;
3737import android .support .v7 .app .ActionBarActivity ;
3838import android .text .TextUtils ;
39+ import android .text .method .ScrollingMovementMethod ;
3940import android .view .View ;
4041import android .view .inputmethod .InputMethodManager ;
4142import android .widget .Button ;
4849import io .grpc .examples .helloworld .HelloReply ;
4950import io .grpc .examples .helloworld .HelloRequest ;
5051
52+ import java .io .PrintWriter ;
53+ import java .io .StringWriter ;
5154import java .util .concurrent .TimeUnit ;
5255
5356public class HelloworldActivity extends ActionBarActivity {
@@ -66,6 +69,7 @@ protected void onCreate(Bundle savedInstanceState) {
6669 mPortEdit = (EditText ) findViewById (R .id .port_edit_text );
6770 mMessageEdit = (EditText ) findViewById (R .id .message_edit_text );
6871 mResultText = (TextView ) findViewById (R .id .grpc_response_text );
72+ mResultText .setMovementMethod (new ScrollingMovementMethod ());
6973 }
7074
7175 public void sendMessage (View view ) {
@@ -90,22 +94,22 @@ protected void onPreExecute() {
9094 mResultText .setText ("" );
9195 }
9296
93- private String sayHello (ManagedChannel channel ) {
94- GreeterGrpc .GreeterBlockingStub stub = GreeterGrpc .newBlockingStub (channel );
95- HelloRequest message = HelloRequest .newBuilder ().setName (mMessage ).build ();
96- HelloReply reply = stub .sayHello (message );
97- return reply .getMessage ();
98- }
99-
10097 @ Override
10198 protected String doInBackground (Void ... nothing ) {
10299 try {
103100 mChannel = ManagedChannelBuilder .forAddress (mHost , mPort )
104101 .usePlaintext (true )
105102 .build ();
106- return sayHello (mChannel );
103+ GreeterGrpc .GreeterBlockingStub stub = GreeterGrpc .newBlockingStub (mChannel );
104+ HelloRequest message = HelloRequest .newBuilder ().setName (mMessage ).build ();
105+ HelloReply reply = stub .sayHello (message );
106+ return reply .getMessage ();
107107 } catch (Exception e ) {
108- return "Failed... : " + e .getMessage ();
108+ StringWriter sw = new StringWriter ();
109+ PrintWriter pw = new PrintWriter (sw );
110+ e .printStackTrace (pw );
111+ pw .flush ();
112+ return "Failed... : " + System .lineSeparator () + sw ;
109113 }
110114 }
111115
0 commit comments