tifaout

DrawActivity

Nov 8th, 2023
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 41.38 KB | None | 0 0
  1. package com.own.kidscoloringbook;
  2.  
  3. import static com.own.kidscoloringbook.CapturePhotoUtils.takeScreenshot;
  4.  
  5. import android.app.Activity;
  6. import android.app.AlertDialog;
  7. import android.app.Application;
  8. import android.content.Context;
  9. import android.content.DialogInterface;
  10. import android.content.Intent;
  11. import android.content.pm.PackageManager;
  12. import android.graphics.Bitmap;
  13. import android.graphics.BitmapFactory;
  14. import android.os.Build;
  15. import android.os.Bundle;
  16. import android.os.Handler;
  17. import android.util.Log;
  18. import android.view.Display;
  19. import android.view.LayoutInflater;
  20. import android.view.MotionEvent;
  21. import android.view.View;
  22. import android.view.ViewGroup;
  23. import android.widget.FrameLayout;
  24. import android.widget.ImageView;
  25. import android.widget.LinearLayout;
  26. import android.widget.Toast;
  27.  
  28. import androidx.core.app.ActivityCompat;
  29. import androidx.core.content.ContextCompat;
  30. import androidx.drawerlayout.widget.DrawerLayout;
  31. import androidx.legacy.app.ActionBarDrawerToggle;
  32. import androidx.recyclerview.widget.LinearLayoutManager;
  33. import androidx.recyclerview.widget.RecyclerView;
  34.  
  35. import java.io.File;
  36. import java.util.ArrayList;
  37. import java.util.Collections;
  38. import java.util.List;
  39.  
  40. public class DrawActivity extends Activity implements View.OnClickListener {
  41.     private static final int BRUSH = 2;
  42.     private static final int ERASER = 3;
  43.     private static final int NEW_PAGE = 5;
  44.     private static final int PAINT = 6;
  45.     private static final int PEN = 1;
  46.     private static final int SAVE = 4;
  47.  
  48.  
  49.     private static final String TAG = "DrawActivity";
  50.     private static final int ZOOM = 7;
  51.     public static DrawActivity drawActivity = null;
  52.     public static boolean ispatternClicked = false;
  53.     public static ImageView iv;
  54.     public static Bitmap myart;
  55.     public static int newHeight;
  56.     public static int newWidth;
  57.     protected DrawerLayout a;
  58.     protected DrawerLayout b;
  59.     private ImageView back;
  60.     private ImageView choose_colortype;
  61.  
  62.     public View drawerViewBrush;
  63.  
  64.     public View drawerViewColor;
  65.     private ImageView eraser;
  66.     private HorizontalAdapter horizontalAdapter;
  67.     private RecyclerView horizontal_recycler_view;
  68.  
  69.     public FrameLayout horizontal_recycler_view_frameview;
  70.  
  71.     public boolean isdraweropenedBrush = false;
  72.  
  73.     public boolean isdraweropenedColor = false;
  74.  
  75.     public LinearLayout leftTop;
  76.  
  77.     public int listItemDefaultPos = -1;
  78.     private ImageView mPaint;
  79.     public MyMediaPlayer mediaPlayer;
  80.     private com.own.kidscoloringbook.MediaPlayerSoundAndMusic mediaPlayerSoundAndMusic;
  81.  
  82.     public com.own.kidscoloringbook.DrawingPicture myDrawView;
  83.     private ImageView newPage;
  84.     private ImageView pen;
  85.  
  86.     public int row_index = -1;
  87.     private ImageView save;
  88.     private boolean writePermission;
  89.  
  90.     public class HorizontalAdapter extends RecyclerView.Adapter<HorizontalAdapter.MyViewHolder> {
  91.         List<com.own.kidscoloringbook.Data> a = Collections.emptyList();
  92.         Context b;
  93.  
  94.         public class MyViewHolder extends RecyclerView.ViewHolder {
  95.             ImageView p;
  96.             ImageView q;
  97.  
  98.             public MyViewHolder(HorizontalAdapter horizontalAdapter, View view) {
  99.                 super(view);
  100.                 this.p = (ImageView) view.findViewById(R.id.imageview);
  101.                 this.q = (ImageView) view.findViewById(R.id.imageviewTick);
  102.             }
  103.         }
  104.  
  105.         public HorizontalAdapter(List<com.own.kidscoloringbook.Data> list, Application application) {
  106.             this.a = list;
  107.             this.b = application;
  108.         }
  109.  
  110.         private void isDefaultPosition(int i) {
  111.             if (i == DrawActivity.this.listItemDefaultPos) {
  112.                 DrawActivity.this.brushSelectedOnClickButton();
  113.                 if (com.own.kidscoloringbook.MyConstant.erase) {
  114.                     DrawActivity.this.turnEraserToBrush();
  115.                 }
  116.                 if (DrawActivity.ispatternClicked) {
  117.                     DrawActivity.this.myDrawView.setPattern(this.a.get(i).getTxt());
  118.                     return;
  119.                 }
  120.                 com.own.kidscoloringbook.MyConstant.DRAW_COLOR = ContextCompat.getColor(this.b, this.a.get(i).a);
  121.                 DrawActivity.this.myDrawView.setPathColor(com.own.kidscoloringbook.MyConstant.DRAW_COLOR);
  122.                 DrawActivity.this.horizontal_recycler_view_frameview.setBackgroundColor(com.own.kidscoloringbook.MyConstant.DRAW_COLOR);
  123.                 DrawActivity.this.leftTop.setBackgroundColor(com.own.kidscoloringbook.MyConstant.DRAW_COLOR);
  124.             }
  125.         }
  126.  
  127.         private void setSelectedColorTick(MyViewHolder myViewHolder, int i) {
  128.             if (DrawActivity.this.listItemDefaultPos != -1) {
  129.                 if (DrawActivity.this.row_index == DrawActivity.this.listItemDefaultPos) {
  130.                     myViewHolder.q.setVisibility(View.VISIBLE);
  131.                     int unused = DrawActivity.this.listItemDefaultPos = -1;
  132.                     return;
  133.                 }
  134.             } else if (DrawActivity.this.row_index == i) {
  135.                 myViewHolder.q.setVisibility(View.VISIBLE);
  136.                 return;
  137.             }
  138.             myViewHolder.q.setVisibility(View.INVISIBLE);
  139.         }
  140.  
  141.         public int getItemCount() {
  142.             return this.a.size();
  143.         }
  144.  
  145.         public void onBindViewHolder(MyViewHolder myViewHolder, final int i) {
  146.             myViewHolder.p.setImageResource(this.a.get(i).imageId);
  147.             myViewHolder.p.setOnClickListener(new View.OnClickListener() {
  148.                 public void onClick(View view) {
  149.                     DrawActivity.this.mediaPlayer.playSound(R.raw.click);
  150.                     DrawActivity.this.brushSelectedOnClickButton();
  151.                     int unused = DrawActivity.this.row_index = i;
  152.                     HorizontalAdapter.this.notifyDataSetChanged();
  153.                     if (DrawActivity.ispatternClicked) {
  154.                         DrawActivity.this.myDrawView.setPattern(HorizontalAdapter.this.a.get(i).getTxt());
  155.                         return;
  156.                     }
  157.                     HorizontalAdapter horizontalAdapter = HorizontalAdapter.this;
  158.                     com.own.kidscoloringbook.MyConstant.DRAW_COLOR = ContextCompat.getColor(horizontalAdapter.b, horizontalAdapter.a.get(i).a);
  159.                     DrawActivity.this.myDrawView.setPathColor(com.own.kidscoloringbook.MyConstant.DRAW_COLOR);
  160.                     DrawActivity.this.horizontal_recycler_view_frameview.setBackgroundColor(com.own.kidscoloringbook.MyConstant.DRAW_COLOR);
  161.                     DrawActivity.this.leftTop.setBackgroundColor(com.own.kidscoloringbook.MyConstant.DRAW_COLOR);
  162.                 }
  163.             });
  164.             isDefaultPosition(DrawActivity.this.row_index);
  165.             setSelectedColorTick(myViewHolder, i);
  166.         }
  167.  
  168.         public MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
  169.             return new MyViewHolder(this, LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.vertical_menu, viewGroup, false));
  170.         }
  171.     }
  172.  
  173.     class paintClass1 implements DialogInterface.OnClickListener {
  174.         final int a;
  175.  
  176.         paintClass1(int i) {
  177.             this.a = i;
  178.         }
  179.  
  180.         public void onClick(DialogInterface dialogInterface, int i) {
  181.  
  182.  
  183. //            Ad_class.showInterstitial(DrawActivity.this, new Ad_class.onLisoner() {
  184. //
  185. //                public void click() {
  186. //
  187. //
  188. //
  189. //                }
  190. //            });
  191.             DrawActivity.this.saveBitmap();
  192.  
  193.             int i2 = a;
  194.             if (i2 >= 0) {
  195.                 DrawActivity.this.insertKidBitmap(i2);
  196.             } else {
  197.                 DrawActivity.this.myDrawView.startNew();
  198.             }
  199.  
  200.         }
  201.     }
  202.  
  203.     class paintClass2 implements DialogInterface.OnClickListener {
  204.         final int a;
  205.  
  206.         paintClass2(int i) {
  207.             this.a = i;
  208.         }
  209.  
  210.         public void onClick(DialogInterface dialogInterface, int i) {
  211.             int i2 = this.a;
  212.             if (i2 >= 0) {
  213.                 DrawActivity.this.insertKidBitmap(i2);
  214.             } else {
  215.                 DrawActivity.this.myDrawView.startNew();
  216.             }
  217.         }
  218.     }
  219.  
  220.  
  221.     public void brushSelectedOnClickButton() {
  222.         if (com.own.kidscoloringbook.MyConstant.SELECTED_TOOL == 2) {
  223.             menuSelectedClick(2);
  224.             com.own.kidscoloringbook.MyConstant.SELECTED_TOOL = 1;
  225.             com.own.kidscoloringbook.MyConstant.strokeWidth = com.own.kidscoloringbook.MyConstant.BRUSH_SIZE;
  226.             com.own.kidscoloringbook.MyConstant.erase = false;
  227.         }
  228.         if (com.own.kidscoloringbook.MyConstant.SELECTED_TOOL == 0 && ispatternClicked) {
  229.             menuSelectedClick(2);
  230.             com.own.kidscoloringbook.MyConstant.SELECTED_TOOL = 1;
  231.             com.own.kidscoloringbook.MyConstant.strokeWidth = com.own.kidscoloringbook.MyConstant.BRUSH_SIZE;
  232.             com.own.kidscoloringbook.MyConstant.erase = false;
  233.         }
  234.     }
  235.  
  236.     private void closeAllDrawer() {
  237.         this.b.closeDrawer(this.drawerViewColor);
  238.         this.a.closeDrawer(this.drawerViewBrush);
  239.         this.isdraweropenedColor = false;
  240.         this.isdraweropenedBrush = false;
  241.     }
  242.  
  243.  
  244.     public void enableColorDrawer(DrawerLayout drawerLayout) {
  245.         drawerLayout.setVisibility(View.VISIBLE);
  246.         drawerLayout.setFocusable(true);
  247.         drawerLayout.setClickable(true);
  248.         drawerLayout.setEnabled(true);
  249.     }
  250.  
  251.     private void finishActivity() {
  252.  
  253.             com.own.kidscoloringbook.MyConstant.isBackFromDrawActivity = true;
  254.             this.mediaPlayer.StopMp();
  255.             this.mediaPlayer.playSound(R.raw.click);
  256.             Intent intent = new Intent(this, com.own.kidscoloringbook.ShareUrArt.class);
  257.             intent.putExtra("BitmapImage", com.own.kidscoloringbook.CapturePhotoUtils.file.getAbsolutePath());
  258.             startActivity(intent);
  259.             overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
  260.             return;
  261.  
  262.     }
  263.  
  264.  
  265.     public void finishActivityNoSave() {
  266.         com.own.kidscoloringbook.MyConstant.isBackFromDrawActivity = true;
  267.         this.mediaPlayer.StopMp();
  268.         this.mediaPlayer.playSound(R.raw.click);
  269.         finish();
  270.         startActivity(new Intent(this, com.own.kidscoloringbook.GridActivityColoringBook.class));
  271.         overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
  272.     }
  273.  
  274.     public static DrawActivity getDrawActivity() {
  275.         return drawActivity;
  276.     }
  277.  
  278.     private void isBrushSelected() {
  279.         int i = com.own.kidscoloringbook.MyConstant.TYPE_FILL;
  280.         if (i == 1 || i == 2) {
  281.             this.pen.setImageResource(R.drawable.menu1pencil_sel);
  282.             this.eraser.setImageResource(R.drawable.menu4eraser);
  283.             this.mPaint.setImageResource(R.drawable.menu3bucket);
  284.         }
  285.     }
  286.  
  287.     ImageView imageView;
  288.  
  289.     private void menuSelectedClick(int i) {
  290.  
  291.         int i2 = R.drawable.menu1pencil;
  292.         switch (i) {
  293.             case 1:
  294.                 this.mediaPlayer.playSound(R.raw.click);
  295.                 imageView = this.pen;
  296.                 i2 = R.drawable.menu1pencil_sel;
  297.                 break;
  298.             case 2:
  299.             case 7:
  300.                 this.mediaPlayer.playSound(R.raw.click);
  301.                 imageView = this.pen;
  302.                 break;
  303.             case 3:
  304.                 this.mediaPlayer.playSound(R.raw.click);
  305.                 this.pen.setImageResource(R.drawable.menu1pencil);
  306.                 this.eraser.setImageResource(R.drawable.menu4eraser_sel);
  307.                 break;
  308.             case 4:
  309.             case 5:
  310.                 this.mediaPlayer.playSound(R.raw.click);
  311.                 return;
  312.             case 6:
  313.                 this.mediaPlayer.playSound(R.raw.click);
  314.                 this.pen.setImageResource(R.drawable.menu1pencil);
  315.                 this.eraser.setImageResource(R.drawable.menu4eraser);
  316.                 this.mPaint.setImageResource(R.drawable.menu3bucket_sel);
  317.                 ispatternClicked = false;
  318.                 refreshData(setBottomColorsList());
  319.                 return;
  320.             default:
  321.                 return;
  322.         }
  323.         imageView.setImageResource(i2);
  324.         this.eraser.setImageResource(R.drawable.menu4eraser);
  325.         this.mPaint.setImageResource(R.drawable.menu3bucket);
  326.     }
  327.  
  328.     private void refreshData(List<com.own.kidscoloringbook.Data> list) {
  329.         this.horizontalAdapter = new HorizontalAdapter(list, getApplication());
  330.         this.horizontal_recycler_view.setAdapter(this.horizontalAdapter);
  331.         this.listItemDefaultPos = this.horizontalAdapter.getItemCount() - 1;
  332.         this.row_index = this.listItemDefaultPos;
  333.         this.horizontalAdapter.notifyDataSetChanged();
  334.     }
  335.  
  336.  
  337.     public void saveBitmap() {
  338.         requestPermissionWrite();
  339.         if (this.writePermission) {
  340.             this.myDrawView.setDrawingCacheEnabled(true);
  341.             try {
  342. //                com.own.kidscoloringbook.CapturePhotoUtils.insertImage(getContentResolver(), this.myDrawView.getDrawingCache(), "drawing", "storage");
  343.                 takeScreenshot(this,this.myDrawView);
  344.  
  345.                 this.mediaPlayer.playSound(R.raw.camera_click);
  346.             } catch (Exception unused) {
  347.             }
  348.  
  349.         }
  350.     }
  351.  
  352.  
  353.     public void saveBitmapOnBackPressed() {
  354.         requestPermissionWrite();
  355.         if (this.writePermission) {
  356.             this.myDrawView.setDrawingCacheEnabled(true);
  357.             try {
  358. //                com.own.kidscoloringbook.CapturePhotoUtils.file=new File( com.own.kidscoloringbook.CapturePhotoUtils.insertImage(getContentResolver(), this.myDrawView.getDrawingCache(), "drawing", "storage"));
  359.  
  360.                 takeScreenshot(this,this.myDrawView);
  361.                 this.mediaPlayer.playSound(R.raw.camera_click);
  362.                 myart = this.myDrawView.getDrawingCache();
  363.             } catch (Exception unused) {
  364.             }
  365.             finishActivity();
  366.         }
  367.     }
  368.  
  369.  
  370.     public void setBrushClick(DrawerLayout drawerLayout, View view, int i) {
  371.         com.own.kidscoloringbook.MyConstant.SELECTED_TOOL = 1;
  372.         drawerLayout.closeDrawer(view);
  373.         this.mediaPlayer.playSound(R.raw.select);
  374.         this.isdraweropenedBrush = false;
  375.         com.own.kidscoloringbook.MyConstant.BRUSH_SIZE = i;
  376.         com.own.kidscoloringbook.MyConstant.erase = false;
  377.     }
  378.  
  379.  
  380.     public void setFillType(DrawerLayout drawerLayout, View view, int i, boolean z) {
  381.         ispatternClicked = false;
  382.         drawerLayout.closeDrawer(view);
  383.         com.own.kidscoloringbook.MyConstant.TYPE_FILL = i;
  384.         this.isdraweropenedColor = false;
  385.         ispatternClicked = z;
  386.         refreshData(a(com.own.kidscoloringbook.MyConstant.TYPE_FILL));
  387.         isBrushSelected();
  388.     }
  389.  
  390.  
  391.     public List<com.own.kidscoloringbook.Data> a(int i) {
  392.         return i != 0 ? i != 1 ? i != 2 ? setBottomColorsList() : setBottomGlitterList() : setBottomPatternList() : setBottomColorsList();
  393.     }
  394.  
  395.  
  396.     public void a() {
  397.         int i = com.own.kidscoloringbook.MyConstant.COlORING_BOOK_ID;
  398.         if (i == 0) {
  399.             com.own.kidscoloringbook.MyConstant.selected_bitmapIds = com.own.kidscoloringbook.MyConstant.bitmapUnicornIds;
  400.         } else if (i == 1) {
  401.             com.own.kidscoloringbook.MyConstant.selected_bitmapIds = com.own.kidscoloringbook.MyConstant.bitmapGlowIds;
  402.         }
  403.     }
  404.  
  405.  
  406.     public void a(DrawerLayout drawerLayout) {
  407.         drawerLayout.setVisibility(View.GONE);
  408.         drawerLayout.setFocusable(false);
  409.         drawerLayout.setClickable(false);
  410.         drawerLayout.setEnabled(false);
  411.     }
  412.  
  413.  
  414.     public void a(List<com.own.kidscoloringbook.Data> list) {
  415.         this.horizontalAdapter = new HorizontalAdapter(list, getApplication());
  416.         LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, RecyclerView.HORIZONTAL, true);
  417.         this.horizontal_recycler_view.setLayoutManager(linearLayoutManager);
  418.         this.horizontal_recycler_view.setAdapter(this.horizontalAdapter);
  419.         linearLayoutManager.setStackFromEnd(true);
  420.     }
  421.  
  422.  
  423.     public void b() {
  424.         this.horizontal_recycler_view = (RecyclerView) findViewById(R.id.horizontal_recycler_view);
  425.         this.horizontal_recycler_view_frameview = (FrameLayout) findViewById(R.id.horizontal_recycler_view_frameview);
  426.         this.leftTop = (LinearLayout) findViewById(R.id.leftTop);
  427.         this.myDrawView = (com.own.kidscoloringbook.DrawingPicture) findViewById(R.id.draw);
  428.         this.pen = (ImageView) findViewById(R.id.pen);
  429.         this.choose_colortype = (ImageView) findViewById(R.id.choose_colortype);
  430.         this.back = (ImageView) findViewById(R.id.back);
  431.         this.eraser = (ImageView) findViewById(R.id.eraser);
  432.         this.save = (ImageView) findViewById(R.id.save);
  433.         this.newPage = (ImageView) findViewById(R.id.newPage);
  434.         this.mPaint = (ImageView) findViewById(R.id.mPaint);
  435.         iv = (ImageView) findViewById(R.id.iv);
  436.         this.pen.setOnClickListener(this);
  437.         this.eraser.setOnClickListener(this);
  438.         this.save.setOnClickListener(this);
  439.         this.back.setOnClickListener(this);
  440.         this.newPage.setOnClickListener(this);
  441.         this.mPaint.setOnClickListener(this);
  442.         this.choose_colortype.setOnClickListener(this);
  443.         this.back.setOnClickListener(this);
  444.     }
  445.  
  446.  
  447.     public void b(DrawerLayout drawerLayout) {
  448.         drawerLayout.setVisibility(View.GONE);
  449.         drawerLayout.setFocusable(false);
  450.         drawerLayout.setClickable(false);
  451.         drawerLayout.setEnabled(false);
  452.     }
  453.  
  454.  
  455.     public void c() {
  456.         View decorView;
  457.         int i;
  458.         int i2 = Build.VERSION.SDK_INT;
  459.         if (i2 >= 14) {
  460.             decorView = getWindow().getDecorView();
  461.             i = 7686;
  462.         } else if (i2 >= 11) {
  463.             decorView = getWindow().getDecorView();
  464.             i = 1;
  465.         } else {
  466.             return;
  467.         }
  468.         decorView.setSystemUiVisibility(i);
  469.     }
  470.  
  471.  
  472.     public void c(DrawerLayout drawerLayout) {
  473.         drawerLayout.setVisibility(View.VISIBLE);
  474.         drawerLayout.setFocusable(true);
  475.         drawerLayout.setClickable(true);
  476.         drawerLayout.setEnabled(true);
  477.     }
  478.  
  479.     public void createNewPageDialog(int i) {
  480.         AlertDialog.Builder builder = new AlertDialog.Builder(this);
  481.         builder.setTitle(R.string.new_page_question).setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
  482.             public void onClick(DialogInterface dialogInterface, int i) {
  483.             }
  484.         }).setNeutralButton(R.string.no, new paintClass2(i)).setPositiveButton(R.string.yes,
  485.  
  486.                 new paintClass1(i));
  487.  
  488.  
  489.         builder.create().show();
  490.     }
  491.  
  492.  
  493.     public void d() {
  494.         Display defaultDisplay = getWindowManager().getDefaultDisplay();
  495.         com.own.kidscoloringbook.MyConstant.heightInPixels = defaultDisplay.getHeight();
  496.         com.own.kidscoloringbook.MyConstant.widthInPixels = defaultDisplay.getWidth();
  497.         double d = (double) com.own.kidscoloringbook.MyConstant.heightInPixels;
  498.         double d2 = (double) com.own.kidscoloringbook.MyConstant.widthInPixels;
  499.         Double.isNaN(d);
  500.         Double.isNaN(d2);
  501.         com.own.kidscoloringbook.MyConstant.screenRatio = d / d2;
  502.         com.own.kidscoloringbook.MyConstant.erase = false;
  503.         com.own.kidscoloringbook.MyConstant.SELECTED_TOOL = -1;
  504.         this.writePermission = false;
  505.         ispatternClicked = false;
  506.     }
  507.  
  508.     public void drawerImplementationForBrush() {
  509.         this.a = (DrawerLayout) findViewById(R.id.dr_layout_brush);
  510.         this.drawerViewBrush = findViewById(R.id.drawer_brush);
  511.         this.a.setOnTouchListener(new View.OnTouchListener() {
  512.             public boolean onTouch(View view, MotionEvent motionEvent) {
  513.                 DrawActivity drawActivity = DrawActivity.this;
  514.                 drawActivity.b.closeDrawer(drawActivity.drawerViewColor);
  515.                 DrawActivity drawActivity2 = DrawActivity.this;
  516.                 drawActivity2.a.closeDrawer(drawActivity2.drawerViewBrush);
  517.                 boolean unused = DrawActivity.this.isdraweropenedColor = false;
  518.                 boolean unused2 = DrawActivity.this.isdraweropenedBrush = false;
  519.                 return true;
  520.             }
  521.         });
  522.         View findViewById = findViewById(R.id.ivBrushSize1);
  523.         View findViewById2 = findViewById(R.id.ivBrushSize2);
  524.         View findViewById3 = findViewById(R.id.ivBrushSize3);
  525.         this.a.closeDrawer(this.drawerViewBrush);
  526.         this.isdraweropenedBrush = false;
  527.         findViewById.setOnClickListener(new View.OnClickListener() {
  528.             public void onClick(View view) {
  529.                 DrawActivity drawActivity = DrawActivity.this;
  530.                 drawActivity.setBrushClick(drawActivity.a, drawActivity.drawerViewBrush, 20);
  531.             }
  532.         });
  533.         findViewById2.setOnClickListener(new View.OnClickListener() {
  534.             public void onClick(View view) {
  535.                 DrawActivity drawActivity = DrawActivity.this;
  536.                 drawActivity.setBrushClick(drawActivity.a, drawActivity.drawerViewBrush, 30);
  537.             }
  538.         });
  539.         findViewById3.setOnClickListener(new View.OnClickListener() {
  540.             public void onClick(View view) {
  541.                 DrawActivity drawActivity = DrawActivity.this;
  542.                 drawActivity.setBrushClick(drawActivity.a, drawActivity.drawerViewBrush, 40);
  543.             }
  544.         });
  545.         this.a.addDrawerListener(new ActionBarDrawerToggle(this, this.a, R.drawable.back_1, R.string.app_name, R.string.black_bat) {
  546.             public void onDrawerClosed(View view) {
  547.                 super.onDrawerClosed(view);
  548.                 DrawActivity.this.mediaPlayer.playSound(R.raw.drawer_close);
  549.                 DrawActivity drawActivity = DrawActivity.this;
  550.                 drawActivity.a(drawActivity.a);
  551.             }
  552.  
  553.             public void onDrawerOpened(View view) {
  554.                 super.onDrawerOpened(view);
  555.                 DrawActivity.this.mediaPlayer.playSound(R.raw.drawer);
  556.                 DrawActivity drawActivity = DrawActivity.this;
  557.                 drawActivity.c(drawActivity.a);
  558.             }
  559.         });
  560.     }
  561.  
  562.     public void drawerImplementationForColor() {
  563.         this.b = (DrawerLayout) findViewById(R.id.dr_layout_color);
  564.         this.drawerViewColor = findViewById(R.id.drawer_color);
  565.         this.b.setOnTouchListener(new View.OnTouchListener() {
  566.             public boolean onTouch(View view, MotionEvent motionEvent) {
  567.                 DrawActivity drawActivity = DrawActivity.this;
  568.                 drawActivity.a.closeDrawer(drawActivity.drawerViewBrush);
  569.                 DrawActivity drawActivity2 = DrawActivity.this;
  570.                 drawActivity2.b.closeDrawer(drawActivity2.drawerViewColor);
  571.                 boolean unused = DrawActivity.this.isdraweropenedBrush = false;
  572.                 boolean unused2 = DrawActivity.this.isdraweropenedColor = false;
  573.                 return true;
  574.             }
  575.         });
  576.         View findViewById = findViewById(R.id.ivColorSize1);
  577.         View findViewById2 = findViewById(R.id.ivColorSize2);
  578.         View findViewById3 = findViewById(R.id.ivColorSize3);
  579.         this.b.closeDrawer(this.drawerViewColor);
  580.         this.isdraweropenedColor = false;
  581.         findViewById.setOnClickListener(new View.OnClickListener() {
  582.             public void onClick(View view) {
  583.                 DrawActivity drawActivity = DrawActivity.this;
  584.                 drawActivity.setFillType(drawActivity.b, drawActivity.drawerViewColor, 0, false);
  585.             }
  586.         });
  587.         findViewById2.setOnClickListener(new View.OnClickListener() {
  588.             public void onClick(View view) {
  589.                 DrawActivity drawActivity = DrawActivity.this;
  590.                 drawActivity.setFillType(drawActivity.b, drawActivity.drawerViewColor, 1, true);
  591.             }
  592.         });
  593.         findViewById3.setOnClickListener(new View.OnClickListener() {
  594.             public void onClick(View view) {
  595.                 DrawActivity drawActivity = DrawActivity.this;
  596.                 drawActivity.setFillType(drawActivity.b, drawActivity.drawerViewColor, 2, true);
  597.             }
  598.         });
  599.         this.b.addDrawerListener(new ActionBarDrawerToggle(this, this.b, R.drawable.back_1, R.string.app_name, R.string.black_bat) {
  600.             public void onDrawerClosed(View view) {
  601.                 super.onDrawerClosed(view);
  602.                 DrawActivity.this.mediaPlayer.playSound(R.raw.drawer_close);
  603.                 DrawActivity drawActivity = DrawActivity.this;
  604.                 drawActivity.b(drawActivity.b);
  605.             }
  606.  
  607.             public void onDrawerOpened(View view) {
  608.                 super.onDrawerOpened(view);
  609.                 DrawActivity.this.mediaPlayer.playSound(R.raw.drawer);
  610.                 DrawActivity drawActivity = DrawActivity.this;
  611.                 drawActivity.enableColorDrawer(drawActivity.b);
  612.             }
  613.         });
  614.     }
  615.  
  616.  
  617.     public void e() {
  618.         com.own.kidscoloringbook.MyConstant.onSizeCalled = 0;
  619.     }
  620.  
  621.  
  622.     public void f() {
  623.         new Handler().postDelayed(new Runnable() {
  624.             public void run() {
  625.                 if (DrawActivity.this.myDrawView.kidBitmap == null) {
  626.                     DrawActivity.this.mediaPlayer.playColorRandomSound();
  627.                 }
  628.             }
  629.         }, 1000);
  630.     }
  631.  
  632.     public void initializeMediaPlayer() {
  633.         this.mediaPlayer = new MyMediaPlayer(this);
  634.         this.mediaPlayer.playSelectArtRandomSound();
  635.         this.mediaPlayerSoundAndMusic = new com.own.kidscoloringbook.MediaPlayerSoundAndMusic();
  636.         this.mediaPlayerSoundAndMusic.instializeMusic(this, R.raw.welcomemain);
  637.     }
  638.  
  639.     public void insertBitmap() {
  640.         if (com.own.kidscoloringbook.MyConstant.selectedImageFromBitmap > -1 && com.own.kidscoloringbook.MyConstant.fromGridActivityColoringBook) {
  641.             com.own.kidscoloringbook.MyConstant.fromGridActivityColoringBook = false;
  642.             insertKidBitmap(com.own.kidscoloringbook.MyConstant.selectedImageFromBitmap);
  643.         }
  644.     }
  645.  
  646.     public void insertKidBitmap(int i) {
  647.         int i2;
  648.         int intValue = com.own.kidscoloringbook.MyConstant.selected_bitmapIds[i].intValue();
  649.         this.myDrawView.kidBitmap = BitmapFactory.decodeResource(getResources(), intValue);
  650.         double d = (double) com.own.kidscoloringbook.MyConstant.drawHeight;
  651.         double height = (double) this.myDrawView.kidBitmap.getHeight();
  652.         Double.isNaN(d);
  653.         Double.isNaN(height);
  654.         double d2 = d / height;
  655.         double d3 = (double) com.own.kidscoloringbook.MyConstant.drawWidth;
  656.         double width = (double) this.myDrawView.kidBitmap.getWidth();
  657.         Double.isNaN(d3);
  658.         Double.isNaN(width);
  659.         double d4 = d3 / width;
  660.         double width2 = (double) this.myDrawView.kidBitmap.getWidth();
  661.         Double.isNaN(width2);
  662.         newWidth = (int) (width2 * d4);
  663.         double height2 = (double) this.myDrawView.kidBitmap.getHeight();
  664.         Double.isNaN(height2);
  665.         newHeight = (int) (height2 * d2);
  666.         int i3 = newHeight;
  667.         if (i3 > 0 && (i2 = newWidth) > 0) {
  668.             com.own.kidscoloringbook.DrawingPicture drawingPicture = this.myDrawView;
  669.             drawingPicture.kidBitmap = Bitmap.createScaledBitmap(drawingPicture.kidBitmap, i2, i3, true);
  670.             this.myDrawView.setKidsImage();
  671.             if (com.own.kidscoloringbook.MyConstant.selectedTool == -1) {
  672.                 com.own.kidscoloringbook.MyConstant.selectedTool = 1;
  673.             }
  674.         }
  675.         com.own.kidscoloringbook.MyConstant.SELECTED_TOOL = 0;
  676.         menuSelectedClick(6);
  677.         com.own.kidscoloringbook.MyConstant.strokeWidth = 0;
  678.         com.own.kidscoloringbook.MyConstant.erase = false;
  679.     }
  680.  
  681.     public void onBackPressed() {
  682.         com.own.kidscoloringbook.MyConstant.isBackFromGlow = false;
  683.         savePageDialogOnBackPressed();
  684.     }
  685.  
  686.     public void onClick(View view) {
  687.         switch (view.getId()) {
  688.             case R.id.back:
  689.                 com.own.kidscoloringbook.MyConstant.isBackFromGlow = false;
  690.                 savePageDialogOnBackPressed();
  691.                 break;
  692.             case R.id.choose_colortype:
  693.                 enableColorDrawer(this.b);
  694.                 if (!this.isdraweropenedColor) {
  695.                     this.b.openDrawer(this.drawerViewColor);
  696.                     this.isdraweropenedColor = true;
  697.                     return;
  698.                 }
  699.                 this.b.closeDrawer(this.drawerViewColor);
  700.                 this.isdraweropenedColor = false;
  701.                 return;
  702.             case R.id.eraser:
  703.                 menuSelectedClick(3);
  704.                 com.own.kidscoloringbook.MyConstant.SELECTED_TOOL = 2;
  705.                 com.own.kidscoloringbook.MyConstant.strokeWidth = com.own.kidscoloringbook.MyConstant.eraseWidth;
  706.                 com.own.kidscoloringbook.MyConstant.erase = true;
  707.                 break;
  708.             case R.id.mPaint:
  709.                 menuSelectedClick(6);
  710.                 com.own.kidscoloringbook.MyConstant.SELECTED_TOOL = 0;
  711.                 com.own.kidscoloringbook.MyConstant.strokeWidth = 0;
  712.                 com.own.kidscoloringbook.MyConstant.erase = false;
  713.                 break;
  714.             case R.id.newPage:
  715.                 menuSelectedClick(5);
  716.                 createNewPageDialog(-1);
  717.                 setDefaultColor();
  718.                 break;
  719.             case R.id.pen:
  720.                 com.own.kidscoloringbook.MyConstant.SELECTED_TOOL = 1;
  721.                 com.own.kidscoloringbook.MyConstant.erase = false;
  722.                 menuSelectedClick(1);
  723.                 c(this.a);
  724.                 if (!this.isdraweropenedBrush) {
  725.                     this.a.openDrawer(this.drawerViewBrush);
  726.                     this.isdraweropenedBrush = true;
  727.                     return;
  728.                 }
  729.                 this.a.closeDrawer(this.drawerViewBrush);
  730.                 this.isdraweropenedBrush = false;
  731.                 return;
  732.             case R.id.save:
  733.                 menuSelectedClick(4);
  734.                 savePageDialog();
  735.                 break;
  736.             default:
  737.                 return;
  738.         }
  739.         closeAllDrawer();
  740.     }
  741.  
  742.  
  743.     public void onCreate(Bundle bundle) {
  744.         super.onCreate(bundle);
  745.     }
  746.  
  747.     public void onDestroy() {
  748.         super.onDestroy();
  749.         Bitmap bitmap = com.own.kidscoloringbook.DrawingPicture.canvasBitmap;
  750.         if (bitmap != null) {
  751.             bitmap.recycle();
  752.             com.own.kidscoloringbook.DrawingPicture.canvasBitmap = null;
  753.         }
  754.         Bitmap bitmap2 = this.myDrawView.kidBitmap;
  755.         if (bitmap2 != null) {
  756.             bitmap2.recycle();
  757.         }
  758.     }
  759.  
  760.     public void onPause() {
  761.         c();
  762.         super.onPause();
  763.         this.mediaPlayerSoundAndMusic.pauseMainMusic();
  764.         //Ad_class.loadAd(DrawActivity.this);
  765.     }
  766.  
  767.  
  768.     public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
  769.         if (i == 1) {
  770.             if (iArr.length <= 0 || iArr[0] != 0) {
  771.                 this.writePermission = false;
  772.                 if (!ActivityCompat.shouldShowRequestPermissionRationale(this, "android.permission.WRITE_EXTERNAL_STORAGE")) {
  773.                     Toast.makeText(getApplicationContext(), getResources().getString(R.string.save_alert), Toast.LENGTH_LONG).show();
  774.                     return;
  775.                 }
  776.                 return;
  777.             }
  778.             this.writePermission = true;
  779.             saveBitmap();
  780.         }
  781.     }
  782.  
  783.  
  784.     public void onResume() {
  785.         c();
  786.         b(this.b);
  787.         a(this.a);
  788.         this.mediaPlayerSoundAndMusic.startMainMusic();
  789.         super.onResume();
  790.     }
  791.  
  792.  
  793.     public void onStart() {
  794.         c();
  795.         super.onStart();
  796.     }
  797.  
  798.     public void onStop() {
  799.         super.onStop();
  800.         this.mediaPlayerSoundAndMusic.pauseMainMusic();
  801.     }
  802.  
  803.     public void onWindowFocusChanged(boolean z) {
  804.         super.onWindowFocusChanged(z);
  805.         if (z) {
  806.             c();
  807.         }
  808.     }
  809.  
  810.     public void requestPermissionWrite() {
  811.         if (Build.VERSION.SDK_INT < 23 || checkSelfPermission("android.permission.WRITE_EXTERNAL_STORAGE") == PackageManager.PERMISSION_GRANTED) {
  812.             Log.v(TAG, "Permission is granted");
  813.             this.writePermission = true;
  814.             return;
  815.         }
  816.         Log.v(TAG, "Permission is revoked");
  817.         ActivityCompat.requestPermissions(this, new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"}, 1);
  818.     }
  819.  
  820.     public void savePageDialog() {
  821.         AlertDialog.Builder builder = new AlertDialog.Builder(this);
  822.         builder.setTitle(R.string.store_picture_title).setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
  823.             public void onClick(DialogInterface dialogInterface, int i) {
  824.             }
  825.         }).setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
  826.             public void onClick(DialogInterface dialogInterface, int i) {
  827.  
  828.  
  829. //                Ad_class.showInterstitial(DrawActivity.this, new Ad_class.onLisoner() {
  830. //
  831. //                    public void click() {
  832. //                    }
  833. //                });
  834.                 DrawActivity.this.saveBitmap();
  835.  
  836.             }
  837.         });
  838.         builder.create().show();
  839.     }
  840.  
  841.     public void savePageDialogOnBackPressed() {
  842.         AlertDialog.Builder builder = new AlertDialog.Builder(this);
  843.         builder.setTitle(R.string.store_picture_title).setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
  844.             public void onClick(DialogInterface dialogInterface, int i) {
  845.                 DrawActivity.this.finishActivityNoSave();
  846.             }
  847.         }).setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
  848.             public void onClick(DialogInterface dialogInterface, int i) {
  849.  
  850.                 DrawActivity.this.saveBitmapOnBackPressed();
  851.  
  852.             }
  853.         });
  854.         builder.create().show();
  855.     }
  856.  
  857.     public List<com.own.kidscoloringbook.Data> setBottomColorsList() {
  858.         ArrayList arrayList = new ArrayList();
  859.         arrayList.clear();
  860.         arrayList.add(new com.own.kidscoloringbook.Data(1, R.drawable.c10_white, "Image 2", R.color.color25));
  861.         arrayList.add(new com.own.kidscoloringbook.Data(2, R.drawable.c9_grey2, "Image 1", R.color.color24));
  862.         arrayList.add(new com.own.kidscoloringbook.Data(3, R.drawable.c8_brown2, "Image 2", R.color.color23));
  863.         arrayList.add(new com.own.kidscoloringbook.Data(4, R.drawable.c8_brown1, "Image 1", R.color.color22));
  864.         arrayList.add(new com.own.kidscoloringbook.Data(5, R.drawable.c8_brown0, "Image 1", R.color.color220));
  865.         arrayList.add(new com.own.kidscoloringbook.Data(6, R.drawable.c7_pink3, "Image 3", R.color.color21));
  866.         arrayList.add(new com.own.kidscoloringbook.Data(7, R.drawable.c7_pink2, "Image 2", R.color.color20));
  867.         arrayList.add(new com.own.kidscoloringbook.Data(8, R.drawable.c7_pink1, "Image 1", R.color.color19));
  868.         arrayList.add(new com.own.kidscoloringbook.Data(9, R.drawable.c6_purple3, "Image 3", R.color.color18));
  869.         arrayList.add(new com.own.kidscoloringbook.Data(10, R.drawable.c6_purple2, "Image 2", R.color.color17));
  870.         arrayList.add(new com.own.kidscoloringbook.Data(11, R.drawable.c6_purple1, "Image 1", R.color.color16));
  871.         arrayList.add(new com.own.kidscoloringbook.Data(12, R.drawable.c5_blue4, "Image 3", R.color.color15));
  872.         arrayList.add(new com.own.kidscoloringbook.Data(13, R.drawable.c5_blue3, "Image 2", R.color.color14));
  873.         arrayList.add(new com.own.kidscoloringbook.Data(14, R.drawable.c5_blue2, "Image 1", R.color.color13));
  874.         arrayList.add(new com.own.kidscoloringbook.Data(15, R.drawable.c5_blue1, "Image 3", R.color.color12));
  875.         arrayList.add(new com.own.kidscoloringbook.Data(16, R.drawable.c5_blue0, "Image 3", R.color.color120));
  876.         arrayList.add(new com.own.kidscoloringbook.Data(17, R.drawable.c4_green4, "Image 2", R.color.color11));
  877.         arrayList.add(new com.own.kidscoloringbook.Data(18, R.drawable.c4_green3, "Image 1", R.color.color10));
  878.         arrayList.add(new com.own.kidscoloringbook.Data(19, R.drawable.c4_green2, "Image 3", R.color.color9));
  879.         arrayList.add(new com.own.kidscoloringbook.Data(20, R.drawable.c4_green1, "Image 2", R.color.color8));
  880.         arrayList.add(new com.own.kidscoloringbook.Data(21, R.drawable.c4_green0, "Image 2", R.color.color80));
  881.         arrayList.add(new com.own.kidscoloringbook.Data(22, R.drawable.c3_yellow2, "Image 1", R.color.color7));
  882.         arrayList.add(new com.own.kidscoloringbook.Data(23, R.drawable.c3_yellow1, "Image 3", R.color.color6));
  883.         arrayList.add(new com.own.kidscoloringbook.Data(24, R.drawable.c3_yellow0, "Image 3", R.color.color60));
  884.         arrayList.add(new com.own.kidscoloringbook.Data(25, R.drawable.c2_orange2, "Image 2", R.color.color5));
  885.         arrayList.add(new com.own.kidscoloringbook.Data(26, R.drawable.c2_orange1, "Image 1", R.color.color4));
  886.         arrayList.add(new com.own.kidscoloringbook.Data(27, R.drawable.c1_red3, "Image 3", R.color.color3));
  887.         arrayList.add(new com.own.kidscoloringbook.Data(28, R.drawable.c1_red2, "Image 2", R.color.color2));
  888.         arrayList.add(new com.own.kidscoloringbook.Data(29, R.drawable.c1_red1, "Image 2", R.color.color_new));
  889.         return arrayList;
  890.     }
  891.  
  892.     public List<com.own.kidscoloringbook.Data> setBottomGlitterList() {
  893.         ArrayList arrayList = new ArrayList();
  894.         arrayList.clear();
  895.         arrayList.add(new com.own.kidscoloringbook.Data(1, R.drawable.git_1, "g_1", R.color.color25));
  896.         arrayList.add(new com.own.kidscoloringbook.Data(2, R.drawable.git_2, "g_2", R.color.color24));
  897.         arrayList.add(new com.own.kidscoloringbook.Data(3, R.drawable.git_3, "g_3", R.color.color23));
  898.         arrayList.add(new com.own.kidscoloringbook.Data(4, R.drawable.git_4, "g_4", R.color.color22));
  899.         arrayList.add(new com.own.kidscoloringbook.Data(5, R.drawable.git_5, "g_5", R.color.color21));
  900.         arrayList.add(new com.own.kidscoloringbook.Data(6, R.drawable.git_6, "g_6", R.color.color20));
  901.         arrayList.add(new com.own.kidscoloringbook.Data(7, R.drawable.git_7, "g_7", R.color.color19));
  902.         arrayList.add(new com.own.kidscoloringbook.Data(8, R.drawable.git_8, "g_8", R.color.color18));
  903.         arrayList.add(new com.own.kidscoloringbook.Data(9, R.drawable.git_9, "g_9", R.color.color17));
  904.         arrayList.add(new com.own.kidscoloringbook.Data(10, R.drawable.git_10, "g_10", R.color.color16));
  905.         arrayList.add(new com.own.kidscoloringbook.Data(11, R.drawable.git_11, "g_11", R.color.color15));
  906.         arrayList.add(new com.own.kidscoloringbook.Data(12, R.drawable.git_12, "g_12", R.color.color14));
  907.         return arrayList;
  908.     }
  909.  
  910.     public List<com.own.kidscoloringbook.Data> setBottomPatternList() {
  911.         ArrayList arrayList = new ArrayList();
  912.         arrayList.clear();
  913.         arrayList.add(new com.own.kidscoloringbook.Data(1, R.drawable.pat_1, "patt_1", R.color.color25));
  914.         arrayList.add(new com.own.kidscoloringbook.Data(2, R.drawable.pat_2, "patt_2", R.color.color24));
  915.         arrayList.add(new com.own.kidscoloringbook.Data(3, R.drawable.pat_3, "patt_3", R.color.color23));
  916.         arrayList.add(new com.own.kidscoloringbook.Data(4, R.drawable.pat_4, "patt_4", R.color.color22));
  917.         arrayList.add(new com.own.kidscoloringbook.Data(5, R.drawable.pat_5, "patt_5", R.color.color21));
  918.         arrayList.add(new com.own.kidscoloringbook.Data(6, R.drawable.pat_6, "patt_6", R.color.color20));
  919.         arrayList.add(new com.own.kidscoloringbook.Data(7, R.drawable.pat_7, "patt_7", R.color.color19));
  920.         arrayList.add(new com.own.kidscoloringbook.Data(8, R.drawable.pat_8, "patt_8", R.color.color18));
  921.         arrayList.add(new com.own.kidscoloringbook.Data(9, R.drawable.pat_9, "patt_9", R.color.color17));
  922.         arrayList.add(new com.own.kidscoloringbook.Data(10, R.drawable.pat_10, "patt_10", R.color.color16));
  923.         arrayList.add(new com.own.kidscoloringbook.Data(11, R.drawable.pat_11, "patt_11", R.color.color15));
  924.         arrayList.add(new com.own.kidscoloringbook.Data(12, R.drawable.pat_12, "patt_12", R.color.color14));
  925.         arrayList.add(new com.own.kidscoloringbook.Data(13, R.drawable.pat_13, "patt_13", R.color.color13));
  926.         arrayList.add(new com.own.kidscoloringbook.Data(14, R.drawable.pat_14, "patt_14", R.color.color12));
  927.         arrayList.add(new com.own.kidscoloringbook.Data(15, R.drawable.pat_15, "patt_15", R.color.color11));
  928.         arrayList.add(new com.own.kidscoloringbook.Data(16, R.drawable.pat_16, "patt_16", R.color.color10));
  929.         arrayList.add(new com.own.kidscoloringbook.Data(17, R.drawable.pat_17, "patt_17", R.color.color9));
  930.         arrayList.add(new com.own.kidscoloringbook.Data(18, R.drawable.pat_18, "patt_18", R.color.color9));
  931.         return arrayList;
  932.     }
  933.  
  934.     public void setDefaultColor() {
  935.         com.own.kidscoloringbook.MyConstant.DRAW_COLOR = ContextCompat.getColor(this, R.color.color_new);
  936.         this.horizontal_recycler_view_frameview.setBackgroundColor(com.own.kidscoloringbook.MyConstant.DRAW_COLOR);
  937.         this.leftTop.setBackgroundColor(com.own.kidscoloringbook.MyConstant.DRAW_COLOR);
  938.         turnEraserToBrush();
  939.         this.row_index = 28;
  940.         this.horizontalAdapter.notifyDataSetChanged();
  941.     }
  942.  
  943.     public void turnEraserToBrush() {
  944.         menuSelectedClick(1);
  945.         com.own.kidscoloringbook.MyConstant.SELECTED_TOOL = 1;
  946.         com.own.kidscoloringbook.MyConstant.strokeWidth = com.own.kidscoloringbook.MyConstant.BRUSH_SIZE;
  947.         com.own.kidscoloringbook.MyConstant.erase = false;
  948.     }
  949. }
  950.  
Add Comment
Please, Sign In to add comment