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,32 @@
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
+ android:id="@+id/container"
5
+ android:layout_width="match_parent"
6
+ android:layout_height="match_parent">
7
+
8
+ <com.google.android.material.bottomnavigation.BottomNavigationView
9
+ android:id="@+id/nav_view"
10
+ android:layout_width="0dp"
11
+ android:layout_height="wrap_content"
12
+ android:layout_marginStart="0dp"
13
+ android:layout_marginEnd="0dp"
14
+ android:background="?android:attr/windowBackground"
15
+ app:layout_constraintBottom_toBottomOf="parent"
16
+ app:layout_constraintLeft_toLeftOf="parent"
17
+ app:layout_constraintRight_toRightOf="parent"
18
+ app:menu="@menu/bottom_nav_menu" />
19
+
20
+ <androidx.fragment.app.FragmentContainerView
21
+ android:id="@+id/nav_host_fragment"
22
+ android:name="androidx.navigation.fragment.NavHostFragment"
23
+ android:layout_width="match_parent"
24
+ android:layout_height="0dp"
25
+ app:defaultNavHost="true"
26
+ app:layout_constraintBottom_toTopOf="@id/nav_view"
27
+ app:layout_constraintLeft_toLeftOf="parent"
28
+ app:layout_constraintRight_toRightOf="parent"
29
+ app:layout_constraintTop_toTopOf="parent"
30
+ app:navGraph="@navigation/navigation" />
31
+
32
+ </androidx.constraintlayout.widget.ConstraintLayout>
@@ -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/activity_container"
5
+ android:layout_width="match_parent"
6
+ android:layout_height="match_parent" />
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:layout_width="match_parent"
4
+ android:layout_height="match_parent"
5
+ android:orientation="vertical"
6
+ android:paddingStart="10dp"
7
+ android:paddingEnd="10dp">
8
+
9
+
10
+ <EditText
11
+ android:id="@+id/catalogTitle"
12
+ android:layout_width="match_parent"
13
+ android:layout_height="wrap_content"
14
+ android:autofillHints=""
15
+ android:hint="@string/enter_title"
16
+ android:inputType="text" />
17
+
18
+ <EditText
19
+ android:id="@+id/catalogUrl"
20
+ android:layout_width="match_parent"
21
+ android:layout_height="wrap_content"
22
+ android:autofillHints=""
23
+ android:hint="@string/enter_url"
24
+ android:inputType="textUri" />
25
+ </LinearLayout>
@@ -0,0 +1,34 @@
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
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
13
+ android:layout_width="match_parent"
14
+ android:layout_height="wrap_content"
15
+ android:orientation="horizontal"
16
+ android:padding="10dp">
17
+
18
+ <TextView
19
+ android:id="@+id/text"
20
+ android:layout_width="match_parent"
21
+ android:layout_height="wrap_content"
22
+ android:layout_weight="1"
23
+ android:gravity="start"
24
+ android:textAlignment="viewStart" />
25
+
26
+ <TextView
27
+ android:id="@+id/count"
28
+ android:layout_width="match_parent"
29
+ android:layout_height="wrap_content"
30
+ android:layout_weight="1"
31
+ android:gravity="end"
32
+ android:textAlignment="viewEnd" />
33
+
34
+ </LinearLayout>
@@ -0,0 +1,24 @@
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
+ <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
13
+ android:layout_width="match_parent"
14
+ android:layout_height="match_parent"
15
+ android:background="@android:color/white">
16
+
17
+ <ListView
18
+ android:id="@+id/facetList"
19
+ android:layout_width="match_parent"
20
+ android:layout_height="match_parent" />
21
+
22
+ </androidx.constraintlayout.widget.ConstraintLayout>
23
+
24
+
@@ -0,0 +1,150 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <androidx.coordinatorlayout.widget.CoordinatorLayout 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="match_parent"
7
+ tools:context=".about.AboutFragment">
8
+
9
+
10
+ <LinearLayout
11
+ android:layout_width="match_parent"
12
+ android:layout_height="match_parent"
13
+ android:orientation="vertical">
14
+
15
+ <TextView
16
+ android:layout_width="match_parent"
17
+ android:layout_height="wrap_content"
18
+ android:padding="10dp"
19
+ android:paddingTop="30dp"
20
+ android:text="@string/app_version_header"
21
+ android:textSize="20sp"
22
+ android:textStyle="bold" />
23
+
24
+ <LinearLayout
25
+ android:layout_width="match_parent"
26
+ android:layout_height="wrap_content"
27
+ android:orientation="horizontal">
28
+
29
+ <TextView
30
+ android:layout_width="wrap_content"
31
+ android:layout_height="wrap_content"
32
+ android:layout_weight="1"
33
+ android:padding="10dp"
34
+ android:text="@string/app_version_label"
35
+ android:textSize="18sp" />
36
+
37
+ <TextView
38
+ android:layout_width="wrap_content"
39
+ android:layout_height="wrap_content"
40
+ android:layout_weight="1"
41
+ android:padding="10dp"
42
+ android:text="@string/app_version"
43
+ android:textSize="18sp" />
44
+ </LinearLayout>
45
+
46
+ <LinearLayout
47
+ android:layout_width="match_parent"
48
+ android:layout_height="wrap_content"
49
+ android:orientation="horizontal">
50
+
51
+ <TextView
52
+ android:layout_width="wrap_content"
53
+ android:layout_height="wrap_content"
54
+ android:layout_weight="1"
55
+ android:padding="10dp"
56
+ android:text="@string/github_tab_label"
57
+ android:textSize="18sp" />
58
+
59
+ <TextView
60
+ android:layout_width="wrap_content"
61
+ android:layout_height="wrap_content"
62
+ android:layout_weight="1"
63
+ android:padding="10dp"
64
+ android:text="@string/github_tag"
65
+ android:textSize="18sp" />
66
+ </LinearLayout>
67
+
68
+ <TextView
69
+ android:layout_width="match_parent"
70
+ android:layout_height="wrap_content"
71
+ android:padding="10dp"
72
+ android:paddingTop="30dp"
73
+ android:text="@string/copyright_label"
74
+ android:textSize="20sp"
75
+ android:textStyle="bold" />
76
+
77
+ <LinearLayout
78
+ android:layout_width="match_parent"
79
+ android:layout_height="wrap_content"
80
+ android:orientation="horizontal">
81
+
82
+ <TextView
83
+ android:layout_width="0dp"
84
+ android:layout_height="wrap_content"
85
+ android:layout_weight="1"
86
+ android:padding="10dp"
87
+ android:text="@string/copyright"
88
+ android:textSize="20sp" />
89
+
90
+ </LinearLayout>
91
+
92
+ <LinearLayout
93
+ android:layout_width="match_parent"
94
+ android:layout_height="wrap_content"
95
+ android:orientation="horizontal">
96
+
97
+ <TextView
98
+ android:layout_width="0dp"
99
+ android:layout_height="wrap_content"
100
+ android:layout_weight="1"
101
+ android:contentDescription="@string/bsd_license_label_accessible"
102
+ android:padding="10dp"
103
+ android:text="@string/bsd_license_label"
104
+ android:textSize="18sp" />
105
+
106
+ </LinearLayout>
107
+
108
+ <TextView
109
+ android:layout_width="match_parent"
110
+ android:layout_height="wrap_content"
111
+ android:padding="10dp"
112
+ android:paddingTop="30dp"
113
+ android:text="@string/acknowledgements_label"
114
+ android:textSize="20sp"
115
+ android:textStyle="bold" />
116
+
117
+ <LinearLayout
118
+ android:layout_width="match_parent"
119
+ android:layout_height="wrap_content"
120
+ android:orientation="horizontal">
121
+
122
+ <TextView
123
+ android:layout_width="0dp"
124
+ android:layout_height="wrap_content"
125
+ android:layout_weight="1"
126
+ android:padding="10dp"
127
+ android:text="@string/acknowledgements_french_state"
128
+ android:textSize="18sp" />
129
+
130
+ </LinearLayout>
131
+
132
+ <LinearLayout
133
+ android:layout_width="match_parent"
134
+ android:layout_height="wrap_content"
135
+ android:orientation="horizontal">
136
+
137
+ <ImageView
138
+ android:layout_width="wrap_content"
139
+ android:layout_height="200dp"
140
+ android:layout_weight="1"
141
+ android:contentDescription="@string/repfr"
142
+ android:scaleType="fitCenter"
143
+ app:srcCompat="@drawable/repfr"
144
+ tools:src="@drawable/repfr"
145
+ tools:srcCompat="@drawable/repfr" />
146
+ </LinearLayout>
147
+
148
+ </LinearLayout>
149
+
150
+ </androidx.coordinatorlayout.widget.CoordinatorLayout>
@@ -0,0 +1,151 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!--
3
+ Copyright 2020 Readium Foundation. All rights reserved.
4
+ Use of this source code is governed by the BSD-style license
5
+ available in the top-level LICENSE file of the project.
6
+ -->
7
+
8
+ <LinearLayout
9
+ xmlns:android="http://schemas.android.com/apk/res/android"
10
+ xmlns:app="http://schemas.android.com/apk/res-auto"
11
+ xmlns:tools="http://schemas.android.com/tools"
12
+ android:layout_width="match_parent"
13
+ android:layout_height="match_parent"
14
+ android:orientation="vertical">
15
+
16
+ <androidx.constraintlayout.widget.ConstraintLayout
17
+ android:layout_width="match_parent"
18
+ android:layout_height="wrap_content"
19
+ android:background="@color/colorPrimaryDark"
20
+ android:orientation="horizontal"
21
+ android:paddingBottom="8dp"
22
+ app:layout_constraintEnd_toEndOf="parent"
23
+ app:layout_constraintStart_toStartOf="parent"
24
+ app:layout_constraintTop_toTopOf="parent"
25
+ >
26
+
27
+ <TextView
28
+ android:id="@+id/timelinePosition"
29
+ android:layout_width="0dp"
30
+ android:layout_height="wrap_content"
31
+ android:layout_marginStart="16dp"
32
+ android:minWidth="40dp"
33
+ android:text="@string/zero"
34
+ android:textColor="@android:color/white"
35
+ app:layout_constraintBottom_toBottomOf="@+id/publicationTitle"
36
+ app:layout_constraintStart_toStartOf="parent"
37
+ app:layout_constraintTop_toTopOf="@+id/publicationTitle"
38
+ />
39
+
40
+ <TextView
41
+ android:id="@+id/publicationTitle"
42
+ android:layout_width="0dp"
43
+ android:layout_height="wrap_content"
44
+ android:layout_marginStart="8dp"
45
+ android:layout_marginTop="8dp"
46
+ android:layout_marginEnd="8dp"
47
+ android:ellipsize="end"
48
+ android:gravity="center"
49
+ android:maxLines="1"
50
+ android:scrollHorizontally="true"
51
+ android:textColor="@android:color/white"
52
+ android:textSize="18sp"
53
+ app:layout_constraintEnd_toStartOf="@+id/timelineDuration"
54
+ app:layout_constraintStart_toEndOf="@+id/timelinePosition"
55
+ app:layout_constraintTop_toTopOf="parent"
56
+ tools:text="Chapter"
57
+ />
58
+
59
+ <TextView
60
+ android:id="@+id/timelineDuration"
61
+ android:layout_width="0dp"
62
+ android:layout_height="wrap_content"
63
+ android:layout_marginEnd="16dp"
64
+ android:minWidth="40dp"
65
+ android:text="@string/zero"
66
+ android:textColor="@android:color/white"
67
+ app:layout_constraintBottom_toBottomOf="@+id/publicationTitle"
68
+ app:layout_constraintEnd_toEndOf="parent"
69
+ app:layout_constraintTop_toTopOf="@+id/publicationTitle"
70
+ />
71
+
72
+ <SeekBar
73
+ android:id="@+id/timelineBar"
74
+ android:layout_width="0dp"
75
+ android:layout_height="wrap_content"
76
+ android:layout_marginStart="8dp"
77
+ android:layout_marginTop="8dp"
78
+ android:layout_marginEnd="8dp"
79
+ android:contentDescription="@string/seek_bar"
80
+ android:foregroundTint="@android:color/white"
81
+ android:progressTint="@android:color/white"
82
+ android:secondaryProgressTint="@android:color/darker_gray"
83
+ android:thumbTint="@android:color/white"
84
+ app:layout_constraintEnd_toEndOf="parent"
85
+ app:layout_constraintStart_toStartOf="parent"
86
+ app:layout_constraintTop_toBottomOf="@+id/publicationTitle"
87
+ />
88
+
89
+ </androidx.constraintlayout.widget.ConstraintLayout>
90
+
91
+ <ImageView
92
+ android:id="@+id/coverView"
93
+ android:layout_width="match_parent"
94
+ android:layout_height="0dp"
95
+ android:layout_weight="1"
96
+ android:adjustViewBounds="true"
97
+ android:background="@color/colorPrimaryDark"
98
+ android:contentDescription="@string/cover_image"
99
+ android:cropToPadding="true"
100
+ android:scaleType="fitCenter"
101
+ />
102
+
103
+ <LinearLayout
104
+ android:id="@+id/controls"
105
+ android:layout_width="match_parent"
106
+ android:layout_height="70dp"
107
+ android:background="@color/colorPrimaryDark"
108
+ android:gravity="center_vertical|center_horizontal"
109
+ android:orientation="horizontal"
110
+ android:weightSum="5"
111
+ app:layout_constraintBottom_toBottomOf="parent"
112
+ app:layout_constraintEnd_toEndOf="parent"
113
+ app:layout_constraintStart_toStartOf="parent"
114
+ >
115
+
116
+ <ImageButton
117
+ android:id="@+id/skipBackward"
118
+ android:layout_width="48dp"
119
+ android:layout_height="48dp"
120
+ android:layout_weight="1"
121
+ android:background="@android:color/transparent"
122
+ android:contentDescription="@string/go_backward_30_seconds"
123
+ android:scaleType="fitCenter"
124
+ android:src="@drawable/ic_rewind_30"
125
+ app:tint="@color/white" />
126
+
127
+ <ImageButton
128
+ android:id="@+id/playPause"
129
+ android:layout_width="50dp"
130
+ android:layout_height="70dp"
131
+ android:layout_weight="1"
132
+ android:background="@android:color/transparent"
133
+ android:contentDescription="@string/play_or_pause"
134
+ android:scaleType="fitCenter"
135
+ android:src="@drawable/ic_baseline_pause_24"
136
+ app:tint="@color/white" />
137
+
138
+ <ImageButton
139
+ android:id="@+id/skipForward"
140
+ android:layout_width="48dp"
141
+ android:layout_height="48dp"
142
+ android:layout_weight="1"
143
+ android:background="@android:color/transparent"
144
+ android:contentDescription="@string/go_forward_30_seconds"
145
+ android:scaleType="fitCenter"
146
+ android:src="@drawable/ic_fastforward_30"
147
+ app:tint="@color/white" />
148
+
149
+ </LinearLayout>
150
+
151
+ </LinearLayout>
@@ -0,0 +1,35 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <androidx.coordinatorlayout.widget.CoordinatorLayout 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="match_parent"
7
+ tools:context=".bookshelf.BookshelfFragment">
8
+
9
+ <androidx.recyclerview.widget.RecyclerView
10
+ android:id="@+id/bookshelf_bookList"
11
+ android:name="com.reactnativereadium.bookshelf"
12
+ android:layout_width="match_parent"
13
+ android:layout_height="match_parent"
14
+ app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
15
+ tools:context="com.reactnativereadium.bookshelf"
16
+ tools:listitem="@layout/item_recycle_book" />
17
+
18
+ <ProgressBar
19
+ android:id="@+id/bookshelf_progressBar"
20
+ style="?android:attr/progressBarStyle"
21
+ android:layout_width="wrap_content"
22
+ android:layout_height="wrap_content"
23
+ android:layout_gravity="center"
24
+ android:visibility="gone" />
25
+
26
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
27
+ android:id="@+id/bookshelf_addBookFab"
28
+ android:layout_width="wrap_content"
29
+ android:layout_height="wrap_content"
30
+ android:layout_gravity="end|bottom"
31
+ android:layout_margin="16dp"
32
+ android:contentDescription="@string/add_book"
33
+ android:src="@drawable/ic_add_white_24dp" />
34
+
35
+ </androidx.coordinatorlayout.widget.CoordinatorLayout>
@@ -0,0 +1,56 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <FrameLayout 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="match_parent"
6
+ tools:context=".catalogs.CatalogFragment">
7
+
8
+ <ProgressBar
9
+ android:id="@+id/catalog_ProgressBar"
10
+ style="?android:attr/progressBarStyle"
11
+ android:layout_width="match_parent"
12
+ android:layout_height="wrap_content"
13
+ android:layout_gravity="center"
14
+ android:visibility="gone" />
15
+
16
+ <androidx.core.widget.NestedScrollView
17
+ android:layout_width="match_parent"
18
+ android:layout_height="match_parent"
19
+ android:fillViewport="true">
20
+
21
+ <LinearLayout
22
+ android:id="@+id/catalog_LinearLayout"
23
+ android:layout_width="match_parent"
24
+ android:layout_height="match_parent"
25
+ android:orientation="vertical">
26
+
27
+ <androidx.recyclerview.widget.RecyclerView
28
+ android:id="@+id/catalog_NavigationList"
29
+ android:name="com.reactnativereadium.catalogs.CatalogFragment"
30
+ android:layout_width="match_parent"
31
+ android:layout_height="wrap_content"
32
+ android:layout_marginLeft="16dp"
33
+ android:layout_marginRight="16dp"
34
+ tools:context="com.reactnativereadium.catalogs.CatalogFragment"
35
+ tools:listitem="@layout/item_recycle_button" />
36
+
37
+ <androidx.recyclerview.widget.RecyclerView
38
+ android:id="@+id/catalog_PublicationsList"
39
+ android:name="com.reactnativereadium.catalogs.CatalogFragment"
40
+ android:layout_width="match_parent"
41
+ android:layout_height="wrap_content"
42
+ tools:context="com.reactnativereadium.catalogs.CatalogFragment"
43
+ tools:listitem="@layout/item_recycle_catalog" />
44
+
45
+ <androidx.recyclerview.widget.RecyclerView
46
+ android:id="@+id/catalog_GroupList"
47
+ android:name="com.reactnativereadium.catalogs.CatalogFragment"
48
+ android:layout_width="match_parent"
49
+ android:layout_height="wrap_content"
50
+ tools:context="com.reactnativereadium.catalogs.CatalogFragment"
51
+ tools:listitem="@layout/item_group_view" />
52
+
53
+ </LinearLayout>
54
+
55
+ </androidx.core.widget.NestedScrollView>
56
+ </FrameLayout>
@@ -0,0 +1,27 @@
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="match_parent"
6
+ tools:context=".catalogs.CatalogFeedListFragment">
7
+
8
+ <androidx.recyclerview.widget.RecyclerView
9
+ android:id="@+id/catalogFeed_list"
10
+ android:name="com.reactnativereadium.opds"
11
+ android:layout_width="match_parent"
12
+ android:layout_height="match_parent"
13
+ android:layout_marginLeft="16dp"
14
+ android:layout_marginRight="16dp"
15
+ tools:context="com.reactnativereadium.opds"
16
+ tools:listitem="@layout/item_recycle_button" />
17
+
18
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
19
+ android:id="@+id/catalogFeed_addCatalogFab"
20
+ android:layout_width="wrap_content"
21
+ android:layout_height="wrap_content"
22
+ android:layout_gravity="end|bottom"
23
+ android:layout_margin="16dp"
24
+ android:contentDescription="@string/add_catalog"
25
+ android:src="@drawable/ic_add_white_24dp" />
26
+
27
+ </androidx.coordinatorlayout.widget.CoordinatorLayout>