@@ -90,7 +90,7 @@ public class ChatActivity extends AppCompatActivity
9090 int [] colors ;
9191
9292 List <Message > messageArrayList ;
93- boolean saved = false ;
93+ boolean saved = false , loaded = false ;
9494
9595 @ Override
9696 protected void onCreate (Bundle savedInstanceState ) {
@@ -159,28 +159,33 @@ public void loadImage(ImageView imageView, @Nullable String url, @Nullable Objec
159159 ta .recycle ();
160160
161161 adapter .setOnMessageLongClickListener (this );
162+ loaded = false ;
162163 }
163164
164165 @ Override
165166 protected void onResume () {
166167 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 () + "" );
180187 }
181- Collections .sort (messageArrayList ,Message .DateComparator );
182- adapter .addToEnd (messageArrayList ,false );
183- Log .e ("MESSAGE_SIZE" , messageArrayList .size () + "" );
188+ loaded = true ;
184189 }
185190 saved = false ;
186191 }
@@ -486,6 +491,7 @@ public void onBackPressed() {
486491 editor .commit ();
487492 saved = true ;
488493 }
494+ loaded = false ;
489495 Message message = new Message (Integer .toString (++cnt ), MainActivity .me , null );
490496 message .setOffline (true );
491497 sender = new SendMessage (user .getIpAddress (), user .getPort (), message , this );
0 commit comments