capacitor-dex-editor 0.0.38 → 0.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/android/src/main/AndroidManifest.xml +8 -0
  2. package/android/src/main/assets/availableSyntax.json +54 -0
  3. package/android/src/main/assets/c.json +42 -0
  4. package/android/src/main/assets/colors.json +21 -0
  5. package/android/src/main/assets/cpp.json +79 -0
  6. package/android/src/main/assets/dart.json +108 -0
  7. package/android/src/main/assets/java.json +46 -0
  8. package/android/src/main/assets/js.json +54 -0
  9. package/android/src/main/assets/json.json +33 -0
  10. package/android/src/main/assets/kotlin.json +53 -0
  11. package/android/src/main/assets/lua.json +54 -0
  12. package/android/src/main/assets/php.json +69 -0
  13. package/android/src/main/assets/python.json +87 -0
  14. package/android/src/main/assets/rust.json +139 -0
  15. package/android/src/main/assets/smali.json +131 -0
  16. package/android/src/main/assets/xml.json +96 -0
  17. package/android/src/main/java/com/aetherlink/dexeditor/DexEditorPluginPlugin.java +48 -0
  18. package/android/src/main/java/com/aetherlink/dexeditor/SmaliEditorActivity.java +205 -0
  19. package/android/src/main/java/com/aetherlink/dexeditor/editor/EditView.java +4022 -0
  20. package/android/src/main/java/com/aetherlink/dexeditor/editor/WordWrapLayout.java +275 -0
  21. package/android/src/main/java/com/aetherlink/dexeditor/editor/buffer/BufferCache.java +113 -0
  22. package/android/src/main/java/com/aetherlink/dexeditor/editor/buffer/GapBuffer.java +685 -0
  23. package/android/src/main/java/com/aetherlink/dexeditor/editor/component/ClipboardPanel.java +1380 -0
  24. package/android/src/main/java/com/aetherlink/dexeditor/editor/component/Magnifier.java +363 -0
  25. package/android/src/main/java/com/aetherlink/dexeditor/editor/highlight/Candidate.java +52 -0
  26. package/android/src/main/java/com/aetherlink/dexeditor/editor/highlight/CommentDef.java +47 -0
  27. package/android/src/main/java/com/aetherlink/dexeditor/editor/highlight/LineResult.java +49 -0
  28. package/android/src/main/java/com/aetherlink/dexeditor/editor/highlight/MHSyntaxHighlightEngine.java +841 -0
  29. package/android/src/main/java/com/aetherlink/dexeditor/editor/highlight/Rule.java +53 -0
  30. package/android/src/main/java/com/aetherlink/dexeditor/editor/highlight/Token.java +48 -0
  31. package/android/src/main/java/com/aetherlink/dexeditor/editor/listener/OnTextChangedListener.java +6 -0
  32. package/android/src/main/java/com/aetherlink/dexeditor/editor/treeObserver/OnComputeInternalInsetsListener.java +92 -0
  33. package/android/src/main/java/com/aetherlink/dexeditor/editor/treeObserver/ViewTreeObserverReflection.java +87 -0
  34. package/android/src/main/java/com/aetherlink/dexeditor/editor/utils/LinkChecker.java +28 -0
  35. package/android/src/main/java/com/aetherlink/dexeditor/editor/utils/Pair.java +80 -0
  36. package/android/src/main/java/com/aetherlink/dexeditor/editor/utils/ScreenUtils.java +63 -0
  37. package/android/src/main/java/com/aetherlink/dexeditor/editor/utils/menuUtils/MenuAction.java +49 -0
  38. package/android/src/main/java/com/aetherlink/dexeditor/editor/utils/menuUtils/MenuItemConfig.java +49 -0
  39. package/android/src/main/java/com/aetherlink/dexeditor/editor/utils/menuUtils/MenuItemData.java +49 -0
  40. package/android/src/main/java/com/aetherlink/dexeditor/editor/utils/menuUtils/ViewFader.java +76 -0
  41. package/android/src/main/res/drawable/abc_text_cursor_material.xml +9 -0
  42. package/android/src/main/res/drawable/abc_text_select_handle_left_mtrl.png +0 -0
  43. package/android/src/main/res/drawable/abc_text_select_handle_middle_mtrl.png +0 -0
  44. package/android/src/main/res/drawable/abc_text_select_handle_right_mtrl.png +0 -0
  45. package/android/src/main/res/drawable/ic_arrow_back.xml +12 -0
  46. package/android/src/main/res/drawable/ic_copy.xml +11 -0
  47. package/android/src/main/res/drawable/ic_cut.xml +10 -0
  48. package/android/src/main/res/drawable/ic_delete.xml +12 -0
  49. package/android/src/main/res/drawable/ic_edit_white_24dp.xml +10 -0
  50. package/android/src/main/res/drawable/ic_goto.xml +10 -0
  51. package/android/src/main/res/drawable/ic_launcher_background.xml +186 -0
  52. package/android/src/main/res/drawable/ic_look_white_24dp.xml +11 -0
  53. package/android/src/main/res/drawable/ic_more.xml +10 -0
  54. package/android/src/main/res/drawable/ic_open_link.xml +11 -0
  55. package/android/src/main/res/drawable/ic_paste.xml +11 -0
  56. package/android/src/main/res/drawable/ic_redo_white_24dp.xml +10 -0
  57. package/android/src/main/res/drawable/ic_select.xml +11 -0
  58. package/android/src/main/res/drawable/ic_select_all.xml +10 -0
  59. package/android/src/main/res/drawable/ic_share.xml +11 -0
  60. package/android/src/main/res/drawable/ic_toggle_comment.xml +12 -0
  61. package/android/src/main/res/drawable/ic_translate.xml +10 -0
  62. package/android/src/main/res/drawable/ic_undo_white_24dp.xml +11 -0
  63. package/android/src/main/res/drawable/magnifier_bg.xml +5 -0
  64. package/android/src/main/res/drawable/popup_background.xml +8 -0
  65. package/android/src/main/res/drawable/ripple_effect.xml +9 -0
  66. package/android/src/main/res/drawable/selection_menu_background.xml +5 -0
  67. package/android/src/main/res/layout/custom_selection_menu.xml +44 -0
  68. package/android/src/main/res/layout/expand_button.xml +23 -0
  69. package/android/src/main/res/layout/item_autocomplete.xml +25 -0
  70. package/android/src/main/res/layout/magnifier_popup.xml +17 -0
  71. package/android/src/main/res/layout/menu_item.xml +30 -0
  72. package/android/src/main/res/layout/text_selection_menu.xml +36 -0
  73. package/package.json +1 -1
