react-native-readium 1.0.0-alpha.1

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 (225) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +135 -0
  3. package/android/build.gradle +198 -0
  4. package/android/gradle.properties +3 -0
  5. package/android/src/main/AndroidManifest.xml +4 -0
  6. package/android/src/main/java/com/reactnativereadium/ReadiumPackage.kt +17 -0
  7. package/android/src/main/java/com/reactnativereadium/ReadiumView.kt +84 -0
  8. package/android/src/main/java/com/reactnativereadium/ReadiumViewManager.kt +80 -0
  9. package/android/src/main/java/com/reactnativereadium/epub/UserSettings.kt +236 -0
  10. package/android/src/main/java/com/reactnativereadium/reader/BaseReaderFragment.kt +81 -0
  11. package/android/src/main/java/com/reactnativereadium/reader/EpubReaderFragment.kt +375 -0
  12. package/android/src/main/java/com/reactnativereadium/reader/ImageReaderFragment.kt +68 -0
  13. package/android/src/main/java/com/reactnativereadium/reader/PdfReaderFragment.kt +82 -0
  14. package/android/src/main/java/com/reactnativereadium/reader/ReaderService.kt +116 -0
  15. package/android/src/main/java/com/reactnativereadium/reader/ReaderViewModel.kt +120 -0
  16. package/android/src/main/java/com/reactnativereadium/reader/VisualReaderFragment.kt +78 -0
  17. package/android/src/main/java/com/reactnativereadium/search/SearchFragment.kt +100 -0
  18. package/android/src/main/java/com/reactnativereadium/search/SearchPagingSource.kt +44 -0
  19. package/android/src/main/java/com/reactnativereadium/search/SearchResultAdapter.kt +68 -0
  20. package/android/src/main/java/com/reactnativereadium/utils/ContentResolverUtil.kt +156 -0
  21. package/android/src/main/java/com/reactnativereadium/utils/Dimensions.kt +6 -0
  22. package/android/src/main/java/com/reactnativereadium/utils/EventChannel.kt +61 -0
  23. package/android/src/main/java/com/reactnativereadium/utils/FragmentFactory.kt +46 -0
  24. package/android/src/main/java/com/reactnativereadium/utils/R2DispatcherActivity.kt +45 -0
  25. package/android/src/main/java/com/reactnativereadium/utils/SectionDecoration.kt +98 -0
  26. package/android/src/main/java/com/reactnativereadium/utils/SingleClickListener.kt +32 -0
  27. package/android/src/main/java/com/reactnativereadium/utils/SystemUiManagement.kt +63 -0
  28. package/android/src/main/java/com/reactnativereadium/utils/extensions/Bitmap.kt +23 -0
  29. package/android/src/main/java/com/reactnativereadium/utils/extensions/Context.kt +16 -0
  30. package/android/src/main/java/com/reactnativereadium/utils/extensions/File.kt +22 -0
  31. package/android/src/main/java/com/reactnativereadium/utils/extensions/InputStream.kt +23 -0
  32. package/android/src/main/java/com/reactnativereadium/utils/extensions/Link.kt +6 -0
  33. package/android/src/main/java/com/reactnativereadium/utils/extensions/Metadata.kt +6 -0
  34. package/android/src/main/java/com/reactnativereadium/utils/extensions/URL.kt +29 -0
  35. package/android/src/main/java/com/reactnativereadium/utils/extensions/Uri.kt +17 -0
  36. package/android/src/main/res/drawable/background_action_mode.xml +6 -0
  37. package/android/src/main/res/drawable/cnl.png +0 -0
  38. package/android/src/main/res/drawable/cover.png +0 -0
  39. package/android/src/main/res/drawable/ic_add_white_24dp.xml +9 -0
  40. package/android/src/main/res/drawable/ic_baseline_arrow_forward_24.xml +5 -0
  41. package/android/src/main/res/drawable/ic_baseline_bookmark_24.xml +10 -0
  42. package/android/src/main/res/drawable/ic_baseline_delete_24.xml +10 -0
  43. package/android/src/main/res/drawable/ic_baseline_edit_24.xml +10 -0
  44. package/android/src/main/res/drawable/ic_baseline_enhanced_encryption_24.xml +10 -0
  45. package/android/src/main/res/drawable/ic_baseline_fast_forward_24.xml +10 -0
  46. package/android/src/main/res/drawable/ic_baseline_fast_rewind_24.xml +10 -0
  47. package/android/src/main/res/drawable/ic_baseline_headphones_24.xml +10 -0
  48. package/android/src/main/res/drawable/ic_baseline_pause_24.xml +10 -0
  49. package/android/src/main/res/drawable/ic_baseline_play_arrow_24.xml +10 -0
  50. package/android/src/main/res/drawable/ic_baseline_search_24.xml +10 -0
  51. package/android/src/main/res/drawable/ic_baseline_skip_next_24.xml +10 -0
  52. package/android/src/main/res/drawable/ic_baseline_skip_previous_24.xml +10 -0
  53. package/android/src/main/res/drawable/ic_dashboard_black_24dp.xml +9 -0
  54. package/android/src/main/res/drawable/ic_fastforward_30.xml +7 -0
  55. package/android/src/main/res/drawable/ic_info_black_24dp.xml +9 -0
  56. package/android/src/main/res/drawable/ic_local_library_black_24dp.xml +9 -0
  57. package/android/src/main/res/drawable/ic_notch.xml +4 -0
  58. package/android/src/main/res/drawable/ic_outline_add_24.xml +10 -0
  59. package/android/src/main/res/drawable/ic_outline_format_align_justify_24.xml +10 -0
  60. package/android/src/main/res/drawable/ic_outline_format_align_left_24.xml +11 -0
  61. package/android/src/main/res/drawable/ic_outline_format_size_24.xml +10 -0
  62. package/android/src/main/res/drawable/ic_outline_light_mode_24.xml +10 -0
  63. package/android/src/main/res/drawable/ic_outline_menu_24.xml +10 -0
  64. package/android/src/main/res/drawable/ic_outline_remove_24.xml +10 -0
  65. package/android/src/main/res/drawable/ic_outline_wb_sunny_24.xml +10 -0
  66. package/android/src/main/res/drawable/ic_rewind_30.xml +7 -0
  67. package/android/src/main/res/drawable/icon_font_decrease.png +0 -0
  68. package/android/src/main/res/drawable/icon_font_increase.png +0 -0
  69. package/android/src/main/res/drawable/icon_overflow.png +0 -0
  70. package/android/src/main/res/drawable/rbtn_selector.xml +25 -0
  71. package/android/src/main/res/drawable/rbtn_textcolor_selector.xml +16 -0
  72. package/android/src/main/res/drawable/repfr.png +0 -0
  73. package/android/src/main/res/drawable/selector_blue.xml +42 -0
  74. package/android/src/main/res/drawable/selector_green.xml +42 -0
  75. package/android/src/main/res/drawable/selector_purple.xml +42 -0
  76. package/android/src/main/res/drawable/selector_red.xml +42 -0
  77. package/android/src/main/res/drawable/selector_yellow.xml +41 -0
  78. package/android/src/main/res/layout/activity_epub.xml +23 -0
  79. package/android/src/main/res/layout/activity_main.xml +32 -0
  80. package/android/src/main/res/layout/activity_reader.xml +6 -0
  81. package/android/src/main/res/layout/add_catalog_dialog.xml +25 -0
  82. package/android/src/main/res/layout/filter_row.xml +34 -0
  83. package/android/src/main/res/layout/filter_window.xml +24 -0
  84. package/android/src/main/res/layout/fragment_about.xml +150 -0
  85. package/android/src/main/res/layout/fragment_audiobook.xml +151 -0
  86. package/android/src/main/res/layout/fragment_bookshelf.xml +35 -0
  87. package/android/src/main/res/layout/fragment_catalog.xml +56 -0
  88. package/android/src/main/res/layout/fragment_catalog_feed_list.xml +27 -0
  89. package/android/src/main/res/layout/fragment_drm_management.xml +284 -0
  90. package/android/src/main/res/layout/fragment_listview.xml +24 -0
  91. package/android/src/main/res/layout/fragment_outline.xml +31 -0
  92. package/android/src/main/res/layout/fragment_publication_detail.xml +55 -0
  93. package/android/src/main/res/layout/fragment_reader.xml +6 -0
  94. package/android/src/main/res/layout/fragment_screen_reader.xml +143 -0
  95. package/android/src/main/res/layout/fragment_search.xml +39 -0
  96. package/android/src/main/res/layout/item_group_view.xml +22 -0
  97. package/android/src/main/res/layout/item_recycle_book.xml +55 -0
  98. package/android/src/main/res/layout/item_recycle_bookmark.xml +72 -0
  99. package/android/src/main/res/layout/item_recycle_button.xml +23 -0
  100. package/android/src/main/res/layout/item_recycle_catalog.xml +56 -0
  101. package/android/src/main/res/layout/item_recycle_highlight.xml +85 -0
  102. package/android/src/main/res/layout/item_recycle_horizontal.xml +45 -0
  103. package/android/src/main/res/layout/item_recycle_navigation.xml +34 -0
  104. package/android/src/main/res/layout/item_recycle_search.xml +14 -0
  105. package/android/src/main/res/layout/item_spinner_days.xml +19 -0
  106. package/android/src/main/res/layout/my_fragment.xml +13 -0
  107. package/android/src/main/res/layout/popup_delete.xml +29 -0
  108. package/android/src/main/res/layout/popup_note.xml +105 -0
  109. package/android/src/main/res/layout/popup_passphrase.xml +126 -0
  110. package/android/src/main/res/layout/popup_window_user_settings.xml +576 -0
  111. package/android/src/main/res/layout/section_header.xml +25 -0
  112. package/android/src/main/res/layout/view_action_mode.xml +100 -0
  113. package/android/src/main/res/layout/view_action_mode_reverse.xml +99 -0
  114. package/android/src/main/res/menu/bottom_nav_menu.xml +19 -0
  115. package/android/src/main/res/menu/menu_action_mode.xml +26 -0
  116. package/android/src/main/res/menu/menu_bookmark.xml +18 -0
  117. package/android/src/main/res/menu/menu_epub.xml +41 -0
  118. package/android/src/main/res/menu/menu_filter.xml +21 -0
  119. package/android/src/main/res/menu/menu_reader.xml +33 -0
  120. package/android/src/main/res/navigation/navigation.xml +46 -0
  121. package/android/src/main/res/values/arrays.xml +18 -0
  122. package/android/src/main/res/values/colors.xml +22 -0
  123. package/android/src/main/res/values/refs.xml +5 -0
  124. package/android/src/main/res/values/strings.xml +200 -0
  125. package/android/src/main/res/values/styles.xml +46 -0
  126. package/android/src/main/res/xml/network_security_config.xml +38 -0
  127. package/ios/App/AppModule.swift +62 -0
  128. package/ios/Common/Paths.swift +52 -0
  129. package/ios/Common/Publication.swift +15 -0
  130. package/ios/Common/Toolkit/Extensions/AnyPublisher.swift +14 -0
  131. package/ios/Common/Toolkit/Extensions/Future.swift +16 -0
  132. package/ios/Common/Toolkit/Extensions/HTTPClient.swift +65 -0
  133. package/ios/Common/Toolkit/Extensions/Locator.swift +14 -0
  134. package/ios/Common/Toolkit/Extensions/String.swift +16 -0
  135. package/ios/Common/Toolkit/Extensions/UIImage.swift +12 -0
  136. package/ios/Common/Toolkit/Extensions/UIViewController.swift +19 -0
  137. package/ios/Common/Toolkit/ScreenOrientation.swift +13 -0
  138. package/ios/Data/Bookmark.swift +23 -0
  139. package/ios/Reader/Common/ReaderViewController.swift +309 -0
  140. package/ios/Reader/EPUB/AssociatedColors.swift +27 -0
  141. package/ios/Reader/EPUB/EPUBModule.swift +38 -0
  142. package/ios/Reader/EPUB/EPUBViewController.swift +79 -0
  143. package/ios/Reader/ReaderError.swift +25 -0
  144. package/ios/Reader/ReaderFormatModule.swift +27 -0
  145. package/ios/Reader/ReaderModule.swift +84 -0
  146. package/ios/Reader/ReaderService.swift +126 -0
  147. package/ios/Readium-Bridging-Header.h +2 -0
  148. package/ios/Readium.xcodeproj/project.pbxproj +293 -0
  149. package/ios/ReadiumView.swift +156 -0
  150. package/ios/ReadiumViewManager.m +10 -0
  151. package/ios/ReadiumViewManager.swift +9 -0
  152. package/lib/commonjs/enums/Appearance.js +16 -0
  153. package/lib/commonjs/enums/Appearance.js.map +1 -0
  154. package/lib/commonjs/enums/ColumnCount.js +16 -0
  155. package/lib/commonjs/enums/ColumnCount.js.map +1 -0
  156. package/lib/commonjs/enums/FontFamily.js +21 -0
  157. package/lib/commonjs/enums/FontFamily.js.map +1 -0
  158. package/lib/commonjs/enums/TextAlignment.js +15 -0
  159. package/lib/commonjs/enums/TextAlignment.js.map +1 -0
  160. package/lib/commonjs/enums/index.js +58 -0
  161. package/lib/commonjs/enums/index.js.map +1 -0
  162. package/lib/commonjs/index.js +105 -0
  163. package/lib/commonjs/index.js.map +1 -0
  164. package/lib/commonjs/interfaces/Dimensions.js +2 -0
  165. package/lib/commonjs/interfaces/Dimensions.js.map +1 -0
  166. package/lib/commonjs/interfaces/File.js +6 -0
  167. package/lib/commonjs/interfaces/File.js.map +1 -0
  168. package/lib/commonjs/interfaces/Locator.js +2 -0
  169. package/lib/commonjs/interfaces/Locator.js.map +1 -0
  170. package/lib/commonjs/interfaces/Settings.js +71 -0
  171. package/lib/commonjs/interfaces/Settings.js.map +1 -0
  172. package/lib/commonjs/interfaces/index.js +58 -0
  173. package/lib/commonjs/interfaces/index.js.map +1 -0
  174. package/lib/commonjs/utils/index.js +30 -0
  175. package/lib/commonjs/utils/index.js.map +1 -0
  176. package/lib/module/enums/Appearance.js +9 -0
  177. package/lib/module/enums/Appearance.js.map +1 -0
  178. package/lib/module/enums/ColumnCount.js +9 -0
  179. package/lib/module/enums/ColumnCount.js.map +1 -0
  180. package/lib/module/enums/FontFamily.js +14 -0
  181. package/lib/module/enums/FontFamily.js.map +1 -0
  182. package/lib/module/enums/TextAlignment.js +8 -0
  183. package/lib/module/enums/TextAlignment.js.map +1 -0
  184. package/lib/module/enums/index.js +5 -0
  185. package/lib/module/enums/index.js.map +1 -0
  186. package/lib/module/index.js +61 -0
  187. package/lib/module/index.js.map +1 -0
  188. package/lib/module/interfaces/Dimensions.js +2 -0
  189. package/lib/module/interfaces/Dimensions.js.map +1 -0
  190. package/lib/module/interfaces/File.js +2 -0
  191. package/lib/module/interfaces/File.js.map +1 -0
  192. package/lib/module/interfaces/Locator.js +2 -0
  193. package/lib/module/interfaces/Locator.js.map +1 -0
  194. package/lib/module/interfaces/Settings.js +61 -0
  195. package/lib/module/interfaces/Settings.js.map +1 -0
  196. package/lib/module/interfaces/index.js +5 -0
  197. package/lib/module/interfaces/index.js.map +1 -0
  198. package/lib/module/utils/index.js +17 -0
  199. package/lib/module/utils/index.js.map +1 -0
  200. package/lib/typescript/enums/Appearance.d.ts +11 -0
  201. package/lib/typescript/enums/ColumnCount.d.ts +5 -0
  202. package/lib/typescript/enums/FontFamily.d.ts +10 -0
  203. package/lib/typescript/enums/TextAlignment.d.ts +4 -0
  204. package/lib/typescript/enums/index.d.ts +4 -0
  205. package/lib/typescript/index.d.ts +17 -0
  206. package/lib/typescript/interfaces/Dimensions.d.ts +4 -0
  207. package/lib/typescript/interfaces/File.d.ts +11 -0
  208. package/lib/typescript/interfaces/Locator.d.ts +14 -0
  209. package/lib/typescript/interfaces/Settings.d.ts +40 -0
  210. package/lib/typescript/interfaces/index.d.ts +4 -0
  211. package/lib/typescript/utils/index.d.ts +10 -0
  212. package/package.json +160 -0
  213. package/react-native-readium.podspec +25 -0
  214. package/src/enums/Appearance.ts +14 -0
  215. package/src/enums/ColumnCount.ts +6 -0
  216. package/src/enums/FontFamily.ts +11 -0
  217. package/src/enums/TextAlignment.ts +5 -0
  218. package/src/enums/index.ts +4 -0
  219. package/src/index.tsx +78 -0
  220. package/src/interfaces/Dimensions.ts +4 -0
  221. package/src/interfaces/File.ts +14 -0
  222. package/src/interfaces/Locator.ts +14 -0
  223. package/src/interfaces/Settings.ts +85 -0
  224. package/src/interfaces/index.ts +4 -0
  225. package/src/utils/index.ts +18 -0
