26-08-1396، 02:44 ب.ظ
با سلام
من برنامم رو منتشر کردم و لاگ ها رو از طریف فایربیس میخونم
یکی از ارور هایی که داشتم اینه که کانکشن به دیتابیس توی یه صفحه ای بسته هست ظاهرا
من برنامم رو منتشر کردم و لاگ ها رو از طریف فایربیس میخونم
یکی از ارور هایی که داشتم اینه که کانکشن به دیتابیس توی یه صفحه ای بسته هست ظاهرا
public class ScoreAdapter extends RecyclerView.Adapter<ScoreAdapter.ViewHolder> { private Context context; private List<ItemSession> list; private DatabaseHelper databaseHelper; private AdapterClickListener listener; private int historyID, turn = 1; private int Score, Posotion1; private boolean checkClicked1, checkClicked2, checkClicked3, checkClicked4, checkClicked5; ScoreAdapter(Context context, int historyID, List<ItemSession> list, DatabaseHelper databaseHelper, AdapterClickListener listener) { this.context = context; this.historyID = historyID; this.list = list; this.databaseHelper = databaseHelper; this.listener = listener; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_score_list, parent, false); return new ViewHolder(view); } @SuppressLint("SetTextI18n") @Override public void onBindViewHolder(ViewHolder holder, int position) { if (list.get(position).sessionPosition == 0) { holder.person.setBackgroundResource(R.drawable.ic_user_green); holder.leftColor.setBackgroundColor(Color.parseColor("#079f0f")); holder.rightColor.setBackgroundColor(Color.parseColor("#079f0f")); } else if (list.get(position).sessionPosition == 1) { holder.person.setBackgroundResource(R.drawable.ic_user_purple); holder.leftColor.setBackgroundColor(Color.parseColor("#9231d5")); holder.rightColor.setBackgroundColor(Color.parseColor("#9231d5")); } else if (list.get(position).sessionPosition == 2) { holder.person.setBackgroundResource(R.drawable.ic_user_yellow); holder.leftColor.setBackgroundColor(Color.parseColor("#9e9f25")); holder.rightColor.setBackgroundColor(Color.parseColor("#9e9f25")); } else if (list.get(position).sessionPosition == 3) { holder.person.setBackgroundResource(R.drawable.ic_user_red); holder.leftColor.setBackgroundColor(Color.parseColor("#bd0a51")); holder.rightColor.setBackgroundColor(Color.parseColor("#bd0a51")); } else if (list.get(position).sessionPosition == 4) { holder.person.setBackgroundResource(R.drawable.ic_user_sky_blue); holder.leftColor.setBackgroundColor(Color.parseColor("#289682")); holder.rightColor.setBackgroundColor(Color.parseColor("#289682")); } holder.editTeamName.setVisibility(View.GONE); holder.teamName.setVisibility(View.VISIBLE); holder.teamName.setTypeface(AppConfiguration.setFont(context)); holder.score.setTypeface(AppConfiguration.setFont(context)); holder.editTeamName.setTypeface(AppConfiguration.setFont(context)); holder.score.setText(AppConfiguration.getNumber(list.get(position).sessionScore)); holder.teamName.setText(list.get(position).sessionTeamName); holder.editSave.setBackgroundResource(R.drawable.ic_edit); holder.play.setBackgroundResource(R.drawable.ic_play); holder.play.setVisibility(View.INVISIBLE); holder.numberTeam.setTypeface(AppConfiguration.setFont(context)); new Thread(() -> { try { databaseHelper.openDataBase(); } catch (Exception e) { e.printStackTrace(); } int state = databaseHelper.getRealStateHistory(historyID); databaseHelper.close(); new Handler(Looper.getMainLooper()).post(() -> { if (state == 1) { if (turn <= 5) { if (list.get(position).sessionState == 1) { holder.play.setVisibility(View.VISIBLE); } } else { try { databaseHelper.openDataBase(); } catch (Exception e) { e.printStackTrace(); } databaseHelper.updateClosedStateHistory(historyID); databaseHelper.close(); } } else { try { databaseHelper.openDataBase(); } catch (Exception e) { e.printStackTrace(); } int[] highScore = databaseHelper.getHighScore(historyID); if (list.size() == 2) { if (databaseHelper.getPositionHighScore(historyID, highScore[list.size() - 1]) == position) { holder.play.setVisibility(View.VISIBLE); holder.play.setEnabled(false); holder.play.setBackgroundResource(R.drawable.ic_trophy_gold); holder.numberTeam.setVisibility(View.VISIBLE); holder.numberTeam.setTypeface(AppConfiguration.setFont(context)); holder.numberTeam.setText("1"); } else if (databaseHelper.getPositionHighScore(historyID, highScore[list.size() - 2]) == position) { holder.play.setVisibility(View.VISIBLE); holder.play.setEnabled(false); holder.play.setBackgroundResource(R.drawable.ic_trophy_silver); holder.numberTeam.setVisibility(View.VISIBLE); holder.numberTeam.setTypeface(AppConfiguration.setFont(context)); holder.numberTeam.setText("2"); } } else { if (databaseHelper.getPositionHighScore(historyID, highScore[list.size() - 1]) == position) { holder.play.setVisibility(View.VISIBLE); holder.play.setEnabled(false); holder.play.setBackgroundResource(R.drawable.ic_trophy_gold); holder.numberTeam.setVisibility(View.VISIBLE); holder.numberTeam.setTypeface(AppConfiguration.setFont(context)); holder.numberTeam.setText("1"); } else if (databaseHelper.getPositionHighScore(historyID, highScore[list.size() - 2]) == position) { holder.play.setVisibility(View.VISIBLE); holder.numberTeam.setTypeface(AppConfiguration.setFont(context)); holder.play.setEnabled(false); holder.play.setBackgroundResource(R.drawable.ic_trophy_silver); holder.numberTeam.setVisibility(View.VISIBLE); holder.numberTeam.setText("2"); } else if (databaseHelper.getPositionHighScore(historyID, highScore[list.size() - 3]) == position) { holder.play.setVisibility(View.VISIBLE); holder.play.setEnabled(false); holder.play.setBackgroundResource(R.drawable.ic_trophy_bronze); holder.numberTeam.setVisibility(View.VISIBLE); holder.numberTeam.setTypeface(AppConfiguration.setFont(context)); holder.numberTeam.setText("3"); } } databaseHelper.close(); } }); }).start(); holder.framelayout_edit.setOnClickListener(view -> { try { databaseHelper.openDataBase(); } catch (Exception e) { e.printStackTrace(); } if (position == 0) { if (!checkClicked1) { holder.editSave.setBackgroundResource(R.drawable.ic_check_box); checkClicked1 = true; holder.editTeamName.setVisibility(View.VISIBLE); holder.editTeamName.setText(holder.teamName.getText().toString()); holder.teamName.setVisibility(View.GONE); } else { holder.editSave.setBackgroundResource(R.drawable.ic_edit); checkClicked1 = false; holder.editTeamName.setVisibility(View.GONE); holder.teamName.setVisibility(View.VISIBLE); holder.teamName.setText(holder.editTeamName.getText().toString()); databaseHelper.updateTeamName(holder.editTeamName.getText().toString().trim(), list.get(position).sessionID); } } else if (position == 1) { if (!checkClicked2) { holder.editSave.setBackgroundResource(R.drawable.ic_check_box); checkClicked2 = true; holder.editTeamName.setVisibility(View.VISIBLE); holder.editTeamName.setText(holder.teamName.getText().toString()); holder.teamName.setVisibility(View.GONE); } else { holder.editSave.setBackgroundResource(R.drawable.ic_edit); checkClicked2 = false; holder.editTeamName.setVisibility(View.GONE); holder.teamName.setVisibility(View.VISIBLE); holder.teamName.setText(holder.editTeamName.getText().toString()); databaseHelper.updateTeamName(holder.editTeamName.getText().toString(), list.get(position).sessionID); } } else if (position == 2) { if (!checkClicked3) { holder.editSave.setBackgroundResource(R.drawable.ic_check_box); checkClicked3 = true; holder.editTeamName.setVisibility(View.VISIBLE); holder.editTeamName.setText(holder.teamName.getText().toString()); holder.teamName.setVisibility(View.GONE); } else { holder.editSave.setBackgroundResource(R.drawable.ic_edit); checkClicked3 = false; holder.editTeamName.setVisibility(View.GONE); holder.teamName.setVisibility(View.VISIBLE); holder.teamName.setText(holder.editTeamName.getText().toString()); databaseHelper.updateTeamName(holder.editTeamName.getText().toString(), list.get(position).sessionID); } } else if (position == 3) { if (!checkClicked4) { holder.editSave.setBackgroundResource(R.drawable.ic_check_box); checkClicked4 = true; holder.editTeamName.setVisibility(View.VISIBLE); holder.editTeamName.setText(holder.teamName.getText().toString()); holder.teamName.setVisibility(View.GONE); } else { holder.editSave.setBackgroundResource(R.drawable.ic_edit); checkClicked4 = false; holder.editTeamName.setVisibility(View.GONE); holder.teamName.setVisibility(View.VISIBLE); holder.teamName.setText(holder.editTeamName.getText().toString()); databaseHelper.updateTeamName(holder.editTeamName.getText().toString(), list.get(position).sessionID); } } else if (position == 4) { if (!checkClicked5) { holder.editSave.setBackgroundResource(R.drawable.ic_check_box); checkClicked5 = true; holder.editTeamName.setVisibility(View.VISIBLE); holder.editTeamName.setText(holder.teamName.getText().toString()); holder.teamName.setVisibility(View.GONE); } else { holder.editSave.setBackgroundResource(R.drawable.ic_edit); checkClicked5 = false; holder.editTeamName.setVisibility(View.GONE); holder.teamName.setVisibility(View.VISIBLE); holder.teamName.setText(holder.editTeamName.getText().toString()); databaseHelper.updateTeamName(holder.editTeamName.getText().toString(), list.get(position).sessionID); } } databaseHelper.close(); }); holder.play.setOnClickListener(view -> { try { databaseHelper.openDataBase(); } catch (Exception e) { e.printStackTrace(); } databaseHelper.updateClosedStateSession(position, historyID); databaseHelper.updateCounterState(historyID); turn = databaseHelper.getPositionCounter(); databaseHelper.close(); if (listener != null) listener.onButtonClick(position); }); } @Override public int getItemCount() { return list.size(); } public interface AdapterClickListener { void onButtonClick(int id); } class ViewHolder extends RecyclerView.ViewHolder { TextView score, teamName, numberTeam; EditText editTeamName; ImageView person, editSave, play; FrameLayout framelayout_edit; LinearLayout leftColor, rightColor; ViewHolder(View itemView) { super(itemView); person = itemView.findViewById(R.id.person_image); teamName = itemView.findViewById(R.id.team_name); editTeamName = itemView.findViewById(R.id.team_name_editText); editSave = itemView.findViewById(R.id.edit_button); framelayout_edit = itemView.findViewById(R.id.framelayout_edit); play = itemView.findViewById(R.id.play); score = itemView.findViewById(R.id.score); numberTeam = itemView.findViewById(R.id.number_team); leftColor = itemView.findViewById(R.id.leftColor); rightColor = itemView.findViewById(R.id.rightColor); } } }