Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit facf132

Browse files
committed
Bg color change done, optimized offline
1 parent 9b01fb7 commit facf132

File tree

3 files changed

+39
-27
lines changed

3 files changed

+39
-27
lines changed

‎app/src/main/java/com/example/chatfull/ChatActivity.java‎

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public class ChatActivity extends AppCompatActivity
6161

6262
ColorPickerDialog colorPickerDialog;
6363
RelativeLayout back_view;
64+
int[] colors;
6465

6566
@Override
6667
protected void onCreate(Bundle savedInstanceState) {
@@ -114,7 +115,7 @@ public void loadImage(ImageView imageView, @Nullable String url, @Nullable Objec
114115
//Initialize color picker
115116
back_view = findViewById(R.id.background_view);
116117
TypedArray ta = getApplicationContext().getResources().obtainTypedArray(R.array.colors);
117-
int[] colors = new int[ta.length()];
118+
colors = new int[ta.length()];
118119
for (int i = 0; i < ta.length(); i++) {
119120
colors[i] = ta.getColor(i, 0);
120121
}
@@ -147,6 +148,13 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) {
147148

148149
@Override
149150
public void onColorSelected(int color) {
151+
Message message = new Message(Integer.toString(++cnt), me, null, Calendar.getInstance().getTime());
152+
message.setColor(color);
153+
message.setIsColor(true);
154+
155+
sender = new SendMessage(user.getIpAddress(), user.getPort(), message, this);
156+
sender.execute();
157+
150158
back_view.setBackgroundColor(color);
151159
}
152160

@@ -200,7 +208,6 @@ protected void onActivityResult(int requestCode, int resultCode, @Nullable Inten
200208
adapter.addToStart(message, true);
201209
sender = new SendMessage(user.getIpAddress(), user.getPort(), message, this);
202210
sender.execute();
203-
Toast.makeText(this, file.getPath() + "FILE", Toast.LENGTH_SHORT).show();
204211
}
205212
} else if (requestCode == PICK_IMAGE_REQUEST && data != null) {
206213
if (resultCode == RESULT_OK) {
@@ -219,7 +226,6 @@ protected void onActivityResult(int requestCode, int resultCode, @Nullable Inten
219226
adapter.addToStart(message, true);
220227
sender = new SendMessage(user.getIpAddress(), user.getPort(), message, this);
221228
sender.execute();
222-
// Toast.makeText(this, file.getPath() + "IMAGE", Toast.LENGTH_SHORT).show();
223229
}
224230
}
225231
}
@@ -302,7 +308,7 @@ public void stopSender() {
302308

303309
public void setMessage(final Message msg) {
304310
Log.e("IN_SET", msg.toString());
305-
if (msg.getText() != null && msg.getText().equalsIgnoreCase("OFFLINE")) {
311+
if (msg.isOffline()) {
306312
if (sender != null)
307313
sender.cancel(true);
308314
if (messageReceiveServer != null)
@@ -311,7 +317,6 @@ public void setMessage(final Message msg) {
311317
return;
312318
}
313319

314-
315320
runOnUiThread(new Runnable() {
316321
@Override
317322
public void run() {
@@ -324,6 +329,8 @@ public void run() {
324329
} else if(msg.isFile()) {
325330
msg.setUser(user);
326331
adapter.addToStart(msg, true);
332+
} else if(msg.isColor()) {
333+
back_view.setBackgroundColor(msg.getColor());
327334
}
328335
}
329336
});
@@ -342,7 +349,9 @@ protected void onDestroy() {
342349
@Override
343350
public void onBackPressed() {
344351
Log.e("CHAT_ACTIVITY", "PAUSE");
345-
sender = new SendMessage(user.getIpAddress(), user.getPort(), new Message(Integer.toString(++cnt), me, "OFFLINE"), this);
352+
Message message = new Message(Integer.toString(++cnt), me, null);
353+
message.setOffline(true);
354+
sender = new SendMessage(user.getIpAddress(), user.getPort(), message, this);
346355
sender.execute();
347356
try {
348357
Thread.sleep(500);
@@ -357,6 +366,7 @@ public void onBackPressed() {
357366

358367
}
359368

369+
//Used for file messages
360370
@Override
361371
public boolean hasContentFor(Message message, byte type) {
362372
switch (type) {

‎app/src/main/java/com/example/chatfull/Message.java‎

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,38 +22,42 @@ public class Message implements IMessage, Serializable, MessageContentType.Image
2222
private String filename;
2323
private byte[] file;
2424

25-
public voidsetId(String id) {
26-
this.id = id;
25+
public Message(String id, Useruser, Stringtext) {
26+
this(id, user, text, newDate());
2727
}
2828

29-
public void setCreatedAt(Date createdAt) {
29+
public Message(String id, User user, String text, Date createdAt) {
30+
this.id = id;
31+
this.text = text;
32+
this.user = user;
3033
this.createdAt = createdAt;
34+
this.isFile = false;
35+
this.isColor = false;
36+
this.isImage = false;
3137
}
3238

39+
boolean offline;
40+
public boolean isOffline() { return offline; }
41+
public void setOffline(boolean offline) { this.offline = offline; }
42+
3343
private boolean isImage;
3444
private boolean isFile;
35-
public boolean isFile() {
36-
return isFile;
37-
}
45+
public boolean isFile() { return isFile; }
46+
public void setIsFile(boolean file) { isFile = file; }
3847

39-
public void setIsFile(boolean file) {
40-
isFile = file;
41-
}
48+
private int color;
49+
private boolean isColor;
50+
public int getColor() { return color; }
51+
public void setColor(int color) { this.color = color; }
52+
public boolean isColor() { return isColor; }
53+
public void setIsColor(boolean color) { isColor = color; }
4254

4355

4456

45-
public Message(String id, User user, String text) {
46-
this(id, user, text, new Date());
47-
}
48-
49-
public Message(String id, User user, String text, Date createdAt) {
57+
public void setId(String id) {
5058
this.id = id;
51-
this.text = text;
52-
this.user = user;
53-
this.createdAt = createdAt;
5459
}
5560

56-
5761
@Override
5862
public String getId() {
5963
return id;

‎app/src/main/java/com/example/chatfull/Server.java‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,7 @@ public void run() {
4444
//Receive user credentials
4545
BufferedReader input = new BufferedReader(new InputStreamReader(received_userSocket.getInputStream()));
4646
final String client_cred = input.readLine();
47-
48-
Log.e("SERVER", client_cred);
49-
if(client_cred.equalsIgnoreCase("OFFLINE"))
47+
if(client_cred == null)
5048
continue;
5149

5250
String client_ip = client_cred.substring(0,client_cred.indexOf(':'));

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /