@codebymanan/react-native-photo-editor 0.1.0

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 (115) hide show
  1. package/LICENSE +20 -0
  2. package/PhotoEditor.podspec +23 -0
  3. package/README.md +200 -0
  4. package/android/build.gradle +65 -0
  5. package/android/src/main/AndroidManifest.xml +14 -0
  6. package/android/src/main/assets/beyond_wonderland.ttf +0 -0
  7. package/android/src/main/assets/emojione-android.ttf +0 -0
  8. package/android/src/main/assets/filters/auto_fix.png +0 -0
  9. package/android/src/main/assets/filters/b_n_w.png +0 -0
  10. package/android/src/main/assets/filters/brightness.png +0 -0
  11. package/android/src/main/assets/filters/contrast.png +0 -0
  12. package/android/src/main/assets/filters/cross_process.png +0 -0
  13. package/android/src/main/assets/filters/documentary.png +0 -0
  14. package/android/src/main/assets/filters/dual_tone.png +0 -0
  15. package/android/src/main/assets/filters/fill_light.png +0 -0
  16. package/android/src/main/assets/filters/fish_eye.png +0 -0
  17. package/android/src/main/assets/filters/flip_horizental.png +0 -0
  18. package/android/src/main/assets/filters/flip_vertical.png +0 -0
  19. package/android/src/main/assets/filters/grain.png +0 -0
  20. package/android/src/main/assets/filters/gray_scale.png +0 -0
  21. package/android/src/main/assets/filters/lomish.png +0 -0
  22. package/android/src/main/assets/filters/negative.png +0 -0
  23. package/android/src/main/assets/filters/original.jpg +0 -0
  24. package/android/src/main/assets/filters/posterize.png +0 -0
  25. package/android/src/main/assets/filters/rotate.png +0 -0
  26. package/android/src/main/assets/filters/saturate.png +0 -0
  27. package/android/src/main/assets/filters/sepia.png +0 -0
  28. package/android/src/main/assets/filters/sharpen.png +0 -0
  29. package/android/src/main/assets/filters/temprature.png +0 -0
  30. package/android/src/main/assets/filters/tint.png +0 -0
  31. package/android/src/main/assets/filters/vignette.png +0 -0
  32. package/android/src/main/java/com/photoeditor/PhotoEditorModule.kt +130 -0
  33. package/android/src/main/java/com/photoeditor/PhotoEditorPackage.kt +31 -0
  34. package/android/src/main/java/com/photoeditor/editor/ColorPickerAdapter.kt +100 -0
  35. package/android/src/main/java/com/photoeditor/editor/EditImageActivity.kt +407 -0
  36. package/android/src/main/java/com/photoeditor/editor/EditorLocale.kt +41 -0
  37. package/android/src/main/java/com/photoeditor/editor/EditorStrings.kt +46 -0
  38. package/android/src/main/java/com/photoeditor/editor/EmojiBSFragment.kt +121 -0
  39. package/android/src/main/java/com/photoeditor/editor/PropertiesBSFragment.kt +76 -0
  40. package/android/src/main/java/com/photoeditor/editor/ShapeBSFragment.kt +112 -0
  41. package/android/src/main/java/com/photoeditor/editor/StickerBSFragment.kt +130 -0
  42. package/android/src/main/java/com/photoeditor/editor/TextEditorDialogFragment.kt +133 -0
  43. package/android/src/main/java/com/photoeditor/editor/base/BaseActivity.kt +67 -0
  44. package/android/src/main/java/com/photoeditor/editor/base/BaseFragment.kt +10 -0
  45. package/android/src/main/java/com/photoeditor/editor/filters/FilterListener.kt +7 -0
  46. package/android/src/main/java/com/photoeditor/editor/filters/FilterViewAdapter.kt +105 -0
  47. package/android/src/main/java/com/photoeditor/editor/tools/EditingToolsAdapter.kt +70 -0
  48. package/android/src/main/java/com/photoeditor/editor/tools/ToolType.kt +10 -0
  49. package/android/src/main/res/drawable/pe_blank_image.jpg +0 -0
  50. package/android/src/main/res/drawable/pe_ic_brush.xml +9 -0
  51. package/android/src/main/res/drawable/pe_ic_close.xml +9 -0
  52. package/android/src/main/res/drawable/pe_ic_eraser.xml +4 -0
  53. package/android/src/main/res/drawable/pe_ic_insert_emoticon.xml +9 -0
  54. package/android/src/main/res/drawable/pe_ic_oval.xml +9 -0
  55. package/android/src/main/res/drawable/pe_ic_photo_filter.xml +5 -0
  56. package/android/src/main/res/drawable/pe_ic_rectangle.xml +9 -0
  57. package/android/src/main/res/drawable/pe_ic_redo.xml +10 -0
  58. package/android/src/main/res/drawable/pe_ic_redo_disabled.xml +10 -0
  59. package/android/src/main/res/drawable/pe_ic_save.xml +9 -0
  60. package/android/src/main/res/drawable/pe_ic_sticker.xml +9 -0
  61. package/android/src/main/res/drawable/pe_ic_text.xml +9 -0
  62. package/android/src/main/res/drawable/pe_ic_undo.xml +10 -0
  63. package/android/src/main/res/drawable/pe_ic_undo_disabled.xml +10 -0
  64. package/android/src/main/res/drawable/pe_original.jpg +0 -0
  65. package/android/src/main/res/drawable/pe_redo.xml +6 -0
  66. package/android/src/main/res/drawable/pe_rounded_border_text_view.xml +14 -0
  67. package/android/src/main/res/drawable/pe_undo.xml +6 -0
  68. package/android/src/main/res/font/pe_roboto_medium.xml +7 -0
  69. package/android/src/main/res/layout/pe_activity_edit_image.xml +111 -0
  70. package/android/src/main/res/layout/pe_add_text_dialog.xml +56 -0
  71. package/android/src/main/res/layout/pe_color_picker_item_list.xml +15 -0
  72. package/android/src/main/res/layout/pe_fragment_bottom_properties_dialog.xml +77 -0
  73. package/android/src/main/res/layout/pe_fragment_bottom_shapes_dialog.xml +135 -0
  74. package/android/src/main/res/layout/pe_fragment_bottom_sticker_emoji_dialog.xml +62 -0
  75. package/android/src/main/res/layout/pe_row_editing_tools.xml +34 -0
  76. package/android/src/main/res/layout/pe_row_emoji.xml +17 -0
  77. package/android/src/main/res/layout/pe_row_filter_view.xml +35 -0
  78. package/android/src/main/res/layout/pe_row_sticker.xml +23 -0
  79. package/android/src/main/res/values/colors.xml +22 -0
  80. package/android/src/main/res/values/dimens.xml +7 -0
  81. package/android/src/main/res/values/font_certs.xml +17 -0
  82. package/android/src/main/res/values/preloaded_fonts.xml +6 -0
  83. package/android/src/main/res/values/strings.xml +462 -0
  84. package/android/src/main/res/values/styles.xml +28 -0
  85. package/ios/PhotoEditor.h +5 -0
  86. package/ios/PhotoEditor.mm +58 -0
  87. package/ios/PhotoEditorManager.swift +164 -0
  88. package/lib/module/NativePhotoEditor.js +5 -0
  89. package/lib/module/NativePhotoEditor.js.map +1 -0
  90. package/lib/module/index.js +4 -0
  91. package/lib/module/index.js.map +1 -0
  92. package/lib/module/open.js +6 -0
  93. package/lib/module/open.js.map +1 -0
  94. package/lib/module/open.native.js +7 -0
  95. package/lib/module/open.native.js.map +1 -0
  96. package/lib/module/package.json +1 -0
  97. package/lib/module/types.js +2 -0
  98. package/lib/module/types.js.map +1 -0
  99. package/lib/typescript/package.json +1 -0
  100. package/lib/typescript/src/NativePhotoEditor.d.ts +14 -0
  101. package/lib/typescript/src/NativePhotoEditor.d.ts.map +1 -0
  102. package/lib/typescript/src/index.d.ts +3 -0
  103. package/lib/typescript/src/index.d.ts.map +1 -0
  104. package/lib/typescript/src/open.d.ts +3 -0
  105. package/lib/typescript/src/open.d.ts.map +1 -0
  106. package/lib/typescript/src/open.native.d.ts +3 -0
  107. package/lib/typescript/src/open.native.d.ts.map +1 -0
  108. package/lib/typescript/src/types.d.ts +39 -0
  109. package/lib/typescript/src/types.d.ts.map +1 -0
  110. package/package.json +128 -0
  111. package/src/NativePhotoEditor.ts +12 -0
  112. package/src/index.tsx +2 -0
  113. package/src/open.native.tsx +6 -0
  114. package/src/open.tsx +7 -0
  115. package/src/types.ts +36 -0