@@ -0,0 +1,284 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
4
+ android:layout_width="match_parent"
5
+ android:layout_height="match_parent"
6
+ android:padding="10dp">
7
+
8
+ <LinearLayout
9
+ android:layout_width="match_parent"
10
+ android:layout_height="wrap_content"
11
+ android:orientation="vertical">
12
+
13
+ <TextView
14
+ android:layout_width="wrap_content"
15
+ android:layout_height="wrap_content"
16
+ android:padding="10dp"
17
+ android:paddingTop="15dp"
18
+ android:text="@string/drm_information_header"
19
+ android:textSize="20sp"
20
+ android:textStyle="bold"/>
21
+
22
+ <LinearLayout
23
+ android:layout_width="match_parent"
24
+ android:layout_height="wrap_content"
25
+ android:orientation="horizontal"
26
+ android:weightSum="2">
27
+
28
+ <TextView
29
+ android:layout_width="wrap_content"
30
+ android:layout_height="wrap_content"
31
+ android:layout_weight="1"
32
+ android:padding="10dp"
33
+ android:text="@string/drm_label_license_type"
34
+ android:textSize="18sp" />
35
+
36
+ <TextView
37
+ android:id="@+id/drm_value_license_type"
38
+ android:layout_width="wrap_content"
39
+ android:layout_height="wrap_content"
40
+ android:layout_weight="1"
41
+ android:gravity="end"
42
+ android:padding="10dp"
43
+ android:textSize="18sp" />
44
+
45
+ </LinearLayout>
46
+
47
+ <LinearLayout
48
+ android:layout_width="match_parent"
49
+ android:layout_height="wrap_content"
50
+ android:orientation="horizontal"
51
+ android:weightSum="2">
52
+
53
+ <TextView
54
+ android:layout_width="wrap_content"
55
+ android:layout_height="wrap_content"
56
+ android:layout_weight="1"
57
+ android:padding="10dp"
58
+ android:text="@string/drm_label_state"
59
+ android:textSize="18sp" />
60
+
61
+ <TextView
62
+ android:id="@+id/drm_value_state"
63
+ android:layout_width="wrap_content"
64
+ android:layout_height="wrap_content"
65
+ android:layout_weight="1"
66
+ android:gravity="end"
67
+ android:padding="10dp"
68
+ android:textSize="18sp" />
69
+
70
+ </LinearLayout>
71
+
72
+ <LinearLayout
73
+ android:layout_width="match_parent"
74
+ android:layout_height="wrap_content"
75
+ android:orientation="horizontal"
76
+ android:weightSum="2">
77
+
78
+ <TextView
79
+ android:layout_width="wrap_content"
80
+ android:layout_height="wrap_content"
81
+ android:layout_weight="1"
82
+ android:padding="10dp"
83
+ android:text="@string/drm_label_provider"
84
+ android:textSize="18sp" />
85
+
86
+ <TextView
87
+ android:id="@+id/drm_value_provider"
88
+ android:layout_width="wrap_content"
89
+ android:layout_height="wrap_content"
90
+ android:layout_weight="1"
91
+ android:gravity="end"
92
+ android:padding="10dp"
93
+ android:textSize="18sp" />
94
+
95
+ </LinearLayout>
96
+
97
+ <LinearLayout
98
+ android:layout_width="match_parent"
99
+ android:layout_height="wrap_content"
100
+ android:orientation="horizontal"
101
+ android:weightSum="2">
102
+
103
+ <TextView
104
+ android:layout_width="wrap_content"
105
+ android:layout_height="wrap_content"
106
+ android:layout_weight="1"
107
+ android:padding="10dp"
108
+ android:text="@string/drm_label_issued"
109
+ android:textSize="18sp" />
110
+
111
+ <TextView
112
+ android:id="@+id/drm_value_issued"
113
+ android:layout_width="wrap_content"
114
+ android:layout_height="wrap_content"
115
+ android:layout_weight="1"
116
+ android:gravity="end"
117
+ android:padding="10dp"
118
+ android:textSize="18sp" />
119
+
120
+ </LinearLayout>
121
+
122
+ <LinearLayout
123
+ android:layout_width="match_parent"
124
+ android:layout_height="wrap_content"
125
+ android:orientation="horizontal"
126
+ android:weightSum="2">
127
+
128
+ <TextView
129
+ android:layout_width="wrap_content"
130
+ android:layout_height="wrap_content"
131
+ android:layout_weight="1"
132
+ android:padding="10dp"
133
+ android:text="@string/drm_label_updated"
134
+ android:textSize="18sp" />
135
+
136
+ <TextView
137
+ android:id="@+id/drm_value_updated"
138
+ android:layout_width="wrap_content"
139
+ android:layout_height="wrap_content"
140
+ android:layout_weight="1"
141
+ android:gravity="end"
142
+ android:padding="10dp"
143
+ android:textSize="18sp" />
144
+
145
+ </LinearLayout>
146
+
147
+ <TextView
148
+ android:layout_width="wrap_content"
149
+ android:layout_height="wrap_content"
150
+ android:padding="10dp"
151
+ android:paddingTop="15dp"
152
+ android:text="@string/drm_label_rights"
153
+ android:textSize="20sp"
154
+ android:textStyle="bold"/>
155
+
156
+ <LinearLayout
157
+ android:layout_width="match_parent"
158
+ android:layout_height="wrap_content"
159
+ android:orientation="horizontal"
160
+ android:weightSum="2">
161
+
162
+ <TextView
163
+ android:layout_width="wrap_content"
164
+ android:layout_height="wrap_content"
165
+ android:layout_weight="1"
166
+ android:padding="10dp"
167
+ android:text="@string/drm_label_prints_left"
168
+ android:textSize="18sp" />
169
+
170
+ <TextView
171
+ android:id="@+id/drm_value_prints_left"
172
+ android:layout_width="wrap_content"
173
+ android:layout_height="wrap_content"
174
+ android:layout_weight="1"
175
+ android:gravity="end"
176
+ android:padding="10dp"
177
+ android:textSize="18sp" />
178
+
179
+ </LinearLayout>
180
+
181
+ <LinearLayout
182
+ android:layout_width="match_parent"
183
+ android:layout_height="wrap_content"
184
+ android:orientation="horizontal"
185
+ android:weightSum="2">
186
+
187
+ <TextView
188
+ android:layout_width="wrap_content"
189
+ android:layout_height="wrap_content"
190
+ android:layout_weight="1"
191
+ android:padding="10dp"
192
+ android:text="@string/drm_label_copies_left"
193
+ android:textSize="18sp" />
194
+
195
+ <TextView
196
+ android:id="@+id/drm_value_copies_left"
197
+ android:layout_width="wrap_content"
198
+ android:layout_height="wrap_content"
199
+ android:layout_weight="1"
200
+ android:gravity="end"
201
+ android:padding="10dp"
202
+ android:textSize="18sp" />
203
+
204
+ </LinearLayout>
205
+
206
+ <LinearLayout
207
+ android:id="@+id/drm_start"
208
+ android:layout_width="match_parent"
209
+ android:layout_height="wrap_content"
210
+ android:orientation="horizontal"
211
+ android:weightSum="2">
212
+
213
+ <TextView
214
+ android:layout_width="wrap_content"
215
+ android:layout_height="wrap_content"
216
+ android:layout_weight="1"
217
+ android:padding="10dp"
218
+ android:text="@string/drm_label_start"
219
+ android:textSize="18sp" />
220
+
221
+ <TextView
222
+ android:id="@+id/drm_value_start"
223
+ android:layout_width="wrap_content"
224
+ android:layout_height="wrap_content"
225
+ android:layout_weight="1"
226
+ android:gravity="end"
227
+ android:padding="10dp"
228
+ android:textSize="18sp" />
229
+
230
+ </LinearLayout>
231
+
232
+ <LinearLayout
233
+ android:id="@+id/drm_end"
234
+ android:layout_width="match_parent"
235
+ android:layout_height="wrap_content"
236
+ android:orientation="horizontal"
237
+ android:weightSum="2">
238
+
239
+ <TextView
240
+ android:layout_width="wrap_content"
241
+ android:layout_height="wrap_content"
242
+ android:layout_weight="1"
243
+ android:padding="10dp"
244
+ android:text="@string/drm_label_end"
245
+ android:textSize="18sp" />
246
+
247
+ <TextView
248
+ android:id="@+id/drm_value_end"
249
+ android:layout_width="wrap_content"
250
+ android:layout_height="wrap_content"
251
+ android:layout_weight="1"
252
+ android:gravity="end"
253
+ android:padding="10dp"
254
+ android:textSize="18sp" />
255
+
256
+ </LinearLayout>
257
+
258
+ <TextView
259
+ android:id="@+id/drm_label_actions"
260
+ android:layout_width="wrap_content"
261
+ android:layout_height="wrap_content"
262
+ android:padding="10dp"
263
+ android:paddingTop="15dp"
264
+ android:text="@string/drm_label_actions"
265
+ android:textSize="20sp"
266
+ android:textStyle="bold"/>
267
+
268
+ <Button
269
+ android:id="@+id/drm_button_renew"
270
+ android:layout_width="match_parent"
271
+ android:layout_height="wrap_content"
272
+ android:layout_weight="1"
273
+ android:text="@string/drm_label_renew" />
274
+
275
+ <Button
276
+ android:id="@+id/drm_button_return"
277
+ android:layout_width="match_parent"
278
+ android:layout_height="wrap_content"
279
+ android:layout_weight="1"
280
+ android:text="@string/drm_label_return" />
281
+
282
+ </LinearLayout>
283
+
284
+ </ScrollView>
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="utf-8"?><!--
2
+ ~ Module: r2-testapp-kotlin
3
+ ~ Developers: Aferdita Muriqi, Clément Baumann, Mostapha Idoubihi, Paul Stoica
4
+ ~
5
+ ~ Copyright (c) 2018. European Digital Reading Lab. All rights reserved.
6
+ ~ Licensed to the Readium Foundation under one or more contributor license agreements.
7
+ ~ Use of this source code is governed by a BSD-style license which is detailed in the
8
+ ~ LICENSE file present in the project repository where this source code is maintained.
9
+ -->
10
+
11
+ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
12
+ xmlns:app="http://schemas.android.com/apk/res-auto"
13
+ android:id="@android:id/tabcontent"
14
+ android:layout_width="match_parent"
15
+ android:layout_height="wrap_content">
16
+
17
+ <androidx.recyclerview.widget.RecyclerView
18
+ android:id="@+id/list_view"
19
+ android:layout_width="match_parent"
20
+ android:layout_height="match_parent"
21
+ app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
22
+
23
+ </FrameLayout>
24
+
@@ -0,0 +1,31 @@
1
+ <?xml version="1.0" encoding="utf-8"?><!--
2
+ ~ Module: r2-testapp-kotlin
3
+ ~ Developers: Aferdita Muriqi, Clément Baumann, Mostapha Idoubihi, Paul Stoica
4
+ ~
5
+ ~ Copyright (c) 2018. European Digital Reading Lab. All rights reserved.
6
+ ~ Licensed to the Readium Foundation under one or more contributor license agreements.
7
+ ~ Use of this source code is governed by a BSD-style license which is detailed in the
8
+ ~ LICENSE file present in the project repository where this source code is maintained.
9
+ -->
10
+
11
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
12
+ xmlns:app="http://schemas.android.com/apk/res-auto"
13
+ android:layout_width="match_parent"
14
+ android:layout_height="match_parent"
15
+ android:layout_marginTop="?attr/actionBarSize"
16
+ android:orientation="vertical">
17
+
18
+ <com.google.android.material.tabs.TabLayout
19
+ android:id="@+id/outline_tab_layout"
20
+ android:layout_width="match_parent"
21
+ android:layout_height="wrap_content"
22
+ app:tabMode="scrollable"
23
+ app:tabGravity="start"/>
24
+
25
+ <androidx.viewpager2.widget.ViewPager2
26
+ android:id="@+id/outline_pager"
27
+ android:layout_width="match_parent"
28
+ android:layout_height="0dp"
29
+ android:layout_weight="1" />
30
+
31
+ </LinearLayout>
@@ -0,0 +1,55 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+
4
+ <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
5
+ xmlns:tools="http://schemas.android.com/tools"
6
+ android:layout_width="match_parent"
7
+ android:layout_height="match_parent">
8
+
9
+ <androidx.core.widget.NestedScrollView
10
+ android:layout_width="match_parent"
11
+ android:layout_height="match_parent"
12
+ android:fillViewport="true">
13
+
14
+ <LinearLayout
15
+ android:layout_width="match_parent"
16
+ android:layout_height="match_parent"
17
+ android:orientation="vertical"
18
+ android:padding="10dp"
19
+ tools:context=".catalogs.PublicationDetailFragment">
20
+
21
+ <ImageView
22
+ android:id="@+id/catalogDetail_coverImage"
23
+ android:layout_width="match_parent"
24
+ android:layout_height="400dp"
25
+ android:contentDescription="@string/cover_image" />
26
+
27
+ <TextView
28
+ android:id="@+id/catalogDetail_titleText"
29
+ android:layout_width="match_parent"
30
+ android:layout_height="wrap_content"
31
+ android:textSize="24sp" />
32
+
33
+ <TextView
34
+ android:id="@+id/catalogDetail_descriptionText"
35
+ android:layout_width="match_parent"
36
+ android:layout_height="wrap_content" />
37
+
38
+ <Button
39
+ android:id="@+id/catalogDetail_downloadButton"
40
+ android:layout_width="wrap_content"
41
+ android:layout_height="wrap_content"
42
+ android:text="@string/catalog_detail_download_button" />
43
+ </LinearLayout>
44
+
45
+ </androidx.core.widget.NestedScrollView>
46
+
47
+ <ProgressBar
48
+ android:id="@+id/catalogDetail_progressBar"
49
+ style="?android:attr/progressBarStyle"
50
+ android:layout_width="wrap_content"
51
+ android:layout_height="wrap_content"
52
+ android:layout_gravity="center"
53
+ android:background="@color/white"
54
+ android:visibility="gone" />
55
+ </androidx.coordinatorlayout.widget.CoordinatorLayout>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
4
+ android:id="@+id/fragment_reader_container"
5
+ android:layout_width="match_parent"
6
+ android:layout_height="match_parent" />
@@ -0,0 +1,143 @@
1
+ <?xml version="1.0" encoding="utf-8"?><!--
2
+ ~ Copyright 2021 Readium Foundation. All rights reserved.
3
+ ~ Use of this source code is governed by the BSD-style license
4
+ ~ available in the top-level LICENSE file of the project.
5
+ -->
6
+
7
+ <androidx.constraintlayout.widget.ConstraintLayout
8
+ xmlns:android="http://schemas.android.com/apk/res/android"
9
+ xmlns:app="http://schemas.android.com/apk/res-auto"
10
+ android:id="@+id/tts_overlay"
11
+ android:layout_width="match_parent"
12
+ android:layout_height="match_parent"
13
+ android:layout_marginTop="?attr/actionBarSize"
14
+ android:background="@color/colorAccent">
15
+
16
+ <androidx.constraintlayout.widget.ConstraintLayout
17
+ android:id="@+id/timeline"
18
+ android:layout_width="match_parent"
19
+ android:layout_height="wrap_content"
20
+ android:background="@color/colorPrimaryDark"
21
+ android:orientation="horizontal"
22
+ app:layout_constraintBottom_toTopOf="@+id/tts_textView"
23
+ app:layout_constraintEnd_toEndOf="parent"
24
+ app:layout_constraintStart_toStartOf="parent"
25
+ app:layout_constraintTop_toTopOf="parent">
26
+
27
+ <TextView
28
+ android:id="@+id/titleView"
29
+ android:layout_width="0dp"
30
+ android:layout_height="40dp"
31
+ android:layout_marginStart="8dp"
32
+ android:layout_marginTop="8dp"
33
+ android:layout_marginEnd="8dp"
34
+ android:layout_marginBottom="8dp"
35
+ android:ellipsize="end"
36
+ android:gravity="center"
37
+ android:maxLines="1"
38
+ android:scrollHorizontally="true"
39
+ android:text="@string/chapter"
40
+ android:textColor="@android:color/white"
41
+ android:textSize="18sp"
42
+ app:layout_constraintBottom_toBottomOf="parent"
43
+ app:layout_constraintEnd_toEndOf="parent"
44
+ app:layout_constraintStart_toStartOf="parent"
45
+ app:layout_constraintTop_toTopOf="parent" />
46
+
47
+ </androidx.constraintlayout.widget.ConstraintLayout>
48
+
49
+ <TextView
50
+ android:id="@+id/tts_textView"
51
+ android:layout_width="0dp"
52
+ android:layout_height="0dp"
53
+ android:layout_centerHorizontal="true"
54
+ android:layout_marginStart="8dp"
55
+ android:layout_marginEnd="8dp"
56
+ android:layout_marginBottom="8dp"
57
+ android:adjustViewBounds="true"
58
+ android:cropToPadding="true"
59
+ android:gravity="center"
60
+ android:scaleType="fitXY"
61
+ android:textAlignment="center"
62
+ android:textColor="@color/colorPrimaryDark"
63
+ android:textSize="24sp"
64
+ android:textStyle="italic"
65
+
66
+ app:layout_constraintBottom_toTopOf="@+id/controls"
67
+ app:layout_constraintEnd_toEndOf="parent"
68
+ app:layout_constraintStart_toStartOf="parent"
69
+ app:layout_constraintTop_toBottomOf="@+id/timeline" />
70
+
71
+ <LinearLayout
72
+ android:id="@+id/controls"
73
+ android:layout_width="0dp"
74
+ android:layout_height="70dp"
75
+ android:background="@color/colorPrimaryDark"
76
+ android:gravity="center_vertical|center_horizontal"
77
+ android:orientation="horizontal"
78
+ android:weightSum="5"
79
+ app:layout_constraintBottom_toBottomOf="parent"
80
+ app:layout_constraintEnd_toEndOf="parent"
81
+ app:layout_constraintStart_toStartOf="parent">
82
+
83
+
84
+ <ImageButton
85
+ android:id="@+id/prev_chapter"
86
+ android:layout_width="48dp"
87
+ android:layout_height="48dp"
88
+ android:layout_weight="1"
89
+ android:background="@android:color/transparent"
90
+ android:contentDescription="@string/previous_chapter"
91
+ android:scaleType="fitCenter"
92
+ android:src="@drawable/ic_baseline_skip_previous_24"
93
+ app:tint="@android:color/white" />
94
+
95
+ <ImageButton
96
+ android:id="@+id/fast_back"
97
+ android:layout_width="48dp"
98
+ android:layout_height="48dp"
99
+ android:layout_weight="1"
100
+ android:background="@android:color/transparent"
101
+ android:contentDescription="@string/previous_sentence"
102
+ android:scaleType="fitCenter"
103
+ android:src="@drawable/ic_baseline_fast_rewind_24"
104
+ app:tint="@android:color/white" />
105
+
106
+
107
+ <ImageButton
108
+ android:id="@+id/play_pause"
109
+ android:layout_width="50dp"
110
+ android:layout_height="50dp"
111
+ android:layout_weight="1"
112
+ android:background="@android:color/transparent"
113
+ android:contentDescription="@string/play_and_pause"
114
+ android:scaleType="fitCenter"
115
+ android:src="@drawable/ic_baseline_play_arrow_24"
116
+ app:tint="@android:color/white" />
117
+
118
+ <ImageButton
119
+ android:id="@+id/fast_forward"
120
+ android:layout_width="48dp"
121
+ android:layout_height="48dp"
122
+ android:layout_weight="1"
123
+ android:background="@android:color/transparent"
124
+ android:contentDescription="@string/next_sentence"
125
+ android:scaleType="fitCenter"
126
+ android:src="@drawable/ic_baseline_fast_forward_24"
127
+ app:tint="@android:color/white" />
128
+
129
+ <ImageButton
130
+ android:id="@+id/next_chapter"
131
+ android:layout_width="48dp"
132
+ android:layout_height="48dp"
133
+ android:layout_weight="1"
134
+ android:background="@android:color/transparent"
135
+ android:contentDescription="@string/next_chapter"
136
+ android:scaleType="fitCenter"
137
+ android:src="@drawable/ic_baseline_skip_next_24"
138
+ app:tint="@android:color/white" />
139
+
140
+
141
+ </LinearLayout>
142
+
143
+ </androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,39 @@
1
+ <?xml version="1.0" encoding="utf-8"?><!--
2
+ ~ Module: r2-navigator-kotlin
3
+ ~ Developers: Aferdita Muriqi, Clément Baumann
4
+ ~
5
+ ~ Copyright (c) 2018. Readium Foundation. All rights reserved.
6
+ ~ Use of this source code is governed by a BSD-style license which is detailed in the
7
+ ~ LICENSE file present in the project repository where this source code is maintained.
8
+ -->
9
+
10
+ <androidx.constraintlayout.widget.ConstraintLayout
11
+ xmlns:android="http://schemas.android.com/apk/res/android"
12
+ xmlns:app="http://schemas.android.com/apk/res-auto"
13
+ android:id="@+id/search_overlay"
14
+ android:layout_width="match_parent"
15
+ android:layout_height="match_parent"
16
+ android:background="@color/colorAccent">
17
+
18
+ <androidx.recyclerview.widget.RecyclerView
19
+ android:id="@+id/search_recyclerView"
20
+ android:layout_width="0dp"
21
+ android:layout_height="0dp"
22
+ android:background="@android:color/white"
23
+ app:layout_constraintBottom_toBottomOf="@id/search_overlay"
24
+ app:layout_constraintEnd_toEndOf="@id/search_overlay"
25
+ app:layout_constraintStart_toStartOf="@id/search_overlay"
26
+ app:layout_constraintTop_toTopOf="@id/search_overlay" />
27
+
28
+ <TextView
29
+ android:id="@+id/noResultLabel"
30
+ android:layout_width="wrap_content"
31
+ android:layout_height="wrap_content"
32
+ android:layout_marginTop="24dp"
33
+ android:text="@string/no_result"
34
+ app:layout_constraintEnd_toEndOf="parent"
35
+ app:layout_constraintStart_toStartOf="parent"
36
+ app:layout_constraintTop_toTopOf="parent"
37
+ android:visibility="gone"/>
38
+
39
+ </androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+ xmlns:tools="http://schemas.android.com/tools"
4
+ android:layout_width="match_parent"
5
+ android:layout_height="wrap_content"
6
+ tools:context=".catalogs.CatalogFeedListFragment">
7
+
8
+ <include
9
+ android:id="@+id/groupView_groupPublications"
10
+ layout="@layout/item_recycle_horizontal" />
11
+
12
+ <androidx.recyclerview.widget.RecyclerView
13
+ android:id="@+id/groupView_groupLinks"
14
+ android:name="com.reactnativereadium.opds"
15
+ android:layout_width="match_parent"
16
+ android:layout_height="wrap_content"
17
+ android:layout_marginLeft="16dp"
18
+ android:layout_marginRight="16dp"
19
+ tools:context="com.reactnativereadium.opds"
20
+ tools:listitem="@layout/item_recycle_button" />
21
+
22
+ </androidx.coordinatorlayout.widget.CoordinatorLayout>
@@ -0,0 +1,55 @@
1
+ <!--
2
+ ~ Module: r2-testapp-kotlin
3
+ ~ Developers: Aferdita Muriqi, Clément Baumann
4
+ ~
5
+ ~ Copyright (c) 2018. European Digital Reading Lab. All rights reserved.
6
+ ~ Licensed to the Readium Foundation under one or more contributor license agreements.
7
+ ~ Use of this source code is governed by a BSD-style license which is detailed in the
8
+ ~ LICENSE file present in the project repository where this source code is maintained.
9
+ -->
10
+
11
+ <androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
12
+ xmlns:tools="http://schemas.android.com/tools"
13
+ android:id="@+id/bookshelf_cardView"
14
+ android:layout_width="120dp"
15
+ android:layout_height="wrap_content"
16
+ android:layout_margin="5dp">
17
+
18
+ <LinearLayout
19
+ android:layout_width="match_parent"
20
+ android:layout_height="200dp"
21
+ android:orientation="vertical"
22
+ android:weightSum="4">
23
+
24
+ <FrameLayout
25
+ android:layout_width="match_parent"
26
+ android:layout_height="match_parent"
27
+ tools:ignore="UselessParent">
28
+
29
+ <ImageView
30
+ android:id="@+id/bookshelf_coverImage"
31
+ android:layout_width="match_parent"
32
+ android:layout_height="match_parent"
33
+ android:contentDescription="@string/cover_image" />
34
+
35
+ <LinearLayout
36
+ android:layout_width="match_parent"
37
+ android:layout_height="wrap_content"
38
+ android:layout_gravity="start|bottom"
39
+ android:background="@android:drawable/screen_background_dark_transparent"
40
+ android:orientation="vertical">
41
+
42
+ <TextView
43
+ android:id="@+id/bookshelf_titleText"
44
+ android:layout_width="match_parent"
45
+ android:layout_height="wrap_content"
46
+ android:padding="16dp"
47
+ android:textColor="#FFFFFF"
48
+ android:textSize="12sp" />
49
+ </LinearLayout>
50
+
51
+ </FrameLayout>
52
+
53
+ </LinearLayout>
54
+
55
+ </androidx.cardview.widget.CardView>