From 9cf8eebe282075bb6f2a3a590963a04690356d30 Mon Sep 17 00:00:00 2001 From: Vishal Kalra Date: Thu, 2 Aug 2018 15:07:39 +0530 Subject: [PATCH 01/12] added lock image on encrypted pdfs --- .../createpdf/adapter/ViewFilesAdapter.java | 19 +++++++++++ .../main/res/drawable-xxxhdpi/lock_closed.png | Bin 0 -> 300 bytes app/src/main/res/layout/item_file.xml | 31 ++++++++++++++---- 3 files changed, 43 insertions(+), 7 deletions(-) create mode 100755 app/src/main/res/drawable-xxxhdpi/lock_closed.png diff --git a/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java b/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java index d47cb3b01..69e282b21 100644 --- a/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java +++ b/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java @@ -9,12 +9,15 @@ import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; +import android.widget.ImageView; import android.widget.TextView; import com.afollestad.materialdialogs.MaterialDialog; import com.balysv.materialripple.MaterialRippleLayout; +import com.itextpdf.text.pdf.PdfReader; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.Objects; @@ -90,11 +93,24 @@ public void onBindViewHolder(@NonNull ViewFilesHolder holder, final int pos) { final int position = holder.getAdapterPosition(); final File file = mFileList.get(position); + boolean isEncrypted = false; + try { + PdfReader document = new PdfReader(file.getPath()); + } catch (IOException e) { + isEncrypted=true; + } holder.mFilename.setText(file.getName()); holder.mFilesize.setText(FileUtils.getFormattedSize(file)); holder.mFiledate.setText(getFormattedDate(file)); holder.checkBox.setChecked(mSelectedFiles.contains(position)); + if (isEncrypted) { + holder.mEncryptionImage.setImageResource(R.drawable.lock_closed); + holder.mEncryptionImage.setVisibility(View.VISIBLE); + } else { + holder.mEncryptionImage.setVisibility(View.GONE); + } + holder.checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> { if (isChecked) { if (!mSelectedFiles.contains(position)) { @@ -343,6 +359,9 @@ public class ViewFilesHolder extends RecyclerView.ViewHolder { TextView mFiledate; @BindView(R.id.fileSize) TextView mFilesize; + @BindView(R.id.encryptionImage) + ImageView mEncryptionImage; + ViewFilesHolder(View itemView) { super(itemView); diff --git a/app/src/main/res/drawable-xxxhdpi/lock_closed.png b/app/src/main/res/drawable-xxxhdpi/lock_closed.png new file mode 100755 index 0000000000000000000000000000000000000000..98fbbe07a9f6ce48957574e6efdd55374b884c33 GIT binary patch literal 300 zcmV+{0n`48P)pn28r?w>``p-Q5;WM8y$9$9Z~#GPRz53ZyW9P} z&dtel`kRj5vZJP%7&=G*ca-l5%o8>|$0FKLrhBA;DmJ5Zs yo}T&o**_hcBxNRYT_=S)^0_iC6q#!KFTMcg{}~go+niMZ0000 - + android:orientation="horizontal"> + + + + + + Date: Thu, 2 Aug 2018 15:08:58 +0530 Subject: [PATCH 02/12] added lock image on encrypted pdfs --- .../java/swati4star/createpdf/adapter/ViewFilesAdapter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java b/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java index 69e282b21..eda5c32c6 100644 --- a/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java +++ b/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java @@ -95,7 +95,7 @@ public void onBindViewHolder(@NonNull ViewFilesHolder holder, final int pos) { boolean isEncrypted = false; try { - PdfReader document = new PdfReader(file.getPath()); + new PdfReader(file.getPath()); } catch (IOException e) { isEncrypted=true; } From 878887b4983a9c36aaf2edeea9b9ae12d9902825 Mon Sep 17 00:00:00 2001 From: Vishal Kalra Date: Thu, 2 Aug 2018 15:31:30 +0530 Subject: [PATCH 03/12] fixed checkstyle issues --- .../swati4star/createpdf/adapter/ViewFilesAdapter.java | 2 +- app/src/main/res/layout/item_file.xml | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java b/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java index eda5c32c6..d849d4523 100644 --- a/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java +++ b/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java @@ -97,7 +97,7 @@ public void onBindViewHolder(@NonNull ViewFilesHolder holder, final int pos) { try { new PdfReader(file.getPath()); } catch (IOException e) { - isEncrypted=true; + isEncrypted = true; } holder.mFilename.setText(file.getName()); holder.mFilesize.setText(FileUtils.getFormattedSize(file)); diff --git a/app/src/main/res/layout/item_file.xml b/app/src/main/res/layout/item_file.xml index 05cdd4678..40a197a9e 100644 --- a/app/src/main/res/layout/item_file.xml +++ b/app/src/main/res/layout/item_file.xml @@ -65,8 +65,8 @@ + android:visibility="gone" /> - - From 00f9acafd3782641bef8a14621d164f67620b167 Mon Sep 17 00:00:00 2001 From: Vishal Kalra Date: Thu, 2 Aug 2018 15:31:48 +0530 Subject: [PATCH 04/12] fixed checkstyle issues --- .../main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java b/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java index d849d4523..e55365894 100644 --- a/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java +++ b/app/src/main/java/swati4star/createpdf/adapter/ViewFilesAdapter.java @@ -362,7 +362,6 @@ public class ViewFilesHolder extends RecyclerView.ViewHolder { @BindView(R.id.encryptionImage) ImageView mEncryptionImage; - ViewFilesHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); From 64f7e99d445583763cf1737295ff02a7e5168560 Mon Sep 17 00:00:00 2001 From: Vishal Kalra Date: Thu, 2 Aug 2018 18:33:36 +0530 Subject: [PATCH 05/12] changes for default item selected --- .../swati4star/createpdf/activity/MainActivity.java | 10 +++++++++- .../swati4star/createpdf/fragment/HistoryFragment.java | 4 ++++ .../createpdf/fragment/ViewFilesFragment.java | 5 +++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java index 59b841799..ed16a5f41 100644 --- a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java +++ b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java @@ -43,6 +43,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { private FeedbackUtils mFeedbackUtils; + private NavigationView navigationView; @Override protected void onCreate(Bundle savedInstanceState) { @@ -81,8 +82,15 @@ protected void onCreate(Bundle savedInstanceState) { */ private void initializeValues() { mFeedbackUtils = new FeedbackUtils(this); - NavigationView navigationView = findViewById(R.id.nav_view); + navigationView = findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); + setDefaultMenuSelected(0); + } + + public void setDefaultMenuSelected(int position) { + if (navigationView != null && navigationView.getMenu() != null && navigationView.getMenu().getItem(position) != null) { + navigationView.getMenu().getItem(position).setChecked(true); + } } /** diff --git a/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java b/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java index f9f94e73a..a8a82a03a 100644 --- a/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java +++ b/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java @@ -30,6 +30,7 @@ import butterknife.ButterKnife; import butterknife.OnClick; import swati4star.createpdf.R; +import swati4star.createpdf.activity.MainActivity; import swati4star.createpdf.adapter.HistoryAdapter; import swati4star.createpdf.database.AppDatabase; import swati4star.createpdf.database.History; @@ -101,6 +102,9 @@ public void loadHome() { Fragment fragment = new ImageToPdfFragment(); FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); fragmentManager.beginTransaction().replace(R.id.content, fragment).commit(); + if (getActivity() instanceof MainActivity){ + ((MainActivity) getActivity()).setDefaultMenuSelected(0);; + } } @Override diff --git a/app/src/main/java/swati4star/createpdf/fragment/ViewFilesFragment.java b/app/src/main/java/swati4star/createpdf/fragment/ViewFilesFragment.java index d3af54a1c..83e874530 100644 --- a/app/src/main/java/swati4star/createpdf/fragment/ViewFilesFragment.java +++ b/app/src/main/java/swati4star/createpdf/fragment/ViewFilesFragment.java @@ -35,6 +35,7 @@ import butterknife.ButterKnife; import butterknife.OnClick; import swati4star.createpdf.R; +import swati4star.createpdf.activity.MainActivity; import swati4star.createpdf.adapter.ViewFilesAdapter; import swati4star.createpdf.interfaces.EmptyStateChangeListener; import swati4star.createpdf.util.DirectoryUtils; @@ -81,6 +82,10 @@ public void loadHome() { Fragment fragment = new ImageToPdfFragment(); FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); fragmentManager.beginTransaction().replace(R.id.content, fragment).commit(); + //Set default item selected + if (getActivity() instanceof MainActivity){ + ((MainActivity) getActivity()).setDefaultMenuSelected(0);; + } } @Override From 23dd1f8dfaca70d0cc305d5429be3f22da6ce879 Mon Sep 17 00:00:00 2001 From: Vishal Kalra Date: Thu, 2 Aug 2018 18:39:01 +0530 Subject: [PATCH 06/12] comments: --- .../java/swati4star/createpdf/activity/MainActivity.java | 5 ++++- .../java/swati4star/createpdf/fragment/HistoryFragment.java | 4 ++-- .../swati4star/createpdf/fragment/ViewFilesFragment.java | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java index ed16a5f41..c08178020 100644 --- a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java +++ b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java @@ -87,8 +87,11 @@ private void initializeValues() { setDefaultMenuSelected(0); } + /* + * This will set default menu item selected at the position mentioned + */ public void setDefaultMenuSelected(int position) { - if (navigationView != null && navigationView.getMenu() != null && navigationView.getMenu().getItem(position) != null) { + if (navigationView != null && navigationView.getMenu() != null && position < navigationView.getMenu().size() && navigationView.getMenu().getItem(position) != null) { navigationView.getMenu().getItem(position).setChecked(true); } } diff --git a/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java b/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java index a8a82a03a..6b3cdef5b 100644 --- a/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java +++ b/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java @@ -102,8 +102,8 @@ public void loadHome() { Fragment fragment = new ImageToPdfFragment(); FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); fragmentManager.beginTransaction().replace(R.id.content, fragment).commit(); - if (getActivity() instanceof MainActivity){ - ((MainActivity) getActivity()).setDefaultMenuSelected(0);; + if (getActivity() instanceof MainActivity) { + ((MainActivity) getActivity()).setDefaultMenuSelected(0); } } diff --git a/app/src/main/java/swati4star/createpdf/fragment/ViewFilesFragment.java b/app/src/main/java/swati4star/createpdf/fragment/ViewFilesFragment.java index 83e874530..27ea9f1ea 100644 --- a/app/src/main/java/swati4star/createpdf/fragment/ViewFilesFragment.java +++ b/app/src/main/java/swati4star/createpdf/fragment/ViewFilesFragment.java @@ -83,8 +83,8 @@ public void loadHome() { FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); fragmentManager.beginTransaction().replace(R.id.content, fragment).commit(); //Set default item selected - if (getActivity() instanceof MainActivity){ - ((MainActivity) getActivity()).setDefaultMenuSelected(0);; + if (getActivity() instanceof MainActivity) { + ((MainActivity) getActivity()).setDefaultMenuSelected(0); } } From 8c41811cea77e70f5e1f837ad6a9bad6c9679b4f Mon Sep 17 00:00:00 2001 From: Vishal Kalra Date: Thu, 2 Aug 2018 18:55:23 +0530 Subject: [PATCH 07/12] checkstyle changes --- .../swati4star/createpdf/activity/MainActivity.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java index c08178020..ba4165f37 100644 --- a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java +++ b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java @@ -43,7 +43,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { private FeedbackUtils mFeedbackUtils; - private NavigationView navigationView; + private NavigationView mNavigationView; @Override protected void onCreate(Bundle savedInstanceState) { @@ -82,8 +82,8 @@ protected void onCreate(Bundle savedInstanceState) { */ private void initializeValues() { mFeedbackUtils = new FeedbackUtils(this); - navigationView = findViewById(R.id.nav_view); - navigationView.setNavigationItemSelectedListener(this); + mNavigationView = findViewById(R.id.nav_view); + mNavigationView.setNavigationItemSelectedListener(this); setDefaultMenuSelected(0); } @@ -91,8 +91,10 @@ private void initializeValues() { * This will set default menu item selected at the position mentioned */ public void setDefaultMenuSelected(int position) { - if (navigationView != null && navigationView.getMenu() != null && position < navigationView.getMenu().size() && navigationView.getMenu().getItem(position) != null) { - navigationView.getMenu().getItem(position).setChecked(true); + if (mNavigationView != null && mNavigationView.getMenu() != null && + position < mNavigationView.getMenu().size() + && mNavigationView.getMenu().getItem(position) != null) { + mNavigationView.getMenu().getItem(position).setChecked(true); } } From b84166a27a1c0bf705bd00b7416e49c009c4380d Mon Sep 17 00:00:00 2001 From: Vishal Kalra Date: Fri, 3 Aug 2018 11:38:58 +0530 Subject: [PATCH 08/12] added checkstyle in gradle --- app/build.gradle | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 963f5839a..e23f290d5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -66,3 +66,7 @@ dependencies { implementation 'com.squareup.picasso:picasso:2.5.2' implementation 'com.eftimoff:android-viewpager-transformers:1.0.1@aar' } + +preBuild.dependsOn('checkstyle') +assemble.dependsOn('lint') +check.dependsOn('checkstyle') \ No newline at end of file From 9b8a18558d701f1853a5f250c11559ab76547f17 Mon Sep 17 00:00:00 2001 From: Vishal Kalra Date: Sat, 4 Aug 2018 16:47:17 +0530 Subject: [PATCH 09/12] changes for back button --- .../createpdf/activity/MainActivity.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java index ba4165f37..463d74713 100644 --- a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java +++ b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java @@ -3,6 +3,7 @@ import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.os.Handler; import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; import android.support.v4.app.Fragment; @@ -14,6 +15,7 @@ import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.MenuItem; +import android.widget.Toast; import java.util.ArrayList; @@ -44,6 +46,7 @@ public class MainActivity extends AppCompatActivity private FeedbackUtils mFeedbackUtils; private NavigationView mNavigationView; + private boolean mDoubleBackToExitPressedOnce = false; @Override protected void onCreate(Bundle savedInstanceState) { @@ -170,8 +173,38 @@ public void onBackPressed() { if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { + if (getCurrentFragment() instanceof ImageToPdfFragment) { + checkDoubleBackPress(); + } else { + Fragment fragment = new ImageToPdfFragment(); + getSupportFragmentManager().beginTransaction().replace(R.id.content, fragment).commit(); + setDefaultMenuSelected(0); + } + } + } + + private void checkDoubleBackPress() { + if (mDoubleBackToExitPressedOnce) { super.onBackPressed(); + return; } + + this.mDoubleBackToExitPressedOnce = true; + Toast.makeText(this, "Press back again to exit", Toast.LENGTH_SHORT).show(); + + new Handler().postDelayed(new Runnable() { + + @Override + public void run() { + mDoubleBackToExitPressedOnce = false; + } + }, 1000); + } + + Fragment getCurrentFragment() { + Fragment currentFragment = getSupportFragmentManager() + .findFragmentById(R.id.content); + return currentFragment; } @Override From d3370bd069a07d393bbfe2f013a9b548af25d05e Mon Sep 17 00:00:00 2001 From: Vishal Kalra Date: Sat, 4 Aug 2018 16:49:26 +0530 Subject: [PATCH 10/12] changes for back button --- .../main/java/swati4star/createpdf/activity/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java index 463d74713..f819219fd 100644 --- a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java +++ b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java @@ -198,7 +198,7 @@ private void checkDoubleBackPress() { public void run() { mDoubleBackToExitPressedOnce = false; } - }, 1000); + }, 1500); } Fragment getCurrentFragment() { From 0728e40f6e5f3e371bbf48069c5995be458a015e Mon Sep 17 00:00:00 2001 From: Vishal Kalra Date: Sat, 4 Aug 2018 17:52:08 +0530 Subject: [PATCH 11/12] changes for strings --- .../main/java/swati4star/createpdf/activity/MainActivity.java | 2 +- app/src/main/res/values-es/strings.xml | 2 ++ app/src/main/res/values-fr/strings.xml | 2 ++ app/src/main/res/values-ja/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 3 +++ 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java index f819219fd..3f53251ab 100644 --- a/app/src/main/java/swati4star/createpdf/activity/MainActivity.java +++ b/app/src/main/java/swati4star/createpdf/activity/MainActivity.java @@ -190,7 +190,7 @@ private void checkDoubleBackPress() { } this.mDoubleBackToExitPressedOnce = true; - Toast.makeText(this, "Press back again to exit", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, R.string.confirm_exit_message, Toast.LENGTH_SHORT).show(); new Handler().postDelayed(new Runnable() { diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 675f6b063..e482f9aa6 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -246,4 +246,6 @@ Image Rearranging Options %s_%s.jpg Reset + + Presione de nuevo para salir \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 68ffc9d79..bb0013ac1 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -247,4 +247,6 @@ Image Rearranging Options %s_%s.jpg Reset + + もう一度戻ると終了します。 \ No newline at end of file diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 53a9d4f63..68ab2fa23 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -245,4 +245,6 @@ Image Rearranging Options %s_%s.jpg Reset + + Press back again to exit diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7c7a64e15..a73ba4ca3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -304,4 +304,7 @@ Image Rearranging Options %s_%s.jpg Reset + + Press back again to exit + From 2f726193d3230105ff1b6305225c06c067e2452d Mon Sep 17 00:00:00 2001 From: Vishal Kalra Date: Sat, 4 Aug 2018 17:57:54 +0530 Subject: [PATCH 12/12] exit message for french --- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 4145376c2..4ede4d7dd 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -248,7 +248,7 @@ %s_%s.jpg Reset - もう一度戻ると終了します。 + Appuyez à nouveau pour quitter Add Image Border Enable Doodle Effect Disable Doodle Effect diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 3b2b6c543..071ab402b 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -246,7 +246,7 @@ %s_%s.jpg Reset - Press back again to exit + もう一度戻ると終了します。 Add Image Border Enable Doodle Effect Disable Doodle Effect