@@ -90,7 +90,7 @@ public class ChatActivity extends AppCompatActivity
90
90
int [] colors ;
91
91
92
92
List <Message > messageArrayList ;
93
- boolean saved = false ;
93
+ boolean saved = false , loaded = false ;
94
94
95
95
@ Override
96
96
protected void onCreate (Bundle savedInstanceState ) {
@@ -159,28 +159,33 @@ public void loadImage(ImageView imageView, @Nullable String url, @Nullable Objec
159
159
ta .recycle ();
160
160
161
161
adapter .setOnMessageLongClickListener (this );
162
+ loaded = false ;
162
163
}
163
164
164
165
@ Override
165
166
protected void onResume () {
166
167
super .onResume ();
167
- messageArrayList = new ArrayList <Message >();
168
- gson = new Gson ();
169
-
170
- PREFERENCE_FILE_KEY = user .getId ();
171
- sharedPref = this .getSharedPreferences (
172
- PREFERENCE_FILE_KEY , Context .MODE_PRIVATE );
173
- editor = sharedPref .edit ();
174
-
175
- String jsonDataString = sharedPref .getString (SHARED_PREFERENCES_KEY_MESSAGE_LIST ,"" );
176
- if (jsonDataString .length () > 0 ) {
177
- Message messageArray [] = gson .fromJson (jsonDataString , Message [].class );
178
- for (Message msg : messageArray ) {
179
- messageArrayList .add (msg );
168
+
169
+ if (loaded == false ) {
170
+ messageArrayList = new ArrayList <Message >();
171
+ gson = new Gson ();
172
+
173
+ PREFERENCE_FILE_KEY = user .getId ();
174
+ sharedPref = this .getSharedPreferences (
175
+ PREFERENCE_FILE_KEY , Context .MODE_PRIVATE );
176
+ editor = sharedPref .edit ();
177
+
178
+ String jsonDataString = sharedPref .getString (SHARED_PREFERENCES_KEY_MESSAGE_LIST , "" );
179
+ if (jsonDataString .length () > 0 ) {
180
+ Message messageArray [] = gson .fromJson (jsonDataString , Message [].class );
181
+ for (Message msg : messageArray ) {
182
+ messageArrayList .add (msg );
183
+ }
184
+ Collections .sort (messageArrayList , Message .DateComparator );
185
+ adapter .addToEnd (messageArrayList , false );
186
+ Log .e ("MESSAGE_SIZE" , messageArrayList .size () + "" );
180
187
}
181
- Collections .sort (messageArrayList ,Message .DateComparator );
182
- adapter .addToEnd (messageArrayList ,false );
183
- Log .e ("MESSAGE_SIZE" , messageArrayList .size () + "" );
188
+ loaded = true ;
184
189
}
185
190
saved = false ;
186
191
}
@@ -486,6 +491,7 @@ public void onBackPressed() {
486
491
editor .commit ();
487
492
saved = true ;
488
493
}
494
+ loaded = false ;
489
495
Message message = new Message (Integer .toString (++cnt ), MainActivity .me , null );
490
496
message .setOffline (true );
491
497
sender = new SendMessage (user .getIpAddress (), user .getPort (), message , this );
0 commit comments