46
46
import android .widget .EditText ;
47
47
import android .widget .FilterQueryProvider ;
48
48
import android .widget .ImageView ;
49
+ import android .widget .LinearLayout ;
49
50
import android .widget .ListView ;
50
51
import android .widget .SearchView ;
51
52
import android .widget .TextView ;
@@ -440,6 +441,7 @@ public void onClick(View v) {
440
441
sendMessage ();
441
442
}
442
443
});
444
+ composeStatus = (LinearLayout ) findViewById (R .id .composeStatus );
443
445
setUpAdapter ();
444
446
streamActv .setAdapter (streamActvAdapter );
445
447
topicActv .setAdapter (subjectActvAdapter );
@@ -482,6 +484,7 @@ private void sendMessage() {
482
484
messageEt .requestFocus ();
483
485
return ;
484
486
}
487
+ sendingMessage (true );
485
488
MessageType messageType = (isCurrentModeStream ()) ? MessageType .STREAM_MESSAGE : MessageType .PRIVATE_MESSAGE ;
486
489
Message msg = new Message (app );
487
490
msg .setSender (app .getYou ());
@@ -500,15 +503,32 @@ private void sendMessage() {
500
503
public void onTaskComplete (String result , JSONObject jsonObject ) {
501
504
Toast .makeText (ZulipActivity .this , R .string .message_sent , Toast .LENGTH_SHORT ).show ();
502
505
messageEt .setText ("" );
506
+ sendingMessage (false );
503
507
}
504
508
public void onTaskFailure (String result ) {
505
509
Log .d ("onTaskFailure" , "Result: " + result );
506
510
Toast .makeText (ZulipActivity .this , R .string .message_error , Toast .LENGTH_SHORT ).show ();
511
+ sendingMessage (false );
507
512
}
508
513
});
509
514
sender .execute ();
510
515
}
511
516
517
+ private void sendingMessage (boolean isSending ) {
518
+ streamActv .setEnabled (!isSending );
519
+ textView .setEnabled (!isSending );
520
+ messageEt .setEnabled (!isSending );
521
+ topicActv .setEnabled (!isSending );
522
+ sendBtn .setEnabled (!isSending );
523
+ togglePrivateStreamBtn .setEnabled (!isSending );
524
+ if (isSending )
525
+ composeStatus .setVisibility (View .VISIBLE );
526
+ else
527
+ composeStatus .setVisibility (View .GONE );
528
+ }
529
+
530
+ LinearLayout composeStatus ;
531
+
512
532
public void setUpAdapter () {
513
533
streamActvAdapter = new SimpleCursorAdapter (
514
534
that , R .layout .stream_tile , null ,
@@ -587,6 +607,7 @@ public Cursor runQuery(CharSequence charSequence) {
587
607
}
588
608
});
589
609
610
+ sendingMessage (false );
590
611
}
591
612
592
613
private Cursor makeStreamCursor (CharSequence streamName )
0 commit comments