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,576 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <!--
4
+ ~ Module: r2-navigator-kotlin
5
+ ~ Developers: Aferdita Muriqi, Clément Baumann
6
+ ~
7
+ ~ Copyright (c) 2018. European Digital Reading Lab. All rights reserved.
8
+ ~ Licensed to the Readium Foundation under one or more contributor license agreements.
9
+ ~ Use of this source code is governed by a BSD-style license which is detailed in the
10
+ ~ LICENSE file present in the project repository where this source code is maintained.
11
+ -->
12
+
13
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
14
+ xmlns:app="http://schemas.android.com/apk/res-auto"
15
+ android:layout_width="200dp"
16
+ android:layout_height="match_parent"
17
+ android:background="@android:color/background_light"
18
+ android:gravity="end"
19
+ android:orientation="horizontal"
20
+ android:padding="10dp">
21
+
22
+ <TabHost
23
+ android:id="@+id/tabhost"
24
+ android:layout_width="200dp"
25
+ android:layout_height="match_parent">
26
+
27
+ <LinearLayout
28
+ android:layout_width="match_parent"
29
+ android:layout_height="match_parent"
30
+ android:orientation="vertical">
31
+
32
+ <TabWidget
33
+ android:id="@android:id/tabs"
34
+ android:layout_width="match_parent"
35
+ android:layout_height="wrap_content"/>
36
+
37
+ <FrameLayout
38
+ android:id="@android:id/tabcontent"
39
+ android:layout_width="match_parent"
40
+ android:layout_height="match_parent">
41
+
42
+ <LinearLayout
43
+ android:id="@+id/SettingsTab"
44
+ android:layout_width="match_parent"
45
+ android:layout_height="wrap_content"
46
+ android:orientation="vertical">
47
+
48
+ <LinearLayout
49
+ android:layout_width="match_parent"
50
+ android:layout_height="match_parent"
51
+ android:layout_marginBottom="10dp"
52
+ android:layout_marginTop="20dp"
53
+ android:orientation="horizontal">
54
+
55
+ <ImageView
56
+ android:id="@+id/imageView3"
57
+ android:layout_width="14dp"
58
+ android:layout_height="20dp"
59
+ android:layout_weight="1"
60
+ app:srcCompat="@drawable/ic_outline_light_mode_24"
61
+ android:contentDescription="@string/brightness_lower"
62
+ app:tint="@android:color/black" />
63
+
64
+ <SeekBar
65
+ android:id="@+id/brightness"
66
+ android:layout_width="match_parent"
67
+ android:layout_height="wrap_content"
68
+ android:layout_weight="100"
69
+ android:contentDescription="@string/usersettings_description_brightness"/>
70
+
71
+ <ImageView
72
+ android:id="@+id/imageView4"
73
+ android:layout_width="20dp"
74
+ android:layout_height="20dp"
75
+ android:layout_weight="1"
76
+ app:srcCompat="@drawable/ic_outline_wb_sunny_24"
77
+ android:contentDescription="@string/brightness_higher"
78
+ app:tint="@android:color/black" />
79
+ </LinearLayout>
80
+
81
+ <LinearLayout
82
+ android:layout_width="match_parent"
83
+ android:layout_height="wrap_content"
84
+ android:orientation="horizontal">
85
+
86
+ <ImageButton
87
+ android:id="@+id/font_decrease"
88
+ android:layout_width="wrap_content"
89
+ android:layout_height="48dp"
90
+ android:layout_weight="1"
91
+ android:backgroundTint="@android:color/white"
92
+ android:scaleType="fitCenter"
93
+ android:contentDescription="@string/usersettings_description_font_decrease"
94
+ app:srcCompat="@drawable/icon_font_decrease" />
95
+
96
+ <ImageButton
97
+ android:id="@+id/font_increase"
98
+ android:layout_width="wrap_content"
99
+ android:layout_height="48dp"
100
+ android:layout_weight="1"
101
+ android:backgroundTint="@android:color/white"
102
+ android:scaleType="fitCenter"
103
+ android:contentDescription="@string/usersettings_description_font_increase"
104
+ app:srcCompat="@drawable/icon_font_increase" />
105
+
106
+ </LinearLayout>
107
+
108
+ <LinearLayout
109
+ android:layout_width="match_parent"
110
+ android:layout_height="wrap_content"
111
+ android:layout_gravity="center_vertical"
112
+ android:layout_marginBottom="10dp"
113
+ android:orientation="horizontal">
114
+
115
+
116
+ <TextView
117
+ android:layout_width="wrap_content"
118
+ android:layout_height="wrap_content"
119
+ android:layout_gravity="center_vertical"
120
+ android:layout_marginEnd="20dp"
121
+ android:gravity="center_horizontal"
122
+ android:text="@string/usersettings_label_font"
123
+ android:textSize="16sp"/>
124
+
125
+
126
+ <Spinner
127
+ android:id="@+id/spinner_action_settings_intervall_values"
128
+ android:layout_width="match_parent"
129
+ android:layout_height="48dp"
130
+ android:spinnerMode="dialog"
131
+ android:contentDescription="@string/select_a_font"/>
132
+ </LinearLayout>
133
+
134
+ <RadioGroup
135
+ android:id="@+id/appearance"
136
+ android:layout_width="match_parent"
137
+ android:layout_height="wrap_content"
138
+ android:layout_marginBottom="10dp"
139
+ android:orientation="horizontal">
140
+
141
+
142
+ <RadioButton
143
+ android:id="@+id/appearance_default"
144
+ android:layout_width="match_parent"
145
+ android:layout_height="48dp"
146
+ android:layout_weight="1"
147
+ android:background="@drawable/rbtn_selector"
148
+ android:button="@null"
149
+ android:checked="true"
150
+ android:gravity="center"
151
+ android:padding="5dp"
152
+ android:text="@string/usersettings_appearance_default"
153
+ android:textSize="16sp"
154
+ android:textColor="@drawable/rbtn_textcolor_selector" />
155
+
156
+ <RadioButton
157
+ android:id="@+id/appearance_sepia"
158
+ android:layout_width="match_parent"
159
+ android:layout_height="48dp"
160
+ android:layout_weight="1"
161
+ android:background="@drawable/rbtn_selector"
162
+ android:button="@null"
163
+ android:gravity="center"
164
+ android:padding="5dp"
165
+ android:text="@string/usersettings_appearance_sepia"
166
+ android:textSize="16sp"
167
+ android:textColor="@drawable/rbtn_textcolor_selector" />
168
+
169
+ <RadioButton
170
+ android:id="@+id/appearance_night"
171
+ android:layout_width="match_parent"
172
+ android:layout_height="48dp"
173
+ android:layout_weight="1"
174
+ android:background="@drawable/rbtn_selector"
175
+ android:button="@null"
176
+ android:gravity="center"
177
+ android:padding="5dp"
178
+ android:text="@string/usersettings_appearance_night"
179
+ android:textSize="16sp"
180
+ android:textColor="@drawable/rbtn_textcolor_selector" />
181
+
182
+ </RadioGroup>
183
+
184
+ <com.google.android.material.switchmaterial.SwitchMaterial
185
+ android:id="@+id/scroll_mode"
186
+ android:layout_width="match_parent"
187
+ android:layout_height="48dp"
188
+ android:text="@string/usersettings_label_scroll_mode"
189
+ android:textSize="16sp"/>
190
+
191
+ <TextView
192
+ android:id="@+id/TTS_speed_progressBar_text"
193
+ android:layout_width="match_parent"
194
+ android:layout_height="24dp"
195
+ android:text="@string/usersettings_label_TTS_speech_speed"
196
+ android:textSize="16sp"
197
+ android:textStyle="bold" />
198
+
199
+ <LinearLayout
200
+ android:layout_width="match_parent"
201
+ android:layout_height="match_parent"
202
+ android:orientation="horizontal">
203
+
204
+ <ImageView
205
+ android:id="@+id/imageView2"
206
+ android:layout_width="14dp"
207
+ android:layout_height="20dp"
208
+ android:layout_weight="10"
209
+ app:srcCompat="@drawable/ic_baseline_fast_rewind_24"
210
+ app:tint="@android:color/black"
211
+ android:contentDescription="@string/tts_slower" />
212
+
213
+ <SeekBar
214
+ android:id="@+id/TTS_speech_speed"
215
+ android:layout_width="0dp"
216
+ android:layout_height="wrap_content"
217
+ android:layout_weight="100"
218
+ android:contentDescription="@string/usersettings_description_TTS_speech_speed" />
219
+
220
+ <ImageView
221
+ android:id="@+id/imageView5"
222
+ android:layout_width="14dp"
223
+ android:layout_height="20dp"
224
+ android:layout_weight="10"
225
+ app:srcCompat="@drawable/ic_baseline_fast_forward_24"
226
+ app:tint="@android:color/black"
227
+ android:contentDescription="@string/tts_faster" />
228
+ </LinearLayout>
229
+
230
+
231
+ </LinearLayout>
232
+
233
+ <LinearLayout
234
+ android:id="@+id/Advanced"
235
+ android:layout_width="match_parent"
236
+ android:layout_height="match_parent"
237
+ android:gravity="center"
238
+ android:orientation="vertical">
239
+
240
+ <com.google.android.material.switchmaterial.SwitchMaterial
241
+ android:id="@+id/publisher_default"
242
+ android:layout_width="match_parent"
243
+ android:layout_height="48dp"
244
+ android:layout_marginTop="10dp"
245
+ android:text="@string/usersettings_publisher_default"
246
+ android:textSize="16sp"
247
+ android:contentDescription="@string/usersettings_publisher_default_accessibility" />
248
+
249
+ <RadioGroup
250
+ android:id="@+id/TextAlignment"
251
+ android:layout_width="match_parent"
252
+ android:layout_height="wrap_content"
253
+ android:layout_marginBottom="10dp"
254
+ android:layout_marginTop="10dp"
255
+ android:orientation="horizontal">
256
+
257
+
258
+ <RadioButton
259
+ android:id="@+id/alignment_justify"
260
+ android:layout_width="wrap_content"
261
+ android:layout_height="36dp"
262
+ android:layout_weight="1"
263
+ android:background="@drawable/rbtn_selector"
264
+ android:button="@null"
265
+ android:checked="true"
266
+ android:drawableTop="@drawable/ic_outline_format_align_justify_24"
267
+ android:gravity="center"
268
+ android:padding="5dp"
269
+ android:textColor="@drawable/rbtn_textcolor_selector"
270
+ android:drawableTint="@drawable/rbtn_textcolor_selector" />
271
+
272
+ <RadioButton
273
+ android:id="@+id/alignment_left"
274
+ android:layout_width="wrap_content"
275
+ android:layout_height="36dp"
276
+ android:layout_weight="1"
277
+ android:background="@drawable/rbtn_selector"
278
+ android:button="@null"
279
+ android:drawableTop="@drawable/ic_outline_format_align_left_24"
280
+ android:gravity="center"
281
+ android:padding="5dp"
282
+ android:textColor="@drawable/rbtn_textcolor_selector"
283
+ android:drawableTint="@drawable/rbtn_textcolor_selector" />
284
+
285
+ </RadioGroup>
286
+
287
+ <LinearLayout
288
+ android:layout_width="match_parent"
289
+ android:layout_height="wrap_content"
290
+ android:layout_gravity="center_vertical"
291
+ android:layout_marginBottom="10dp"
292
+ android:layout_marginTop="10dp"
293
+ android:orientation="horizontal">
294
+
295
+
296
+ <TextView
297
+ android:layout_width="wrap_content"
298
+ android:layout_height="wrap_content"
299
+ android:layout_gravity="center_vertical"
300
+ android:layout_marginEnd="20dp"
301
+ android:gravity="center_horizontal"
302
+ android:text="@string/usersettings_label_columns" />
303
+
304
+ <RadioGroup
305
+ android:id="@+id/columns"
306
+ android:layout_width="match_parent"
307
+ android:layout_height="wrap_content"
308
+ android:orientation="horizontal">
309
+
310
+
311
+ <RadioButton
312
+ android:id="@+id/column_auto"
313
+ android:layout_width="match_parent"
314
+ android:layout_height="wrap_content"
315
+ android:layout_weight="1"
316
+ android:background="@drawable/rbtn_selector"
317
+ android:button="@null"
318
+ android:checked="true"
319
+ android:gravity="center"
320
+ android:padding="5dp"
321
+ android:text="@string/usersettings_auto"
322
+ android:textColor="@drawable/rbtn_textcolor_selector" />
323
+
324
+ <RadioButton
325
+ android:id="@+id/column_one"
326
+ android:layout_width="match_parent"
327
+ android:layout_height="wrap_content"
328
+ android:layout_weight="1"
329
+ android:background="@drawable/rbtn_selector"
330
+ android:button="@null"
331
+ android:gravity="center"
332
+ android:padding="5dp"
333
+ android:text="@string/usersettings_column_one"
334
+ android:textColor="@drawable/rbtn_textcolor_selector" />
335
+
336
+ <RadioButton
337
+ android:id="@+id/column_two"
338
+ android:layout_width="match_parent"
339
+ android:layout_height="wrap_content"
340
+ android:layout_weight="1"
341
+ android:background="@drawable/rbtn_selector"
342
+ android:button="@null"
343
+ android:gravity="center"
344
+ android:padding="5dp"
345
+ android:text="@string/usersettings_column_two"
346
+ android:textColor="@drawable/rbtn_textcolor_selector" />
347
+
348
+ </RadioGroup>
349
+
350
+
351
+ </LinearLayout>
352
+
353
+ <LinearLayout
354
+ android:layout_width="match_parent"
355
+ android:layout_height="wrap_content"
356
+ android:layout_gravity="center_vertical"
357
+ android:layout_marginBottom="10dp"
358
+ android:layout_marginTop="10dp"
359
+ android:orientation="horizontal">
360
+
361
+ <ImageButton
362
+ android:id="@+id/pm_decrease"
363
+ android:layout_width="48dp"
364
+ android:layout_height="48dp"
365
+ android:layout_weight="1"
366
+ android:backgroundTint="@android:color/white"
367
+ android:scaleType="fitCenter"
368
+ android:padding="16dp"
369
+ android:contentDescription="@string/usersettings_description_pm_decrease"
370
+ android:src="@drawable/ic_outline_remove_24"
371
+ app:tint="@android:color/black" />
372
+
373
+ <LinearLayout
374
+ android:layout_width="match_parent"
375
+ android:layout_height="match_parent"
376
+ android:layout_gravity="center_horizontal"
377
+ android:layout_weight="100"
378
+ android:gravity="center_horizontal"
379
+ android:orientation="vertical">
380
+
381
+ <TextView
382
+ android:layout_width="wrap_content"
383
+ android:layout_height="wrap_content"
384
+ android:text="@string/usersettings_label_page_margins" />
385
+
386
+ <TextView
387
+ android:id="@+id/pm_display"
388
+ android:layout_width="wrap_content"
389
+ android:layout_height="wrap_content"
390
+ android:text="@string/usersettings_page_margin_default" />
391
+ </LinearLayout>
392
+
393
+ <ImageButton
394
+ android:id="@+id/pm_increase"
395
+ android:layout_width="48dp"
396
+ android:layout_height="48dp"
397
+ android:layout_weight="1"
398
+ android:backgroundTint="@android:color/white"
399
+ android:scaleType="fitCenter"
400
+ android:padding="16dp"
401
+ android:contentDescription="@string/usersettings_description_pm_increase"
402
+ android:src="@drawable/ic_outline_add_24"
403
+ app:tint="@android:color/black" />
404
+
405
+ </LinearLayout>
406
+
407
+ <LinearLayout
408
+ android:layout_width="match_parent"
409
+ android:layout_height="wrap_content"
410
+ android:layout_gravity="center_vertical"
411
+ android:layout_marginBottom="10dp"
412
+ android:orientation="horizontal">
413
+
414
+ <ImageButton
415
+ android:id="@+id/ws_decrease"
416
+ android:layout_width="48dp"
417
+ android:layout_height="48dp"
418
+ android:layout_weight="1"
419
+ android:backgroundTint="@android:color/white"
420
+ android:scaleType="fitCenter"
421
+ android:padding="16dp"
422
+ android:contentDescription="@string/usersettings_description_ws_decrease"
423
+ android:src="@drawable/ic_outline_remove_24"
424
+ app:tint="@android:color/black" />
425
+
426
+ <LinearLayout
427
+ android:layout_width="match_parent"
428
+ android:layout_height="match_parent"
429
+ android:layout_gravity="center_horizontal"
430
+ android:layout_weight="100"
431
+ android:gravity="center_horizontal"
432
+ android:orientation="vertical">
433
+
434
+ <TextView
435
+ android:layout_width="wrap_content"
436
+ android:layout_height="wrap_content"
437
+ android:text="@string/usersettings_label_word_spacing"/>
438
+
439
+ <TextView
440
+ android:id="@+id/ws_display"
441
+ android:layout_width="wrap_content"
442
+ android:layout_height="wrap_content"
443
+ android:text="@string/usersettings_auto"/>
444
+ </LinearLayout>
445
+
446
+ <ImageButton
447
+ android:id="@+id/ws_increase"
448
+ android:layout_width="48dp"
449
+ android:layout_height="48dp"
450
+ android:layout_weight="1"
451
+ android:backgroundTint="@android:color/white"
452
+ android:scaleType="fitCenter"
453
+ android:padding="16dp"
454
+ android:contentDescription="@string/usersettings_description_ws_increase"
455
+ android:src="@drawable/ic_outline_add_24"
456
+ app:tint="@android:color/black" />
457
+
458
+ </LinearLayout>
459
+
460
+ <LinearLayout
461
+ android:layout_width="match_parent"
462
+ android:layout_height="wrap_content"
463
+ android:layout_gravity="center_vertical"
464
+ android:layout_marginBottom="10dp"
465
+ android:orientation="horizontal">
466
+
467
+ <ImageButton
468
+ android:id="@+id/ls_decrease"
469
+
470
+ android:layout_width="48dp"
471
+ android:layout_height="48dp"
472
+ android:layout_weight="1"
473
+ android:backgroundTint="@android:color/white"
474
+ android:scaleType="fitCenter"
475
+ android:padding="16dp"
476
+ android:contentDescription="@string/usersettings_description_ls_decrease"
477
+ android:src="@drawable/ic_outline_remove_24"
478
+ app:tint="@android:color/black" />
479
+
480
+ <LinearLayout
481
+ android:layout_width="match_parent"
482
+ android:layout_height="match_parent"
483
+ android:layout_gravity="center_horizontal"
484
+ android:layout_weight="100"
485
+ android:gravity="center_horizontal"
486
+ android:orientation="vertical">
487
+
488
+ <TextView
489
+
490
+ android:layout_width="wrap_content"
491
+ android:layout_height="wrap_content"
492
+ android:text="@string/usersettings_label_letter_spacing" />
493
+
494
+ <TextView
495
+ android:id="@+id/ls_display"
496
+
497
+ android:layout_width="wrap_content"
498
+ android:layout_height="wrap_content"
499
+ android:text="@string/usersettings_auto" />
500
+ </LinearLayout>
501
+
502
+ <ImageButton
503
+ android:id="@+id/ls_increase"
504
+
505
+ android:layout_width="48dp"
506
+ android:layout_height="48dp"
507
+ android:layout_weight="1"
508
+ android:backgroundTint="@android:color/white"
509
+ android:scaleType="fitCenter"
510
+ android:padding="16dp"
511
+ android:contentDescription="@string/usersettings_description_ls_increase"
512
+ android:src="@drawable/ic_outline_add_24"
513
+ app:tint="@android:color/black" />
514
+
515
+ </LinearLayout>
516
+
517
+ <LinearLayout
518
+ android:layout_width="match_parent"
519
+ android:layout_height="wrap_content"
520
+ android:layout_gravity="center_vertical"
521
+ android:orientation="horizontal">
522
+
523
+ <ImageButton
524
+ android:id="@+id/lh_decrease"
525
+ android:layout_width="48dp"
526
+ android:layout_height="48dp"
527
+ android:layout_weight="1"
528
+ android:backgroundTint="@android:color/white"
529
+ android:scaleType="fitCenter"
530
+ android:padding="16dp"
531
+ android:contentDescription="@string/usersettings_description_lh_decrease"
532
+ android:src="@drawable/ic_outline_remove_24"
533
+ app:tint="@android:color/black" />
534
+
535
+ <LinearLayout
536
+ android:layout_width="match_parent"
537
+ android:layout_height="match_parent"
538
+ android:layout_gravity="center_horizontal"
539
+ android:layout_weight="100"
540
+ android:gravity="center_horizontal"
541
+ android:orientation="vertical">
542
+
543
+ <TextView
544
+ android:layout_width="wrap_content"
545
+ android:layout_height="wrap_content"
546
+ android:text="@string/usersettings_label_line_height" />
547
+
548
+ <TextView
549
+ android:id="@+id/lh_display"
550
+ android:layout_width="wrap_content"
551
+ android:layout_height="wrap_content"
552
+ android:text="@string/usersettings_auto"/>
553
+ </LinearLayout>
554
+
555
+ <ImageButton
556
+ android:id="@+id/lh_increase"
557
+ android:layout_width="48dp"
558
+ android:layout_height="48dp"
559
+ android:backgroundTint="@android:color/white"
560
+ android:contentDescription="@string/usersettings_description_lh_increase"
561
+ android:padding="16dp"
562
+ android:scaleType="fitCenter"
563
+ android:src="@drawable/ic_outline_add_24"
564
+ app:tint="@android:color/black" />
565
+
566
+ </LinearLayout>
567
+
568
+
569
+ </LinearLayout>
570
+
571
+ </FrameLayout>
572
+ </LinearLayout>
573
+ </TabHost>
574
+
575
+ </LinearLayout>
576
+
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!--
3
+ ~ Module: r2-testapp-kotlin
4
+ ~ Developers: Aferdita Muriqi, Clément Baumann
5
+ ~
6
+ ~ Copyright (c) 2018. European Digital Reading Lab. All rights reserved.
7
+ ~ Licensed to the Readium Foundation under one or more contributor license agreements.
8
+ ~ Use of this source code is governed by a BSD-style license which is detailed in the
9
+ ~ LICENSE file present in the project repository where this source code is maintained.
10
+ -->
11
+
12
+ <TextView xmlns:android="http://schemas.android.com/apk/res/android"
13
+ android:id="@+id/header"
14
+ android:layout_width="match_parent"
15
+ android:layout_height="wrap_content"
16
+ android:background="@color/colorAccent"
17
+ android:orientation="vertical"
18
+ android:ellipsize="end"
19
+ android:maxLines="3"
20
+ android:paddingStart="20dp"
21
+ android:paddingTop="10dp"
22
+ android:paddingEnd="20dp"
23
+ android:paddingBottom="10dp"
24
+ android:textAllCaps="true"
25
+ android:textStyle="bold" />