Browse Source

PDFTools(Android) - 1.整理代码

liuxiaolong 1 year ago
parent
commit
a8a0e3e74e
100 changed files with 328 additions and 469 deletions
  1. 3 3
      .gitignore
  2. 2 2
      annotation-ctrl-demo/src/main/java/com/compdfkit/demo/annotation/MainActivity.java
  3. 1 1
      annotation-ctrl-demo/src/main/res/values-night/themes.xml
  4. 1 1
      annotation-ctrl-demo/src/main/res/values/themes.xml
  5. 0 0
      compdfkit-demo/.gitignore
  6. 0 0
      compdfkit-demo/build.gradle
  7. 0 0
      compdfkit-demo/proguard-rules.pro
  8. 0 0
      compdfkit-demo/src/main/AndroidManifest.xml
  9. 2 2
      compdfkit/src/main/java/com/compdfkit/demo/MainActivity.java
  10. 0 0
      compdfkit-demo/src/main/res/drawable-v24/ic_launcher_foreground.xml
  11. 0 0
      compdfkit-demo/src/main/res/drawable/ic_launcher_background.xml
  12. 0 0
      compdfkit-demo/src/main/res/layout/activity_main.xml
  13. 0 0
      compdfkit-demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
  14. 0 0
      compdfkit-demo/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
  15. 0 0
      compdfkit-demo/src/main/res/mipmap-anydpi-v33/ic_launcher.xml
  16. 0 0
      compdfkit-demo/src/main/res/mipmap-hdpi/ic_launcher.webp
  17. 0 0
      compdfkit-demo/src/main/res/mipmap-hdpi/ic_launcher_round.webp
  18. 0 0
      compdfkit-demo/src/main/res/mipmap-mdpi/ic_launcher.webp
  19. 0 0
      compdfkit-demo/src/main/res/mipmap-mdpi/ic_launcher_round.webp
  20. 0 0
      compdfkit-demo/src/main/res/mipmap-xhdpi/ic_launcher.webp
  21. 0 0
      compdfkit-demo/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
  22. 0 0
      compdfkit-demo/src/main/res/mipmap-xxhdpi/ic_launcher.webp
  23. 0 0
      compdfkit-demo/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
  24. 0 0
      compdfkit-demo/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
  25. 0 0
      compdfkit-demo/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
  26. 1 1
      compdfkit/src/main/res/values-night/themes.xml
  27. 0 0
      compdfkit-demo/src/main/res/values/colors.xml
  28. 0 0
      compdfkit-demo/src/main/res/values/strings.xml
  29. 1 1
      compdfkit/src/main/res/values/themes.xml
  30. 0 0
      compdfkit-demo/src/main/res/xml/backup_rules.xml
  31. 0 0
      compdfkit-demo/src/main/res/xml/data_extraction_rules.xml
  32. 0 0
      compdfkit-repo/compdfkit-ui/ComPDFKit-UI.aar
  33. 0 0
      compdfkit-repo/compdfkit-ui/build.gradle
  34. 0 0
      compdfkit-repo/compdfkit/ComPDFKit.aar
  35. 0 0
      compdfkit-repo/compdfkit/build.gradle
  36. 2 2
      compdfkit-tools/build.gradle
  37. 1 1
      compdfkit-tools/src/main/AndroidManifest.xml
  38. 5 6
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/CFileUtilsExtension.java
  39. 15 48
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/dialog/CCommonInputDialog.java
  40. 1 5
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/dialog/DialogFragmentUtil.java
  41. 2 6
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/dialog/CGotoPageDialog.java
  42. 3 4
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/CPDFFether.java
  43. 0 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/CPDFGlideModule.java
  44. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/CPDFModelLoader.java
  45. 10 12
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/CPDFWrapper.java
  46. 0 7
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/wrapper/impl/CPDFCoverWrapper.java
  47. 0 4
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/wrapper/impl/CPDFDocumentPageWrapper.java
  48. 15 34
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/task/CExtractAssetFileTask.java
  49. 6 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/threadpools/CThreadPoolUtils.java
  50. 9 12
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/view/CNestedScrollableHost.java
  51. 1 3
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/viewutils/DimensUtils.java
  52. 0 6
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/viewutils/CViewUtils.java
  53. 13 18
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/CPDFToolBar.java
  54. 13 21
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/CToolBar.java
  55. 1 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfbota/CPDFBOTA.java
  56. 4 5
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfbota/CPDFBotaDialogFragment.java
  57. 1 3
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfbota/adapter/CBotaViewPagerAdapter.java
  58. 4 4
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfview/CPDFPageIndicatorView.java
  59. 1 7
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfview/CPDFSliderBarView.java
  60. 6 13
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfview/CPDFViewCtrl.java
  61. 2 3
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfbookmark/CPDFBookmarkFragment.java
  62. 4 15
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfbookmark/adapter/CPDFBookmarkListAdapter.java
  63. 3 5
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfbookmark/dialog/CEditBookmarkDialog.java
  64. 23 19
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfdisplaysettings/CPDFDisplaySettingDialogFragment.java
  65. 21 17
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfinfo/CPDFDocumentInfoDialogFragment.java
  66. 2 4
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfoutline/CPDFOutlineFragment.java
  67. 3 7
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfoutline/adapter/COutlineListAdapter.java
  68. 8 9
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfoutline/bean/COutlineData.java
  69. 1 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfoutline/data/COutlineDatas.java
  70. 7 4
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfsearch/CSearchResultBottomSheetDialogFragment.java
  71. 30 35
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfsearch/CSearchToolbar.java
  72. 4 4
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfsearch/adapter/CSearchPDFTextRecyclerviewAdapter.java
  73. 5 0
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfsearch/bean/CSearchTextInfo.java
  74. 1 4
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfsearch/data/CPDFSearchKeywordsDatas.java
  75. 2 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfthumbnail/CPDFThumbnailFragment.java
  76. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfthumbnail/adpater/CPDFThumbnailListAdapter.java
  77. 0 0
      compdfkit-tools/src/main/res/drawable-ldrtl/tools_ic_left_arrow.xml
  78. 0 0
      compdfkit-tools/src/main/res/drawable-ldrtl/tools_ic_right_arrow.xml
  79. 0 10
      compdfkit-tools/src/main/res/drawable/tools_bg_thumbnail_item_page_index_selector.xml
  80. 0 6
      compdfkit-tools/src/main/res/drawable/tools_button_click.xml
  81. 0 7
      compdfkit-tools/src/main/res/drawable/tools_button_normal.xml
  82. 0 7
      compdfkit-tools/src/main/res/drawable/tools_button_pressed.xml
  83. 0 0
      compdfkit-tools/src/main/res/drawable/tools_ic_check_normal.xml
  84. 1 1
      compdfkit-tools/src/main/res/drawable/tools_ic_check_select.xml
  85. 0 0
      compdfkit-tools/src/main/res/drawable/tools_ic_left_arrow.xml
  86. 0 0
      compdfkit-tools/src/main/res/drawable/tools_ic_right_arrow.xml
  87. 2 3
      compdfkit-tools/src/main/res/drawable/tools_pdf_reader_page_mode_radio_button.xml
  88. 0 0
      compdfkit-tools/src/main/res/drawable/tools_reader_settings_radio_button_ripple.xml
  89. 3 2
      compdfkit-tools/src/main/res/drawable/tools_search_edit_bg.xml
  90. 5 0
      compdfkit-tools/src/main/res/drawable/tools_thumbnail_item_page_tv_bg.xml
  91. 0 0
      compdfkit-tools/src/main/res/drawable/tools_thumbnail_item_page_tv_bg_normal.xml
  92. 5 0
      compdfkit-tools/src/main/res/drawable/tools_thumbnail_item_page_tv_bg_select.xml
  93. 0 0
      compdfkit-tools/src/main/res/layout/tools_bookmark_input_dialog.xml
  94. 1 1
      compdfkit-tools/src/main/res/layout/tools_cpdf_bookmark_fragment.xml
  95. 1 0
      compdfkit-tools/src/main/res/layout/tools_cpdf_bookmark_list_item.xml
  96. 0 0
      compdfkit-tools/src/main/res/layout/tools_bota_dialog_fragment.xml
  97. 70 0
      compdfkit-tools/src/main/res/layout/tools_common_input_dialog.xml
  98. 0 63
      compdfkit-tools/src/main/res/layout/tools_common_input_dialog_layout.xml
  99. 0 0
      compdfkit-tools/src/main/res/layout/tools_display_settings_dialog_fragment.xml
  100. 0 0
      compdfkit-tools/src/main/res/layout/tools_more_settings_list_item.xml

+ 3 - 3
.gitignore

@@ -14,6 +14,6 @@
 .cxx
 local.properties
 /.idea/
-/compdfkit_repo/build/
-/compdfkit_repo/compdfkit/build/
-/compdfkit_repo/compdfkit-ui/build/
+/compdfkit-repo/build/
+/compdfkit-repo/compdfkit/build/
+/compdfkit-repo/compdfkit-ui/build/

+ 2 - 2
annotation-ctrl-demo/src/main/java/com/compdfkit/demo/annotation/MainActivity.java

@@ -1,9 +1,9 @@
 package com.compdfkit.demo.annotation;
 
-import androidx.appcompat.app.AppCompatActivity;
-
 import android.os.Bundle;
 
+import androidx.appcompat.app.AppCompatActivity;
+
 public class MainActivity extends AppCompatActivity {
 
     @Override

+ 1 - 1
annotation-ctrl-demo/src/main/res/values-night/themes.xml

@@ -1,4 +1,4 @@
-<resources xmlns:tools="http://schemas.android.com/tools">
+<resources>
     <!-- Base application theme. -->
     <style name="Theme.Compdfkit_android_demo" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
         <!-- Primary brand color. -->

+ 1 - 1
annotation-ctrl-demo/src/main/res/values/themes.xml

@@ -1,4 +1,4 @@
-<resources xmlns:tools="http://schemas.android.com/tools">
+<resources>
     <!-- Base application theme. -->
     <style name="Theme.Compdfkit_android_demo" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
         <!-- Primary brand color. -->

compdfkit/.gitignore → compdfkit-demo/.gitignore


compdfkit/build.gradle → compdfkit-demo/build.gradle


compdfkit/proguard-rules.pro → compdfkit-demo/proguard-rules.pro


compdfkit/src/main/AndroidManifest.xml → compdfkit-demo/src/main/AndroidManifest.xml


+ 2 - 2
compdfkit/src/main/java/com/compdfkit/demo/MainActivity.java

@@ -1,9 +1,9 @@
 package com.compdfkit.demo;
 
-import androidx.appcompat.app.AppCompatActivity;
-
 import android.os.Bundle;
 
+import androidx.appcompat.app.AppCompatActivity;
+
 public class MainActivity extends AppCompatActivity {
 
     @Override

compdfkit/src/main/res/drawable-v24/ic_launcher_foreground.xml → compdfkit-demo/src/main/res/drawable-v24/ic_launcher_foreground.xml


compdfkit/src/main/res/drawable/ic_launcher_background.xml → compdfkit-demo/src/main/res/drawable/ic_launcher_background.xml


compdfkit/src/main/res/layout/activity_main.xml → compdfkit-demo/src/main/res/layout/activity_main.xml


compdfkit/src/main/res/mipmap-anydpi-v26/ic_launcher.xml → compdfkit-demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml


compdfkit/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml → compdfkit-demo/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml


compdfkit/src/main/res/mipmap-anydpi-v33/ic_launcher.xml → compdfkit-demo/src/main/res/mipmap-anydpi-v33/ic_launcher.xml


compdfkit/src/main/res/mipmap-hdpi/ic_launcher.webp → compdfkit-demo/src/main/res/mipmap-hdpi/ic_launcher.webp


compdfkit/src/main/res/mipmap-hdpi/ic_launcher_round.webp → compdfkit-demo/src/main/res/mipmap-hdpi/ic_launcher_round.webp


compdfkit/src/main/res/mipmap-mdpi/ic_launcher.webp → compdfkit-demo/src/main/res/mipmap-mdpi/ic_launcher.webp


compdfkit/src/main/res/mipmap-mdpi/ic_launcher_round.webp → compdfkit-demo/src/main/res/mipmap-mdpi/ic_launcher_round.webp


compdfkit/src/main/res/mipmap-xhdpi/ic_launcher.webp → compdfkit-demo/src/main/res/mipmap-xhdpi/ic_launcher.webp


compdfkit/src/main/res/mipmap-xhdpi/ic_launcher_round.webp → compdfkit-demo/src/main/res/mipmap-xhdpi/ic_launcher_round.webp


compdfkit/src/main/res/mipmap-xxhdpi/ic_launcher.webp → compdfkit-demo/src/main/res/mipmap-xxhdpi/ic_launcher.webp


compdfkit/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp → compdfkit-demo/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp


compdfkit/src/main/res/mipmap-xxxhdpi/ic_launcher.webp → compdfkit-demo/src/main/res/mipmap-xxxhdpi/ic_launcher.webp


compdfkit/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp → compdfkit-demo/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp


+ 1 - 1
compdfkit/src/main/res/values-night/themes.xml

@@ -1,4 +1,4 @@
-<resources xmlns:tools="http://schemas.android.com/tools">
+<resources>
     <!-- Base application theme. -->
     <style name="Theme.Compdfkit_android_demo" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
         <!-- Primary brand color. -->

compdfkit/src/main/res/values/colors.xml → compdfkit-demo/src/main/res/values/colors.xml


compdfkit/src/main/res/values/strings.xml → compdfkit-demo/src/main/res/values/strings.xml


+ 1 - 1
compdfkit/src/main/res/values/themes.xml

@@ -1,4 +1,4 @@
-<resources xmlns:tools="http://schemas.android.com/tools">
+<resources>
     <!-- Base application theme. -->
     <style name="Theme.Compdfkit_android_demo" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
         <!-- Primary brand color. -->

compdfkit/src/main/res/xml/backup_rules.xml → compdfkit-demo/src/main/res/xml/backup_rules.xml


compdfkit/src/main/res/xml/data_extraction_rules.xml → compdfkit-demo/src/main/res/xml/data_extraction_rules.xml


compdfkit_repo/compdfkit-ui/ComPDFKit-UI.aar → compdfkit-repo/compdfkit-ui/ComPDFKit-UI.aar


compdfkit_repo/compdfkit-ui/build.gradle → compdfkit-repo/compdfkit-ui/build.gradle


compdfkit_repo/compdfkit/ComPDFKit.aar → compdfkit-repo/compdfkit/ComPDFKit.aar


compdfkit_repo/compdfkit/build.gradle → compdfkit-repo/compdfkit/build.gradle


+ 2 - 2
compdfkit-tools/build.gradle

@@ -41,8 +41,8 @@ android {
 
 dependencies {
     api fileTree(include: ['*.jar'], dir: 'libs')
-    api project(path:':compdfkit_repo:compdfkit')
-    api project(path:':compdfkit_repo:compdfkit-ui')
+    api project(path:':compdfkit-repo:compdfkit')
+    api project(path:':compdfkit-repo:compdfkit-ui')
 
     api 'com.github.bumptech.glide:glide:4.15.1'
     annotationProcessor 'com.github.bumptech.glide:compiler:4.15.1'

+ 1 - 1
compdfkit-tools/src/main/AndroidManifest.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.compdfkit.tools">
+<manifest package="com.compdfkit.tools">
 
 
 </manifest>

+ 5 - 6
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/CFileUtilsExtension.java

@@ -9,11 +9,11 @@ import java.io.IOException;
 import java.io.InputStream;
 
 public class CFileUtilsExtension {
-
-
-
-    public static void copyFileFromAssets(Context context, String assetName, String savePath, String saveName, final boolean overwriteExisting
-    ) {
+    public static void copyFileFromAssets(Context context,
+                                          String assetName,
+                                          String savePath,
+                                          String saveName,
+                                          final boolean overwriteExisting) {
         //if save path folder not exists, create directory
         File dir = new File(savePath);
         if (!dir.exists()) {
@@ -30,7 +30,6 @@ public class CFileUtilsExtension {
             try {
                 InputStream inStream = context.getAssets().open(assetName);
                 FileOutputStream fileOutputStream = new FileOutputStream(filename);
-
                 int byteread;
                 byte[] buffer = new byte[1024];
                 while ((byteread = inStream.read(buffer)) != -1) {

+ 15 - 48
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/dialog/CCommonInputDialog.java

@@ -11,10 +11,7 @@ package com.compdfkit.tools.common.utils.dialog;
 
 import android.content.Context;
 import android.text.TextUtils;
-import android.view.Display;
 import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.TextView;
@@ -27,19 +24,21 @@ import com.compdfkit.tools.R;
 class CCommonInputDialog extends AppCompatDialog {
 
     private String title;
-    private String hintMessageText;
-    private String cancelText;
-    private String confirmText;
+
     private OnCancelClickListener cancelClickListener;
+
     private OnInputCompleteListener onInputCompleteListener;
 
     private TextView tvTitle;
 
     private TextView tvMessage;
+
     private String messageStrTv;
 
     private EditText etMessage;
+
     private Button btnCancel;
+
     private Button btnConfirm;
 
     public CCommonInputDialog(Context context) {
@@ -58,13 +57,9 @@ class CCommonInputDialog extends AppCompatDialog {
     }
 
     private void initView(Context context) {
-
-        View rootView = View.inflate(context, R.layout.tools_common_input_dialog_layout, null);
-
+        View rootView = View.inflate(context, R.layout.tools_common_input_dialog, null);
         tvTitle = rootView.findViewById(R.id.common_input_dialog_title);
-
         tvMessage = rootView.findViewById(R.id.common_input_dialog_message);
-
         etMessage = rootView.findViewById(R.id.common_input_dialog_et);
         btnCancel = rootView.findViewById(R.id.common_input_dialog_cancel);
         btnConfirm = rootView.findViewById(R.id.common_input_dialog_ok);
@@ -73,41 +68,18 @@ class CCommonInputDialog extends AppCompatDialog {
                 cancelClickListener.click();
             }
         });
-
         btnConfirm.setOnClickListener(v -> {
             if (onInputCompleteListener != null) {
                 onInputCompleteListener.getInputText(etMessage.getText().toString());
             }
         });
-
         setContentView(rootView);
-
-        Window window = getWindow();
-        WindowManager m = window.getWindowManager();
-        Display display = m.getDefaultDisplay();
-        WindowManager.LayoutParams p = window.getAttributes();
-        p.width = (int) (display.getWidth() * 0.85);
-        window.setAttributes(p);
     }
 
     private void initVisibility() {
-        if (TextUtils.isEmpty(title)) {
-            tvTitle.setVisibility(View.GONE);
-        } else {
-            tvTitle.setVisibility(View.VISIBLE);
-        }
-
-        if (TextUtils.isEmpty(messageStrTv)) {
-            tvMessage.setVisibility(View.GONE);
-        } else {
-            tvMessage.setVisibility(View.VISIBLE);
-        }
-
-        if (cancelClickListener != null) {
-            btnCancel.setVisibility(View.VISIBLE);
-        } else {
-            btnCancel.setVisibility(View.GONE);
-        }
+        tvTitle.setVisibility(TextUtils.isEmpty(title) ? View.GONE : View.VISIBLE);
+        tvMessage.setVisibility(TextUtils.isEmpty(messageStrTv) ? View.GONE : View.VISIBLE);
+        btnCancel.setVisibility(cancelClickListener == null ? View.GONE : View.VISIBLE);
     }
 
     public void setInputType(int type) {
@@ -120,28 +92,23 @@ class CCommonInputDialog extends AppCompatDialog {
         return this;
     }
 
-    public CCommonInputDialog setMessage(String message) {
+    public void setMessage(String message) {
         this.messageStrTv = message;
         tvMessage.setText(message);
-        return this;
     }
 
-    public CCommonInputDialog setHintInputText(String hintMessageText) {
-        this.hintMessageText = hintMessageText;
+    public void setHintInputText(String hintMessageText) {
         etMessage.setHint(hintMessageText);
-        return this;
     }
 
-    public CCommonInputDialog setCancelCallback(String cancelText, OnCancelClickListener cancelClickListener) {
-        this.cancelText = cancelText;
+    public void setCancelCallback(String cancelText, OnCancelClickListener cancelClickListener) {
+        btnCancel.setText(cancelText);
         this.cancelClickListener = cancelClickListener;
-        return this;
     }
 
-    public CCommonInputDialog setConfirmCallback(String confirmText, OnInputCompleteListener onInputCompleteListener) {
-        this.confirmText = confirmText;
+    public void setConfirmCallback(String confirmText, OnInputCompleteListener onInputCompleteListener) {
+        btnConfirm.setText(confirmText);
         this.onInputCompleteListener = onInputCompleteListener;
-        return this;
     }
 
     @Override

+ 1 - 5
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/dialog/DialogFragmentUtil.java

@@ -19,10 +19,7 @@ import androidx.annotation.Nullable;
 
 import com.google.android.material.bottomsheet.BottomSheetBehavior;
 
-
-public class DialogFragmentUtil {
-
-
+public class CDialogFragmentUtil {
     public static void setBottomSheetDialogFragmentFullScreen(@Nullable Dialog dialog, BottomSheetBehavior<View> behavior) {
         behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
         behavior.setSkipCollapsed(true);
@@ -35,5 +32,4 @@ public class DialogFragmentUtil {
         layoutParams.height = WindowManager.LayoutParams.MATCH_PARENT;
         bottomSheet.setLayoutParams(layoutParams);
     }
-
 }

+ 2 - 6
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/dialog/CGotoPageDialog.java

@@ -16,7 +16,6 @@ import android.text.TextUtils;
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.interfaces.OnSetPDFDisplayPageIndexListener;
 public class CGotoPageDialog extends CCommonInputDialog {
-
     private OnSetPDFDisplayPageIndexListener onSetPDFDisplayPageIndexListener;
 
     public CGotoPageDialog(Context context) {
@@ -38,7 +37,6 @@ public class CGotoPageDialog extends CCommonInputDialog {
         this.onSetPDFDisplayPageIndexListener = onSetPDFDisplayPageIndexListener;
     }
 
-
     private void initDialogView() {
         setTitle(R.string.tools_goto_page_dialog_title);
         setMessage(getContext().getResources().getText(R.string.tools_goto_page_dialog_msg).toString());
@@ -52,13 +50,11 @@ public class CGotoPageDialog extends CCommonInputDialog {
                        onSetPDFDisplayPageIndexListener.displayPage(page);
                    }
                } catch (NumberFormatException e) {
-
+                    e.printStackTrace();
                }
-
             }
             dismiss();
         });
-        setCancelCallback(getContext().getResources().getText(R.string.tools_common_cancel).toString(), ()-> dismiss());
+        setCancelCallback(getContext().getResources().getText(R.string.tools_common_cancel).toString(), this::dismiss);
     }
-
 }

+ 3 - 4
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/CPDFFether.java

@@ -26,17 +26,18 @@ import com.compdfkit.tools.common.utils.glide.wrapper.impl.CPDFDocumentPageWrapp
 class CPDFFether implements DataFetcher<Bitmap> {
     private static final int MAXIMUM_REDIRECTS = 1;
 
-    private final static String TAG = "CPDFFether";
     private CPDFDocumentPageWrapper cpdfWrapper;
+
     private volatile boolean isCancelled;
+
     private CPDFDocument tpdfDocument;
+
     private Context context;
 
     private int loadImageWidth;
 
     private int loadImageHeight;
 
-
     public CPDFFether(CPDFDocumentPageWrapper cpdfWrapper, int width, int height) {
         this.cpdfWrapper = cpdfWrapper;
         tpdfDocument = cpdfWrapper.getDocument();
@@ -62,7 +63,6 @@ class CPDFFether implements DataFetcher<Bitmap> {
         if (redirects >= MAXIMUM_REDIRECTS) {
             throw new Exception("Too many (> " + MAXIMUM_REDIRECTS + ") redirects!");
         }
-
         if (tpdfDocument == null) {
             throw new Exception("CPDFDocument is null!");
         }
@@ -73,7 +73,6 @@ class CPDFFether implements DataFetcher<Bitmap> {
         if (height == Target.SIZE_ORIGINAL){
             height = (int) sizeRect.height();
         }
-
         Bitmap bitmap = Glide.get(context).getBitmapPool().get(width, height, Bitmap.Config.ARGB_4444);
         boolean res = tpdfDocument.renderPageAtIndex(bitmap,
                 pageIndex,

+ 0 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/CPDFGlideModule.java

@@ -12,7 +12,6 @@ import com.bumptech.glide.module.AppGlideModule;
 
 @GlideModule
 public class CPDFGlideModule extends AppGlideModule {
-
     @Override
     public boolean isManifestParsingEnabled() {
         return false;
@@ -22,5 +21,4 @@ public class CPDFGlideModule extends AppGlideModule {
     public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
         registry.append(CPDFWrapper.class, Bitmap.class, new CPDFModelLoader.Factory(context));
     }
-
 }

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/CPDFModelLoader.java

@@ -33,7 +33,6 @@ class CPDFModelLoader implements ModelLoader<CPDFWrapper, Bitmap> {
         } else {
             pageWrapper = (CPDFDocumentPageWrapper) wrapper.wrapper;
         }
-
         DataFetcher<Bitmap> dataFetcher = new CPDFFether(pageWrapper, width, height);
         return new LoadData<>(wrapper, dataFetcher);
     }

+ 10 - 12
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/CPDFWrapper.java

@@ -1,6 +1,6 @@
 /**
  * Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
- *
+ * <p>
  * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
  * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
  * UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
@@ -28,44 +28,42 @@ public class CPDFWrapper implements Key {
 
     public CIPDFWrapper wrapper;
 
-
     private final Headers headers = Headers.DEFAULT;
+
     private int hashCode;
+
     @Nullable
     private volatile byte[] cacheKeyBytes;
 
     private int width;
-    private int height;
 
+    private int height;
 
-    private CPDFWrapper(CIPDFWrapper cipdfWrapper){
+    private CPDFWrapper(CIPDFWrapper cipdfWrapper) {
         this.wrapper = cipdfWrapper;
     }
 
-
-    public static CPDFWrapper fromFile(String pdfFilePath){
+    public static CPDFWrapper fromFile(String pdfFilePath) {
         return new CPDFWrapper(new CPDFCoverWrapper(pdfFilePath));
     }
 
-    public static CPDFWrapper fromUri(Uri pdfFileUri){
+    public static CPDFWrapper fromUri(Uri pdfFileUri) {
         return new CPDFWrapper(new CPDFCoverWrapper(pdfFileUri));
     }
 
-    public static CPDFWrapper fromDocument(CPDFDocument cPdfDocument, int pageIndex){
+    public static CPDFWrapper fromDocument(CPDFDocument cPdfDocument, int pageIndex) {
         return new CPDFWrapper(new CPDFDocumentPageWrapper(cPdfDocument, pageIndex));
     }
 
-    public void setSize(int width, int height){
+    public void setSize(int width, int height) {
         this.width = width;
         this.height = height;
     }
 
-
     public String getCacheKey() {
-        return wrapper.cacheKey() + "_" + width +"_" + height;
+        return wrapper.cacheKey() + "_" + width + "_" + height;
     }
 
-
     @Override
     public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) {
         messageDigest.update(getCacheKeyBytes());

+ 0 - 7
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/wrapper/impl/CPDFCoverWrapper.java

@@ -20,12 +20,10 @@ import com.compdfkit.core.document.CPDFDocument;
 import com.compdfkit.tools.common.utils.glide.wrapper.CIPDFWrapper;
 
 public class CPDFCoverWrapper implements CIPDFWrapper {
-
     private String pdfFilePath;
 
     private Uri pdfFileUri;
 
-
     public CPDFCoverWrapper(String pdfFilePath){
         this.pdfFilePath = pdfFilePath;
     }
@@ -34,9 +32,7 @@ public class CPDFCoverWrapper implements CIPDFWrapper {
         this.pdfFileUri = pdfFileUri;
     }
 
-
     public @Nullable CPDFDocument getCoverPdfDocument(Context context){
-
         CPDFDocument cpdfDocument = new CPDFDocument(context);
         CPDFDocument.PDFDocumentError error;
         if (!TextUtils.isEmpty(pdfFilePath)){
@@ -51,16 +47,13 @@ public class CPDFCoverWrapper implements CIPDFWrapper {
         }else {
             return null;
         }
-
     }
 
-
     @Override
     public boolean isAvailable(){
         return !TextUtils.isEmpty(pdfFilePath) || pdfFileUri != null;
     }
 
-
     @Override
     public String cacheKey() {
         if (!TextUtils.isEmpty(pdfFilePath)){

+ 0 - 4
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/glide/wrapper/impl/CPDFDocumentPageWrapper.java

@@ -7,18 +7,14 @@ import com.compdfkit.core.document.CPDFDocument;
 import com.compdfkit.tools.common.utils.glide.wrapper.CIPDFWrapper;
 
 public class CPDFDocumentPageWrapper implements CIPDFWrapper {
-
-
     public static final String TPDF = "TPDF:";
 
-
     private CPDFDocument document;
 
     private int pageIndex;
 
     private int backgroundColor = Color.WHITE;
 
-
     public CPDFDocumentPageWrapper(CPDFDocument cpdfDocument, int pageIndex){
         this.document = cpdfDocument;
         this.pageIndex = pageIndex;

+ 15 - 34
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/task/CExtractAssetFileTask.java

@@ -2,29 +2,24 @@
 package com.compdfkit.tools.common.utils.task;
 
 import android.content.Context;
-import android.os.AsyncTask;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.compdfkit.tools.common.utils.CFileUtilsExtension;
 import com.compdfkit.tools.common.utils.threadpools.CThreadPoolUtils;
-import com.compdfkit.tools.viewer.pdfsearch.bean.CSearchTextInfo;
-import com.compdfkit.tools.viewer.pdfsearch.data.CPDFSearchKeywordsDatas;
 
 import java.io.File;
-import java.util.List;
 
 
 public class CExtractAssetFileTask {
 
-
     /**
      * Extracts the file at {@code assetPath} from the app's assets into the private app directory.
      *
      * @param assetPath Path pointing to a file inside the app's assets.
-     * @param context Context used to retrieve the referenced file from the app's assets.
-     * @param listener A listener notified of extraction completion.
+     * @param context   Context used to retrieve the referenced file from the app's assets.
+     * @param listener  A listener notified of extraction completion.
      */
     public static void extract(
             @NonNull final Context context,
@@ -37,11 +32,11 @@ public class CExtractAssetFileTask {
     /**
      * Extracts the file at {@code assetPath} from the app's assets into the private app directory.
      *
-     * @param assetPath Path pointing to a file inside the app's assets.
-     * @param context Context used to retrieve the referenced file from the app's assets.
+     * @param assetPath         Path pointing to a file inside the app's assets.
+     * @param context           Context used to retrieve the referenced file from the app's assets.
      * @param overwriteExisting Whether an existing file in the private app directory should be
-     *     overwritten.
-     * @param listener A listener notified of extraction completion.
+     *                          overwritten.
+     * @param listener          A listener notified of extraction completion.
      */
     public static void extract(
             @NonNull Context context,
@@ -49,32 +44,18 @@ public class CExtractAssetFileTask {
             @NonNull String fileName,
             boolean overwriteExisting,
             @Nullable OnDocumentExtractedListener listener) {
-        AsyncTask<Void, Void, String> extractTask = new AsyncTask<Void, Void, String>() {
-            @Override
-            protected void onPreExecute() {
-                super.onPreExecute();
+        CThreadPoolUtils.getInstance().execute(() -> {
+            File pdfFile = new File(context.getFilesDir().getAbsoluteFile(), fileName);
+            CFileUtilsExtension.copyFileFromAssets(context, assetPath, pdfFile.getParent(), fileName, overwriteExisting);
+            if (listener != null) {
+                listener.onDocumentExtracted(pdfFile.getAbsolutePath());
             }
-
-            @Override
-            protected String doInBackground(Void... voids) {
-                File pdfFile = new File(context.getFilesDir().getAbsoluteFile(), fileName);
-                CFileUtilsExtension.copyFileFromAssets(context, assetPath, pdfFile.getParent(), fileName, overwriteExisting);
-                return pdfFile.getAbsolutePath();
-            }
-
-            @Override
-            protected void onPostExecute(String filePath) {
-                super.onPostExecute(filePath);
-                if (listener != null) {
-                    listener.onDocumentExtracted(filePath);
-                }
-            }
-        };
-        extractTask.execute();
+        });
     }
 
-
-    /** Listens for document extraction events. */
+    /**
+     * Listens for document extraction events.
+     */
     public interface OnDocumentExtractedListener {
         /**
          * Called when there is a document extraction events.

+ 6 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/threadpools/CThreadPoolUtils.java

@@ -1,5 +1,8 @@
 package com.compdfkit.tools.common.utils.threadpools;
 
+import android.os.Handler;
+import android.os.Looper;
+
 import java.util.List;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
@@ -38,6 +41,8 @@ public class CThreadPoolUtils {
      */
     private final BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<>(64);
 
+    private Handler handler = new Handler(Looper.getMainLooper());
+
     /**
      * The thread factory used to create new threads for the pool.
      */
@@ -89,7 +94,7 @@ public class CThreadPoolUtils {
      * @param command The command to execute.
      */
     public void execute(final Runnable command) {
-        poolExecutor.execute(command);
+        poolExecutor.execute(()-> handler.post(command));
     }
 
     /**

+ 9 - 12
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/view/CNestedScrollableHost.java

@@ -5,7 +5,6 @@ import android.util.AttributeSet;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewConfiguration;
-import android.view.ViewTreeObserver;
 import android.widget.FrameLayout;
 
 import androidx.annotation.NonNull;
@@ -17,15 +16,17 @@ import androidx.viewpager2.widget.ViewPager2;
  * Layout to wrap a scrollable component inside a ViewPager2. Provided as a solution to the problem
  * where pages of ViewPager2 have nested scrollable elements that scroll in the same direction as
  * ViewPager2. The scrollable element needs to be the immediate and only child of this host layout.
- *
+ * <p>
  * This solution has limitations when using multiple levels of nested scrollable elements
  * (e.g. a horizontal RecyclerView in a vertical RecyclerView in a horizontal ViewPager2).
  */
 public class CNestedScrollableHost extends FrameLayout {
-
     private ViewPager2 parentViewPager;
+
     private int touchSlop = 0;
+
     private float initialX = 0f;
+
     private float initialY = 0f;
 
     public CNestedScrollableHost(@NonNull Context context) {
@@ -48,18 +49,16 @@ public class CNestedScrollableHost extends FrameLayout {
         init(context);
     }
 
-    private void init(Context context){
+    private void init(Context context) {
         touchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
     }
 
-
     @Override
     public boolean onInterceptTouchEvent(MotionEvent ev) {
         handleInterceptTouchEvent(ev);
         return super.onInterceptTouchEvent(ev);
     }
 
-
     private boolean canChildScroll(int orientation, float delta) {
         int direction = (int) -delta;
         View child = getChildAt(0);
@@ -83,18 +82,17 @@ public class CNestedScrollableHost extends FrameLayout {
             return;
         }
 
-
         if (e.getAction() == MotionEvent.ACTION_DOWN) {
             initialX = e.getX();
             initialY = e.getY();
             getParent().requestDisallowInterceptTouchEvent(true);
         } else if (e.getAction() == MotionEvent.ACTION_MOVE) {
-            float dx = e.getX()- initialX;
+            float dx = e.getX() - initialX;
             float dy = e.getY() - initialY;
             boolean isVpHorizontal = orientation == ViewPager2.ORIENTATION_HORIZONTAL;
 
             // assuming ViewPager2 touch-slop is 2x touch-slop of child
-            float scaledDx = Math.abs(dx) * (isVpHorizontal ?  .5f : 1f);
+            float scaledDx = Math.abs(dx) * (isVpHorizontal ? .5f : 1f);
             float scaledDy = Math.abs(dy) * (isVpHorizontal ? 1f : .5f);
             if (scaledDx > touchSlop || scaledDy > touchSlop) {
                 if (isVpHorizontal == (scaledDy > scaledDx)) {
@@ -111,7 +109,6 @@ public class CNestedScrollableHost extends FrameLayout {
                     }
                 }
             }
-
-
         }
-    }}
+    }
+}

+ 1 - 3
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/viewutils/DimensUtils.java

@@ -12,9 +12,7 @@ package com.compdfkit.tools.common.utils.viewutils;
 import android.content.Context;
 
 
-public class DimensUtils {
-
-
+public class CDimensUtils {
     public static int px2dp(Context context, int px) {
         float scale = context.getResources().getDisplayMetrics().density;
         return (int) (px / scale + 0.5f);

+ 0 - 6
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/viewutils/CViewUtils.java

@@ -18,7 +18,6 @@ import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.util.TypedValue;
 import android.view.View;
-import android.view.WindowInsetsController;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.EditText;
 
@@ -43,7 +42,6 @@ public class CViewUtils {
         }
     }
 
-
     public static void applyViewBackground(View view) {
         int color;
         if (view.getBackground() != null && view.getBackground() instanceof ColorDrawable) {
@@ -76,7 +74,6 @@ public class CViewUtils {
         inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
     }
 
-
     public static void hideKeyboard(@Nullable Dialog dialog) {
         if (dialog != null) {
             View view = dialog.getCurrentFocus();
@@ -86,7 +83,4 @@ public class CViewUtils {
             }
         }
     }
-
-
-
 }

+ 13 - 18
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/CPDFToolBar.java

@@ -39,13 +39,13 @@ import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
  * <p/>
  * use samples:<br/>
  * com.compdfkit.tools.common.utils.view.CPDFToolBar <br/>
- *     android:id="@+id/pdf_tool_bar" <br/>
- *     android:layout_width="match_parent" <br/>
- *     android:layout_height="?android:attr/actionBarSize" <br/>
- *     app:tools_toolbar_title="@string/viewer_toolbar_title" <br/>
- *     app:tools_toolbar_bota_icon="@drawable/xxx" <br/>
- *     app:tools_toolbar_more_icon="@drawable/xxx" <br/>
- *     app:tools_toolbar_search_icon="@drawable/xxx"/> <br/>
+ * android:id="@+id/pdf_tool_bar" <br/>
+ * android:layout_width="match_parent" <br/>
+ * android:layout_height="?android:attr/actionBarSize" <br/>
+ * app:tools_toolbar_title="@string/viewer_toolbar_title" <br/>
+ * app:tools_toolbar_bota_icon="@drawable/xxx" <br/>
+ * app:tools_toolbar_more_icon="@drawable/xxx" <br/>
+ * app:tools_toolbar_search_icon="@drawable/xxx"/> <br/>
  * <p/>
  * custom attrs: <br/>
  * app:tools_toolbar_title="@string/xxx" <br/>
@@ -55,21 +55,23 @@ import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
  * <p/>
  * btn click listener
  * searchBtnClick:
- * @see CPDFToolBar#setSearchBtnClickListener(OnClickListener)
  *
+ * @see CPDFToolBar#setSearchBtnClickListener(OnClickListener)
+ * <p>
  * botaBtnClick:
  * @see CPDFToolBar#setBoTaBtnClickListener(OnClickListener)
- *
+ * <p>
  * moreBtnClick:
  * @see CPDFToolBar#setMoreBtnClickListener(OnClickListener)
- *
- *
  */
 public class CPDFToolBar extends FrameLayout {
 
     private AppCompatTextView tvToolBarTitle;
+
     private AppCompatImageView ivToolBarSearchBtn;
+
     private AppCompatImageView ivToolBarBoTaBtn;
+
     private AppCompatImageView ivToolBarMoreBtn;
 
     public CPDFToolBar(@NonNull Context context) {
@@ -83,7 +85,6 @@ public class CPDFToolBar extends FrameLayout {
     public CPDFToolBar(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
         initToolBar(context, attrs);
-
     }
 
     private void initToolBar(Context context, @Nullable AttributeSet attrs) {
@@ -115,15 +116,11 @@ public class CPDFToolBar extends FrameLayout {
             if (moreIconDrawable != null) {
                 ivToolBarMoreBtn.setImageDrawable(moreIconDrawable);
             }
-
             CViewUtils.applyViewBackground(this);
-
             typedArray.recycle();
         }
     }
 
-
-
     public void setSearchBtnClickListener(View.OnClickListener clickListener) {
         ivToolBarSearchBtn.setOnClickListener(clickListener);
     }
@@ -135,6 +132,4 @@ public class CPDFToolBar extends FrameLayout {
     public void setMoreBtnClickListener(View.OnClickListener clickListener) {
         ivToolBarMoreBtn.setOnClickListener(clickListener);
     }
-
-
 }

+ 13 - 21
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/CToolBar.java

@@ -33,30 +33,30 @@ import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
  * ︳------------------------------︳
  * ︳ <          title             ︳
  * ︳------------------------------︳
- *
+ * <p>
  * use samples
  * <com.compdfkit.tools.utils.view.CToolBar
- *         android:id="@+id/tool_bar"
- *         android:layout_width="match_parent"
- *         android:layout_height="?android:attr/actionBarSize"
- *         app:tools_toolbar_title="@string/tools_outline"
- *         app:tools_toolbar_back_icon="@drawable/tools_ic_back"
- *         android:elevation="4dp"/>
- *
+ * android:id="@+id/tool_bar"
+ * android:layout_width="match_parent"
+ * android:layout_height="?android:attr/actionBarSize"
+ * app:tools_toolbar_title="@string/tools_outline"
+ * app:tools_toolbar_back_icon="@drawable/tools_ic_back"
+ * android:elevation="4dp"/>
+ * <p>
  * custom attributes:
  * tools_toolbar_title
  * tools_toolbar_back_icon
- *
+ * <p>
  * method:
+ *
  * @see CToolBar#setTitle(String)
  * @see CToolBar#setTitle(int)
  * @see CToolBar#setBackImageIconResource(int)
  * @see CToolBar#setBackBtnClickListener(OnClickListener)
- *
  */
 public class CToolBar extends FrameLayout {
-
     private AppCompatTextView tvToolBarTitle;
+
     private AppCompatImageView ivToolBarBackBtn;
 
     public CToolBar(@NonNull Context context) {
@@ -72,9 +72,7 @@ public class CToolBar extends FrameLayout {
         initToolBar(context, attrs);
     }
 
-
     private void initToolBar(Context context, @Nullable AttributeSet attrs) {
-
         LayoutInflater.from(getContext()).inflate(R.layout.tools_ctool_bar, this);
         tvToolBarTitle = findViewById(R.id.tv_tool_bar_title);
         ivToolBarBackBtn = findViewById(R.id.iv_tool_bar_back);
@@ -92,20 +90,15 @@ public class CToolBar extends FrameLayout {
             if (backIconDrawable != null) {
                 ivToolBarBackBtn.setImageDrawable(backIconDrawable);
             }
-
             CViewUtils.applyViewBackground(this);
-
             typedArray.recycle();
         }
     }
 
-
-
     public void setBackBtnClickListener(OnClickListener clickListener) {
         ivToolBarBackBtn.setOnClickListener(clickListener);
     }
 
-
     public void setTitle(@StringRes int titleResId) {
         tvToolBarTitle.setText(titleResId);
     }
@@ -116,11 +109,10 @@ public class CToolBar extends FrameLayout {
 
     /**
      * set left back icon resource
+     *
      * @param iconResId resId
      */
-    public void setBackImageIconResource(@DrawableRes int iconResId){
+    public void setBackImageIconResource(@DrawableRes int iconResId) {
         ivToolBarBackBtn.setImageResource(iconResId);
     }
-
-
 }

+ 1 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfbota/CPDFBOTA.java

@@ -11,10 +11,9 @@ package com.compdfkit.tools.common.views.pdfbota;
 
 import androidx.annotation.IntDef;
 
-import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+
 
 @IntDef({CPDFBOTA.BOOKMARKS, CPDFBOTA.OUTLINE, CPDFBOTA.THUMBNAIL, CPDFBOTA.ANNOTATION})
 @Retention(RetentionPolicy.RUNTIME)

+ 4 - 5
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfbota/CPDFBotaDialogFragment.java

@@ -20,10 +20,10 @@ import androidx.annotation.Nullable;
 import androidx.viewpager2.widget.ViewPager2;
 
 import com.compdfkit.tools.R;
+import com.compdfkit.tools.common.utils.dialog.CDialogFragmentUtil;
+import com.compdfkit.tools.common.views.CToolBar;
 import com.compdfkit.tools.common.views.pdfbota.adapter.CBotaViewPagerAdapter;
 import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
-import com.compdfkit.tools.common.utils.dialog.DialogFragmentUtil;
-import com.compdfkit.tools.common.views.CToolBar;
 import com.compdfkit.tools.viewer.pdfoutline.CPDFOutlineFragment;
 import com.compdfkit.tools.viewer.pdfthumbnail.CPDFThumbnailFragment;
 import com.google.android.material.bottomsheet.BottomSheetBehavior;
@@ -67,18 +67,17 @@ public class CPDFBotaDialogFragment extends BottomSheetDialogFragment {
         this.tabs.add(tab);
     }
 
-
     @Override
     public void onStart() {
         super.onStart();
         BottomSheetBehavior<View> behavior = BottomSheetBehavior.from((View) getView().getParent());
-        DialogFragmentUtil.setBottomSheetDialogFragmentFullScreen(getDialog(), behavior);
+        CDialogFragmentUtil.setBottomSheetDialogFragmentFullScreen(getDialog(), behavior);
     }
 
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        View rootView = inflater.inflate(R.layout.tools_cpdf_bota_dialog_fragment, container, false);
+        View rootView = inflater.inflate(R.layout.tools_bota_dialog_fragment, container, false);
         tabLayout = rootView.findViewById(R.id.tab_layout);
         viewPager2 = rootView.findViewById(R.id.view_pager);
         toolBar = rootView.findViewById(R.id.tool_bar);

+ 1 - 3
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfbota/adapter/CBotaViewPagerAdapter.java

@@ -16,15 +16,14 @@ import androidx.fragment.app.FragmentManager;
 import androidx.lifecycle.Lifecycle;
 import androidx.viewpager2.adapter.FragmentStateAdapter;
 
-import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.interfaces.OnSetPDFDisplayPageIndexListener;
 import com.compdfkit.tools.common.views.pdfbota.CPDFBOTA;
 import com.compdfkit.tools.common.views.pdfbota.CPDFBotaEmptyFragment;
 import com.compdfkit.tools.common.views.pdfbota.CPDFBotaFragmentTabs;
+import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
 import com.compdfkit.tools.viewer.pdfbookmark.CPDFBookmarkFragment;
 import com.compdfkit.tools.viewer.pdfoutline.CPDFOutlineFragment;
 import com.compdfkit.tools.viewer.pdfthumbnail.CPDFThumbnailFragment;
-import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
 
 import java.util.ArrayList;
 
@@ -106,7 +105,6 @@ public class CBotaViewPagerAdapter extends FragmentStateAdapter {
         return bookmarkFragment;
     }
 
-
     /**
      * Method that sets the PDF display page index listener
      * @param displayPageIndexListener

+ 4 - 4
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfview/CPDFPageIndicatorView.java

@@ -19,7 +19,7 @@ import androidx.annotation.Nullable;
 import androidx.appcompat.widget.AppCompatTextView;
 
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.utils.viewutils.DimensUtils;
+import com.compdfkit.tools.common.utils.viewutils.CDimensUtils;
 
 
 /**
@@ -68,8 +68,8 @@ public class CPDFPageIndicatorView extends LinearLayout {
         tvPageIndicator = new AppCompatTextView(getContext());
         // set layout params for the text view
         LinearLayout.LayoutParams currentPageLayoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
-        int horizontalMargin = DimensUtils.dp2px(getContext(), 16);
-        int verticalMargin = DimensUtils.dp2px(getContext(), 8);
+        int horizontalMargin = CDimensUtils.dp2px(getContext(), 16);
+        int verticalMargin = CDimensUtils.dp2px(getContext(), 8);
         currentPageLayoutParams.setMargins(horizontalMargin, verticalMargin, horizontalMargin, verticalMargin);
         tvPageIndicator.setLayoutParams(currentPageLayoutParams);
         // set text color to white
@@ -77,7 +77,7 @@ public class CPDFPageIndicatorView extends LinearLayout {
         // add the text view to the layout
         addView(tvPageIndicator);
         // set background resource for the layout
-        setBackgroundResource(R.drawable.tools_bg_thumbnail_item_page_index);
+        setBackgroundResource(R.drawable.tools_thumbnail_item_page_tv_bg_normal);
         // set click listener for the layout
         setOnClickListener(v -> {
             if (pageIndicatorClickListener != null) {

+ 1 - 7
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfview/CPDFSliderBarView.java

@@ -26,9 +26,6 @@ import com.compdfkit.ui.widget.CPDFSlideBar;
 
 
 /**
- *
- *
- *
  *
  */
 public class CPDFSliderBarView extends CPDFSlideBar implements CPDFSlideBar.OnScrollToPageListener {
@@ -36,6 +33,7 @@ public class CPDFSliderBarView extends CPDFSlideBar implements CPDFSlideBar.OnSc
     int currentScrollPageIndex = -1;
 
     private int sliderBarThumbnailWidth = 314;
+
     private int sliderBarThumbnailHeight = 444;
 
     private CPDFViewCtrl pdfView;
@@ -53,7 +51,6 @@ public class CPDFSliderBarView extends CPDFSlideBar implements CPDFSlideBar.OnSc
         setOnScrollToPageListener(this);
     }
 
-
     public void initWithPDFView(CPDFViewCtrl pdfView) {
         this.pdfView = pdfView;
         if (pdfView.getCPdfReaderView().getPDFDocument() != null) {
@@ -69,7 +66,6 @@ public class CPDFSliderBarView extends CPDFSlideBar implements CPDFSlideBar.OnSc
         setSlideBarPosition(position);
     }
 
-
     @Override
     public void onScrollBegin(int pageIndex) {
         if (pdfView != null) {
@@ -79,7 +75,6 @@ public class CPDFSliderBarView extends CPDFSlideBar implements CPDFSlideBar.OnSc
 
     @Override
     public void onScroll(int pageIndex) {
-
     }
 
     @Override
@@ -93,7 +88,6 @@ public class CPDFSliderBarView extends CPDFSlideBar implements CPDFSlideBar.OnSc
         refreshDocumentPageThumbnail(pageIndex);
     }
 
-
     private void refreshDocumentPageThumbnail(int pageIndex) {
         if (currentScrollPageIndex != pageIndex) {
             currentScrollPageIndex = pageIndex;

+ 6 - 13
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfview/CPDFViewCtrl.java

@@ -27,7 +27,7 @@ import androidx.interpolator.view.animation.FastOutLinearInInterpolator;
 import com.compdfkit.core.document.CPDFDocument;
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.utils.dialog.CGotoPageDialog;
-import com.compdfkit.tools.common.utils.viewutils.DimensUtils;
+import com.compdfkit.tools.common.utils.viewutils.CDimensUtils;
 import com.compdfkit.ui.reader.CPDFReaderView;
 import com.compdfkit.ui.reader.IReaderViewCallback;
 import com.compdfkit.ui.widget.CPDFSlideBar;
@@ -98,10 +98,12 @@ public class CPDFViewCtrl extends RelativeLayout implements IReaderViewCallback
     private CPDFSlideBar.SlideBarPosition slideBarPosition = CPDFSlideBar.SlideBarPosition.RIGHT;
 
     private int sliderBarThumbnailWidth = 314;
+
     private int sliderBarThumbnailHeight = 444;
 
     @DrawableRes
     private int sliderBarIconResId = R.drawable.tools_ic_pdf_slider_bar;
+
     private CPDFPageIndicatorView indicatorView;
 
     private boolean enablePageIndicator = true;
@@ -120,7 +122,6 @@ public class CPDFViewCtrl extends RelativeLayout implements IReaderViewCallback
         initCPDFReaderView();
     }
 
-
     private void initAttr(Context context, AttributeSet attributeSet) {
         try {
             TypedArray typedArray = context.obtainStyledAttributes(attributeSet, R.styleable.CPDFReaderView);
@@ -144,7 +145,6 @@ public class CPDFViewCtrl extends RelativeLayout implements IReaderViewCallback
 
     }
 
-
     private void initCPDFReaderView() {
         cPdfReaderView = new com.compdfkit.ui.reader.CPDFReaderView(getContext());
         cPdfReaderView.setDoublePageMode(false);
@@ -153,11 +153,10 @@ public class CPDFViewCtrl extends RelativeLayout implements IReaderViewCallback
         addView(cPdfReaderView);
     }
 
-    public void setAllowAddAndEditAnnot(boolean allow){
+    public void setAllowAddAndEditAnnot(boolean allow) {
         cPdfReaderView.setAllowAddAndEditAnnot(allow);
     }
 
-
     /**
      * This method opens a PDF file located at the given file path.
      *
@@ -179,7 +178,7 @@ public class CPDFViewCtrl extends RelativeLayout implements IReaderViewCallback
         setPDFDocument(cpdfDocument, pdfDocumentError);
     }
 
-    private void setPDFDocument(CPDFDocument cpdfDocument, CPDFDocument.PDFDocumentError error){
+    private void setPDFDocument(CPDFDocument cpdfDocument, CPDFDocument.PDFDocumentError error) {
         // Switch on the result of the open method to handle the different possible outcomes.
         switch (error) {
             // If the PDF file was successfully opened, set the PDF document of the CPdfReaderView instance to the opened document.
@@ -187,11 +186,9 @@ public class CPDFViewCtrl extends RelativeLayout implements IReaderViewCallback
                 cPdfReaderView.setPDFDocument(cpdfDocument);
                 initCPDFSliderBar();
                 addPageIndicator();
-
                 break;
             // If the PDF file requires a password to be opened, do nothing for now.
             case PDFDocumentErrorPassword:
-
                 break;
             // For all other errors, do nothing for now.
             default:
@@ -203,10 +200,8 @@ public class CPDFViewCtrl extends RelativeLayout implements IReaderViewCallback
         return cPdfReaderView;
     }
 
-
     @Override
     public void onTapMainDocArea() {
-
     }
 
     @Override
@@ -239,7 +234,6 @@ public class CPDFViewCtrl extends RelativeLayout implements IReaderViewCallback
 
     }
 
-
     private void initCPDFSliderBar() {
         if (!enableSliderBar) {
             return;
@@ -276,7 +270,7 @@ public class CPDFViewCtrl extends RelativeLayout implements IReaderViewCallback
         RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
         layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
         layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
-        int margin = DimensUtils.dp2px(getContext(), 16);
+        int margin = CDimensUtils.dp2px(getContext(), 16);
         layoutParams.setMargins(margin, 0, 0, margin);
         indicatorView.setLayoutParams(layoutParams);
         indicatorView.setAlpha(0F);
@@ -324,5 +318,4 @@ public class CPDFViewCtrl extends RelativeLayout implements IReaderViewCallback
             pageIndicatorAnimator.start();
         }
     }
-
 }

+ 2 - 3
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfbookmark/CPDFBookmarkFragment.java

@@ -55,7 +55,7 @@ public class CPDFBookmarkFragment extends Fragment {
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        View rootView = inflater.inflate(R.layout.tools_cpdf_bookmark_fragment, container, false);
+        View rootView = inflater.inflate(R.layout.tools_bookmark_list_fragment, container, false);
         rvPdfBookmark = rootView.findViewById(R.id.rv_pdf_bookmark);
         btnAddBookmark = rootView.findViewById(R.id.flbtn_add_bookmark);
         return rootView;
@@ -69,7 +69,6 @@ public class CPDFBookmarkFragment extends Fragment {
     @Override
     public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
-
         CPDFBookmarkListAdapter bookmarkListAdapter = new CPDFBookmarkListAdapter();
         bookmarkListAdapter.submitList(getBookmarkList());
         bookmarkListAdapter.setDisplayPageIndexListener(displayPageIndexListener);
@@ -93,9 +92,9 @@ public class CPDFBookmarkFragment extends Fragment {
             });
             editBookmarkDialog.show(getChildFragmentManager(), "editBookmarkDialog");
         });
+
         rvPdfBookmark.setLayoutManager(new LinearLayoutManager(getContext()));
         rvPdfBookmark.setAdapter(bookmarkListAdapter);
-
         btnAddBookmark.setOnClickListener(v -> {
             CEditBookmarkDialog editBookmarkDialog = CEditBookmarkDialog.newInstance("");
             editBookmarkDialog.setEditBookmarkListener(title -> {

+ 4 - 15
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfbookmark/adapter/CPDFBookmarkListAdapter.java

@@ -1,8 +1,6 @@
 package com.compdfkit.tools.viewer.pdfbookmark.adapter;
 
 
-import android.annotation.SuppressLint;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -18,9 +16,7 @@ import androidx.recyclerview.widget.RecyclerView;
 import com.compdfkit.core.document.CPDFBookmark;
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.interfaces.OnSetPDFDisplayPageIndexListener;
-import com.compdfkit.tools.viewer.pdfoutline.bean.COutlineData;
 
-import java.util.ArrayList;
 import java.util.List;
 
 public class CPDFBookmarkListAdapter extends ListAdapter<CPDFBookmark, CPDFBookmarkListAdapter.CPDFBookmarkItemViewHolder> {
@@ -37,12 +33,10 @@ public class CPDFBookmarkListAdapter extends ListAdapter<CPDFBookmark, CPDFBookm
         super(new BookmarkDiffCallback());
     }
 
-
-
     @NonNull
     @Override
     public CPDFBookmarkItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-        return new CPDFBookmarkItemViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.tools_cpdf_bookmark_list_item, parent, false));
+        return new CPDFBookmarkItemViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.tools_bookmark_list_item, parent, false));
     }
 
     @Override
@@ -61,7 +55,6 @@ public class CPDFBookmarkListAdapter extends ListAdapter<CPDFBookmark, CPDFBookm
 
     @Override
     public void onBindViewHolder(@NonNull CPDFBookmarkItemViewHolder holder, int position) {
-
         CPDFBookmark bookmark = getItem(holder.getAdapterPosition());
         holder.tvTitle.setText(bookmark.getTitle());
         holder.tvPageIndex.setText(holder.itemView.getContext().getString(R.string.tools_page) + " " + (bookmark.getPageIndex() + 1));
@@ -79,7 +72,7 @@ public class CPDFBookmarkListAdapter extends ListAdapter<CPDFBookmark, CPDFBookm
                 }
                 return true;
             });
-            popupMenu.inflate(R.menu.tools_bookmark_more_menu);
+            popupMenu.inflate(R.menu.tools_bookmark_list_item_more_menu);
             popupMenu.show();
         });
         holder.itemView.setOnClickListener(v -> {
@@ -89,7 +82,6 @@ public class CPDFBookmarkListAdapter extends ListAdapter<CPDFBookmark, CPDFBookm
         });
     }
 
-
     static class CPDFBookmarkItemViewHolder extends RecyclerView.ViewHolder {
 
         private AppCompatTextView tvTitle;
@@ -110,7 +102,6 @@ public class CPDFBookmarkListAdapter extends ListAdapter<CPDFBookmark, CPDFBookm
         this.displayPageIndexListener = displayPageIndexListener;
     }
 
-
     public void setDeleteBookmarkClickListener(OnBookmarkCallback deleteBookmarkClickListener) {
         this.deleteBookmarkClickListener = deleteBookmarkClickListener;
     }
@@ -123,7 +114,7 @@ public class CPDFBookmarkListAdapter extends ListAdapter<CPDFBookmark, CPDFBookm
         void bookmark(CPDFBookmark bookmark, int index);
     }
 
-    static class BookmarkDiffCallback extends DiffUtil.ItemCallback<CPDFBookmark>{
+    static class BookmarkDiffCallback extends DiffUtil.ItemCallback<CPDFBookmark> {
         @Override
         public boolean areItemsTheSame(@NonNull CPDFBookmark oldItem, @NonNull CPDFBookmark newItem) {
             return oldItem.toString().equals(newItem.toString());
@@ -132,12 +123,10 @@ public class CPDFBookmarkListAdapter extends ListAdapter<CPDFBookmark, CPDFBookm
         @Override
         public boolean areContentsTheSame(@NonNull CPDFBookmark oldItem, @NonNull CPDFBookmark newItem) {
             return oldItem == newItem;
-
         }
     }
 
-    public void updateBookmarkItem(int index){
+    public void updateBookmarkItem(int index) {
         notifyItemChanged(index, REFRESH_ITEM);
     }
-
 }

+ 3 - 5
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfbookmark/dialog/CEditBookmarkDialog.java

@@ -31,6 +31,7 @@ import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
 public class CEditBookmarkDialog extends DialogFragment {
 
     private static final String EXTRA_BOOKMARK_TITLE = "extra_bookmark_title";
+
     private AppCompatEditText etBookmark;
 
     private Button btnCancel;
@@ -39,7 +40,6 @@ public class CEditBookmarkDialog extends DialogFragment {
 
     private OnEditBookmarkListener editBookmarkListener;
 
-
     public static CEditBookmarkDialog newInstance(String title) {
         CEditBookmarkDialog dialog = new CEditBookmarkDialog();
         Bundle bundle = new Bundle();
@@ -51,15 +51,14 @@ public class CEditBookmarkDialog extends DialogFragment {
     @Override
     public void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        setStyle(DialogFragment.STYLE_NO_TITLE, R.style.tools_dialog_fragment_style);
+//        setStyle(DialogFragment.STYLE_NO_TITLE, R.style.tools_dialog_fragment_style);
 
     }
 
-
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        View rootView = inflater.inflate(R.layout.tools_cpdf_bookmark_add_dialog, container, false);
+        View rootView = inflater.inflate(R.layout.tools_bookmark_input_dialog, container, false);
         etBookmark = rootView.findViewById(R.id.et_bookmark);
         btnCancel = rootView.findViewById(R.id.btn_cancel);
         btnAdd = rootView.findViewById(R.id.btn_add);
@@ -103,7 +102,6 @@ public class CEditBookmarkDialog extends DialogFragment {
                 }
                 super.cancel();
             }
-
         };
     }
 

+ 23 - 19
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfdisplaysettings/CPDFDisplaySettingDialogFragment.java

@@ -15,7 +15,6 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.CompoundButton;
-import android.widget.RadioButton;
 import android.widget.RadioGroup;
 import android.widget.Switch;
 
@@ -24,12 +23,11 @@ import androidx.annotation.Nullable;
 import androidx.appcompat.widget.AppCompatImageView;
 import androidx.appcompat.widget.AppCompatRadioButton;
 import androidx.core.content.ContextCompat;
-import androidx.fragment.app.FragmentManager;
 
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
-import com.compdfkit.tools.common.utils.dialog.DialogFragmentUtil;
+import com.compdfkit.tools.common.utils.dialog.CDialogFragmentUtil;
 import com.compdfkit.tools.common.views.CToolBar;
+import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
 import com.compdfkit.ui.reader.CPDFReaderView;
 import com.google.android.material.bottomsheet.BottomSheetBehavior;
 import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
@@ -44,14 +42,17 @@ public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment
      * Bright mode, white color
      */
     private static final int READER_LIGHT_MODE = 0xFFFFFFFF;
+
     /**
      * Dark mode, dark gray color
      */
     private static final int READER_DARK_MODE = 0xFF333333;
+
     /**
      * Sepia mode, a color similar to the brown color of paper
      */
     private static final int READER_SEPIA_MODE = 0xFFFFEFBE;
+
     /**
      * Eye protection mode, light green color
      */
@@ -60,27 +61,41 @@ public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment
     private final List<View> customThemesViews = new ArrayList<>();
 
     private CToolBar toolBar;
+
     private RadioGroup readerModeRadioGroup;
+
     private AppCompatRadioButton rbSinglePage;
+
     private AppCompatRadioButton rbDoublePage;
+
     private AppCompatRadioButton rbCoverDoublePage;
 
     private Switch swIsContinue;
+
     private Switch swIsVertical;
+
     private Switch swIsCropMode;
+
     private RadioGroup readerBgRadioGroup;
+
     private AppCompatRadioButton rbLightMode;
+
     private AppCompatRadioButton rbDarkMode;
+
     private AppCompatRadioButton rbSepiaMode;
+
     private AppCompatRadioButton rbResedaMode;
+
     private AppCompatImageView ivCustomTheme1;
+
     private AppCompatImageView ivCustomTheme2;
+
     private AppCompatImageView ivCustomTheme3;
+
     private AppCompatImageView ivCustomTheme4;
 
     private CPDFViewCtrl pdfView;
 
-
     public static CPDFDisplaySettingDialogFragment newInstance() {
         return new CPDFDisplaySettingDialogFragment();
     }
@@ -93,14 +108,13 @@ public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment
     public void onStart() {
         super.onStart();
         BottomSheetBehavior<View> behavior = BottomSheetBehavior.from((View) getView().getParent());
-        DialogFragmentUtil.setBottomSheetDialogFragmentFullScreen(getDialog(), behavior);
+        CDialogFragmentUtil.setBottomSheetDialogFragmentFullScreen(getDialog(), behavior);
     }
 
-
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        View rootView = inflater.inflate(R.layout.tools_pdf_display_settings_dialog_fragment, container, false);
+        View rootView = inflater.inflate(R.layout.tools_display_settings_dialog_fragment, container, false);
         toolBar = rootView.findViewById(R.id.tool_bar);
         toolBar.setBackBtnClickListener(v -> dismiss());
         readerModeRadioGroup = rootView.findViewById(R.id.radio_group_reader_mode);
@@ -125,22 +139,18 @@ public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment
         customThemesViews.add(ivCustomTheme3);
         customThemesViews.add(ivCustomTheme4);
 
-
         ivCustomTheme1.setOnClickListener(this);
         ivCustomTheme2.setOnClickListener(this);
         ivCustomTheme3.setOnClickListener(this);
         ivCustomTheme4.setOnClickListener(this);
-
         return rootView;
     }
 
     @Override
     public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
-
         if (pdfView != null) {
             com.compdfkit.ui.reader.CPDFReaderView readerView = pdfView.getCPdfReaderView();
-
             if (readerView.isDoublePageMode()) {
                 if (readerView.isCoverPageMode()) {
                     rbCoverDoublePage.setChecked(true);
@@ -153,9 +163,9 @@ public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment
             swIsContinue.setChecked(readerView.isContinueMode());
             swIsVertical.setChecked(readerView.isVerticalMode());
             swIsCropMode.setChecked(readerView.isCropMode());
-
             initThemes(readerView);
         }
+
         swIsContinue.setOnCheckedChangeListener(this);
         swIsVertical.setOnCheckedChangeListener(this);
         swIsCropMode.setOnCheckedChangeListener(this);
@@ -173,26 +183,20 @@ public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment
         if (checkedId == R.id.r_btn_light_mode) {
             setReaderBackgroundColor(READER_LIGHT_MODE);
             selectCustomTheme(null);
-
         } else if (checkedId == R.id.r_btn_dark_mode) {
             setReaderBackgroundColor(READER_DARK_MODE);
             selectCustomTheme(null);
-
         } else if (checkedId == R.id.r_btn_sepia_mode) {
             setReaderBackgroundColor(READER_SEPIA_MODE);
             selectCustomTheme(null);
-
         } else if (checkedId == R.id.r_btn_reseda_mode) {
             setReaderBackgroundColor(READER_RESEDA_MODE);
             selectCustomTheme(null);
-
         } else if (checkedId == R.id.r_btn_single_page) {
-
             if (pdfView != null) {
                 pdfView.getCPdfReaderView().setDoublePageMode(false);
                 pdfView.getCPdfReaderView().setCoverPageMode(false);
             }
-
         } else if (checkedId == R.id.r_btn_double_page) {
             if (pdfView != null) {
                 pdfView.getCPdfReaderView().setDoublePageMode(true);

+ 21 - 17
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfinfo/CPDFDocumentInfoDialogFragment.java

@@ -10,15 +10,14 @@ import android.view.ViewGroup;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.appcompat.widget.AppCompatTextView;
-import androidx.fragment.app.FragmentManager;
 
 import com.compdfkit.core.document.CPDFDocument;
 import com.compdfkit.core.document.CPDFDocumentPermissionInfo;
 import com.compdfkit.core.document.CPDFInfo;
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
-import com.compdfkit.tools.common.utils.dialog.DialogFragmentUtil;
+import com.compdfkit.tools.common.utils.dialog.CDialogFragmentUtil;
 import com.compdfkit.tools.common.views.CToolBar;
+import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
 import com.google.android.material.bottomsheet.BottomSheetBehavior;
 import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
 
@@ -26,24 +25,40 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
 public class CPDFDocumentInfoDialogFragment extends BottomSheetDialogFragment {
 
     private CToolBar toolBar;
+
     private AppCompatTextView tvPDFFileName;
+
     private AppCompatTextView tvPDFSize;
+
     private AppCompatTextView tvPDFTitle;
+
     private AppCompatTextView tvPDFAuthor;
+
     private AppCompatTextView tvPDFSubject;
+
     private AppCompatTextView tvPDFKeywords;
+
     private AppCompatTextView tvPDFVersion;
+
     private AppCompatTextView tvPDFPageNum;
+
     private AppCompatTextView tvPDFCreator;
+
     private AppCompatTextView tvPDFCreationDate;
+
     private AppCompatTextView tvPDFModificationDate;
+
     private AppCompatTextView tvPDFAllowPrint;
+
     private AppCompatTextView tvPDFAllowCopy;
+
     private AppCompatTextView tvPDFAllowDocumentChanges;
+
     private AppCompatTextView tvPDFAllowDocumentAssembly;
+
     private AppCompatTextView tvPDFAllowDocumentCommenting;
-    private AppCompatTextView tvPDFAllowDocumentFormFieldEntry;
 
+    private AppCompatTextView tvPDFAllowDocumentFormFieldEntry;
 
     private CPDFViewCtrl pdfView;
 
@@ -55,15 +70,13 @@ public class CPDFDocumentInfoDialogFragment extends BottomSheetDialogFragment {
         this.pdfView = pdfView;
     }
 
-
     @Override
     public void onStart() {
         super.onStart();
         BottomSheetBehavior<View> behavior = BottomSheetBehavior.from((View) getView().getParent());
-        DialogFragmentUtil.setBottomSheetDialogFragmentFullScreen(getDialog(), behavior);
+        CDialogFragmentUtil.setBottomSheetDialogFragmentFullScreen(getDialog(), behavior);
     }
 
-
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -95,7 +108,6 @@ public class CPDFDocumentInfoDialogFragment extends BottomSheetDialogFragment {
     @Override
     public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
-
         if (pdfView != null) {
             CPDFDocument document = pdfView.getCPdfReaderView().getPDFDocument();
             CPDFInfo cpdfInfo = document.getInfo();
@@ -120,17 +132,13 @@ public class CPDFDocumentInfoDialogFragment extends BottomSheetDialogFragment {
             tvPDFAllowDocumentAssembly.setText(allowStr(permissionInfo.isAllowsDocumentAssembly()));
             tvPDFAllowDocumentCommenting.setText(allowStr(permissionInfo.isAllowsCommenting()));
             tvPDFAllowDocumentFormFieldEntry.setText(allowStr(permissionInfo.isAllowsFormFieldEntry()));
-
         }
-
-
     }
 
-    private String allowStr(boolean allow){
+    private String allowStr(boolean allow) {
         return getString(allow ? R.string.tools_yes : R.string.tools_no);
     }
 
-
     /**
      * Transform a PDF date string in the format D:20230130060237+00'00' to a human-readable yyyy-MM-dd HH:mm:ss date string.
      *
@@ -141,21 +149,18 @@ public class CPDFDocumentInfoDialogFragment extends BottomSheetDialogFragment {
         if (TextUtils.isEmpty(inputDate) || inputDate.length() < 16) {
             return "";
         }
-
         String year = inputDate.substring(2, 6);
         String month = inputDate.substring(6, 8);
         String day = inputDate.substring(8, 10);
         String hour = inputDate.substring(10, 12);
         String minute = inputDate.substring(12, 14);
         String second = inputDate.substring(14, 16);
-
         return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
     }
 
     private String getDocumentSize(CPDFDocument document) {
         final long MB = 1024 * 1024;
         final int KB = 1024;
-
         long fileSize = 0L;
         try {
             ParcelFileDescriptor p = document.getContext().getContentResolver().openFileDescriptor(document.getUri(), "r");
@@ -164,7 +169,6 @@ public class CPDFDocumentInfoDialogFragment extends BottomSheetDialogFragment {
         } catch (Exception e) {
             e.printStackTrace();
         }
-
         float size;
         String unit = " M";
         if (fileSize > MB) {

+ 2 - 4
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfoutline/CPDFOutlineFragment.java

@@ -23,10 +23,10 @@ import androidx.recyclerview.widget.RecyclerView;
 
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.interfaces.OnSetPDFDisplayPageIndexListener;
+import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
 import com.compdfkit.tools.viewer.pdfoutline.adapter.COutlineListAdapter;
 import com.compdfkit.tools.viewer.pdfoutline.bean.COutlineData;
 import com.compdfkit.tools.viewer.pdfoutline.data.COutlineDatas;
-import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
 
 import java.util.ArrayList;
 
@@ -67,7 +67,7 @@ public class CPDFOutlineFragment extends Fragment {
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
         // Inflate the layout for this fragment.
-        View rootView = inflater.inflate(R.layout.tools_cpdf_outline_list_fragment, container, false);
+        View rootView = inflater.inflate(R.layout.tools_outline_list_fragment, container, false);
         rvOutlineRecyclerView = rootView.findViewById(R.id.rv_outline);
         return rootView;
     }
@@ -104,6 +104,4 @@ public class CPDFOutlineFragment extends Fragment {
     public void setOutlineClickListener(OnSetPDFDisplayPageIndexListener outlineClickListener) {
         this.outlineCallback = outlineClickListener;
     }
-
-
 }

+ 3 - 7
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfoutline/adapter/COutlineListAdapter.java

@@ -21,8 +21,8 @@ import androidx.recyclerview.widget.RecyclerView;
 
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.interfaces.OnSetPDFDisplayPageIndexListener;
-import com.compdfkit.tools.viewer.pdfoutline.bean.COutlineData;
 import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
+import com.compdfkit.tools.viewer.pdfoutline.bean.COutlineData;
 import com.compdfkit.tools.viewer.pdfoutline.data.COutlineDatas;
 import com.compdfkit.ui.reader.CPDFReaderView;
 
@@ -63,7 +63,6 @@ public class COutlineListAdapter extends RecyclerView.Adapter<COutlineListAdapte
         list.addAll(data);
     }
 
-
     @NonNull
     @Override
     public OutlineItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -74,7 +73,6 @@ public class COutlineListAdapter extends RecyclerView.Adapter<COutlineListAdapte
     public void onBindViewHolder(@NonNull OutlineItemViewHolder holder, int position) {
         COutlineData item = list.get(holder.getAdapterPosition());
         holder.tvItemTitle.setText(item.getTitle());
-
         if (item.getPageIndex() < 0) {
             holder.tvItemPageIndex.setText("");
         } else {
@@ -85,7 +83,6 @@ public class COutlineListAdapter extends RecyclerView.Adapter<COutlineListAdapte
         holder.ivItemArrow.setLayoutParams(layoutParams);
         holder.ivItemArrow.setVisibility(item.childOutlineIsEmpty() ? View.INVISIBLE : View.VISIBLE);
         holder.ivItemArrow.setImageResource(item.isExpand() ? R.drawable.tools_ic_arrow_down : R.drawable.tools_ic_right);
-
         holder.itemView.setOnClickListener(v -> {
             // Check if the child outline of the item is empty
             if (item.childOutlineIsEmpty()) {
@@ -120,7 +117,6 @@ public class COutlineListAdapter extends RecyclerView.Adapter<COutlineListAdapte
         }
     }
 
-
     /**
      * Expand the given item and add its child items to the list.
      *
@@ -169,7 +165,6 @@ public class COutlineListAdapter extends RecyclerView.Adapter<COutlineListAdapte
         return removeCount;
     }
 
-
     @Override
     public int getItemCount() {
         return list.size();
@@ -177,7 +172,9 @@ public class COutlineListAdapter extends RecyclerView.Adapter<COutlineListAdapte
 
     static class OutlineItemViewHolder extends RecyclerView.ViewHolder {
         AppCompatImageView ivItemArrow;
+
         AppCompatTextView tvItemTitle;
+
         AppCompatTextView tvItemPageIndex;
 
         public OutlineItemViewHolder(@NonNull View itemView) {
@@ -191,5 +188,4 @@ public class COutlineListAdapter extends RecyclerView.Adapter<COutlineListAdapte
     public void setOutlineClickListener(OnSetPDFDisplayPageIndexListener outlineClickListener) {
         this.outlineClickListener = outlineClickListener;
     }
-
 }

+ 8 - 9
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfoutline/bean/COutlineData.java

@@ -1,6 +1,6 @@
 /**
  * Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
- *
+ * <p>
  * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
  * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
  * UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
@@ -13,7 +13,7 @@ import android.content.Context;
 import android.os.Parcel;
 import android.os.Parcelable;
 
-import com.compdfkit.tools.common.utils.viewutils.DimensUtils;
+import com.compdfkit.tools.common.utils.viewutils.CDimensUtils;
 
 import java.util.ArrayList;
 
@@ -47,9 +47,10 @@ public class COutlineData implements Parcelable {
      */
     private boolean isExpand;
 
-    public COutlineData(){}
+    public COutlineData() {
+    }
 
-    public COutlineData(int level, String title, int pageIndex, ArrayList<COutlineData> childOutlineList){
+    public COutlineData(int level, String title, int pageIndex, ArrayList<COutlineData> childOutlineList) {
         this.level = level;
         this.title = title;
         this.pageIndex = pageIndex;
@@ -130,13 +131,11 @@ public class COutlineData implements Parcelable {
         isExpand = expand;
     }
 
-
-    public int getLevelMargin(Context context){
-        return DimensUtils.dp2px(context, (level -1 ) * 10);
+    public int getLevelMargin(Context context) {
+        return CDimensUtils.dp2px(context, (level - 1) * 10);
     }
 
-    public boolean childOutlineIsEmpty(){
+    public boolean childOutlineIsEmpty() {
         return childOutline == null || childOutline.size() == 0;
     }
-
 }

+ 1 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfoutline/data/COutlineDatas.java

@@ -11,8 +11,8 @@ package com.compdfkit.tools.viewer.pdfoutline.data;
 
 
 import com.compdfkit.core.document.CPDFOutline;
-import com.compdfkit.tools.viewer.pdfoutline.bean.COutlineData;
 import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
+import com.compdfkit.tools.viewer.pdfoutline.bean.COutlineData;
 
 import java.util.ArrayList;
 
@@ -69,7 +69,6 @@ public class COutlineDatas {
                 }
             }
         }
-
         return outlineData;
     }
 

+ 7 - 4
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfsearch/CSearchResultBottomSheetDialogFragment.java

@@ -12,10 +12,10 @@ import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.compdfkit.tools.R;
+import com.compdfkit.tools.common.utils.dialog.CDialogFragmentUtil;
+import com.compdfkit.tools.common.views.CToolBar;
 import com.compdfkit.tools.viewer.pdfsearch.adapter.CSearchPDFTextRecyclerviewAdapter;
 import com.compdfkit.tools.viewer.pdfsearch.bean.CSearchTextInfo;
-import com.compdfkit.tools.common.utils.dialog.DialogFragmentUtil;
-import com.compdfkit.tools.common.views.CToolBar;
 import com.google.android.material.bottomsheet.BottomSheetBehavior;
 import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
 
@@ -25,12 +25,15 @@ public class CSearchResultBottomSheetDialogFragment extends BottomSheetDialogFra
     private View mContentView;
 
     private CToolBar toolBar;
+
     private RecyclerView recyclerView;
 
     private ConstraintLayout clSearchResultEmpty;
 
     private List<CSearchTextInfo> searchTextInfos = null;
+
     private CSearchPDFTextRecyclerviewAdapter searchTextAdapter;
+
     private CSearchPDFTextRecyclerviewAdapter.OnClickSearchItemListener onClickSearchItemListener;
 
     @Override
@@ -42,13 +45,13 @@ public class CSearchResultBottomSheetDialogFragment extends BottomSheetDialogFra
     public void onStart() {
         super.onStart();
         BottomSheetBehavior<View> behavior = BottomSheetBehavior.from((View) getView().getParent());
-        DialogFragmentUtil.setBottomSheetDialogFragmentFullScreen(getDialog(), behavior);
+        CDialogFragmentUtil.setBottomSheetDialogFragmentFullScreen(getDialog(), behavior);
     }
 
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        return inflater.inflate(R.layout.tools_search_result, container, false);
+        return inflater.inflate(R.layout.tools_search_keywords_list_dialog_fragment, container, false);
     }
 
     @Override

+ 30 - 35
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfsearch/CSearchToolbar.java

@@ -14,10 +14,10 @@ import android.widget.TextView;
 import android.widget.Toast;
 
 import com.compdfkit.tools.R;
+import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
+import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
 import com.compdfkit.tools.viewer.pdfsearch.bean.CSearchTextInfo;
 import com.compdfkit.tools.viewer.pdfsearch.data.CPDFSearchKeywordsDatas;
-import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
-import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
 import com.compdfkit.ui.textsearch.ITextSearcher;
 
 import java.util.List;
@@ -25,26 +25,24 @@ import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 
 public class CSearchToolbar extends RelativeLayout implements View.OnClickListener {
-    private TextView completeBt;
-    private EditText searchEdit;
-    private ImageView leftImage;
-    private ImageView rightImage;
-    private ImageView listImage;
+
+    private EditText etSearchKeywords;
 
     private CPDFViewCtrl pdfView;
 
     OnExitSearchListener onExitSearchListener = null;
 
     OnSearchResultListener onSearchResultListener = null;
+
     List<CSearchTextInfo> searchTextInfos = null;
 
     Lock lock = new ReentrantLock();
+
     private AsyncTask<Void, Void, List<CSearchTextInfo>> searchTask;
 
     public CSearchToolbar(Context context, AttributeSet attrs) {
         super(context, attrs);
         init(context);
-
     }
 
     public CSearchToolbar(Context context, AttributeSet attrs, int defStyleAttr) {
@@ -52,25 +50,25 @@ public class CSearchToolbar extends RelativeLayout implements View.OnClickListen
         init(context);
     }
 
-
     public void initWithPDFView(CPDFViewCtrl pdfView) {
         this.pdfView = pdfView;
     }
 
     private void init(Context context) {
-        inflate(context, R.layout.tools_search_toolbar, this);
+        inflate(context, R.layout.tools_search_keywords_toolbar, this);
         CViewUtils.applyViewBackground(this);
-        completeBt = findViewById(R.id.complete);
-        searchEdit = findViewById(R.id.search_word);
-        leftImage = findViewById(R.id.iv_search_next);
-        rightImage = findViewById(R.id.iv_search_previous);
-        listImage = findViewById(R.id.iv_search_list);
-        completeBt.setOnClickListener(this);
-        leftImage.setOnClickListener(this);
-        rightImage.setOnClickListener(this);
-        listImage.setOnClickListener(this);
-
-        searchEdit.addTextChangedListener(new TextWatcher() {
+        TextView tvComplete = findViewById(R.id.tv_search_complete);
+        etSearchKeywords = findViewById(R.id.et_search_keywords);
+        ImageView ivNext = findViewById(R.id.iv_search_next);
+        ImageView ivPrevious = findViewById(R.id.iv_search_previous);
+        ImageView ivSearchResultList = findViewById(R.id.iv_search_list);
+
+        tvComplete.setOnClickListener(this);
+        ivNext.setOnClickListener(this);
+        ivPrevious.setOnClickListener(this);
+        ivSearchResultList.setOnClickListener(this);
+
+        etSearchKeywords.addTextChangedListener(new TextWatcher() {
             @Override
             public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 
@@ -83,12 +81,12 @@ public class CSearchToolbar extends RelativeLayout implements View.OnClickListen
 
             @Override
             public void afterTextChanged(Editable s) {
-                startSearch(searchEdit.getText().toString(), list -> {
+                startSearch(etSearchKeywords.getText().toString(), list -> {
                     searchTextInfos = list;
                     if (list.size() > 0) {
                         CSearchTextInfo searchTextInfo = searchTextInfos.get(0);
                         pdfView.getCPdfReaderView().getTextSearcher().searchBegin(searchTextInfo.page, searchTextInfo.textRangeIndex);
-                    }else {
+                    } else {
                         Toast.makeText(context, getContext().getString(R.string.tools_sorry_no_contents), Toast.LENGTH_SHORT).show();
                     }
                 });
@@ -97,8 +95,8 @@ public class CSearchToolbar extends RelativeLayout implements View.OnClickListen
     }
 
     private void cancelTask() {
+        lock.lock();
         try {
-            lock.lock();
             if (searchTextInfos != null) {
                 searchTextInfos.clear();
             }
@@ -139,42 +137,41 @@ public class CSearchToolbar extends RelativeLayout implements View.OnClickListen
         searchTask.execute();
     }
 
-    private void previous(){
+    private void previous() {
         pdfView.getCPdfReaderView().getTextSearcher().searchBackward();
     }
 
-    private void next(){
+    private void next() {
         pdfView.getCPdfReaderView().getTextSearcher().searchForward();
     }
 
     @Override
     public void onClick(View view) {
         int id = view.getId();
-        if (id == R.id.complete) {
+        if (id == R.id.tv_search_complete) {
             cancelTask();
             if (null != onExitSearchListener) {
                 onExitSearchListener.exitSearch();
             }
-            searchEdit.setText("");
+            etSearchKeywords.setText("");
         } else if (id == R.id.iv_search_next) {
             next();
         } else if (id == R.id.iv_search_previous) {
             previous();
         } else if (id == R.id.iv_search_list) {
-            startSearch(searchEdit.getText().toString(), list -> {
-                if (null == list || list.size() <=0){
+            startSearch(etSearchKeywords.getText().toString(), list -> {
+                if (null == list || list.size() <= 0) {
                     Toast.makeText(getContext(), getContext().getString(R.string.tools_sorry_no_contents), Toast.LENGTH_SHORT).show();
                     return;
                 }
                 if (onSearchResultListener != null) {
                     onSearchResultListener.result(list);
                 }
-
             });
         }
     }
 
-    private void resetSearch(){
+    private void resetSearch() {
         if (pdfView != null) {
             ITextSearcher searcher = pdfView.getCPdfReaderView().getTextSearcher();
             if (searcher != null) {
@@ -182,14 +179,13 @@ public class CSearchToolbar extends RelativeLayout implements View.OnClickListen
                 pdfView.getCPdfReaderView().invalidateAllChildren();
             }
         }
-
     }
 
     public void setExitSearchListener(OnExitSearchListener onExitSearchListener) {
         this.onExitSearchListener = onExitSearchListener;
     }
 
-    public void onSearchQueryResults(OnSearchResultListener searchResultListener){
+    public void onSearchQueryResults(OnSearchResultListener searchResultListener) {
         this.onSearchResultListener = searchResultListener;
     }
 
@@ -200,5 +196,4 @@ public class CSearchToolbar extends RelativeLayout implements View.OnClickListen
     public interface OnExitSearchListener {
         void exitSearch();
     }
-
 }

+ 4 - 4
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfsearch/adapter/CSearchPDFTextRecyclerviewAdapter.java

@@ -38,14 +38,14 @@ public class CSearchPDFTextRecyclerviewAdapter extends RecyclerView.Adapter<Recy
      * search result data item type
      */
     private final static int ITEM_TYPE_CONTENT = 0x200;
+
     private final List<CSearchTextInfo> searchTextInfoList = new ArrayList<>();
 
     private OnClickSearchItemListener onClickSearchItemListener;
 
     public CSearchPDFTextRecyclerviewAdapter() {
     }
-
-
+    
     public void addList(List<CSearchTextInfo> list) {
         searchTextInfoList.addAll(list);
     }
@@ -62,9 +62,9 @@ public class CSearchPDFTextRecyclerviewAdapter extends RecyclerView.Adapter<Recy
     @Override
     public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
         if (ITEM_TYPE_HEAD == viewType) {
-            return new SearchTextHeadViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.tools_item_search_text_header, parent, false));
+            return new SearchTextHeadViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.tools_search_keywords_list_item_header, parent, false));
         }
-        return new SearchTextContentViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.tools_item_search_text_content, parent, false));
+        return new SearchTextContentViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.tools_search_keywords_list_item, parent, false));
     }
 
     @Override

+ 5 - 0
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfsearch/bean/CSearchTextInfo.java

@@ -28,10 +28,15 @@ import java.util.regex.Pattern;
 public class CSearchTextInfo {
 
     private Context context;
+
     public int page;
+
     public String keyword;
+
     public SpannableStringBuilder stringBuilder;
+
     public boolean isHeader;
+
     public int textRangeIndex;
 
     public CSearchTextInfo(Context context, int page, String keyword, int textRangeIndex, boolean isHeader) {

+ 1 - 4
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfsearch/data/CPDFSearchKeywordsDatas.java

@@ -17,8 +17,8 @@ import com.compdfkit.core.page.CPDFPage;
 import com.compdfkit.core.page.CPDFTextPage;
 import com.compdfkit.core.page.CPDFTextRange;
 import com.compdfkit.core.page.CPDFTextSearcher;
-import com.compdfkit.tools.viewer.pdfsearch.bean.CSearchTextInfo;
 import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
+import com.compdfkit.tools.viewer.pdfsearch.bean.CSearchTextInfo;
 import com.compdfkit.ui.textsearch.ITextSearcher;
 
 import java.util.ArrayList;
@@ -28,7 +28,6 @@ import java.util.List;
 
 public class CPDFSearchKeywordsDatas {
 
-
     public static List<CSearchTextInfo> startSearch(CPDFViewCtrl cpdfViewCtrl, String keywords) {
         ITextSearcher textSearcher = cpdfViewCtrl.getCPdfReaderView().getTextSearcher();
         if (null == textSearcher) {
@@ -68,6 +67,4 @@ public class CPDFSearchKeywordsDatas {
         }
         return searchTextInfos;
     }
-
-
 }

+ 2 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfthumbnail/CPDFThumbnailFragment.java

@@ -27,8 +27,8 @@ import com.compdfkit.core.document.CPDFDocument;
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.interfaces.OnSetPDFDisplayPageIndexListener;
 import com.compdfkit.tools.common.utils.glide.CPDFWrapper;
-import com.compdfkit.tools.viewer.pdfthumbnail.adpater.CPDFThumbnailListAdapter;
 import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
+import com.compdfkit.tools.viewer.pdfthumbnail.adpater.CPDFThumbnailListAdapter;
 
 /**
  * PDF thumbnail list Fragment.
@@ -91,7 +91,7 @@ public class CPDFThumbnailFragment extends Fragment {
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
         // Inflate the layout for this fragment.
-        View rootView = inflater.inflate(R.layout.tools_cpdf_thumbnail_list_fragment, container, false);
+        View rootView = inflater.inflate(R.layout.tools_thumbnail_list_fragment, container, false);
         rvThumbnailRecyclerView = rootView.findViewById(R.id.rv_thumbnail);
         return rootView;
     }

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfthumbnail/adpater/CPDFThumbnailListAdapter.java

@@ -44,7 +44,6 @@ public class CPDFThumbnailListAdapter extends RecyclerView.Adapter<CPDFThumbnail
         this.currentPageIndex = currentPageIndex;
     }
 
-
     @NonNull
     @Override
     public CPDFThumbnailItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

compdfkit-tools/src/main/res/drawable-ldrtl/tools_svg_ic_left_arrow.xml → compdfkit-tools/src/main/res/drawable-ldrtl/tools_ic_left_arrow.xml


compdfkit-tools/src/main/res/drawable-ldrtl/tools_svg_ic_right_arrow.xml → compdfkit-tools/src/main/res/drawable-ldrtl/tools_ic_right_arrow.xml


+ 0 - 10
compdfkit-tools/src/main/res/drawable/tools_bg_thumbnail_item_page_index_selector.xml

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_selected="true">
-        <shape>
-            <solid android:color="?android:attr/colorPrimary"/>
-            <corners android:radius="5dp"/>
-        </shape>
-    </item>
-    <item android:drawable="@drawable/tools_bg_thumbnail_item_page_index"/>
-</selector>

+ 0 - 6
compdfkit-tools/src/main/res/drawable/tools_button_click.xml

@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item android:state_pressed="true" android:drawable="@drawable/tools_button_pressed"/>
-    <item android:state_selected="true" android:drawable="@drawable/tools_button_pressed"/>
-    <item android:state_enabled="true" android:drawable="@drawable/tools_button_normal"/>
-</selector>

+ 0 - 7
compdfkit-tools/src/main/res/drawable/tools_button_normal.xml

@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-       android:shape="rectangle" >
-
-    <solid android:color="@color/tools_reader_tools_button_normal" />
-
-</shape>

+ 0 - 7
compdfkit-tools/src/main/res/drawable/tools_button_pressed.xml

@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-       android:shape="rectangle" >
-
-    <solid android:color="@color/tools_reader_tools_button_clicked" />
-
-</shape>

compdfkit-tools/src/main/res/drawable/tools_ic_check.xml → compdfkit-tools/src/main/res/drawable/tools_ic_check_normal.xml


+ 1 - 1
compdfkit-tools/src/main/res/drawable/tools_ic_check_select.xml

@@ -1,4 +1,4 @@
-<vector android:height="24dp" android:tint="#000000"
+<vector android:height="24dp" android:tint="?android:attr/colorPrimary"
     android:viewportHeight="24" android:viewportWidth="24"
     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
     <path android:fillColor="@android:color/white" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>

compdfkit-tools/src/main/res/drawable/tools_svg_ic_left_arrow.xml → compdfkit-tools/src/main/res/drawable/tools_ic_left_arrow.xml


compdfkit-tools/src/main/res/drawable/tools_svg_ic_right_arrow.xml → compdfkit-tools/src/main/res/drawable/tools_ic_right_arrow.xml


+ 2 - 3
compdfkit-tools/src/main/res/drawable/tools_pdf_reader_page_mode_radio_button.xml

@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <item android:drawable="@drawable/tools_ic_check_select" android:state_checked="true" >
+    <item android:drawable="@drawable/tools_ic_check_select" android:state_checked="true" />
 
-    </item>
-    <item android:drawable="@drawable/tools_ic_check" android:state_checked="false"/>
+    <item android:drawable="@drawable/tools_ic_check_normal" android:state_checked="false"/>
 </selector>

compdfkit-tools/src/main/res/drawable/tools_pdf_reader_radio_button_ripple.xml → compdfkit-tools/src/main/res/drawable/tools_reader_settings_radio_button_ripple.xml


+ 3 - 2
compdfkit-tools/src/main/res/drawable/tools_search_edit_bg.xml

@@ -5,8 +5,9 @@
     <!-- 圆角弧度 15 -->
     <corners android:radius="1dp"/>
 
-    <solid android:color="@color/tools_white_color"/>
+    <solid android:color="?android:attr/colorBackground"/>
+
     <stroke android:width="1px"
-            android:color="@color/tools_border_color"/>
+            android:color="@color/tools_item_dividing_line_color"/>
 
 </shape>

+ 5 - 0
compdfkit-tools/src/main/res/drawable/tools_thumbnail_item_page_tv_bg.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/tools_thumbnail_item_page_tv_bg_select"  android:state_selected="true"/>
+    <item android:drawable="@drawable/tools_thumbnail_item_page_tv_bg_normal" />
+</selector>

compdfkit-tools/src/main/res/drawable/tools_bg_thumbnail_item_page_index.xml → compdfkit-tools/src/main/res/drawable/tools_thumbnail_item_page_tv_bg_normal.xml


+ 5 - 0
compdfkit-tools/src/main/res/drawable/tools_thumbnail_item_page_tv_bg_select.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="?android:attr/colorPrimary"/>
+    <corners android:radius="5dp"/>
+</shape>

compdfkit-tools/src/main/res/layout/tools_cpdf_bookmark_add_dialog.xml → compdfkit-tools/src/main/res/layout/tools_bookmark_input_dialog.xml


+ 1 - 1
compdfkit-tools/src/main/res/layout/tools_cpdf_bookmark_fragment.xml

@@ -9,7 +9,7 @@
         android:id="@+id/rv_pdf_bookmark"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        tools:listitem="@layout/tools_cpdf_bookmark_list_item" />
+        tools:listitem="@layout/tools_bookmark_list_item" />
 
     <com.google.android.material.floatingactionbutton.FloatingActionButton
         android:id="@+id/flbtn_add_bookmark"

+ 1 - 0
compdfkit-tools/src/main/res/layout/tools_cpdf_bookmark_list_item.xml

@@ -35,6 +35,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginEnd="16dp"
+            app:tint="?android:attr/colorAccent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent"

compdfkit-tools/src/main/res/layout/tools_cpdf_bota_dialog_fragment.xml → compdfkit-tools/src/main/res/layout/tools_bota_dialog_fragment.xml


+ 70 - 0
compdfkit-tools/src/main/res/layout/tools_common_input_dialog.xml

@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center"
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:layout_width="@dimen/tools_dialog_layout_width"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:padding="8dp">
+
+        <TextView
+            android:id="@+id/common_input_dialog_title"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_vertical|left"
+            android:padding="10dp"
+            android:textColor="?android:attr/textColorPrimary"
+            android:textSize="16sp"
+            android:textStyle="bold"
+            tools:text="Title" />
+
+
+        <TextView
+            android:id="@+id/common_input_dialog_message"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_vertical|left"
+            android:padding="10dp"
+            android:textColor="?android:attr/textColorSecondary"
+            android:textSize="16sp"
+            tools:text="Go to Page" />
+
+
+        <androidx.appcompat.widget.AppCompatEditText
+            android:id="@+id/common_input_dialog_et"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:maxLines="1"
+            android:padding="10dp"
+            android:textColor="?android:attr/textColorSecondary"
+            android:textSize="14sp" />
+
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="end"
+            android:layout_marginTop="16dp"
+            android:orientation="horizontal">
+
+            <androidx.appcompat.widget.AppCompatButton
+                android:id="@+id/common_input_dialog_cancel"
+                style="@style/tools_dialog_button_style"
+                android:foreground="?android:attr/selectableItemBackground"
+                android:text="@string/tools_common_cancel" />
+
+            <androidx.appcompat.widget.AppCompatButton
+                android:id="@+id/common_input_dialog_ok"
+                style="@style/tools_dialog_button_style"
+                android:foreground="?android:attr/selectableItemBackground"
+                android:text="@string/tools_common_okay" />
+
+        </LinearLayout>
+
+    </LinearLayout>
+</LinearLayout>

+ 0 - 63
compdfkit-tools/src/main/res/layout/tools_common_input_dialog_layout.xml

@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:padding="8dp">
-
-    <TextView
-        android:id="@+id/common_input_dialog_title"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center_vertical|left"
-        android:padding="10dp"
-        android:textColor="?android:attr/textColorPrimary"
-        android:textSize="16sp"
-        android:textStyle="bold"
-        tools:text="Title" />
-
-
-    <TextView
-        android:id="@+id/common_input_dialog_message"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center_vertical|left"
-        android:padding="10dp"
-        android:textColor="?android:attr/textColorSecondary"
-        android:textSize="16sp"
-        tools:text="Go to Page" />
-
-
-    <androidx.appcompat.widget.AppCompatEditText
-        android:id="@+id/common_input_dialog_et"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:maxLines="1"
-        android:padding="10dp"
-        android:textColor="?android:attr/textColorSecondary"
-        android:textSize="14sp" />
-
-
-    <LinearLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="end"
-        android:layout_marginTop="16dp"
-        android:orientation="horizontal">
-
-        <androidx.appcompat.widget.AppCompatButton
-            android:id="@+id/common_input_dialog_cancel"
-            style="@style/tools_dialog_button_style"
-            android:foreground="?android:attr/selectableItemBackground"
-            android:text="@string/tools_common_cancel" />
-
-        <androidx.appcompat.widget.AppCompatButton
-            android:id="@+id/common_input_dialog_ok"
-            style="@style/tools_dialog_button_style"
-            android:foreground="?android:attr/selectableItemBackground"
-            android:text="@string/tools_common_okay" />
-
-    </LinearLayout>
-
-</LinearLayout>

compdfkit-tools/src/main/res/layout/tools_pdf_display_settings_dialog_fragment.xml → compdfkit-tools/src/main/res/layout/tools_display_settings_dialog_fragment.xml


+ 0 - 0
compdfkit-tools/src/main/res/layout/tools_more_settings_list_item.xml


Some files were not shown because too many files changed in this diff