@@ -0,0 +1,4 @@
1
+ <vector android:height="24dp" android:viewportHeight="511.999"
2
+ android:viewportWidth="511.999" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
3
+ <path android:fillColor="#FFFFFF" android:pathData="M498.8,140.6L371.6,13.3c-17.5,-17.5 -46.1,-17.5 -63.6,-0L22,299c-29.3,29.3 -29.3,76.7 -0,106.1l84.8,84.8c29.2,29.2 76.8,29.2 106,0c0,0 281.7,-281.4 286,-285.7C516.4,186.6 516.4,158.1 498.8,140.6zM191.6,468.7c-17.5,17.5 -46.1,17.5 -63.6,-0l-84.8,-84.8c-17.6,-17.6 -17.6,-46.1 0,-63.6l64,-63.9l148.5,148.5L191.6,468.7zM276.8,383.6L128.4,235.1L276.1,87.5l148.5,148.5L276.8,383.6zM477.6,183l-31.8,31.8L297.3,66.3l31.8,-31.8c5.8,-5.8 15.4,-5.8 21.2,0l127.3,127.3C483.5,167.6 483.5,177.1 477.6,183z"/>
4
+ </vector>
@@ -0,0 +1,9 @@
1
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+ android:width="24dp"
3
+ android:height="24dp"
4
+ android:viewportWidth="24.0"
5
+ android:viewportHeight="24.0">
6
+ <path
7
+ android:fillColor="#FFFFFF"
8
+ android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8zM15.5,11c0.83,0 1.5,-0.67 1.5,-1.5S16.33,8 15.5,8 14,8.67 14,9.5s0.67,1.5 1.5,1.5zM8.5,11c0.83,0 1.5,-0.67 1.5,-1.5S9.33,8 8.5,8 7,8.67 7,9.5 7.67,11 8.5,11zM12,17.5c2.33,0 4.31,-1.46 5.11,-3.5L6.89,14c0.8,2.04 2.78,3.5 5.11,3.5z"/>
9
+ </vector>
@@ -0,0 +1,9 @@
1
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+ android:width="24dp"
3
+ android:height="24dp"
4
+ android:viewportWidth="24"
5
+ android:viewportHeight="24">
6
+ <path
7
+ android:fillColor="#FFFFFF"
8
+ android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z" />
9
+ </vector>
@@ -0,0 +1,5 @@
1
+ <vector android:height="24dp" android:tint="#FFFFFF"
2
+ android:viewportHeight="24.0" android:viewportWidth="24.0"
3
+ android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
4
+ <path android:fillColor="#FF000000" android:pathData="M19.02,10v9L5,19L5,5h9L14,3L5.02,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2v-9h-2zM17,10l0.94,-2.06L20,7l-2.06,-0.94L17,4l-0.94,2.06L14,7l2.06,0.94zM13.25,10.75L12,8l-1.25,2.75L8,12l2.75,1.25L12,16l1.25,-2.75L16,12z"/>
5
+ </vector>
@@ -0,0 +1,9 @@
1
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+ android:width="24dp"
3
+ android:height="24dp"
4
+ android:viewportWidth="24"
5
+ android:viewportHeight="24">
6
+ <path
7
+ android:fillColor="#FFFFFF"
8
+ android:pathData="M21,3L3,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,19.01L3,19.01L3,4.99h18v14.02z" />
9
+ </vector>
@@ -0,0 +1,10 @@
1
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+ android:autoMirrored="true"
3
+ android:width="24dp"
4
+ android:height="24dp"
5
+ android:viewportWidth="24.0"
6
+ android:viewportHeight="24.0">
7
+ <path
8
+ android:fillColor="#FFFFFF"
9
+ android:pathData="M18.4,10.6C16.55,8.99 14.15,8 11.5,8c-4.65,0 -8.58,3.03 -9.96,7.22L3.9,16c1.05,-3.19 4.05,-5.5 7.6,-5.5 1.95,0 3.73,0.72 5.12,1.88L13,16h9V7l-3.6,3.6z"/>
10
+ </vector>
@@ -0,0 +1,10 @@
1
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+ android:autoMirrored="true"
3
+ android:width="24dp"
4
+ android:height="24dp"
5
+ android:viewportWidth="24.0"
6
+ android:viewportHeight="24.0">
7
+ <path
8
+ android:fillColor="#AAAAAA"
9
+ android:pathData="M18.4,10.6C16.55,8.99 14.15,8 11.5,8c-4.65,0 -8.58,3.03 -9.96,7.22L3.9,16c1.05,-3.19 4.05,-5.5 7.6,-5.5 1.95,0 3.73,0.72 5.12,1.88L13,16h9V7l-3.6,3.6z" />
10
+ </vector>
@@ -0,0 +1,9 @@
1
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+ android:width="24dp"
3
+ android:height="24dp"
4
+ android:viewportWidth="24.0"
5
+ android:viewportHeight="24.0">
6
+ <path
7
+ android:fillColor="#FFFFFF"
8
+ android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z"/>
9
+ </vector>
@@ -0,0 +1,9 @@
1
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+ android:width="24dp"
3
+ android:height="24dp"
4
+ android:viewportHeight="24.0"
5
+ android:viewportWidth="24.0">
6
+ <path
7
+ android:fillColor="#FFFFFF"
8
+ android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
9
+ </vector>
@@ -0,0 +1,9 @@
1
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+ android:width="24dp"
3
+ android:height="24dp"
4
+ android:viewportWidth="24.0"
5
+ android:viewportHeight="24.0">
6
+ <path
7
+ android:fillColor="#FFFFFF"
8
+ android:pathData="M2.5,4v3h5v12h3L10.5,7h5L15.5,4h-13zM21.5,9h-9v3h3v7h3v-7h3L21.5,9z"/>
9
+ </vector>
@@ -0,0 +1,10 @@
1
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+ android:autoMirrored="true"
3
+ android:width="24dp"
4
+ android:height="24dp"
5
+ android:viewportHeight="24.0"
6
+ android:viewportWidth="24.0">
7
+ <path
8
+ android:fillColor="#FFFFFF"
9
+ android:pathData="M12.5,8c-2.65,0 -5.05,0.99 -6.9,2.6L2,7v9h9l-3.62,-3.62c1.39,-1.16 3.16,-1.88 5.12,-1.88 3.54,0 6.55,2.31 7.6,5.5l2.37,-0.78C21.08,11.03 17.15,8 12.5,8z" />
10
+ </vector>
@@ -0,0 +1,10 @@
1
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+ android:autoMirrored="true"
3
+ android:width="24dp"
4
+ android:height="24dp"
5
+ android:viewportHeight="24.0"
6
+ android:viewportWidth="24.0">
7
+ <path
8
+ android:fillColor="#AAAAAA"
9
+ android:pathData="M12.5,8c-2.65,0 -5.05,0.99 -6.9,2.6L2,7v9h9l-3.62,-3.62c1.39,-1.16 3.16,-1.88 5.12,-1.88 3.54,0 6.55,2.31 7.6,5.5l2.37,-0.78C21.08,11.03 17.15,8 12.5,8z" />
10
+ </vector>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <selector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:autoMirrored="true">
4
+ <item android:drawable="@drawable/pe_ic_redo_disabled" android:state_enabled="false" />
5
+ <item android:drawable="@drawable/pe_ic_redo" />
6
+ </selector>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <shape xmlns:android="http://schemas.android.com/apk/res/android">
3
+ <stroke
4
+ android:width="2dp"
5
+ android:color="#FFFFFF" />
6
+
7
+ <padding
8
+ android:bottom="2dp"
9
+ android:left="2dp"
10
+ android:right="2dp"
11
+ android:top="2dp" />
12
+
13
+ <corners android:radius="50dp" />
14
+ </shape>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <selector xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:autoMirrored="true">
4
+ <item android:drawable="@drawable/pe_ic_undo_disabled" android:state_enabled="false" />
5
+ <item android:drawable="@drawable/pe_ic_undo" />
6
+ </selector>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <font-family xmlns:app="http://schemas.android.com/apk/res-auto"
3
+ app:fontProviderAuthority="com.google.android.gms.fonts"
4
+ app:fontProviderPackage="com.google.android.gms"
5
+ app:fontProviderQuery="name=Roboto&amp;weight=500"
6
+ app:fontProviderCerts="@array/com_google_android_gms_fonts_certs">
7
+ </font-family>
@@ -0,0 +1,111 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+ xmlns:app="http://schemas.android.com/apk/res-auto"
4
+ xmlns:tools="http://schemas.android.com/tools"
5
+ android:id="@+id/rootView"
6
+ android:layout_width="match_parent"
7
+ android:layout_height="match_parent"
8
+ android:background="@android:color/black"
9
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
10
+
11
+
12
+ <androidx.constraintlayout.widget.Guideline
13
+ android:id="@+id/guideline"
14
+ android:layout_width="wrap_content"
15
+ android:layout_height="wrap_content"
16
+ android:orientation="horizontal"
17
+ app:layout_constraintGuide_end="?attr/actionBarSize" />
18
+
19
+ <ja.burhanrashid52.photoeditor.PhotoEditorView
20
+ android:id="@+id/photoEditorView"
21
+ android:layout_width="0dp"
22
+ android:layout_height="0dp"
23
+ app:layout_constraintBottom_toTopOf="@+id/rvConstraintTools"
24
+ app:layout_constraintLeft_toLeftOf="parent"
25
+ app:layout_constraintRight_toRightOf="parent"
26
+ app:layout_constraintTop_toTopOf="parent"
27
+ app:photo_src="@drawable/pe_blank_image" />
28
+
29
+ <ImageView
30
+ android:id="@+id/imgUndo"
31
+ android:contentDescription="@string/pe_label_undo"
32
+ android:layout_width="@dimen/pe_top_tool_icon_width"
33
+ android:layout_height="wrap_content"
34
+ android:background="@color/pe_semi_black_transparent"
35
+ android:padding="8dp"
36
+ android:src="@drawable/pe_undo"
37
+ app:layout_constraintBottom_toTopOf="@+id/rvConstraintTools"
38
+ app:layout_constraintEnd_toStartOf="@+id/imgRedo" />
39
+
40
+ <ImageView
41
+ android:id="@+id/imgRedo"
42
+ android:contentDescription="@string/pe_label_redo"
43
+ android:layout_width="@dimen/pe_top_tool_icon_width"
44
+ android:layout_height="wrap_content"
45
+ android:background="@color/pe_semi_black_transparent"
46
+ android:padding="8dp"
47
+ android:src="@drawable/pe_redo"
48
+ app:layout_constraintBottom_toTopOf="@+id/rvConstraintTools"
49
+ app:layout_constraintEnd_toEndOf="parent" />
50
+
51
+ <ImageView
52
+ android:id="@+id/imgClose"
53
+ android:layout_width="wrap_content"
54
+ android:layout_height="wrap_content"
55
+ android:layout_alignParentStart="true"
56
+ android:layout_margin="8dp"
57
+ android:src="@drawable/pe_ic_close"
58
+ app:layout_constraintBottom_toBottomOf="parent"
59
+ app:layout_constraintStart_toStartOf="parent"
60
+ app:layout_constraintTop_toBottomOf="@+id/guideline" />
61
+
62
+ <androidx.recyclerview.widget.RecyclerView
63
+ android:id="@+id/rvConstraintTools"
64
+ android:layout_width="0dp"
65
+ android:layout_height="wrap_content"
66
+ android:background="@color/pe_tool_bg"
67
+ android:orientation="horizontal"
68
+ android:paddingTop="4dp"
69
+ android:paddingBottom="4dp"
70
+ app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
71
+ app:layout_constraintBottom_toTopOf="@+id/guideline"
72
+ app:layout_constraintEnd_toEndOf="parent"
73
+ app:layout_constraintStart_toStartOf="parent"
74
+ tools:listitem="@layout/pe_row_editing_tools" />
75
+
76
+ <androidx.recyclerview.widget.RecyclerView
77
+ android:id="@+id/rvFilterView"
78
+ android:layout_width="0dp"
79
+ android:layout_height="0dp"
80
+ android:background="@color/pe_tool_bg"
81
+ android:orientation="horizontal"
82
+ app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
83
+ app:layout_constraintBottom_toBottomOf="@+id/rvConstraintTools"
84
+ app:layout_constraintStart_toEndOf="parent"
85
+ app:layout_constraintTop_toTopOf="@+id/rvConstraintTools"
86
+ tools:listitem="@layout/pe_row_filter_view" />
87
+
88
+ <TextView
89
+ android:id="@+id/txtCurrentTool"
90
+ android:layout_width="wrap_content"
91
+ android:layout_height="wrap_content"
92
+ android:layout_marginStart="8dp"
93
+ android:singleLine="true"
94
+ tools:text="@string/pe_app_name"
95
+ android:textColor="@android:color/white"
96
+ app:layout_constraintBottom_toBottomOf="parent"
97
+ app:layout_constraintEnd_toEndOf="parent"
98
+ app:layout_constraintStart_toStartOf="parent"
99
+ app:layout_constraintTop_toBottomOf="@+id/guideline" />
100
+
101
+ <ImageView
102
+ android:id="@+id/imgSave"
103
+ android:layout_width="wrap_content"
104
+ android:layout_height="wrap_content"
105
+ android:layout_margin="8dp"
106
+ android:src="@drawable/pe_ic_save"
107
+ app:layout_constraintBottom_toBottomOf="parent"
108
+ app:layout_constraintEnd_toEndOf="parent"
109
+ app:layout_constraintTop_toBottomOf="@+id/guideline" />
110
+
111
+ </androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,56 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <androidx.constraintlayout.widget.ConstraintLayout
3
+ xmlns:android="http://schemas.android.com/apk/res/android"
4
+ xmlns:app="http://schemas.android.com/apk/res-auto"
5
+ xmlns:tools="http://schemas.android.com/tools"
6
+ android:layout_width="match_parent"
7
+ android:layout_height="match_parent"
8
+ android:background="#B3000000">
9
+
10
+ <TextView
11
+ android:id="@+id/add_text_done_tv"
12
+ android:layout_width="wrap_content"
13
+ android:layout_height="wrap_content"
14
+ android:layout_alignParentTop="true"
15
+ android:layout_alignParentEnd="true"
16
+ android:background="@drawable/pe_rounded_border_text_view"
17
+ android:padding="10dp"
18
+ tools:text="@string/pe_label_done"
19
+ android:textAllCaps="false"
20
+ android:textColor="@color/pe_white"
21
+ android:textSize="15sp"
22
+ app:layout_constraintEnd_toEndOf="parent"
23
+ app:layout_constraintTop_toTopOf="parent" />
24
+
25
+ <EditText
26
+ android:id="@+id/add_text_edit_text"
27
+ android:layout_width="0dp"
28
+ android:layout_height="0dp"
29
+ android:background="@null"
30
+ android:colorControlActivated="#FFFFFF"
31
+ android:colorControlNormal="#FFFFFF"
32
+ android:gravity="center"
33
+ android:inputType="textMultiLine"
34
+ android:singleLine="true"
35
+ android:textColorPrimary="#FFFFFF"
36
+ android:textSize="40sp"
37
+ app:layout_constraintBottom_toTopOf="@+id/add_text_color_picker_recycler_view"
38
+ app:layout_constraintEnd_toEndOf="parent"
39
+ app:layout_constraintStart_toStartOf="parent"
40
+ app:layout_constraintTop_toBottomOf="@+id/add_text_done_tv"
41
+ tools:visibility="visible" />
42
+
43
+ <androidx.recyclerview.widget.RecyclerView
44
+ android:id="@+id/add_text_color_picker_recycler_view"
45
+ android:layout_width="0dp"
46
+ android:layout_height="wrap_content"
47
+ android:orientation="horizontal"
48
+ app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
49
+ app:layout_constraintBottom_toBottomOf="parent"
50
+ app:layout_constraintEnd_toEndOf="parent"
51
+ app:layout_constraintStart_toStartOf="parent"
52
+ tools:background="@android:color/black"
53
+ tools:layout_height="wrap_content"
54
+ tools:listitem="@layout/pe_color_picker_item_list" />
55
+
56
+ </androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+ xmlns:tools="http://schemas.android.com/tools"
4
+ android:layout_width="wrap_content"
5
+ android:layout_height="wrap_content">
6
+
7
+ <View
8
+ android:id="@+id/color_picker_view"
9
+ android:layout_width="40dp"
10
+ android:layout_height="50dp"
11
+ android:layout_alignParentTop="true"
12
+ android:background="@android:color/white"
13
+ tools:text="" />
14
+
15
+ </RelativeLayout>
@@ -0,0 +1,77 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+ xmlns:app="http://schemas.android.com/apk/res-auto"
4
+ xmlns:tools="http://schemas.android.com/tools"
5
+ android:layout_width="match_parent"
6
+ android:layout_height="wrap_content">
7
+
8
+ <androidx.recyclerview.widget.RecyclerView
9
+ android:id="@+id/rvColors"
10
+ android:layout_width="0dp"
11
+ android:layout_height="match_parent"
12
+ android:layout_alignParentEnd="true"
13
+ android:layout_alignParentTop="true"
14
+ android:layout_marginBottom="8dp"
15
+ android:layout_marginEnd="8dp"
16
+ android:layout_marginStart="8dp"
17
+ android:layout_marginTop="32dp"
18
+ android:orientation="horizontal"
19
+ app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
20
+ app:layout_constraintBottom_toBottomOf="parent"
21
+ app:layout_constraintEnd_toEndOf="parent"
22
+ app:layout_constraintStart_toStartOf="parent"
23
+ app:layout_constraintTop_toBottomOf="@+id/sbOpacity"
24
+ tools:background="@android:color/black"
25
+ tools:listitem="@layout/pe_color_picker_item_list" />
26
+
27
+ <SeekBar
28
+ android:id="@+id/sbOpacity"
29
+ android:layout_width="0dp"
30
+ android:layout_height="wrap_content"
31
+ android:layout_marginEnd="8dp"
32
+ android:layout_marginStart="8dp"
33
+ android:layout_marginTop="8dp"
34
+ android:progress="100"
35
+ app:layout_constraintLeft_toLeftOf="parent"
36
+ app:layout_constraintRight_toRightOf="parent"
37
+ app:layout_constraintTop_toBottomOf="@+id/txtOpacity" />
38
+
39
+ <TextView
40
+ android:id="@+id/txtOpacity"
41
+ android:layout_width="0dp"
42
+ android:layout_height="wrap_content"
43
+ android:layout_marginEnd="8dp"
44
+ android:layout_marginStart="8dp"
45
+ android:layout_marginTop="32dp"
46
+ tools:text="@string/pe_label_opacity"
47
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
48
+ app:layout_constraintEnd_toEndOf="parent"
49
+ app:layout_constraintStart_toStartOf="parent"
50
+ app:layout_constraintTop_toBottomOf="@+id/sbSize" />
51
+
52
+ <SeekBar
53
+ android:id="@+id/sbSize"
54
+ android:layout_width="0dp"
55
+ android:layout_height="wrap_content"
56
+ android:layout_marginEnd="8dp"
57
+ android:layout_marginStart="8dp"
58
+ android:layout_marginTop="8dp"
59
+ android:progress="25"
60
+ app:layout_constraintEnd_toEndOf="parent"
61
+ app:layout_constraintStart_toStartOf="parent"
62
+ app:layout_constraintTop_toBottomOf="@+id/txtBrushSize" />
63
+
64
+ <TextView
65
+ android:id="@+id/txtBrushSize"
66
+ android:layout_width="0dp"
67
+ android:layout_height="wrap_content"
68
+ android:layout_marginEnd="8dp"
69
+ android:layout_marginStart="8dp"
70
+ android:layout_marginTop="8dp"
71
+ tools:text="@string/pe_label_brush"
72
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
73
+ app:layout_constraintLeft_toLeftOf="parent"
74
+ app:layout_constraintRight_toRightOf="parent"
75
+ app:layout_constraintTop_toTopOf="parent" />
76
+
77
+ </androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,135 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <androidx.constraintlayout.widget.ConstraintLayout
3
+ xmlns:android="http://schemas.android.com/apk/res/android"
4
+ xmlns:app="http://schemas.android.com/apk/res-auto"
5
+ xmlns:tools="http://schemas.android.com/tools"
6
+ android:layout_width="match_parent"
7
+ android:layout_height="wrap_content">
8
+
9
+ <RadioGroup
10
+ android:id="@+id/shapeRadioGroup"
11
+ android:layout_width="match_parent"
12
+ android:layout_height="wrap_content"
13
+ android:gravity="center"
14
+ android:orientation="horizontal"
15
+ app:layout_constraintLeft_toLeftOf="parent"
16
+ app:layout_constraintRight_toRightOf="parent"
17
+ app:layout_constraintTop_toBottomOf="@id/shapeType">
18
+
19
+ <RadioButton
20
+ android:id="@+id/brushRadioButton"
21
+ android:layout_width="wrap_content"
22
+ android:layout_height="wrap_content"
23
+ android:checked="true"
24
+ tools:text="@string/pe_label_brush" />
25
+
26
+ <RadioButton
27
+ android:id="@+id/lineRadioButton"
28
+ android:layout_width="wrap_content"
29
+ android:layout_height="wrap_content"
30
+ tools:text="@string/pe_label_line" />
31
+
32
+ <RadioButton
33
+ android:id="@+id/arrowRadioButton"
34
+ android:layout_width="wrap_content"
35
+ android:layout_height="wrap_content"
36
+ tools:text="@string/pe_label_arrow" />
37
+
38
+ <RadioButton
39
+ android:id="@+id/ovalRadioButton"
40
+ android:layout_width="wrap_content"
41
+ android:layout_height="wrap_content"
42
+ tools:text="@string/pe_label_oval" />
43
+
44
+ <RadioButton
45
+ android:id="@+id/rectRadioButton"
46
+ android:layout_width="wrap_content"
47
+ android:layout_height="wrap_content"
48
+ tools:text="@string/pe_label_rectangle" />
49
+
50
+ </RadioGroup>
51
+
52
+ <SeekBar
53
+ android:id="@+id/shapeSize"
54
+ android:layout_width="0dp"
55
+ android:layout_height="wrap_content"
56
+ android:layout_marginStart="8dp"
57
+ android:layout_marginTop="8dp"
58
+ android:layout_marginEnd="8dp"
59
+ android:progress="25"
60
+ app:layout_constraintEnd_toEndOf="parent"
61
+ app:layout_constraintStart_toStartOf="parent"
62
+ app:layout_constraintTop_toBottomOf="@id/txtShapeSize" />
63
+
64
+ <SeekBar
65
+ android:id="@+id/shapeOpacity"
66
+ android:layout_width="0dp"
67
+ android:layout_height="wrap_content"
68
+ android:layout_marginStart="8dp"
69
+ android:layout_marginTop="8dp"
70
+ android:layout_marginEnd="8dp"
71
+ android:max="255"
72
+ android:progress="255"
73
+ app:layout_constraintLeft_toLeftOf="parent"
74
+ app:layout_constraintRight_toRightOf="parent"
75
+ app:layout_constraintTop_toBottomOf="@id/txtOpacity" />
76
+
77
+ <TextView
78
+ android:id="@+id/txtShapeSize"
79
+ android:layout_width="0dp"
80
+ android:layout_height="wrap_content"
81
+ android:layout_marginStart="8dp"
82
+ android:layout_marginTop="8dp"
83
+ android:layout_marginEnd="8dp"
84
+ tools:text="@string/pe_label_brush"
85
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
86
+ app:layout_constraintLeft_toLeftOf="parent"
87
+ app:layout_constraintRight_toRightOf="parent"
88
+ app:layout_constraintTop_toBottomOf="@id/shapeRadioGroup" />
89
+
90
+ <TextView
91
+ android:id="@+id/txtOpacity"
92
+ android:layout_width="0dp"
93
+ android:layout_height="wrap_content"
94
+ android:layout_marginStart="8dp"
95
+ android:layout_marginTop="32dp"
96
+ android:layout_marginEnd="8dp"
97
+ tools:text="@string/pe_label_opacity"
98
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
99
+ app:layout_constraintEnd_toEndOf="parent"
100
+ app:layout_constraintStart_toStartOf="parent"
101
+ app:layout_constraintTop_toBottomOf="@id/txtShapeSize" />
102
+
103
+ <TextView
104
+ android:id="@+id/shapeType"
105
+ android:layout_width="0dp"
106
+ android:layout_height="wrap_content"
107
+ android:layout_marginStart="8dp"
108
+ android:layout_marginTop="8dp"
109
+ android:layout_marginEnd="8dp"
110
+ tools:text="@string/pe_label_shape"
111
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
112
+ app:layout_constraintLeft_toLeftOf="parent"
113
+ app:layout_constraintRight_toRightOf="parent"
114
+ app:layout_constraintTop_toTopOf="parent" />
115
+
116
+ <androidx.recyclerview.widget.RecyclerView
117
+ android:id="@+id/shapeColors"
118
+ android:layout_width="0dp"
119
+ android:layout_height="match_parent"
120
+ android:layout_alignParentTop="true"
121
+ android:layout_alignParentEnd="true"
122
+ android:layout_marginStart="8dp"
123
+ android:layout_marginTop="32dp"
124
+ android:layout_marginEnd="8dp"
125
+ android:layout_marginBottom="8dp"
126
+ android:orientation="horizontal"
127
+ app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
128
+ app:layout_constraintBottom_toBottomOf="parent"
129
+ app:layout_constraintEnd_toEndOf="parent"
130
+ app:layout_constraintStart_toStartOf="parent"
131
+ app:layout_constraintTop_toBottomOf="@id/shapeOpacity"
132
+ tools:background="@android:color/black"
133
+ tools:listitem="@layout/pe_color_picker_item_list" />
134
+
135
+ </androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,62 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+ xmlns:app="http://schemas.android.com/apk/res-auto"
4
+ xmlns:tools="http://schemas.android.com/tools"
5
+ android:layout_width="match_parent"
6
+ android:layout_height="wrap_content"
7
+ android:background="@android:color/transparent"
8
+ android:orientation="vertical">
9
+
10
+ <androidx.constraintlayout.widget.ConstraintLayout
11
+ android:layout_width="match_parent"
12
+ android:layout_height="match_parent"
13
+ android:layout_marginEnd="16dp"
14
+ android:layout_marginStart="16dp">
15
+
16
+ <TextView
17
+ android:id="@+id/txtClose"
18
+ android:layout_width="wrap_content"
19
+ android:layout_height="?attr/actionBarSize"
20
+ android:layout_marginStart="8dp"
21
+ android:gravity="center"
22
+ tools:text="@string/pe_label_close"
23
+ android:textAppearance="@style/TextAppearance.AppCompat.Large.Inverse"
24
+ android:visibility="gone"
25
+ app:layout_constraintStart_toStartOf="parent"
26
+ app:layout_constraintTop_toTopOf="parent" />
27
+
28
+ <View
29
+ android:id="@+id/lineView"
30
+ android:layout_width="match_parent"
31
+ android:layout_height="2px"
32
+ android:background="@android:color/white"
33
+ android:visibility="gone"
34
+ app:layout_constraintTop_toBottomOf="@+id/txtClose" />
35
+
36
+ <androidx.recyclerview.widget.RecyclerView
37
+ android:id="@+id/rvEmoji"
38
+ android:layout_width="0dp"
39
+ android:layout_height="match_parent"
40
+ android:layout_margin="8dp"
41
+ app:layout_behavior="@string/bottom_sheet_behavior"
42
+ app:layout_constraintBottom_toBottomOf="parent"
43
+ app:layout_constraintEnd_toEndOf="parent"
44
+ app:layout_constraintStart_toStartOf="parent"
45
+ app:layout_constraintTop_toBottomOf="@+id/lineView" />
46
+
47
+ <TextView
48
+ android:id="@+id/txtDone"
49
+ android:layout_width="wrap_content"
50
+ android:layout_height="?attr/actionBarSize"
51
+ android:layout_marginEnd="8dp"
52
+ android:gravity="center"
53
+ tools:text="@string/pe_label_done"
54
+ android:textAppearance="@style/TextAppearance.AppCompat.Large.Inverse"
55
+ android:visibility="gone"
56
+ app:layout_constraintEnd_toEndOf="parent"
57
+ app:layout_constraintTop_toTopOf="parent" />
58
+
59
+ </androidx.constraintlayout.widget.ConstraintLayout>
60
+
61
+ </LinearLayout>
62
+