@@ -0,0 +1,76 @@
1
+ /*
2
+ * MH-TextEditor - An Advanced and optimized TextEditor for android
3
+ * Copyright 2025, developer-krushna
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted provided that the following conditions are
7
+ * met:
8
+ *
9
+ * * Redistributions of source code must retain the above copyright
10
+ * notice, this list of conditions and the following disclaimer.
11
+ * * Redistributions in binary form must reproduce the above
12
+ * copyright notice, this list of conditions and the following disclaimer
13
+ * in the documentation and/or other materials provided with the
14
+ * distribution.
15
+ * * Neither the name of developer-krushna nor the names of its
16
+ * contributors may be used to endorse or promote products derived from
17
+ * this software without specific prior written permission.
18
+ *
19
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
+
31
+
32
+ * Please contact Krushna by email modder-hub@zohomail.in if you need
33
+ * additional information or have any questions
34
+ */
35
+
36
+ package com.aetherlink.dexeditor.editor.utils.menuUtils;
37
+
38
+ import android.view.View;
39
+
40
+ /** A helper for fading in or out a view. */
41
+
42
+ /** Idea Copied from @Android open source class com/android/internal/widget/FloatingToolbar.java */
43
+ public class ViewFader {
44
+ public static final int FADE_OUT_DURATION = 250;
45
+ public static final int FADE_IN_DURATION = 150;
46
+
47
+ public final View mView;
48
+ public final android.animation.ObjectAnimator mFadeOutAnimation;
49
+ public final android.animation.ObjectAnimator mFadeInAnimation;
50
+
51
+ public ViewFader(View view) {
52
+ mView = view;
53
+ mFadeOutAnimation = android.animation.ObjectAnimator.ofFloat(view, View.ALPHA, 1, 0)
54
+ .setDuration(FADE_OUT_DURATION);
55
+ mFadeInAnimation = android.animation.ObjectAnimator.ofFloat(view, View.ALPHA, 0, 1)
56
+ .setDuration(FADE_IN_DURATION);
57
+ }
58
+
59
+ public void fadeIn(boolean animate) {
60
+ mFadeOutAnimation.cancel();
61
+ if (animate) {
62
+ mFadeInAnimation.start();
63
+ } else {
64
+ mView.setAlpha(1);
65
+ }
66
+ }
67
+
68
+ public void fadeOut(boolean animate) {
69
+ mFadeInAnimation.cancel();
70
+ if (animate) {
71
+ mFadeOutAnimation.start();
72
+ } else {
73
+ mView.setAlpha(0);
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <shape xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:shape="rectangle">
4
+ <size
5
+ android:height="2dp"
6
+ android:width="2dp" />
7
+ <solid android:color="@android:color/white" />
8
+ </shape>
9
+
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:height="24dp"
4
+ android:width="24dp"
5
+ android:viewportWidth="24.0"
6
+ android:viewportHeight="24.0">
7
+ <path
8
+ android:fillColor="#ff000000"
9
+ android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
10
+ </vector>
11
+
12
+
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:height="24dp"
4
+ android:width="24dp"
5
+ android:autoMirrored="true"
6
+ android:viewportWidth="24.0"
7
+ android:viewportHeight="24.0">
8
+ <path
9
+ android:fillColor="#000000"
10
+ android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z" />
11
+ </vector>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:height="24dp"
4
+ android:width="24dp"
5
+ android:viewportWidth="24.0"
6
+ android:viewportHeight="24.0">
7
+ <path
8
+ android:fillColor="#ff000000"
9
+ android:pathData="M9.64,7.64c0.23,-0.5 0.36,-1.05 0.36,-1.64 0,-2.21 -1.79,-4 -4,-4S2,3.79 2,6s1.79,4 4,4c0.59,0 1.14,-0.13 1.64,-0.36L10,12l-2.36,2.36C7.14,14.13 6.59,14 6,14c-2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4c0,-0.59 -0.13,-1.14 -0.36,-1.64L12,14l7,7h3v-1L9.64,7.64zM6,8c-1.1,0 -2,-0.89 -2,-2s0.9,-2 2,-2 2,0.89 2,2 -0.9,2 -2,2zM6,20c-1.1,0 -2,-0.89 -2,-2s0.9,-2 2,-2 2,0.89 2,2 -0.9,2 -2,2zM12,12.5c-0.28,0 -0.5,-0.22 -0.5,-0.5s0.22,-0.5 0.5,-0.5 0.5,0.22 0.5,0.5 -0.22,0.5 -0.5,0.5zM19,3l-6,6 2,2 7,-7L22,3z" />
10
+ </vector>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector
3
+ xmlns:android="http://schemas.android.com/apk/res/android"
4
+ android:height="24.0dip"
5
+ android:width="24.0dip"
6
+ android:viewportWidth="24.0"
7
+ android:viewportHeight="24.0">
8
+ <path
9
+ android:fillColor="#000000"
10
+ android:pathData="M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z">
11
+ </path>
12
+ </vector>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:width="24dp"
4
+ android:height="24dp"
5
+ android:viewportHeight="24"
6
+ android:viewportWidth="24">
7
+ <path
8
+ android:fillColor="#FFFFFFFF"
9
+ android:pathData="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z" />
10
+ </vector>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:height="24dp"
4
+ android:width="24dp"
5
+ android:viewportWidth="24.0"
6
+ android:viewportHeight="24.0">
7
+ <path
8
+ android:fillColor="#ff43a5f5"
9
+ android:pathData="M 2.53 19.21 L 9.11 12 L 2.53 4.79 L 3.94 3.24 L 11.94 12 L 3.94 20.75 L 2.53 19.21 Z M 12.06 19.21 L 18.64 12 L 12.06 4.79 L 13.47 3.24 L 21.47 12 L 13.47 20.75 L 12.06 19.21 Z" />
10
+ </vector>
@@ -0,0 +1,186 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!--
3
+ ~ Copyright 2020 Google LLC
4
+ ~
5
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
6
+ ~ you may not use this file except in compliance with the License.
7
+ ~ You may obtain a copy of the License at
8
+ ~
9
+ ~ https://www.apache.org/licenses/LICENSE-2.0
10
+ ~
11
+ ~ Unless required by applicable law or agreed to in writing, software
12
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
13
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ ~ See the License for the specific language governing permissions and
15
+ ~ limitations under the License.
16
+ -->
17
+
18
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
19
+ android:width="108dp"
20
+ android:height="108dp"
21
+ android:viewportWidth="108"
22
+ android:viewportHeight="108">
23
+ <path
24
+ android:fillColor="#3DDC84"
25
+ android:pathData="M0,0h108v108h-108z" />
26
+ <path
27
+ android:fillColor="#00000000"
28
+ android:pathData="M9,0L9,108"
29
+ android:strokeWidth="0.8"
30
+ android:strokeColor="#33FFFFFF" />
31
+ <path
32
+ android:fillColor="#00000000"
33
+ android:pathData="M19,0L19,108"
34
+ android:strokeWidth="0.8"
35
+ android:strokeColor="#33FFFFFF" />
36
+ <path
37
+ android:fillColor="#00000000"
38
+ android:pathData="M29,0L29,108"
39
+ android:strokeWidth="0.8"
40
+ android:strokeColor="#33FFFFFF" />
41
+ <path
42
+ android:fillColor="#00000000"
43
+ android:pathData="M39,0L39,108"
44
+ android:strokeWidth="0.8"
45
+ android:strokeColor="#33FFFFFF" />
46
+ <path
47
+ android:fillColor="#00000000"
48
+ android:pathData="M49,0L49,108"
49
+ android:strokeWidth="0.8"
50
+ android:strokeColor="#33FFFFFF" />
51
+ <path
52
+ android:fillColor="#00000000"
53
+ android:pathData="M59,0L59,108"
54
+ android:strokeWidth="0.8"
55
+ android:strokeColor="#33FFFFFF" />
56
+ <path
57
+ android:fillColor="#00000000"
58
+ android:pathData="M69,0L69,108"
59
+ android:strokeWidth="0.8"
60
+ android:strokeColor="#33FFFFFF" />
61
+ <path
62
+ android:fillColor="#00000000"
63
+ android:pathData="M79,0L79,108"
64
+ android:strokeWidth="0.8"
65
+ android:strokeColor="#33FFFFFF" />
66
+ <path
67
+ android:fillColor="#00000000"
68
+ android:pathData="M89,0L89,108"
69
+ android:strokeWidth="0.8"
70
+ android:strokeColor="#33FFFFFF" />
71
+ <path
72
+ android:fillColor="#00000000"
73
+ android:pathData="M99,0L99,108"
74
+ android:strokeWidth="0.8"
75
+ android:strokeColor="#33FFFFFF" />
76
+ <path
77
+ android:fillColor="#00000000"
78
+ android:pathData="M0,9L108,9"
79
+ android:strokeWidth="0.8"
80
+ android:strokeColor="#33FFFFFF" />
81
+ <path
82
+ android:fillColor="#00000000"
83
+ android:pathData="M0,19L108,19"
84
+ android:strokeWidth="0.8"
85
+ android:strokeColor="#33FFFFFF" />
86
+ <path
87
+ android:fillColor="#00000000"
88
+ android:pathData="M0,29L108,29"
89
+ android:strokeWidth="0.8"
90
+ android:strokeColor="#33FFFFFF" />
91
+ <path
92
+ android:fillColor="#00000000"
93
+ android:pathData="M0,39L108,39"
94
+ android:strokeWidth="0.8"
95
+ android:strokeColor="#33FFFFFF" />
96
+ <path
97
+ android:fillColor="#00000000"
98
+ android:pathData="M0,49L108,49"
99
+ android:strokeWidth="0.8"
100
+ android:strokeColor="#33FFFFFF" />
101
+ <path
102
+ android:fillColor="#00000000"
103
+ android:pathData="M0,59L108,59"
104
+ android:strokeWidth="0.8"
105
+ android:strokeColor="#33FFFFFF" />
106
+ <path
107
+ android:fillColor="#00000000"
108
+ android:pathData="M0,69L108,69"
109
+ android:strokeWidth="0.8"
110
+ android:strokeColor="#33FFFFFF" />
111
+ <path
112
+ android:fillColor="#00000000"
113
+ android:pathData="M0,79L108,79"
114
+ android:strokeWidth="0.8"
115
+ android:strokeColor="#33FFFFFF" />
116
+ <path
117
+ android:fillColor="#00000000"
118
+ android:pathData="M0,89L108,89"
119
+ android:strokeWidth="0.8"
120
+ android:strokeColor="#33FFFFFF" />
121
+ <path
122
+ android:fillColor="#00000000"
123
+ android:pathData="M0,99L108,99"
124
+ android:strokeWidth="0.8"
125
+ android:strokeColor="#33FFFFFF" />
126
+ <path
127
+ android:fillColor="#00000000"
128
+ android:pathData="M19,29L89,29"
129
+ android:strokeWidth="0.8"
130
+ android:strokeColor="#33FFFFFF" />
131
+ <path
132
+ android:fillColor="#00000000"
133
+ android:pathData="M19,39L89,39"
134
+ android:strokeWidth="0.8"
135
+ android:strokeColor="#33FFFFFF" />
136
+ <path
137
+ android:fillColor="#00000000"
138
+ android:pathData="M19,49L89,49"
139
+ android:strokeWidth="0.8"
140
+ android:strokeColor="#33FFFFFF" />
141
+ <path
142
+ android:fillColor="#00000000"
143
+ android:pathData="M19,59L89,59"
144
+ android:strokeWidth="0.8"
145
+ android:strokeColor="#33FFFFFF" />
146
+ <path
147
+ android:fillColor="#00000000"
148
+ android:pathData="M19,69L89,69"
149
+ android:strokeWidth="0.8"
150
+ android:strokeColor="#33FFFFFF" />
151
+ <path
152
+ android:fillColor="#00000000"
153
+ android:pathData="M19,79L89,79"
154
+ android:strokeWidth="0.8"
155
+ android:strokeColor="#33FFFFFF" />
156
+ <path
157
+ android:fillColor="#00000000"
158
+ android:pathData="M29,19L29,89"
159
+ android:strokeWidth="0.8"
160
+ android:strokeColor="#33FFFFFF" />
161
+ <path
162
+ android:fillColor="#00000000"
163
+ android:pathData="M39,19L39,89"
164
+ android:strokeWidth="0.8"
165
+ android:strokeColor="#33FFFFFF" />
166
+ <path
167
+ android:fillColor="#00000000"
168
+ android:pathData="M49,19L49,89"
169
+ android:strokeWidth="0.8"
170
+ android:strokeColor="#33FFFFFF" />
171
+ <path
172
+ android:fillColor="#00000000"
173
+ android:pathData="M59,19L59,89"
174
+ android:strokeWidth="0.8"
175
+ android:strokeColor="#33FFFFFF" />
176
+ <path
177
+ android:fillColor="#00000000"
178
+ android:pathData="M69,19L69,89"
179
+ android:strokeWidth="0.8"
180
+ android:strokeColor="#33FFFFFF" />
181
+ <path
182
+ android:fillColor="#00000000"
183
+ android:pathData="M79,19L79,89"
184
+ android:strokeWidth="0.8"
185
+ android:strokeColor="#33FFFFFF" />
186
+ </vector>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:width="24dp"
4
+ android:height="24dp"
5
+ android:viewportHeight="24"
6
+ android:viewportWidth="24">
7
+ <path
8
+ android:fillColor="#FFFFFFFF"
9
+ android:pathData="M12,9A3,3 0,0 0,9 12A3,3 0,0 0,12 15A3,3 0,0 0,15 12A3,3 0,0 0,12 9M12,17A5,5 0,0 1,7 12A5,5 0,0 1,12 7A5,5 0,0 1,17 12A5,5 0,0 1,12 17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z"/>
10
+
11
+ </vector>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:height="24dp"
4
+ android:width="24dp"
5
+ android:viewportWidth="24.0"
6
+ android:viewportHeight="24.0">
7
+ <path
8
+ android:fillColor="#000000"
9
+ android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z" />
10
+ </vector>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:height="24dp"
4
+ android:width="24dp"
5
+ android:viewportWidth="24.0"
6
+ android:viewportHeight="24.0">
7
+ <path
8
+ android:fillColor="#000000"
9
+ android:pathData="M3.9,12c0,-1.71 1.39,-3.1 3.1,-3.1h4L11,7L7,7c-2.76,0 -5,2.24 -5,5s2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1zM8,13h8v-2L8,11v2zM17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1s-1.39,3.1 -3.1,3.1h-4L13,17h4c2.76,0 5,-2.24 5,-5s-2.24,-5 -5,-5z" />
10
+ </vector>
11
+
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- This is a modified version of AXMLPrinter2(By Google) library. Check out how many changes are made at https://github.com/developer-krushna/AXMLPrinter by (@developer-krushna) -->
3
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
4
+ android:height="24dp"
5
+ android:width="24dp"
6
+ android:viewportWidth="24.0"
7
+ android:viewportHeight="24.0">
8
+ <path
9
+ android:fillColor="#ff000000"
10
+ android:pathData="M19,2h-4.18C14.4,0.84 13.3,0 12,0c-1.3,0 -2.4,0.84 -2.82,2L5,2c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,4c0,-1.1 -0.9,-2 -2,-2zM12,2c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM19,20L5,20L5,4h2v3h10L17,4h2v16z" />
11
+ </vector>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:width="24dp"
4
+ android:height="24dp"
5
+ android:viewportHeight="24"
6
+ android:viewportWidth="24">
7
+ <path
8
+ android:fillColor="#FFFFFFFF"
9
+ android:pathData="M18.4,10.6C16.55,9 14.15,8 11.5,8C6.85,8 2.92,11.03 1.54,15.22L3.9,16C4.95,12.81 7.95,10.5 11.5,10.5C13.45,10.5 15.23,11.22 16.62,12.38L13,16H22V7L18.4,10.6Z"/>
10
+ </vector>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:height="24dp"
4
+ android:width="24dp"
5
+ android:viewportWidth="24.0"
6
+ android:viewportHeight="24.0">
7
+ <path
8
+ android:fillColor="#000000"
9
+ android:pathData="M 8 3 L 8 4.76 L 11.19 4.76 L 11.17 18.37 L 8 18.37 L 8 20.17 L 16 20.17 L 16 18.37 L 12.8 18.38 L 12.82 4.77 L 16 4.76 L 16 3 L 8 3 Z M 5.9 13.94 L 3.3 11.34 L 5.9 8.74 L 4.5 7.34 L 0.5 11.34 L 4.5 15.34 L 5.9 13.94 Z M 18.1 13.94 L 20.7 11.34 L 18.1 8.74 L 19.5 7.34 L 23.5 11.34 L 19.5 15.34 L 18.1 13.94 Z" />
10
+ </vector>
11
+
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:height="24dp"
4
+ android:width="24dp"
5
+ android:viewportWidth="24.0"
6
+ android:viewportHeight="24.0">
7
+ <path
8
+ android:fillColor="#000000"
9
+ android:pathData="M3,5h2L5,3c-1.1,0 -2,0.9 -2,2zM3,13h2v-2L3,11v2zM7,21h2v-2L7,19v2zM3,9h2L5,7L3,7v2zM13,3h-2v2h2L13,3zM19,3v2h2c0,-1.1 -0.9,-2 -2,-2zM5,21v-2L3,19c0,1.1 0.9,2 2,2zM3,17h2v-2L3,15v2zM9,3L7,3v2h2L9,3zM11,21h2v-2h-2v2zM19,13h2v-2h-2v2zM19,21c1.1,0 2,-0.9 2,-2h-2v2zM19,9h2L21,7h-2v2zM19,17h2v-2h-2v2zM15,21h2v-2h-2v2zM15,5h2L17,3h-2v2zM7,17h10L17,7L7,7v10zM9,9h6v6L9,15L9,9z" />
10
+ </vector>
@@ -0,0 +1,11 @@
1
+ <?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:width="24dp"
4
+ android:height="24dp"
5
+ android:viewportWidth="24.0"
6
+ android:viewportHeight="24.0">
7
+
8
+ <path
9
+ android:pathData="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81c1.66 0 3-1.34 3-3s-1.34-3-3-3s-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65c0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z"
10
+ android:fillColor="#000000" />
11
+ </vector>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:height="24dp"
4
+ android:width="24dp"
5
+ android:viewportWidth="1024.0"
6
+ android:viewportHeight="1024.0">
7
+ <path
8
+ android:fillColor="#000000"
9
+ android:pathData="M 227 400 C 226 393 225 388 224 382 C 224 376 223 372 223 366 C 223 351 226 339 232 335 C 234 329 242 326 250 326 L 393 326 L 439 148 C 467 150 487 154 497 160 C 507 165 512 173 512 180 L 512 191 L 475 326 L 646 326 L 695 148 C 724 150 743 154 752 160 C 762 165 768 173 768 180 C 768 185 767 188 766 191 L 731 326 L 853 326 C 855 333 856 338 856 343 L 856 361 C 856 376 853 387 849 391 C 843 398 838 400 830 400 L 711 400 L 654 607 L 798 607 C 799 614 800 621 801 625 C 802 632 802 637 802 642 C 802 669 793 682 775 682 L 634 682 L 582 876 C 553 874 534 870 524 865 C 514 859 510 852 510 843 C 510 840 510 837 512 835 L 552 682 L 378 682 L 327 876 C 299 874 280 870 268 866 C 257 859 253 853 253 843 C 253 842 253 841 254 839 C 255 838 255 837 255 835 L 296 683 L 173 683 C 171 676 169 668 169 664 L 169 646 C 169 632 172 621 177 615 C 181 610 187 607 196 607 L 316 607 L 371 400 L 227 400 L 227 400 Z M 398 607 L 572 607 L 628 400 L 455 400 L 398 607 Z" />
10
+ </vector>
11
+
12
+
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:height="24dp"
4
+ android:width="24dp"
5
+ android:viewportWidth="24.0"
6
+ android:viewportHeight="24.0">
7
+ <path
8
+ android:fillColor="#ff000000"
9
+ android:pathData="M12.87,15.07l-2.54,-2.51 0.03,-0.03c1.74,-1.94 2.98,-4.17 3.71,-6.53L17,6L17,4h-7L10,2L8,2v2L1,4v1.99h11.17C11.5,7.92 10.44,9.75 9,11.35 8.07,10.32 7.3,9.19 6.69,8h-2c0.73,1.63 1.73,3.17 2.98,4.56l-5.09,5.02L4,19l5,-5 3.11,3.11 0.76,-2.04zM18.5,10h-2L12,22h2l1.12,-3h4.75L21,22h2l-4.5,-12zM15.88,17l1.62,-4.33L19.12,17h-3.24z" />
10
+ </vector>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:width="24dp"
4
+ android:height="24dp"
5
+ android:viewportHeight="24"
6
+ android:viewportWidth="24">
7
+ <path
8
+ android:fillColor="#FFFFFFFF"
9
+ android:pathData="M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z"/>
10
+
11
+ </vector>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <shape xmlns:android="http://schemas.android.com/apk/res/android" >
3
+ <corners android:radius="8dp" />
4
+ <solid android:color="@android:color/white" />
5
+ </shape>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <shape xmlns:android="http://schemas.android.com/apk/res/android">
3
+ <solid android:color="?android:attr/colorBackground" />
4
+ <corners android:radius="12dp" />
5
+ <stroke
6
+ android:width="0.5dp"
7
+ android:color="#1F000000" />
8
+ </shape>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <ripple xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:color="?android:attr/colorControlHighlight">
4
+ <item android:id="@android:id/mask">
5
+ <shape>
6
+ <solid android:color="#FF000000" />
7
+ </shape>
8
+ </item>
9
+ </ripple>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <shape xmlns:android="http://schemas.android.com/apk/res/android">
3
+ <solid android:color="#FF000000" />
4
+ <corners android:radius="8dp" />
5
+ </shape>
@@ -0,0 +1,44 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:id="@+id/popupContainer"
4
+ android:layout_width="wrap_content"
5
+ android:layout_height="wrap_content"
6
+ android:orientation="vertical"
7
+ android:background="@drawable/popup_background"
8
+ android:padding="0dp">
9
+
10
+ <!-- Primary Menu -->
11
+ <LinearLayout
12
+ android:id="@+id/primaryMenu"
13
+ android:layout_width="wrap_content"
14
+ android:layout_height="wrap_content"
15
+ android:orientation="horizontal"
16
+ android:padding="0dp">
17
+
18
+ <!-- Menu items added dynamically -->
19
+
20
+ </LinearLayout>
21
+
22
+ <!-- Divider - Hidden by default -->
23
+ <View
24
+ android:id="@+id/divider"
25
+ android:layout_width="match_parent"
26
+ android:layout_height="1dp"
27
+ android:background="#1A000000"
28
+ android:visibility="gone"
29
+ android:layout_marginHorizontal="8dp" />
30
+
31
+ <!-- Secondary Menu - Hidden by default -->
32
+ <LinearLayout
33
+ android:id="@+id/secondaryMenu"
34
+ android:layout_width="match_parent"
35
+ android:layout_height="wrap_content"
36
+ android:orientation="vertical"
37
+ android:visibility="gone"
38
+ android:padding="0dp">
39
+
40
+ <!-- Menu items added dynamically -->
41
+
42
+ </LinearLayout>
43
+
44
+ </LinearLayout>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:layout_width="wrap_content"
4
+ android:layout_height="match_parent"
5
+ android:orientation="horizontal"
6
+ android:gravity="center"
7
+ android:paddingStart="16dp"
8
+ android:paddingEnd="16dp"
9
+ android:minWidth="48dp"
10
+ android:clipChildren="false"
11
+ android:clipToPadding="false">
12
+
13
+ <ImageView
14
+ android:id="@+id/expandIcon"
15
+ android:layout_width="wrap_content"
16
+ android:layout_height="wrap_content"
17
+ android:adjustViewBounds="true"
18
+ android:scaleType="centerInside"
19
+ android:maxWidth="30dp"
20
+ android:maxHeight="30dp"
21
+ android:padding="2dp" />
22
+
23
+ </LinearLayout>
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <LinearLayout
3
+ xmlns:android="http://schemas.android.com/apk/res/android"
4
+ android:layout_width="match_parent"
5
+ android:layout_height="wrap_content"
6
+ android:orientation="vertical">
7
+
8
+ <TextView
9
+ android:id="@+id/text1"
10
+ android:layout_width="match_parent"
11
+ android:layout_height="wrap_content"
12
+ android:paddingVertical="6dp"
13
+ android:paddingHorizontal="10dp"
14
+ android:textColor="@android:color/black"
15
+ android:textSize="14sp"
16
+ android:ellipsize="end"
17
+ android:singleLine="true"/>
18
+
19
+ <View
20
+ android:layout_width="match_parent"
21
+ android:layout_height="1dp"
22
+ android:background="#E0E0E0"/>
23
+
24
+ </LinearLayout>
25
+
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <FrameLayout
3
+ xmlns:android="http://schemas.android.com/apk/res/android"
4
+ android:layout_width="wrap_content"
5
+ android:layout_height="wrap_content"
6
+ android:background="@android:color/transparent">
7
+
8
+ <ImageView
9
+ android:id="@+id/magnifier_image_view"
10
+ android:layout_width="wrap_content"
11
+ android:layout_height="match_parent"
12
+ android:scaleType="fitXY"
13
+ android:background="@drawable/magnifier_bg"
14
+ android:elevation="10dp"/>
15
+
16
+ </FrameLayout>
17
+