1818
1919import androidx .annotation .NonNull ;
2020import androidx .annotation .Nullable ;
21- import com .codebinars .a2048game .database .DatabaseHelper ;
21+
22+ import com .codebinars .a2048game .database .DBHelper ;
23+ import com .codebinars .a2048game .scoresView .ImageUtils ;
2224import com .codebinars .a2048game .scoresView .ScoreListRecycler ;
2325
2426import java .io .File ;
3335public class EditScoreActivity extends Activity {
3436 private static final int IMAGE_PICK_CODE = 1000 ;
3537 private static final int PERMISSION_CODE = 1001 ;
36- private DatabaseHelper databaseHelper ;
38+ private DBHelper dbHelper ;
3739 private EditText editUsername , editScore , editDuration , editCountry ;
3840 private TextView editDate ;
3941 private ImageView avatarView ;
@@ -57,7 +59,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
5759 calendar .set (Calendar .DAY_OF_MONTH , dayOfMonth );
5860 updateDate ();
5961 };
60- databaseHelper = DatabaseHelper .getInstance (getApplicationContext ());
62+ dbHelper = DBHelper .getInstance (getApplicationContext ());
6163 editScore = findViewById (R .id .editScoreCamp );
6264 editUsername = findViewById (R .id .editUsernameCamp );
6365 editDate = findViewById (R .id .editDateCamp );
@@ -72,8 +74,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
7274 editDuration .setText (extras .getString (SCORE_DURATION ));
7375 editUsername .setText (extras .getString (USER_NAME ));
7476 editCountry .setText (extras .getString (USER_COUNTRY ));
75- if (databaseHelper . getImage ( databaseHelper . UserInDB (extras .getString (USER_NAME ))) != null ){
76- avatarView .setImageBitmap (databaseHelper . getImage ( databaseHelper . UserInDB ( extras .getString (USER_NAME ) )));
77+ if (extras . getString ( USER_AVATAR ) != null && (extras .getString (USER_AVATAR ). length () > 5 ) ){
78+ avatarView .setImageBitmap (ImageUtils . loadImage ( extras .getString (USER_AVATAR )));
7779 }
7880 editDate .setText (extras .getString (SCORE_DATETIME ));
7981 editDate .setOnClickListener (new View .OnClickListener (){
@@ -107,16 +109,16 @@ public void onClick(View view) {
107109 editCountry .setText (getApplicationContext ().getResources ().getConfiguration ().locale .getDisplayCountry ());
108110 break ;
109111 case R .id .savechanges :
110- databaseHelper .updateScore (
112+ dbHelper .updateScore (
111113 scoreId ,
112114 editUsername .getText ().toString (),
113115 Integer .valueOf (editScore .getText ().toString ()),
114116 editDate .getText ().toString (),
115117 Float .parseFloat (editDuration .getText ().toString ()));
116118 if (avatarImage !=null ){
117- saveImage (avatarImage );
119+ saveImage (avatarImage ); //Store the IMAGE on DEVICE if it was loaded
118120 }
119- databaseHelper .updateUser (editUsername .getText ().toString ().toLowerCase (), imageroot , editCountry .getText ().toString ());
121+ dbHelper .updateUser (editUsername .getText ().toString ().toLowerCase (), imageroot , editCountry .getText ().toString ());
120122 myIntent = new Intent (EditScoreActivity .this , ScoreListRecycler .class );
121123 startActivity (myIntent );
122124 finish ();
@@ -172,6 +174,11 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
172174 super .onActivityResult (requestCode , resultCode , data );
173175 }
174176
177+ /**
178+ * We could simply save images every time a user loads one
179+ * But we prefer so store them only if he clicks "Save"
180+ * @param finalBitmap
181+ */
175182 private void saveImage (Bitmap finalBitmap ) {
176183 String root = getExternalFilesDir (null ).getAbsolutePath ();
177184 File myDir = new File (root + "/saved_images" );
0 commit comments