From c45faf0a4d219852f192e5e2e22705fc7aea34e7 Mon Sep 17 00:00:00 2001 From: Mahavir Jain Date: Sat, 14 Oct 2017 20:08:21 +0530 Subject: [PATCH 01/22] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 29ce8d375..df0953eb0 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ FolioReader-Android is an ePub reader and parser framework written in Java. ### Gradle Add following dependency to your app build.gradle ``` java -compile 'com.folioreader:folioreader:0.3.1' +compile 'com.folioreader:folioreader:0.3.2' ``` ### Usage From adcc1b106f94982a99714667ec18c2eca52ddb65 Mon Sep 17 00:00:00 2001 From: konstantin Date: Mon, 30 Oct 2017 18:18:17 +0300 Subject: [PATCH 02/22] fix attribute "font" to support library 26.1.0 --- build.gradle | 8 ++++++++ folioreader/build.gradle | 3 ++- folioreader/res/layout/row_table_of_contents.xml | 2 +- folioreader/res/layout/view_audio_player.xml | 14 +++++++------- folioreader/res/layout/view_config.xml | 12 ++++++------ folioreader/res/values/attrs.xml | 2 +- .../com/folioreader/util/StyleableTextView.java | 4 ++-- .../com/folioreader/view/StyleableTextView.java | 4 ++-- 8 files changed, 29 insertions(+), 20 deletions(-) diff --git a/build.gradle b/build.gradle index ed8e2491b..839ed3ae4 100644 --- a/build.gradle +++ b/build.gradle @@ -4,6 +4,10 @@ buildscript { maven { url "http://dl.bintray.com/mobisystech/maven" } + maven { + url 'https://maven.google.com/' + name 'Google' + } } dependencies { classpath 'com.android.tools.build:gradle:2.2.0' @@ -18,5 +22,9 @@ allprojects { maven { url "http://dl.bintray.com/mobisystech/maven" } + maven { + url 'https://maven.google.com/' + name 'Google' + } } } diff --git a/folioreader/build.gradle b/folioreader/build.gradle index 35b0a7ee4..cf2fd7d1b 100644 --- a/folioreader/build.gradle +++ b/folioreader/build.gradle @@ -28,7 +28,7 @@ ext { android { useLibrary 'org.apache.http.legacy' compileSdkVersion 26 - buildToolsVersion "26.0.1" + buildToolsVersion "26.0.2" defaultConfig { versionCode 1 @@ -83,6 +83,7 @@ dependencies { final ANDROID_LIB_VERSION = '26.0.0-alpha1' + //noinspection GradleDependency compile "com.android.support:appcompat-v7:$ANDROID_LIB_VERSION" compile "com.android.support:recyclerview-v7:$ANDROID_LIB_VERSION" compile "com.android.support:support-v4:$ANDROID_LIB_VERSION" diff --git a/folioreader/res/layout/row_table_of_contents.xml b/folioreader/res/layout/row_table_of_contents.xml index 568da604e..d2ee22ca6 100644 --- a/folioreader/res/layout/row_table_of_contents.xml +++ b/folioreader/res/layout/row_table_of_contents.xml @@ -17,5 +17,5 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center_vertical" - app:font="SanFranciscoText-Regular.otf" /> + app:folio_font="SanFranciscoText-Regular.otf" /> \ No newline at end of file diff --git a/folioreader/res/layout/view_audio_player.xml b/folioreader/res/layout/view_audio_player.xml index aefcf251e..b52968016 100644 --- a/folioreader/res/layout/view_audio_player.xml +++ b/folioreader/res/layout/view_audio_player.xml @@ -80,7 +80,7 @@ android:gravity="center" android:text="@string/half_speed" android:textSize="14sp" - app:font="@string/andada_font" /> + app:folio_font="@string/andada_font" /> + app:folio_font="@string/lato_font" /> + app:folio_font="@string/lora_font" /> + app:folio_font="@string/raleway_font" /> + app:folio_font="@string/lato_font" /> + app:folio_font="@string/lora_font" /> + app:folio_font="@string/raleway_font" /> diff --git a/folioreader/res/layout/view_config.xml b/folioreader/res/layout/view_config.xml index 45dda3353..fcc7ed791 100644 --- a/folioreader/res/layout/view_config.xml +++ b/folioreader/res/layout/view_config.xml @@ -47,7 +47,7 @@ android:gravity="center" android:text="@string/andada" android:textSize="17sp" - app:font="@string/andada_font" /> + app:folio_font="@string/andada_font" /> + app:folio_font="@string/lato_font" /> + app:folio_font="@string/lora_font" /> + app:folio_font="@string/raleway_font" /> + app:folio_font="@string/andada_font" /> + app:folio_font="@string/lato_font" /> \ No newline at end of file diff --git a/folioreader/res/values/attrs.xml b/folioreader/res/values/attrs.xml index 610adaa93..8d331c883 100644 --- a/folioreader/res/values/attrs.xml +++ b/folioreader/res/values/attrs.xml @@ -1,7 +1,7 @@ - + diff --git a/folioreader/src/main/java/com/folioreader/util/StyleableTextView.java b/folioreader/src/main/java/com/folioreader/util/StyleableTextView.java index bbc9fc281..3cb74831a 100644 --- a/folioreader/src/main/java/com/folioreader/util/StyleableTextView.java +++ b/folioreader/src/main/java/com/folioreader/util/StyleableTextView.java @@ -17,14 +17,14 @@ public StyleableTextView(Context context, AttributeSet attrs) { super(context, attrs); UiUtil.setCustomFont(this, context, attrs, R.styleable.StyleableTextView, - R.styleable.StyleableTextView_font); + R.styleable.StyleableTextView_folio_font); } public StyleableTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); UiUtil.setCustomFont(this, context, attrs, R.styleable.StyleableTextView, - R.styleable.StyleableTextView_font); + R.styleable.StyleableTextView_folio_font); } private void setCustomFont(Context context, String font){ diff --git a/folioreader/src/main/java/com/folioreader/view/StyleableTextView.java b/folioreader/src/main/java/com/folioreader/view/StyleableTextView.java index be5dd2f05..4435f2ad1 100644 --- a/folioreader/src/main/java/com/folioreader/view/StyleableTextView.java +++ b/folioreader/src/main/java/com/folioreader/view/StyleableTextView.java @@ -17,14 +17,14 @@ public StyleableTextView(Context context, AttributeSet attrs) { super(context, attrs); UiUtil.setCustomFont(this, context, attrs, R.styleable.StyleableTextView, - R.styleable.StyleableTextView_font); + R.styleable.StyleableTextView_folio_font); } public StyleableTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); UiUtil.setCustomFont(this, context, attrs, R.styleable.StyleableTextView, - R.styleable.StyleableTextView_font); + R.styleable.StyleableTextView_folio_font); } } From b17964294b649f143501f36d7355521a71043b97 Mon Sep 17 00:00:00 2001 From: semper-viventem Date: Mon, 30 Oct 2017 20:01:22 +0300 Subject: [PATCH 03/22] fix attribute "font" to support library 26.1.0 --- build.gradle | 5 +++-- folioreader/build.gradle | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 839ed3ae4..9200bd87f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,4 @@ + buildscript { repositories { jcenter() @@ -11,8 +12,8 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:2.2.0' - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4' - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' + classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' } } diff --git a/folioreader/build.gradle b/folioreader/build.gradle index cf2fd7d1b..34f345aaa 100644 --- a/folioreader/build.gradle +++ b/folioreader/build.gradle @@ -1,5 +1,7 @@ apply plugin: 'com.android.library' apply from: '../config/quality/quality.gradle' +apply plugin: 'com.github.dcendents.android-maven' +group = 'com.github.Semper-Viventem' ext { bintrayRepo = 'maven' From 57bc38ee4538b7ba0c8e090c8c38e222055deefa Mon Sep 17 00:00:00 2001 From: semper-viventem Date: Mon, 30 Oct 2017 20:07:58 +0300 Subject: [PATCH 04/22] fix attribute "font" to support library 26.1.0 --- build.gradle | 1 - folioreader/build.gradle | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 9200bd87f..6e82884da 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,3 @@ - buildscript { repositories { jcenter() diff --git a/folioreader/build.gradle b/folioreader/build.gradle index 34f345aaa..d4ec5590e 100644 --- a/folioreader/build.gradle +++ b/folioreader/build.gradle @@ -2,6 +2,7 @@ apply plugin: 'com.android.library' apply from: '../config/quality/quality.gradle' apply plugin: 'com.github.dcendents.android-maven' group = 'com.github.Semper-Viventem' +version = '1.0' ext { bintrayRepo = 'maven' From dfb5724e15a2d9da80347a22da7171f3073908b1 Mon Sep 17 00:00:00 2001 From: semper-viventem Date: Mon, 30 Oct 2017 20:52:14 +0300 Subject: [PATCH 05/22] fix attribute "font" to support library 26.1.0 --- folioreader/build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/folioreader/build.gradle b/folioreader/build.gradle index d4ec5590e..34f345aaa 100644 --- a/folioreader/build.gradle +++ b/folioreader/build.gradle @@ -2,7 +2,6 @@ apply plugin: 'com.android.library' apply from: '../config/quality/quality.gradle' apply plugin: 'com.github.dcendents.android-maven' group = 'com.github.Semper-Viventem' -version = '1.0' ext { bintrayRepo = 'maven' From 42aeb8cdc7790a02b6f0a84002ee72cf9b153f31 Mon Sep 17 00:00:00 2001 From: konstantin Date: Mon, 30 Oct 2017 20:57:16 +0300 Subject: [PATCH 06/22] gradle config --- folioreader/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/folioreader/build.gradle b/folioreader/build.gradle index 34f345aaa..dcf625d12 100644 --- a/folioreader/build.gradle +++ b/folioreader/build.gradle @@ -2,6 +2,7 @@ apply plugin: 'com.android.library' apply from: '../config/quality/quality.gradle' apply plugin: 'com.github.dcendents.android-maven' group = 'com.github.Semper-Viventem' +version = "1.0" ext { bintrayRepo = 'maven' From c6e9f2f08e71ac89ab1d9bdfda524884e2c1cefb Mon Sep 17 00:00:00 2001 From: semper-viventem Date: Mon, 30 Oct 2017 20:57:43 +0300 Subject: [PATCH 07/22] gradle config --- folioreader/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/folioreader/build.gradle b/folioreader/build.gradle index dcf625d12..ad6a215ef 100644 --- a/folioreader/build.gradle +++ b/folioreader/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' apply from: '../config/quality/quality.gradle' apply plugin: 'com.github.dcendents.android-maven' group = 'com.github.Semper-Viventem' -version = "1.0" +version = "0.5.0" ext { bintrayRepo = 'maven' From 3842646f079c7b8f6d1e988e07c7075a80e9af41 Mon Sep 17 00:00:00 2001 From: semper-viventem Date: Tue, 31 Oct 2017 13:55:44 +0300 Subject: [PATCH 08/22] fix sample unvalidated ePub. --- sample/build.gradle | 6 +++--- sample/res/raw/aayesha.epub | Bin 0 -> 287196 bytes .../android/sample/HomeActivity.java | 2 +- webViewMarker/build.gradle | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 sample/res/raw/aayesha.epub diff --git a/sample/build.gradle b/sample/build.gradle index 0c86c470b..85d799b10 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -8,8 +8,8 @@ android { javaMaxHeapSize "4G" } - compileSdkVersion 25 - buildToolsVersion "25.0.0" + compileSdkVersion 26 + buildToolsVersion "26.0.2" defaultConfig { applicationId "com.folioreader.android.sample" @@ -66,5 +66,5 @@ android { dependencies { compile project(':folioreader') - compile 'com.android.support:appcompat-v7:25.1.0' + compile 'com.android.support:appcompat-v7:26.1.0' } diff --git a/sample/res/raw/aayesha.epub b/sample/res/raw/aayesha.epub new file mode 100644 index 0000000000000000000000000000000000000000..4e215f038ff0339189a7949843c0335c551619d5 GIT binary patch literal 287196 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

$e^*;vD8;x{d#G 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

wFQvY0wP&SWZ@sP`hdraqqGR7tQe@8Y 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

_QF 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

Iv(?*hmRLV_4CebrT4SSH%% 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­3j4yG>&14w8Q9de4DYze5LcAYHPd#?M5_CL$304i#oZp$pr7v{-w%jd z&sacB;$geh^`$dQ6gQvh-yS$VHCkJfqPIgLaH=n zctM&1QG`D4l)k=2P4PJjy(jHSZz2AyJ7~wb-=tzW&`K(Ed~PgDd4XjV8{q-elN?6S z!y2L87EPUB7^=YW*#z^$Fe?*B8+@v7=#GZgSEXH?L~R@LL9scwUT#U*9h_eu%buu$ zm(n=(Uyp7?JZc`FRQ`j72}gXfd5!d8?tDJBgORTya97ZvX}5&=pz##B5^YZ|v;k?) zqehV{YfW;|Ig<4xSEQt(N2<#+3^W_CT(-UbDG?8ZmU1YZDC4oX8xZ%fa zK?X9l8OV_-_GIZ)D{&T(`|r$1`&7d-yxPsfxE~5hZ0QRACeUO_4{@;nl)>3Y+|a)B z*DIqys3Mk4@~$1ZY&jbX(a8a;41$SbxhtU$I1lyeI6IFh?MQlnclo8F%h=y}t4136 z>i&C`btF>bV<$FD;4%kV=mk;xj%bkmtV&`Ft^xHI{DHhrTURrW;D5NUFjB?fYQx>1 zl47WgD7AJNU4>)Iq%Ab;l}b}3BT)oZoSbQ{Y*;#kEZ8Hrw68Bp#AGaL6aC8h8)YLZoyR{E#x3*HrR{3l zTAat|awMiq$s0^Qo3thoK!;H*_=0kO{PzGMh2WfAE9!ebWJZ{GFVJCrGa{=Eg0>Ho zz#Kv=)RR!Cib=?&^p{ni3kghVoyLFrtq&Oa@h#EhFJG@o`NR7Mbl}dlAwo=;-2V6c zj6(`8Ly#lQbu5+>JPgQ5*`~yu;^X2vlEi{Y?F^pbj$dGUfqa+COouA7;Y{sNDr5uwEgtoAlrMf_1qDrH~`=>IAx zr~?zWmhJN=2yu|R`NNl=rKx$nB&FD=IT|z@;0aW~$TLfo!~$!7TtVcsrwp#@t0I{# z8}g3+MrI;s@q&{dftpa znTCA#3m(qYIF>~(n(>hg5NAh&x%KcQzncJp9T}$Uzw6h|i@%Fu?C8hB(9ZOh#I8-& z!Z3an*`LeJQ-IO235IqRgNa2W-|4J(a;BsZ$v4YYNhHpLjsz}jmiw}=Wt_<|nPGoY z2}{2jNpP6lEK(rb9j1-t+D`kaufvrJOM8i$8qjPnr$0ko)3+uq49InzkFiwGciD1b z2LLocxt(QWN(ve4i>a4hL7VKcTNiYTK#h0m352`t>akrtoyw#~_t#%h&Sv7{*^9rb z{?B6MlMUzmb=VLhh{3n8(X;BXJh~GriWzuxejZMi`~EW9)+Uaj3samywWMHMATdV! zUS_-->SAN^5f?2FN`!&DQu$j@W0X)*4o*c~1~M1#ks;b^MaS}y$g~sb^mvK^JHdqf zQ2fQqASJpjGVi-gv5!Ve&QRbH)&4<0(_~NN-YyG4946tN5t|uR1M6#cs1f|V)Hn;X zXpiVhF%>|Oyf(AJdzjt%?B{FZ=s(gT6c9p`xM79v7e*%{1VrelbP{!9S=BoY`y2h} z!V8(^C=VEl*ES5)LCV@<7v+pji<`@;L)HL4 zFqsv1VUTZkIWtFRE(jI}2|dQnm7gUvF&LQe38h#-b`H<9F#jZh)M^COg3vV2JdDdQ z>I@UPv9VA98Rge@7E1IfnRYTb!p0=W40VdFUq3$d%J%;n@P7pXotTV`6vb!_F{vT{ z$a4i$83ev7gAUZ$y~_}RN#mfG0g{rGtcl4^U8COC`jYYzkKzB2MZbi^_Dzf>G03RE^M>*m;Zc04Op^O*9F>^eUL?J4OsRgUAr8JCp6rjVn8e zd56*9Ih1NECb`lyPL2;m>}#AmG^S@+6D!aPWbRcYxuHsopBSeqS$Mt2S6`A$>Afxq zBZ#9TW5dYHp`mE*q6}iuEu|1hkF+wVFs! zcunlz162&DZ$X3h44P$zY5b?OkE zAUv#_C4j(>LBvsJjRlRZvnY@-;^i)Dnc*cvgV3(I}93=wsUK06J*& zgNpy@wt-;QZtN|Xsb63sv0EpTPJ}AZBQK-|O)~|9q9P(JgD1`tfi`AzJIxw=0g6M{ zb+A3b7RPJj5IRuSby2}gthG%z(0akY&`@^ybzhimD*<;fe@PXfP*osAS8(8e!BMAw zaQ12afwP-1$zEu2lIpYEM%St!u+~8!R<1(;Ut{jyVcYpHYn~7b(?T94RIPmWI2R zHV3uh0s-_BWgO$eNPt-jNE0<4Q`A?hvbv^JLM3(0Qt3>PB^QH%ZNdsqPX`u?lc zO%c;V_MWpoF^Q&|IAw{0K%z8J&#xoyw?E6uo3ZRWh!i-B3!5>QlJdR(jgvK3`EqurZlt}}lTD_tg}#Wq^<-f+8u6?NXbBESH|XYb%@VOp|l^V(`Tfv!zx zO9vK@KZ)s9lrWKES(26$Gwq1`x^URk+~8cnhe%zO|+jAwYghf>I-p*RN2Qb~$Unv1j?dKudJ zvIMs_qFed5=O6n{zY!Ut42`u{cF&v|ji+5TSEX6IzEa+=v!6o}p0{yXo(FNB3&5Z8 z*4yCjP31}+OK0p-MOEI#an8%8Ms_dbF;Z8#_kwO0-_o`Ss7e1MooAhjsTvs4J?)0o z5dDUzv(m(tY|(Z<#CrsMGi6E_lkU`PT4yEV+ZL8}!^)otrFcO6?=6jTd&cQ-W~FE( zn5at)u-?J}f-7i^ZHl!h5B9OwI@i|hCfKT3bg_=6^DiB@#%^j(&1VZoTzQKXm zZA9~(RK7rH<1p0GYFtc<-p zy>r*+o4sF~v!<`Fqr5#l9hD&D$Z;wnYP~QR0C0Wj2%zd=9BuK&cf7bik;yi?UR~9h%r7~xVGCJOmP*X zzb|_QO*ECWXGf^!&Uy-pf+4F+#X~8ym6i0AR1Qi&C=kiizPdP8BCRvF(7p1dt4QiY z7n|2Pyoa&wo(L9DY}_(q&Q?TxhJ$J5yRbzR!MhibL4`)=FT(y7Y)^d|evf}&NN4Y( zWbb1iFi(ZYAFSQibJgDW^{iW5^6Zmd?~iAUGM@u7p8?!-U93;^wa=ZKubs}Fri&j@0)hcLzpU+X>Pn;XK(Kkd}&&^HJkZicue7yI32+tSY16Q9DS5ipKlvz)= zJE|A7?;inK{$^iMrvgKjcQEb-Dfh7JP5484jW3s})s*nzgT zAC~6|86-fNKp&@NBJZ)JoUo`=6w^<_l2*kev}`!PNnqQZP^Rw8S!b8!^q@KtK!iK(=@s?yt0&V_-!Li?-B^!gsGGJ;&DFa)CB(VM1fXXW${&!PgJt8f_m2mSWb zZD;$=w&b`A^X6+G=xyC6HIH#}(zm#OeO}IfUjo~%r5$~~GuOILe;#~}J+0Y!*p~F&jvzto4zNX zG<-8rw8v?!gTp3vW!%XV2Bup8+|ODrBn13P$Y=ymEbO@mLa`${SoCdcab*1(QJ6U) z-ephYO}t}{Bk*LPf~<#E;Ft$q$Ww!eSpA{4!jsi{R7P;NO&|vrv?#sS_X!D;u}ry1 zSm4ad_zW%WKZc|DNN4ocIrBw9Uu_P+sdcJS!$>&WeM0l`4FuK)*wQ0ZY`T*SmDkm= zzMp^a-o`|I_I~;7Of3DP6&VC=zejj{3bC`1M_C0NK{<+ZoKGMzUEWvx93%yKZM9Ea`^$CabeH}Cn zW2SWZ3A^UN$wIzD%6%R38am&;@oCjwrD5v*O5}Y@^wja;S=+h6`|QVC`^wtAu`=OZ&rKDJ#Ebz1&9LMp#J5sw{bZp$`P`+?Jo-RmQ-4?n4hHSIL$4edJSQM?Frt ztQYI#*Iby1PLuVMcwJ=b(qAuerOstoVLDJj$umPgTjyb}8wNvZWn1wHnH|4AQMKK-c@^o z`9ELAevZXv(J#ae;?_4#+x`P}tqSPDnpl)sW83NP?j3)oxdz6p-mj%n9%o)0u2lYw zuH4n`YiAc~Pbl4=C*2>Xn-}F;k7ce`&z=*{o)z^^nm>Zi)Q@N@JwR>^Ji{z3EP5X;rY)%~Ech?}WNLNgM zY?GrvFfNMCLdYu_3{!aE_F>h#74!AbiZL+e(FlF=&@ex&gfZ2W-4jg8@!BX%e7rsK zq%Y?4h@%(i36}HX#fuRJOK{Zj>xpv8s}&eC9!~E#l(^v8zZst%=K3$x zjBWeXE?Kv$O?i^_-?(+Xe4hR$=`>c`46JJPI~+b!LLwZ6E_q(diZ?5za!d!+RrrwG*^h zicEi;DfWLt*y!pu|Bx*g(MqDF)Z=Y(@wYH;+kjN_aI)%Oa>A$DTsgzpLkTdm*dTKe z^hFCCv>y{WJ>}QQRrCTMXptKRxxy2(RJY8dA4+YNq*vmqodS0(T}zm`I>BTD-0I00IE~Sr zG0Ji|ySvxp2rUSJ2?v1LTcsg~?ORdig!l=<7KVMOQO$$UOOd6BaMWhC2}X|ew=^B~ zFe)#7OE7S(xC{z&=|r`!?~`w3bMajP_xZ;C)5ZJDexdx~at?g%t+f|0)0;Cl!_O5iZmsqC!YAN} zyCL+~0&{71+G@{p^N%oZXnU(e_nF1bQMIji<^H1=RPNi9>CR&b>la%8ZTsb@C6)WP z+V`{VkBc{tDtBF!gfiRu5>cIYct>}N3S{q~puGv`ih;ffHdA#6mc zDG3-Oc46hX4px>!;DtPG)IH9LIUd}>LL@>>M=NyY&fAP@PAYEiAI_dX?~Nh8E`1oF zyRRdxJRfgczjf{)iR>OMffGJZB5Zv>HfM2^1_w-4Y}jC?u6NfyfmUq4R&2K)#w2y$ z7ala}4Bnx7Z=rsce{S6FB6YcXUx&ze?o@rBRIfEcU6w0;00z!nSlm;RoUO+8cub%n zS<3M`FML!A7c-^n$v#zZ8H z=#?lC4}Xe*uZuR2lcO=bWldX6_*zosG4x4I665&R3mM|0z}kf_CUQCle?$3)rB&wd z$ga!S8%c^*?|H4=6X3z7`59vW8PJ)RTeGGNr@TzdX7E`Wv04hQ_<}3%^%&&8bn^C7 z;TE*L)xPmqWn|3xP}R6pw(Ze;nH`LJ)*c=3%$uok#(~|s7p3x0~8LEpYjV*-C-5L0AgW}ybbUS$L>5~wfLBgh%7@1*a} zur?jK*$QLau2C?2ar?+ZJVmd^YC{((D1FlLDJ&PO|9(9tEzOZo!)}@;v)kqs+RWT> zzLSA&qGw2F*IOAmkKp)C$n>K#{*Uzb))qYOYZav(e zaNoG^K1%QYO_1)h&oQ(tRUkwVLP|t#FNT;TMkS$KqdDmto9B;}W@R0r% zQ=_EPKNYp_6;Bk}&b08DhnLAx`6@?u=50qcE>mjIuyo*88;8VY{)g}Q+#UEZIiVE< zN7RjK;|`?KGcmY;cJ!A3ICld!oK20m+U@uJYZC&}MrmrNB`PM4Y96dES{Z;T7q9V{ zS{UqAu>m8GtyNXGhgCNsit-K}%2=eE~jA>P+1FvRW?^HO8LEtGPt*U|6Z zn~xq_pRd2=+Xb8#6s_m_i`#st0HvK3fBsR;e^tQ@(}m2mgI@ug66ls}3t1f4;~QI%0h=_(PEm|E6osStR# z(bMxAhqyi&E;G)`Y=!xHzXjK27`5VA!CJ(j`>&j?IAw83 zzSmCETQ;s>sx+S3S698JSEp!miq9T?@xJm4&e{Gv+ve7p(z%FaoYfmBjl;5e+F?QS zW;;&%3T}5eUv&0dbRMtz{;kuvHXBb`=^)CwgH^lFm2*+TbKMTYe?GsoZh|r2ee{JB zD{&JVc7N;{Cz7~+hCxY3?ChZ+!FjP@+&$p=tH2y|RE!&`&!Klh!tkeL(9?kM0~Sr8 zr@k(GH771JTQsh;p5ODk6?oT^UJ{iTjG3f3betjn9Pyl&`pru3<0kOyghpbOjyxxY z=K!SvF$#o)!#pTx>3N}HNrwV!%c1YE7?H(b+CK&iw`5raUHF*jtvwAGmD4GW--nlk z^_k21a5(^Ss+4*Eb{koKdQ*RLUt;wdWX;0ZY-Io5n*J!{eJ^|)HsyIpzxd^~z3RQ) z9?TZL`ZoxAd4LZt88%;d;5&=LzGa#O?s^=MHZcoWpnWFQ@oEeLhp$x<}Ge55_)hoO1_` zcsd1{4mjat;(1=u|IHod)1Z___i4`Ew;2rVyD998e?_X2#OLwfQpr;HW8=Yk?G4ZS zaefrf_wy6=IQ?(!_9D~spEt6a?L=zNwR_v@bJ6Nk^S8h{Yj37#JU7S4KlG)TftgBb z!Y2~byC!Y+b2<+LEpm7{M7YbK9|q=HsGQBi*2x8gl3ju#mKp<$4$c^H&)Ud_Od*rf z3GlAHBbERs4dn&}rZo+sE|~T^cOM5<#}jtneg5MkgeyO^UbLM$VlW0T6W${OYeCVT zR$O5!6pk84)QsfGhM&F{{nCB8pgVS@Nv-&SfDQZWxIq4xV^A_vR)9#p8$FitB^7<> zA96obJ!t%J8wv#G#_Ci$(mwtbFBce4v+(x=XgzkYME@FE)8c8}TXp-;Shc=i7dP$K zx|K7#J%4a+(#G`HymUyKfoI6wP~Fx@W(9F6QR=CGm{!PAzog?4CNoRq*=`t-JfnHL$w&{dAb)4 z@ot>3H#KMoGT|=yd~k~pb}q{X_-M4uMWvZgMLD55#pFsA*E*q|6}}`v{Ms$;)H_7( zUn`yRF_&o}O58l9iyxin4)p3EQq7(o&9UAu#;ie*J#iGa0AY%)QI;kpNWjB%jtHGx zV#1dPb0CRM{9Rkf)kAHLfdWEcMa=!l42F~+enSZ4q zBWezfB}vkwxWG_OQ2{kF~;`er7wC5DQnAX`9vAvcE`*J~|$0^re%t$ET;MYirl zLGuXvNxjllWCqiwH}K~URXuJG{^?7u=T&o}3)VW+ibIc(aIlKzH{Xv|-^r?KCnKMu zQ-NMCY%R7ukW_S}1J(_rGU{3-`6&WUrI7Ry#o|f;tgC(rI;CGG+g2MALA%>2&b5WR z?)Nd-7k2hy^ypE4DEP=)Bz1wbh0Ddr34CeR@L*@%uYVeO1S`Kc&lhvQ9}g{BZMHr1 z4z9^~-^2}-u6gTG9D0Tpv-iCqfRkqj(T>k{27qNhE_ZMKK6a(b^tTR=Be+3ohODI@A}OQfGmbgb#=njlEtAnYI_6q1h8 zbgcdovU5&8ms67JB*Q54%@+PoPE4?q^Y5i>cnA<;_uKKGhcljO!7GmtBk#4*ZA%m; zU9EH9Gj|z|u!=hJ7IA+$7soTZGPZyhnC)PG%oVx?ikKg}{Susve)p4_YcBo=royIC zKM|p|Z{oUKAgy)WD&t;`fmGJZ^_+*(AC27n|E@khnfl(}(faPB?)V(C-%~uedS)&Y zBm#dnC^>;?fRSg$)AJd*>Su0?vPw^iSyJ+62)J9ts%${##c^k(;t;#i=R@oZRKsQ+5u%A^pbu2yow~%ZoN7oteY|;2K6z zh6s4(xrFYf)Q$5e8{{^&fCq>|9lE;z%sCH_qumS8z89_qRR@;xR9#zn^bpdT?Mle8 z$NC*&{-5VI73C2PTQpxk%kOeA%k?&~sCB!{%K^tm6-n7(cWAIo%+0KMTlT^5urV z4CMsOf&vmsKAh0Xl#0%)8jC2bd5xhv5=FGr*zA>Ss3!J7^T8w;L-1VJOI;ktpdY0d zUW5L$0O~Wf(F1MNNe%{Y(nvm6%TMkg*jv%Da5exYI{Q9LO0PC9sxyRk2^XAhg%aI1pGBOE)5K>WWRs7_3x5BMk|Gw}Y z-OPGDhZ%-eFe`l#7bOR=c}^?CFS7P(W0*&-H<7YEruwfdsC@-~ z`Q++8opB%M11CHbg~A!M0iKQnCis_b9Hdk9QMM8K>t_P}#+2kg%aD^a)apX7mtVZL zGy7LNA~NOIoX$&;idD?3)C35I`lX^x>&WBamamdymJr%0mx$ZSLEex#2{qv|e=Y>J zhsNbvx8xkQ4@~g&R6;BoRne7+v2#GY&B?dicxSQvfjb4%r^wonyMB#h5!+lENB(Xa zu0Ls$SZi7|NRr!-1 zzxHU@Q_x7p;gla_sF@y!23bQ+nk(MfgKBCRpvEpAML7&dBmog0EgN=d2}3-a)>I|i z%L5^itV@amq!#XM)RF&2+>tOJ#}B_PT(A}*k^z&Yymh&}3Lk!iOMakESZ;wERzLS5ty&-#e$|8# zD0iCdR>QP8EGWFT$c}MxzDVO6b!)S~SgHOuMEgMg+P%8^D`Glze%@DqRAJ0{lkf83 zyicWVJr-v_r)EE2yjC`Mo?B!mO}}2QUU$Pf}Fq6{UG zq8TQU7b6yh643I4LmrelZ&15KsFL`4E~}%s4+4qru9=GNDTFPvfSwwYEKViv@thS0 zP?}dT+%i~6%@+yALJTz7tLx4z8($(Pa<=yA^y`a)kn1F&3|3B#gf=J!-MtD}Km>Pgu3dj{awp<#ce>vG6{58s%auF`f*K!NKklP-iXKmu zx?kc#2XH>OfxdTWzIS#rqAXN4+i(2O$<%f}4!UzZ7qLIDv3UE9Ja>1WC%iwLJ%2c3 z*4?6H4dhCdhHcr}WkX>1_~J7~z?C=(?;Y?ADVX4>RjW9^_`8xOItnJ$w`0S16=|z4 zhQ|pZGuHH^={BS>VqIH#L8vkyxYX`eC}TpHwl8nc<%yl|PM=AJrBunKxsl;n)cB7G z;Gnv$UgkW2iVb&*soJTG)%Cc^Lz@|=V4Yx;`==U4aU6X6y$ZnlH-b?i-KjzO**X0J z4Lx`FT!%`)WrtiQ1v**kZ3TvMVj!HLCk3uMZ+M`@;-K~c3;ETx()h13Ff{pmGa!1 z_nr#VI`muq>tsA+<~|mY{hN3$K2^+Z6oB- z^e;f|Az6f_hiDcbl<}Rl1gBt#P<c=~^u2)Oq#K}D>*7QQ zgUs^?4ps|lF$SsUl;@QgPinRMi-TXzmB#X>8o(}cvtCXg^> zJc|QRev-rt%94nGP_JOO$cUjs!dY(y%LI6@~YTyUL z7j>qVqjIGb#e@kHyLg5TJ3Xdy&XQ9YUMk8C(9&SK6k!+q9F#X$M3Xxv0lK9@^*Fj{ z;pQG^@Vk0g+PDSrs!pTs#vM*0zclgF8fCMPyd1*cq(ODO?|Uxx8n_Q>P#PghMienD z^Jwve)1b8ctDv`0iudad2PD(UjY?J3#`VOaX$P$D1BBp+_N7LY5c)}uO1Ahsm*U+18)@JX=!9@qnd$yT zuTAj{te<_n?|ny}6UR#~>X2=oyy2VH-mj}!uVY5vM^WEL8LUv(?h9>~92b@ED_k1u zC%m1nYggW%x7k*_&&-Wn-dkYaTgl!>Nn5W!SXYie=e6JG7d_V(I`0dq8+TV*J}<7m zt2%#99^x3AJ{N$JwVUj$6^%t(mR5A$mUX|DU7B=1hjpDwJwMiUZmoBpt#5pPK5Tne zb$xHTUwp1ld}_QGU%GF+U7D%2ef|Q>mFZJTYuB(eHSPhUbJXmCe==~yBBYXF4}y`A zbzAxM8jdO=R||rjkml`iW<#6&OY||}XvVpvwG<%3M2yo)11QIP{2a+aA53}hQxb#y z?}+9+M{$}~7RT!O04-d6>}BxW*pIl!KPc z&lF+>?^RU4HF0ex6vHBQ9|*b70Sh#lP(C#!%x9~Hu}?H^zb`MTTtlv>a@pqQ<$_e| zt-tJ$$+g+IrU$s^l6Cv{-u&U#D!w*WdsbBT|1+XJ;oN;YX6;?iGt}k?j7K%L{ifsl<(T`S<=LIxF8q@FUY^^a`(Dz|vpO?WQ`fyy zGfwXxi;y)^iZ4h;YqT%;Af4A$WuK5-1Ld>9}O=u95fZ029JDlG*1E4hZ!Fyb=) ze)z;oMn~3jJNP7iyr!G%Pc4X?Xz_gXK{ZaC)olA+ z?WK5oXwM(C8k^%DQa!63yOzq=fmXcqymY4!@ob^Bsu}No^?Y16F7`C0n)7bXUv93? z+iXs3=K6Sb@;slR=JN254*hHNHr2jW@4i>}RMts;jjaTJzngMjsDG>eeP7EyXTHrh zHl_xmw_0zBzrpeTFwznUId?YCSu~32^FogX0jcNHpv$784(FT)eys$?`&PH#2p252 zO?ZOv*CF2rH}HKkLq4B{>m&}4a|=)6&>wNHW4R){33FR@U(I|~Mr67OfGA6Hm5(Nj zxjR+8%0|&xMq(BZWGj_9;|XOu6SPjJ8Oa@7GGDwr*I4N*@boAJJs=hhX-_0H*5yS{ z?rnKGtcNv%plBHNtnxHebO04F#2rF}!YtA!`K}pQh=(8H2d|=42<0hLt~FPRJo&o5O0JPPs<)yL7Ii*bh4{cAJ{T zkZ)elCL0_rIfDWQGExfVcK&zZh~#@VD@0c`Q~3dN85@q`Z;@Dp#56FKOWES{S2Ue4KS?1{j(2N z)Q#}$m^@o$tOqqWC-xmkA`I_@WZ8%PAWTW-hD@OTS>M-Si)t0dR+z0%;@4t@3!a&z zTI3#L9_*LKzukA5gHjx14A@+5#2^`5?Tuarsr!+T3>DAG}hEY;nNR593hBi=8un0#HtYKBMXTI;%C|jMa6*naR z4pdZvq0zhQbrsegH5hV+u93I<{oML78zcMnufr|NJ?S;6xnuBlB$-()A``&}=DtwOKeT_yv|73eEB?)s)!036l>|Jr3 zaP9rr&fP+*FI=bpdX0H#l5OfUH#I)lqubyV50dp*NWAp$NU+9e`MHnXAAM~TRC?1H$Pt0jhDiPrC$h6WI1Z-<@Isu~ zjT6$ateH!Hheguf0@;^B07oIpzfv`IUhAlcKFy)vf+^P7(VA2*Q<8rL?USFa$-%lS zt7@XY+SPe1KG5zvuFkx(98QWzQ28ae41!~Uqw^L?cIJ?ual z8SML(>T6Cv2sHKLbMvC1@sP3Fb?klPnOn^KkNH0}d!IDFA6mU8Tf5$uYrp@^@qGU( zY42mkT=V|D>>IDrug~Pa1nEM~8S`cJ>+|p59?`xR(0c4c>9$c#X4keZe;ynh{F|2h zUak5}>wNmddF^5K>|>p_TB@}*z-2GKm2Y0c)UBif;g~o0_ z|E#EuydRCJsi`kJp0!`!l|AQ`m%}bi|Ax;V>ytVrWIuttuYvz`$rT%_EtQYg?2Ff| z=kCYOKbzHmyrcil^v(Y~-}~a(Yf6y{T3!2=QQMwKcwpNk>%Os=W76B&cRbn}xc0Vo zr+XWKwg$obbte0>$osYU@Atmj7dob7=4hj^#%QAq1G}HoyG_!5-b4Qw^yA?9!}M=8 z_WaKKUdY>kwt4d(ON#v^{xbzC)m80t#y^#SdP_yK;l82VFzfwwq5EU%`)u0#^U-UY zdPG9&KAxESY2B*TI`}y&UWZ3#dekc#WX~2E-tcU$hz#t!(5aeJRYQiFAt~~*h-*fV)NhiyU z!J{XF7~4yT96noWj;E)9b8wYPY#~VFB};Zf_oK*84@D|wz2&z(Bj4$k+tvxL<0*Pd zp4;vu;V2n6z}wn>5a1+G?o*YiI{2F!_Ou|+wV|#d!s*QWiQ?a)Ds~#-3l#2+Y_f@} zg8M$yhjNhj#W2=3*Hdut`{|kYE%Hi&=kUcR9M=JU76I?N2}i*w(@(aJ)-!5$O3thNP@XFw&zPR!87 z4-8BDib*8B0|R!vwodP3)M);Wj|1>88vUUz;xl>UD@PlX2xyb@M(Cg)+$F<4UC2$o8o=f}q3dU_gYTNxS;q`@4&G0~xP;P-@ak#71DT$4mzX)Ebt=fjzSHq8o^ zrbqo+d2zy|@LYxxes^TpQf44idCWio-|)y+GS#0h`*eNtS9c?sWTQD?H#nQdHRQKT zg*{qR*sDvrbS?3s5sanSi&Z)QxuTS5Y7X z!_1O{Jr61LbvTbJ_#=-BG=2-dvY>4`pHRVxA6IJth?0hRr2&U~67g70E6 zfz?O4XzWNqiXTX8Jd!WRxg^tB@Jl0_^ME+yHk`5y+r8hE)EP1!xVT1L>tVBDjD|`k zO7fJswrwhR7He7S4uZrzCDRf3f=3T8;O4L!op=Iv!eOXQgR(3q*N-=N3pF*Gt)lH& zP~RTY5%l*k{;OGz_p~AQf6lDUtv3p)d6JlR>8u`E{eipQ5M}o3 zR)$y&zC|d_zT2JDKa*G#?|iQadxqj98}NaoBGgUTlkO=$phO@fAv$_F3K3d0+Tj38kTb(1Nzjh9(nSL@kP5{LOJrwO zDa6%DMGCS7`S7i%Ik^;w_h9nS!%}AjRzj(9n%{dl#k7HqiIrt{+a)B6gzsJCQFRP- z@e{$bRo3dU6i)v_7v0s97(1Xl?rfQ6iL_ikiBgh^MA!S(M=~g7lsBYH984IMTOq!c zTX-l!r0mEpvT@EcP->p71cVRa_i!Chbdy%Z9w~q|W%S6|C)(lyF}NW@INzUXVJ#8> zO9iUxqRK4T?T!}72S#zGrnMh1C@Tso)Zv$EF`zt(Ax-jV`}(|#nL(F?%1hS0!@s5KtOoFT(XtKZ8`Fgke*Thz39qcS9ELVkt6~4>!8dY z?()Prs1iMGUEt52WZZj7cnY>BsNx9xnuwS#UZBP`LVKIks1wrg2|xmyP>4A|>LDb; z2)9ZnLkDn5$8yrim(;0|L2K&DXZ0gI5oT{TDB#D5a9Vfqtz2|$1B(qnhydEQn5*qEFt53qdN60T|yOc;^`Gf5+(H;+4_%eQrC zQckqb`&dOJ07%aZG(!PEmN~u>!T%R7O!-7k6S6@VCmZe^2zJ*Ms4Oc!LX3qZ_DsyO z{e|SknV=@eb?=>0;=;`8kt<0kD*X!~Xv(59JGb2T&D93NsT0B=s-r!eE!nHxDI_2t ze4J@O^UTB{4dhAG)+cET-jTuqhQ|_k`a}JS*x2Cma!{wjvxCahj1i)wSaY??x+(7# zYgNW0RJ(!Vu>?AWR5Wo;cd9CdB_*W|0jM~NE~rV^I5UM3<64Xyua^ElUWmESi9udh zO5RjcEfMzDQ3Yf|Uq;t(e}~zP8)BO!WI0NjbKWemO1gqx@)?klu!vh-fDaLk|R_PnLVa*ko7YV{5kf3A@<ML%A&zTk#@lM!|k=k2YxcBGOU3;bw5NZnnO56Vk&xX)gpt95B zjdcA(;~4uFxCP3`h7ZJSTba|b^DlM_r4mtL3?0|?MgeZb9=%)*OVrF~KQ8IJ9IU1w zVv9hbhV8R3^vaSPPLWkadrg@i&;aAyPcEk1FDt!-Fs>}`nMxrA}jvGN8kdCmY& zQVr}{q_IR~)Wjsyu6qt^sAQFnka8*bMLz^|Q@y4{^4AwIKsyGoC}bnq=a8H@$|GVC zoSn3(a|sqew||=AA4d4fsJX_ap;$rKG}&h~rKSrdTdgaka+z}Ge(X#hiN^>b^CH+_ zBvhpAXr%g-GNRa7HYCxsZ&HU6&vNKyPZ*95Ja;^GP(^}n<7`_G=*i813d(PDab^lA zE4FlrKaQ+y05vI=R|U%fncIF~KqlY8g?BWtgXmS(inZ}XxySzJ$czN=8be_ut=>>~P6HcM*QjW9 zhI!Z+d_&}Lk^3M4MNpoE9qmi1NnQjJfvvPjZ&3t_*=LIQ)e742&@{t~kl>|f07J~H zRDvN(gwrfR^X5*we2YvKbwuS@q14{*xiEPb+6|?J%T*HmTZDJIY(WA!>5$#QWD=sm?YtRQ!^xt? zdTQ@I`gfikfU1SATu}18XV+5vSB%E8XI=BZ2p3@|C4C1(C93{@TC0*ecEb#QA?pVX-xn($^0k`XD5 z>T4Gt?7CIj@^yX3STvgqS}@X=kJzaiFKIv)bk0bi{$4h5nk2%K%mAJ>Cysc{Lm3QA z{Ak|!mZupTNxEmxpr97*9RAxuFYu{CI^tDQw`3b7FN=`S_9$J&11n}g(FW%H<0*0J zO03OxRS}hsMqtr=9ATg@{I)g$5D_Ro-eoXh(iFoF0`4^bCw{K=0neQ3b7*7_r6@&# z+O#BIre=J?iYKG`aja%lIl*UIhOHoWEZT|MjnoU4 z=aA?Ve^CeqgtSCu5lsN))*W_PZLR~^N0C9XvyFKIg>_|2`Rb3ps8G8nq5BmH+k;*A zr+g zg#?eRwPzDA$^s~>&Y&nRdIj?IQ;Yt!WYYtJ4)6a$#@Cv78*wg-YZp0#kZM7Rg}UY@ z^^JxDn|g|{;my55O`tZ4;zY#bTipCeZ%^>~#EKgWG^RhF=`+jVSOfeL{vNdr6I?tv4go~)#^G6KQ-|OfelxLVSME&1?0brLAgq_wMwpddw7kPT&z2GV(fQLsd_ z$fFF=^ERrQsP=e^C&No1_&CH~amrF|JPDf#coCsjz*_uQmw|fQMYT8$>Z;u$g|$W! z8jDv^!>TF){j&$Gd(J!kf05Y+Z*ttBft(jC5*B{Jk|cP7?!-YghirqLM+zC?g`47! z<#Wdh+R&U5sIs^{bm~h|MdbIY_Ew=pR6XHb!;NN=r)^^BP%{it$A%3?+Y7d~i|lly zLP+de-}{@DP$K0soe3%VS2>@3T#N%!18T21vj3j72Cr>gbO5G+Qh^Q%X0}L+inp<@ zKn9!i5v8%@kQ@cmBEOZ*Vk$KV0L z{FilVz*L=HT5;<3k!Wq!)C?8H4-m^>IO#HlDZXFrWF+ju;fv41n1k_|DgL=Wbk$=c5v6m`CG2^3PUW&CAoQI4_27|#EJg}=+= zDJp0NJRJpfk#BMbk&}Iq$-+>S9E`R{#8a0uWl4DwC|$&XsbIOWR1c2RYtxfUPcwC~ zrbM!_#SKfVKXKJlOJci!M!BW@!77R>yt5>EB4o9CRtFsaKmj~M31JTrKjRP?NR(hU z(zg8fMk~x=sbqo&%h^C#ASBgjy9y~6iI6srY6-|kI>a!X`-ctHm3Mye`!7DkO zyG5>a#YVJ|xb^UcVK>G=0u2plt(2$b+-*_nN^pieOUo7gl+z4@SXUM#e5wq$lET(A z?kqz0Z}PmDXhvbJY@N8Lo1M#~yB@h4ndpf;Xr{9Ca5a|YWsPELni)e?FYR%Gt1r}Z zzU4T4o3&e(aG?eM9xx&+XV>UG zb;&tb6oSsBNaUos18c&szu~)Y!YmbT!Vf5iRl))QmoKxkkc%@>Z1?BDQzQ`Y>d|L> z@yd-#Iaqwyjh>aZT;;!}R+b2kCin8u*HNg*Jc3J|`QuO`g^T*H@IPD*1OI~$cNlan z)}@eU_QluhzXOA)AXF7Yhfr4$tL0xhCWpCUQ`c+=Byy_4gJ~s6Kdr+RigZ(?lNF(V zi<6BaC^ZgM$fYMMUkk2?!z0Lf#BY@ij|h;>3d}0VeW$eQLk*r`%m65%nuV8UMDj;- zA2{(Lz$$b_mIYrTvM$MWZi03Vyeg7tJT>Dm+Z3+*{kci9RiMx;v|mf!r1>!7D{#{YEa76fX;;-Yd;j*l?CHB|V6{K_l_+dyv~oP1s}t z>19z?f&&XhUm8h@g^9r|i6uJ^xf}-l7kgJ@8*+qXZCP!Z>%kfy{s{T>ZLye?t8xC} zqnjjmD-}+{=5rIVV-f}x0}bhV9G`=`Pv}bvkE$F$=HC+f<*3mGafN-(KJMzXN!hXT zp}grT39ih4RqQH>UGB*7Ej)&SIOEmPM_Q-Mqo?p-gKD1 zEpR605-=A=MiO1F)T2!gh9$@-Q5?b+SOM!X`Lak!r@5#er(pB{l>5_*g3dts!Zy-} zKXXnQf+NwHKZ6)#DUWUf07in*cje`{g5)b2|Cs6+qBtC92@P0&hyOjo(rJG9fgWDd zaaIbnh0`JFfX_9G7=^Q%MdC9W1Gh5sa5}z+2mZ*AxgSO|Bm7L$xC7yDxoh*jsW@!WCeM-Y4{7I6tQUF{J`oe zYLK|JfIGOv2-B#sdfco{=U3QNdPju2HnI`5&%nB(B7B?KueO4WvMsVh0I4C&86Iew z3=? z$BOQErT4c9hPeSOIDxPK5Zl%hFf48bjWU99{55HUQMQRT0MBAD0|Lw(VVD;hd4Yz3 z5~K^X5+{GoBeWl>E1YZ)s)uKh{BSvjkv)k&8Om{R-=BodlwJr4$9#+PFi;v#hwXIG zSt22=j9)xPU2oxu0D}Q%wH)p)P1qd|$AJ#5gaL*rHPYdelt(u)Pz7rk1M!q?gb0NW zb`pWU$4bi>$d+>N7U~@K0ZB5|){mVRfGO<%(PguK`3J@sO;07w+V=WkO02~6sE3$< z9LP;l39lv*+uN~a>gT0i0)9%=d}rY&rfNtY4M4jZAnPNa7tH1b=MuQJR(9vK5Ng>DVBw?%ntJT{+Mx7%P&xM-zdN!A0 zexIXOFq|)BB_YKhs@Q})GDowUxAL{%^H(hKmIrOrrUvkW`lEUhwVk1=wN&ENfaM_B zU1U00V~1?KRN^{b8B#M~N1?Bw)tZrJQOWS{pz}BR+MbIWPzS@PqZ_Bf6l#;hDRY>& z%5Kk8Q07oTMaM{iibDD^am>oqb9iW}FrgOms&z;p9~EWnv=vp!O{emb&i(hrf4$+K zVHwYJ9ePJvZ1mjN9YbXcz-J7^8suU@qEF>#MK@3mg+}NKCA}bKWZA)+P4+vh!e1d> zn)BMUQel7u0|WiS3>nf)*zgW;(dcQ_1Z#nXSV8tWOpexH4cZ63+4{g$TEH9zg9KOSCpF*4e*H%_3^f&Bu;^^2IhP>6H>I7z8l%O;ULuwKqJ z2@QW)nnYQhpd>PpPpKM}pZeESXR^hsLW4=-Jn` zz+%4|UP^bx0o%(7BLC$ED7NF-|D}|mKtX^h3jo7lyFI;|M(BLa7MUF0CK;G8m+N>E zU^PYL);sZw_)$YExcF{yJ$pq(`i`;WVD@&XkReq%lG5mboC83_ANfG2oP;HPa0DFJ zir6GgZv}hg;`A;x5Al?a!8lPoFQ!s6auruGWPS%b8dJ>TfQU1i28ZsL{$AyN-69i6 z?TXY(@;Bj9XbFn%Yo%2jXXNjc!$hqa+RW zB?E@g@=|eQd051)C^9x=i*^I+{O~$ec9B5G(}QxmnxMvkpFcVZN@byFzK>c#rzU2r zI-4a9K-Jijc!E7}@S>tzP*locje6WNM7(`6PQqLdD^$R9cy~5l7l*diBQTZYe>K++ z{(c~n41GO7E4D>RyLYD|QAb6I_)HrhwXCr-1Un`atZ9)Tt&G5&6O@TdmCA?JNBqOQ zaTKIsK|7Km7r$Uf~ez!#4wrvwJ#((xfanan2m0cCrsBfAi4 z&{7)UWmr47K2eM@^@8+tjkHB>cWx~eU#^W-%k_1{;tnB+cPNws9qjN}0LJM`4O_vd82tSZ+a>Wlb{%^P6{5-sy^O z*TNZm+y?cj`uP$(YP9fMCir!VHKO*Vo|#rE359FYYr1H5$Adv1b0p}W>cX(>+lDd_ zg^BzH;Fp5(DlkqNj5YAm1Xa)*+}28u2Ol-qLk9rQLvldZotVZV7yI_OPl@~`87%4+ z8~V7NytPktPoM;)$S#^nY6cNlj75mDAo7E)zHtNg|8IGIpC=EjFkwG;i7AXYiR*Zr z%xK^zzw1*v6h1X_v!EYS7Tb z*#S}lNk~PamYBRv6_ z{9hxIw5+K@Mw z_O!uxG8lb zh^0jHs^WJ2E=TBM#baF|2T_dACTn<=iVW?s@%TLhc8|T^W!p{I26oW<|L850Fu=-k zHIe$^qa{%2Ea*2>C|YbMndszI8O(EC66jGftXEOqXp1$*?-Dgp9#AMIf3G_yAeF@z z0^*1V;AEbdwi-DGt+6Sf2@$LD(&UIT%rNzeO^<4hcmiY+lOZe=S&{*jxF+)xM+GUB z<5qowvROx5k*33i`}X3fG#Z8Jv4JF&OussJ)iyYTUnz@4>u6BEb1V$A9BfmEL8EXLI%#SpOIt8EQxQm&TWvT%%!$X&-64jdLJ1x@pt9>T*#NFL)mvBN zk4Z1ZpKD;IXqX7oyeA5y%gF>bWRu=nToD;5 zYzLFJM8OSe_A+cbAxoq-Jx%qs_b5_bOZ;i0vii$HeI%JX3CtP{y>48)d{TD;SZFUVQvMuZta1o20ODj}tJ(amos-mG_^B+C{kt4fsBckM$nM z5x=%c=CtU(c!d9rGy1{?8lqYzTWsgj0w-)J;tygHPwGR^U;n_ifoo3`kPzR*#~ZZc z#ecd1j*i{5UQ4I1lNa+v+bQY_i1v0gt6Q{kg%B-JOPSxC9RsVr_#OgIR2S~5jTqac z#`x}bM?jl$vNB)8 zR#jvl7W)hoK55UlNrUW6Wcc0c``s7%vm3k9^#%X}y%nKMOAWln9)I>tov~RsM}z(;X6IkBO!+A83%T7K50VVp;s@Ryq^bxXKP0c(r=LafD7#;~5J_%qv@YfzAjK4zVr0sBSxXh`6h4EJ7@JM_b@3z)!udlYAkTU`% z=z$r?UYsQ|iMMrdGy(w%tu?>u%nj*tjC*P&Hs;vgH)b~$r5*W*!a&;*Op_ru7%A4o z))hm)>Khx3Q3G~`@B}u8{@AjVhl&{pf>`$Sdu4b$TEaTcoQN$f+|bsm>;JTFD&(2S zANU3&U_*me&0kDOr15>iFD3;^%n+cTisZ@b=j(!- zb>b`pXTiZ~xM+Bsoy*-tw@-pZctOwf0$FZ1KshqY%?-ix+=nEapsQBNP!-y+19(GY zvV3zRKXZ(`1;3&UfCK8*ak(%Jg1CAiyXBX?y2}U4iROGRQqs10IPE1Jm0qd$Zsc`W z-q2dPUA|xDl0a#C2jE`q zAxalX`FWD2s;06Bq9gXYN4?PPtCc2c#q?$T7%FL^j-S6kuDD9sc7 zu?s{KiT6p;6HSCe4lXjJtGqi6@F1zI+ceEryJ6?t2{gvlsv+Z3oClCHxsBxi)Xy0| ztb3dUI22mxJ=V2@gn;Jf8%7)--qo_MO>}UzWN0MmMK>{fTMoNe1!wbcg8j%?iJtqZ zDjV@9rt`w|I((p3(w%e!U&?4%@2+%tZ`uK`dQ_2g_-FFg-whS}jfv_CZ>Ah@YWHev z0>5m!s?*XUOe{zk{~YJJ5N1s&w$F8HcdR`h7gKe%7{|-@?WB!JnlqrR>a-K~SuOUV zI(#^F=9dch@#y|aqkNW-^RdybX@>i7B5q#;KqBaP1~y}uyp>^`SeCr>y<%SuHujA( z)}_OP=rq1mtW;v1%${sEs=CVY$vWCNh{zFEA966q>(H`X#4B-s_tmQL#>==-tJ%bv zY~~i-H%z(EQqlgYp4HwHOts9*N2>(-(yCb{Zr#w@3 zY^PbBbY6CthNQp^-i3Mk<5aH>Tkx5bh0S*Gh4)rR#NQknBLR%BiLB74?~bUiC|*g8 z#A>TkE%(%TBGtm#sJkJ$*e(X^SNpW0BRlEguJK7sf;RI~C(VSiGl_+&mxv6499xIo zazn@cmqV{0H;tMW>mOWxi)Gu9U8OiwtQdbuT#p>6zayK+bH{jp3Ga4StWB0GDqj!U zG^Y9=2^8O;hsa7}CwgZa0uqXBSeQkY4#PzLx2LnAVQ%5!{Q$j~tzpODS%Vr=` zpnXJl_q1PY%fOB|mu8>0lV-Q&EC3wz8=9F{&a);PpKUBP?i&~zX%-iyXBuPefX)-m zjuf5g^`dP^T`0baOwJ?(7z;3V2di{td7KDMa&dB8eXEuywjNs z3&s<=fO=6HCy13p9Ed!6Us?93_gLKIX1^iSaXF=gC->>={{3j27jIrv+#?i0lZaO(1Pc;I>GPB zKowM7gl1LErnpXMRK`d$EpgvOsw5Uot*9PbX~Yrl%~RhbC}}~S9b2>89ylmTjeBIJ zA^I#YV}FnqWdq9nP^+l!677@43Uj*4yHVJf(Z?aqiyFF+;@375)Wu|P z^xaCgX+GQb?9R;!16sjg1$_SUfHr88>J60jCvMRU7PP9f3T`nNhG_S=IkJ*LMbV;$ z5SRMPwFF9qsWqwFy$M7KP$#X+NHv!lWq+%la@oUi?qJ>?QjPg&L{&#ewRFg0!*(C0 zlnbxjZd#|H<2fPXoa56p*@#>Xp2u~>>m9tufhq;nX9Z9XQF)m88`#Z~JW&_4I??r< zXSA9cLtXf-a?Mu{hGE{flqCiZce)&-N`8R7T0U>`kF{b@MPNtYv&F%{ZjMTJjL--c z$_a_yy!O?476$d<)Df6P@lz<|a}E6x!j5-J-?!o?J7Fq}oVv~Qlx8hWmEhAm^ESyl z8`m5doK)pkP1bq^^91&c2b#Xi%l-GQ2Zpe7F|Tzs@~s5^@f3Lpfo~6MuZU6)j!Z}W z1Y+;B8^6dCsg5e`AGMIwU&SNzsGull^zHrhI?Szv+Bg;=i>M$ z+f5?#hRQneFtB7G)1o623wfP2Ho|s;vear4RaqGn^)0kmzf40!jm67nQH}99x=To| zjCxJg2a%MP1B$k}-CDJs>nPIGUP+j#J-Pl=ojNiW&GtV@&Cg1SX3FeLd0>84w6Aj+ z(C$~fT#_ArS^MK19T;6iP5wZ7?QIgl0Ab_OX$epVT`x^Pi+TQPam^`hIfrV>MW0n6 z{=mSsdZzraIX`(`PNO{amMb{xL3TT?@`G+gp?uWkf;c(M z-I3IPw04UO%VXW<`FwlQR)$}aL`p)7HJL;IN|OxH#}LSEd+w=m(_ePxm8{D4?5ssb zONp_G(2T_7o~Gzi2jzm|aIKy;9RtQoPoPE6ZLf;%lSizGw8z_zQnpRaj=% z?u4@urvYu<>QOnpT^M*J1;IOI0d3RAQgg_=0a|R|FH9kwwSr7ur`z~L-7~V7MwN9I zD)nBVJq9NhG8t3MupV^$<=%VN@W#|24?yX>HM*y&)C})j0J?j9LzZ*&x@qNiv3~Sf z!ElUUD#A^E{~$FgcM^^gRR?IiMP{93i>^ud4#lr=1(51rG{ZSa3k|B8+Nw0^8KV}; z8`Or@x?cwqkO*RUPk-;j>zV`Z8 z*EBky%4p#hH9Bdi3C!FC#2Bs1>zz6FE1Qi5=$00ot^h|sxW5!6fb$ZOs?HfH^~pR@ z*a}RmrhvIgpp{c^rwgow{A@%W=ikYpw z^^x|JY2NHVj7H8Cs|hwxlFbpjoOzUJD-`J`aN(1$mG?1qP<7lln1i9xVX{@ZO)Wy4 zb-UX;Qqan9i>1|i+p|}t_SLzeKc=GDrOI#_mG6m}+3?&9Tcsmrp$SkHC90uB6lAMC z+B92VM=0JA>6O}tv1D+(&I>LoTuAlBzjwS}tCmYidF57>T97osF_XexsK=4|QW%E~ ztjW6xG8B^QE8dTK?j|ZCm9DZcM`E4|UPH^EWUG!~)!kZ&61(qcDFrKT3bTnOIbqKw z>)AE}YTsu7>(ugrq@U07$HV~ZuAAn5m9sbKOZJ#qH)@WY=U=HFp4YQq@1!4zPnU(g zO_bM8kAIj*(X*Q4D3i3?P5!a!#GZUA^=_Y`ZNDKo@3VZFpy^!0iMGmk)Y1qjFBW(r z)MTf1YqIRNhC-kaVk+;0cHIU|2SSO5O(MrX>!@H_Qi(3`d-S@J&`*@cV&2u%9|6(S z4dz7CF(%p@Z4BLNIe(fGlgTXobGXu1nhxB`TOm&{I@0Hip0|TR7aVEt*by z`REeYE?1B#x1YG{L2_Wmw^kUW(j6vPt772PWgzFi7hC6X-2I#?V(imC{m2nqeoh&` zd_~QTqWmx(juU%}8*L+Sni))au9Ox=d#}m1jV{>GA7_WlwWUreu}70IwC$A z6~Q$d-BDJV?zx$_Nd8>8WkXnNt41ERl0f@et=sLuV6GR|&VGwifT_I#+@GHnV*1z_ z!g?~YBAqfopo57(h4RC60>VigkX+idgQK104WW}1gWX8Fed_Z(Lh2lF7TcIDXtCRQ zgnv*fYCoM-&Qg{b$BvFa>QH7$-2_q5)FM$KET-_hC`Gy2IW$*H#r~Y)dn-Y`xYBOf zW3{Cdq76I3HCh~axxcRCyYhZi|x^wJp>NxWPU%_mf`nwqyfzr7JDnNt0Iw|qaUrSvm#UBj)$={;m@vZa-{SI+Z0#mYU*UQaH9@{^8Xc&TVweO}OxgSumbb|tvQ~Os!Ag5S{q3vkigE2py zbvTye)KNlxfZpAZLt~~vt@9sU2q?RLrh8vH*oO-ywZIqPGzirU|7Oi#v07}9R^tbC zcT5JV9NG*j(T}0k0b7C945k=H{CK(QQZ$p8_J?=rY_!w1c6;J;hKL|f!bx^w)@3f^ z^h7CSZzY0AQjJqtCOijM#s%0dUDP7)e=y19*rXB9DN6E9z*=tZEESYb8RaaV1&+5ijzdc1iBOqIvYib!TknL5_3}gM|WilO0_D&=G z1fTqlEHPOG1Mz}j8qWfGl%~XNzrSgAC+TUI+!chW%rqAP8E@-Kf6;Rdz_x+0t@%rnFv-#m=z3jb44?dA((p z-SS-#Ri$1GAgAn}4VKZPF+%>!2{_JWGXrvjUx@^_pNg%c=+63AAt;k4zt$$p3gljE z(r?N%oljwkJC<={1XufvGo3Xh5rWI&UwX!Q+VCpeW_;L&iBc%S><+iYM+i$CE`4r8 z5|ntvr<`sWA9E<};{AuON`zA#QJZVTn1U|(GmnHI_$T_R8GqUYH6_*ix1MMghm|W% zlD%?_XwhvfO3iZ_*7b6vUaSj^^fD1Ccbv?ykP36GgDK!^)K3?z63#&0#X)oTg?;MF zUsP5Hdgi)a0RT3!OVAk;>5VxlpAknk*kcwug4%=4M;*S*s8-*4KCWS4Ifl4)OfZM* z1D48Zp*J=cCTKQ1l_3&0bOvjvH+^eugsp|lr`RY(Pr3VW5P?(y(7_ zxszqeKSH$jh{B)DJh498m&w3xl-x-)8&1F1gHdufyB%UJ9kmR9DeNj!aG+@52m+*& zOZm6-Qx24Sq3P^?e^KmfPGz8*xwY)Pdh(mao5W8*5NSbSM7yV( zOU108?LRk{Blj2F1XHQ}Tyt7Apr8Pp8ADw&lE!F>%ifRL)ZB6?gXWxC=YS#g*?$6A zL*W)!<9jzz;l|oxP`p9PS0gek=9*}xWpk)Yl!i~AD5P$17l!TVZ?|R-iM;L>RU~u2 zLbO9PAEl%4flweXW?EHLq(I<>TRfbGJCAkbsM$`r0muM-J^0G=!MTT1uGCz_p+zT# zjWp}&Kc}1LqImn}aL37vjHK0hYGQ2qghW9#fCWQsZ>4loZE0unM$#>6K}?(>J*+^f zyGB2+T*?{catu&5j_fBN(#LytIjM4%D2blBCO1$+QYH(qPGFUazd^5`^Sl_ncjs`l z$We7+kdF9VNKoM1B8nkrq{jr=VNmtBT^Xx4?+7Dk7y->F)qCc_#wFl}0s?CyZTAaA zuHmc?7A4TF?q*=%FOTB{O`hkH!S^m00x)m2_`zz&C)rHwJhdOhR(fuAGnT-1h{jE)Bt(R3>wZ|zXB2e92d<4sWSyy$-koY!=OmM>(_ zm`Idr_2dE@moj>p|6Nu~v~Z_twIFOhcCg52Y@PQCZCqDW4XJI>6i>cdLf& zmI_h}KSM3aYu3_lY=ps$?O8y|DWTkdiHgfcfSd%}RLMo46WMh_+5770bl zu#DA5Y|!0Pp<-I^%Butb_M;C1H1o-$jZgj^dw}qJQ|py5pp9 z@$FE{X1yZ~m9g%)5a`(zX^A?|B8d9yg)THgIBL1{t-vGDypowh!k6_Yn}WRnyUJ`E zxW=^Fri?~>m?0-gRq(LmArW{-xJCwu@@exYeWgit!E`blWd#a>l}IrC)yT2AS%Th zRk#>oki3f8M%*k2;m>Qj3@soDM%_}zcH%ZIzR|OIeX3;hn^^aw@A>)^?fLYv8DFx}N^=;=OF~96*$ktVX61Yc9LE4}> zFwbZGrgUi8|L~*}%4q29`{iD>#OH>&9bt4SP`oh;y9AaxJU?p*h_~P5ya`aYJzg;r zYOSN3@$TgryWB(f2mz0RTAgC)v%t(|z_z|nO2(~qvm(Ss=B^#!QezBS!W&l18H|#R zvI%M$eYD`J>ye<5J2n{_kG&hX6-=%C_?)M0(^4rmd6qMIn(>Hh*6lgC)Ie4g?47FF zY9Un2cH3WhAcLl;Ojo`4(M@$(J&h_vm`_EOw0D&-U>G%v$ zF^5msl1;WB@^t4DpcD|uiC$*FGsBf@d!iSq}i~K+V)Pm>YQMs)x8(^;O%ehYD_)_ISMs< z72$P&>t0+)-F-60ls5`s@mbqlu`WLppz4X9okSnOH;3j&SM!Z*2O9zm`&X1vOD$Eo zbjHLO{TQ~2m*Nj zThKOFGogOnu4QV1(2`U&=*g&BA#zILk68K%p zRbe&yirMvStHif@*rRjroNIfkrQ8!HG*D0uG5iwre20W6Du8YmKt{bc`?6))Zox>j z9s1n80iA1cdO;7#`wg}5y`^7#t<33y6}7h_>QPXR2quqNO~utBjcwy?E82)pwqjh6 zu|{7om2HEO38*&-g9Fgb0m{p>CPdX#0A5n=!#|NAcFY z-Z-4K&}bjdFlOIMyI{fGvs^((bU$m=^qkk;d^){?zR4l-%siI`<}}$T41T*|C-GW zH&zvZr;Elw76|q#1U6F9nfm*>NF@Y$m+X@bv=J*0S0qnPixYH!;yR7QK_NqzVj$2p zHym1j?Z{VbXhyaVvfCg#*`fZo1)HrYBgqb6Rew~wNfb<|1c?07Jsq}1W~QTTR-9_$ zygGHV$XRWLzjgCL>MR0AD#LN4R+G3U`^X@n&SSZLG?wd$(t$3|qq3xXb6>7wb z@#2-@yx6qRqqd&F^=tNuHEFfi3a;FA?`TP3G1`PI>o#q zc-e+p0cRix(@JZ)dUM!zuCSM!Ufe-l6qhMswJ1)kz2?*mlp$;_w~VOQE48)Y3fNp$ zou7%h-MXbp5H`VK5xP6xUmVYp(9Xp)fM+lMNVy8t@~?;*;Xq|UXGvBc5l727u; zaI%N2S3;iJWZ!3L%hNHtSbOw3J3C(Sl%v~T39hq&CMTa{)!5Gz4GO!+CM1<78(B%o zt_hS}q(bXgFOv2fSra?TS8S1x?2te6M(~bmoykij2=d_d5K!}wBu@eHvy+(Nwx(C< zN5rnB-_4+@aRDS1Mu4xY*U2e_tLbVPBWNqFcaiSJMrF&|n^=NoU5m<`z{D!wngS-TV*-5y3w`)$0MZ1Oa16DYrP)$(K~wJBdEJ%z1pY(FDgEPcZ`_i_#$fSE*t)9&eZ zKEsn)Prk9S&vf)=_agaqzIQCwkJ56TUv%%iUKSHBI6CxoiWcg@BkZf8kOdzK-Yp(V z+s7UiX>0f1Caa8CAYcWR*DgUtyEMg0>_1w{qKePWu=FjXsyPBH?&@{rMMRb%8h}3~ z+DF(PW|5@lL>D->GCR%knpIsq*B(yABIFF0J9NOk&@0`qBa=HjLwp(*Yi}qqMBBcq z_fAeA@U8=0)W2$alw87KDiU?LvEBm^1YVfnG&MDg3#$tXDu`njif=gBM1Vqgri&=U zv6N+cH>-h2jfetMa+ryjSZO1S)e|R{1#5T6h#+19wFlRk6Jb$u8?CcrBQ=nCIxRzJ z6@puNOMJ(Ka-AxP(aX8fWmDRARzpZShb~X6a-P)S^nA_&UshBN*O7QQmc}{K{_pD2 zIp~KzmbmKv+~(V&0g9B!U`XI23H9DZg$_;#(OEgBeE9o^vZ>%L3Qu>6i(n}o(gxcV z2%<Fs4z?OrgC0%}EHX z=vB!u*C5}ObJ9B-ls(NL?yGfhsG+Y0QbAKRzUW94mayij8C0r^a(h05ga>5YteB^k+b6X#ToIcH#=;^%f*hyR4xBl zu0Q?Db-wq7KQ3Vo@BPoM-Gtlt9)$CDHUSRmWqpt8A5qh<>s#}%@pikm2^wCkrLx-jGLv()vmi{OGN z(zD3E)Vdh45M(*{f~RVGasY*c{b<{H%;2XbRzA9Ci}XQAH4tS z=7U#{dE7lg5J$C9nu~`z%CtSZCt>4rdR2NwQMH4R)e_)9(J(bn z7T=UK#jbs?T66lclGtho9j{e+hb+8RckL>+qK1zUflGP82t8k=QH%G6$?nAV4_X1m z;2fHb%@LkbbJnHShCnwZXdASgF2&%VQgqSb&=C%R&Ci828&0cO?8z(2cEk11iSy@_ zREINy2muoti!(pr=ee|Rno2F)7;O+GVLnwLOPkU=q+%+yMJc92N)ZOi*|)ypb!iy6 zET2~uveqAQD{52eSdw~a?h^%gE|XAntwAc+0pTg-B*0};uRSj()y5@G`M{N3u@ho( z-RF;T+M=Z>xz4JS%8jl$3{sZYGN4omw6``<1-bpYWhoy<7yKQQW9@WT?Rkrso53YC z9l`H;fp4fCb4}CRb0F{TM8{2Z5w5k5i&M)(#v8+N2h!S}!9wKxB}^#lqV7U3VYgK% zLr>K6Cbvo!7x9*;5Juk;DnSe^f9P~5>KAFw1PQ>p z3gVb-e(${n)xMMm`&83}mc*3cMJhTwB3+qf@KUWv=z2`5XO=>*32V^yaJ{2faoY{h zwj?=YqO~-RxhX2;d0Chh698V;0_W&R*KFk4N>VkH)5$~e)FQjqe?uv!?b56PwJ&0p z+D^_ebH0i$wJ_)+Xh(0vN)go!QnZ`lBV0e%)#|6--;xCASJIq?;tR6-?%JTIYnF;+ z{#*prEilNLaHp}Sq+PSXxnkO3Bne9fS*`YYv&kDQrd;Q#U47=dQef1xnIzC0U|Dz~ zz*Yw`sMb23MW>vpIufqE&PC}&7ge&c(m(SBO#%daBarLvtjkhP%QUsnWmN6Gi7c*V zT7`%)i#6;IxH70)B&P^TT)U_Mpgu4%Z)IGEH~W$|@4rdgd#>#2!ye1^qp)1(|Kp|i zd5>31=j1l!$t(5RoEn;b-p)cs@cxz@TVzI9impm`fiImdXtUYkl7z5bt7TofryJ^Y zxs--K|K753u#&U`{NWJTV7Lm9I{E6=(@vdwh|!h0CLTb~*1li)Ezu+^?i(x{6xFjT z-DCPJ)rqAOBiGbY_bs6(WZvAS*sThQ7fw>) z(+xnIdvCt-IYQO<sQs@hbenZn4aS{hMKr&fCvMpR6nUkT1h&AHb0kKriJmIOtDz;a2ml!! zq%JX7_xEYZGveqXL9;CEOh1){WthNo0iwjM$g~8-8L4MvRFo8p!;PN8Y&s@Kom^`) zR_C%%j$X2~?^>MS&MV)FAChnODxc$lvx96z0u?!Ig-sySl6u}`d6XxT(<`Cws5ME| zf=+QMrmK;>CZyL4-A(I|YhxCz01kTz>H@0Tth|uY2)0e|F_sP4Wl;j$88ytBzw(3Z z&K9Tr=^G++fKmv>e7vWU#oD9rP*Tt6Dib$;nfUaDB_$tDS=Lhdrx z8A(A17{uP+D{FHix`cvcCa&u)&KXY=yd(m#w|w;&veR*?ekDkbJQWt{RTcEk3`)|3T@1Jeat*l2(^ zO@c6`v4xVCK!aGlO4tO6TNdAOJD7b+ce#U?PBAaqoO%)81)FC-B+P1nzNB)#MK({` z?P^YIZ>>sCnp=3wb@(T{$J{nfXdx7($;NY;VO$TLb-Vb&p}IkHVQX(wt25nQDNX$+ zl`N22K;LqxC$HD~vmtEZx=NH}cSxyV<%`?;XnkchQhiYZ-%a>Cy)n-vhH5QAsE6~d zEepo2`cHC2Q0b+K1FN*D%w+(|BnC#gVh|_!!Vg8m`N}Wt)cIMK@qT$4v5!Fld5^QjpDF3V}WjvhaGO-K#7F8zN zP?%G6z8gTKZPT3L((TmuvL}wwIV-`<4>c#IM0IkAythT&Z6~-8R&=z4By9deS=hm- zE=uC+(&%(M^hyh(OCGR;P7+^D&Tn`9F3~?cjrjk|!qP1QZ8~U*nzVe2uds zsJ))toGP-Y>PdRjRbES>_1S~8S0#7Z>?#DPnnwnvtJvsdUpI8!TcxDFUrCUQ>C9?S zB)%XU4Vpu0jE5-`QL2;U)xh=^pt|za^+<>7UMh=mPYG8!09Qs+*;nS|#OowkT^Xaz z>_?|9l&Ka0-{zioJQGBe9O``#1+#9CJ5wa@A?qsHHV9uLmn9=$02p>vFkib>0B~qq zySTXQN?p}8WXE|d*N?_>O>3dZq*S`MB@D+(S`03fyenVv z=P0@@u7nL&1^Mp!Gc-v8zMn59D%Mx3fL)`C3lT zL!qq;OP6s8mNYrJn`;NSP@FKq_6IRc36yxbfvZQ?Su94VUgw$~cwk>czq}z*jy!JS zs=y|;t(V@V>+ixB6Xy&w!j{6F?vARwkRQCWrE*`E8sTuxQj!AV6z$aJ4J1KrCDmoQ zA*rM!C(9vRgCiG zlI`bI?QW~;?8{AbLZlQy*fCg6)SPqyez=e6k{aaAIUJ*_a(VWeCseeGVUTwQt z>us2{jo_vyA+MMBXbyM+7M-oG?3|u@C*FJ8HbszSeG>UqkFh*ZCXqzu+S=T92cT;Xmy(_G;I8x9yFp9Z5J=p%CfeS>j?dJhy3QG4;v<$XHf6 zUcBfzk|bsnzq7eGsC3jEv7x@9wC`E=+kR`manB{I@zuGbJSV>@d5Rv(^{0QiR?_Hl z#k|3GvcA`_(>Y6)VwEEu3BEmJ4w#!Pph zT0#1&6(nZem}1S8Sfw=R8h`EP&G69=mjCUs+1ri(AA9f8BuSE8>FLYNJu9o(4$%PHwm#0Xaely0RkN%v6Vgu`X!F42QQ*CQj`&Gd2ax#xjAwlMo) zgoFCZuAXX5fpFDVs!m$}I6_pViChm0H8evNr+eS=Fpx3}Ynog&fnlrA7E1Ru*T*`g z>>nDuIApfAmxc!@r+w|EWS?G@$)d)3%(nj4x3}`iG@R+~nWV4gw#m4~#rG0(lJ%sT zF&PK8!fF5snNu*(^EQ_g6{DY_$|H(iR~3aEnFtV`p7xdr`yxlm!t}%h8k^{a$H)6x z&<~=L1^HrLa|Z!c<(F!MZgqcHYHB_n(NEH7t`11+Mr-4FJE!ZfQ{$%@L|pZUL|bcJ zC4_Dco9w;co*h%}Kk6Gk`qaM0o5cxV>5}zhY#Fb#b&ekxw-r2oNCd}FpxEV#TMby@ zEMfnc?I=s~<)p_wZ4%C+!=NWp#;1(A&A_}+npcD`!B*A*Hi=_}FSA?4Aif5+SiP?s zXvZJ0Q!}9v&vqpRo~RM%&Lm7760m|E#a8yLJ#vyNqN$jM_e3AajbOOu>zqjR{+``w zX=*!At979Fqe+ARHu8+e%eOvPjfguM93$O}_N;+1tI4#08Dh-W!o+Py8B8jM!2flB z51eA?T}W#4RBJxASz{_{??hrj^ZxU={t?G@gN$HUHG)1|AnL+gC&DNbQ`g*JV+Z?G zKnx&kq+J3;fs)5>*N1pdwf$c3JijIyB*rR z18i$BMR%;M-6pb&e@ptgKkIDJ{Eq_ME!U|78*RRe=$kT43%B0ns4#~ z1>XjS>&6kK@*Wh$$S;~>M3`4!Z90ukcNzwRPnG3b(W}hV1Mb!e(3R=f!6l%c%Kwav zp};@c-69`8-d2aVo*hXONUm`_^BWkrTT#qcAUJ8fTKi0N17J46eN?|csjI9|7jPt> z%w)oQ+0NB)&7(|YgyF@Q6s=&{%ZRws$)l4a4VtrbXV>ByJDeI>W-yngN5NodE-i>P zN*tqlIuv8GMl@nz$4-sY3o^@pwO6B=Ogz@JIxk&?^jTs_N>z!m?Iq!;Y>V6mT~}Kb z)h5eOsFVdKqly(9c!1ff^P1sr?%=BO{{8jKx2Fv!CH6e7>}4C|+ir^Kh(oY}s?xjV zd0dA^8&6E#(iJ)P`R8%{gO2OAHstyPY5|VRv1m|_$tqk&m^U1jrYXTawF|4k z+!U!Um9fM+w!EjO7|HAo=I7Hx=2Z*clyj`fwNuBa z!D zpnVp?wI^IkBWy_u7=fOr?3LlL0a~VU=OqYiI52Wy7|-agZr{WS6@K0wx6@+Uq_3x+ zBm2EFnC>t|Ku(w3HkI4SD|4&Qc#l=yYjSnE7Z?ds#a8_hHR@15EyvCLGOG}6tt6GS z?}xCxAS2uPq}lAq9Z85TDIFW|&o7W2*0u+V;u-2Bl|-^S0f^t|V{Omk-@Gygm{0(2 z4W!vTIdbU-$$zOuMj(O4!x}RX-_AFy)6N=P6M}PftaS_2W@rx?Y;DdIXVv1!1Dya+ zTilU#*_=*1Fld_cPQiNhkDgW!dZ{044c8%H;lZ_;?NzPHDBrMf%m?{xQb&34IU;4L zD5RW7qdvpTR!hAj!*HxCB*%b-Ew(cDJ&mzfSeqj`Si#RG+ecd`?>c^w=15X8j9%CQ z)lBAYrDI|r4k+~%x5*mDmipR9a)9M}4x6L0=C(gx$F<(o`uy7XmO_(tA(z{b4|a=F zxeiD(I8PizEqY9j@Lb>W+Y{sXVa|o(VJyuDK5P(@t0OIH*xV2!+-eMsMfO%^nP!KB zAVA;gBi-Dg;hQGzSJ-^GT9G2I~*!jycCe@uJ-9PDF9X;u4x9MHifC;#ic84th?>9 zG<@y12llcbTlJ($T6oZ%n{KLFs)>AzH7GdIsRS*hlPe zP*V~fP%U>Rc_t)>5)08fG3WznT7*|?S*ci-Q?V*~bx@l_0j!r0<)LMZ{V;@1wv#W` z6s@1TRrrb#)#mID>m`5R=i75~VF@-QKS@lTDe$?O{O7Q5m~06w zE;+B$b~%*G9WQCp+iQJ1N4WK8icOuylq|1l&Z{_kd9AfmPI%2euqk58$=1;u=~TY1 zI|kg(i^g;_tmD1Z72Vzd&0!L(*DZ5W*lp_v-mtKxFaI4ZeB6B3Vb7XIWznh0<1UYU zN0T&@DJTVs{JKx=?r0|h+a-Hz+wT$4v5s8l1P3halaf=FRlOe9zLtrYnOeBbpk7rF zR!ZS`P?X%nT?;L1_3Nkg=^a&Dj=3@n(Q$39&Nu|OC|IVw+O@_G47XD7Sb)OZDe2wo z@UR*|$xSxtTVMC_WJ-EjmVlhcBwnmY<%whCnqe)rOyf1KEXugRWBukLQO@R)K6zFs zLMlMSz#Y^Wh7(@}_PCE;>qE2O;jlEjDba@82hGV3A_Q$N7c*!x$wG|X5FpK;$Mp|6 zuHjs*8tS_C=QC@p^)jo5R{c_ew(r#{&}5TYn8uWlDkUiA!^<#P#Y~b;GIzl~ilRl} zC(tMdIwV?*KS1|IpsG*)_?7N75ggzTnu;AqzV&F@H5_S__(;%3W|VJ~OP%9Y$j9m* zz;HHZSR)c0&S8kJ-^RllHWZ940>lz7p&f(>A)MEFV!E#EF}RlR)-EVa+rEy=%*spl z;$!yVro+wI1(!bk0-!3W) z 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 Date: Tue, 31 Oct 2017 14:20:41 +0300 Subject: [PATCH 09/22] Removed test CI parameters --- folioreader/build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/folioreader/build.gradle b/folioreader/build.gradle index ad6a215ef..8d19b5c46 100644 --- a/folioreader/build.gradle +++ b/folioreader/build.gradle @@ -1,8 +1,6 @@ apply plugin: 'com.android.library' apply from: '../config/quality/quality.gradle' apply plugin: 'com.github.dcendents.android-maven' -group = 'com.github.Semper-Viventem' -version = "0.5.0" ext { bintrayRepo = 'maven' From 6aa78cf4dffdc6cee5ab831685f6d0f136e316e6 Mon Sep 17 00:00:00 2001 From: Semper-Viventem Date: Tue, 31 Oct 2017 15:41:20 +0300 Subject: [PATCH 10/22] Update android api level to 27. Fix conflicts --- .travis.yml | 4 ++-- folioreader/build.gradle | 8 ++++---- .../java/com/folioreader/view/DirectionalViewpager.java | 5 ++--- .../main/java/com/folioreader/view/VerticalViewPager.java | 8 +++----- sample/build.gradle | 6 +++--- 5 files changed, 14 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index 94b0d2ec5..eeb949a5a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,8 +7,8 @@ before_install: android: components: - tools - - build-tools-23.0.2 - - android-23 + - build-tools-27.0.0 + - android-27 - extra-android-m2repository licenses: diff --git a/folioreader/build.gradle b/folioreader/build.gradle index 8d19b5c46..250e49fd5 100644 --- a/folioreader/build.gradle +++ b/folioreader/build.gradle @@ -28,14 +28,14 @@ ext { android { useLibrary 'org.apache.http.legacy' - compileSdkVersion 26 - buildToolsVersion "26.0.2" + compileSdkVersion 27 + buildToolsVersion "27.0.0" defaultConfig { versionCode 1 versionName "1.0" minSdkVersion 14 - targetSdkVersion 26 + targetSdkVersion 27 } sourceSets { @@ -82,7 +82,7 @@ dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile project(':webViewMarker') - final ANDROID_LIB_VERSION = '26.0.0-alpha1' + final ANDROID_LIB_VERSION = '27.0.0' //noinspection GradleDependency compile "com.android.support:appcompat-v7:$ANDROID_LIB_VERSION" diff --git a/folioreader/src/main/java/com/folioreader/view/DirectionalViewpager.java b/folioreader/src/main/java/com/folioreader/view/DirectionalViewpager.java index 216682cb6..7ea607bac 100644 --- a/folioreader/src/main/java/com/folioreader/view/DirectionalViewpager.java +++ b/folioreader/src/main/java/com/folioreader/view/DirectionalViewpager.java @@ -22,7 +22,6 @@ import android.support.v4.os.ParcelableCompat; import android.support.v4.os.ParcelableCompatCreatorCallbacks; import android.support.v4.view.AccessibilityDelegateCompat; -import android.support.v4.view.KeyEventCompat; import android.support.v4.view.MotionEventCompat; import android.support.v4.view.PagerAdapter; import android.support.v4.view.VelocityTrackerCompat; @@ -3609,9 +3608,9 @@ public boolean executeKeyEvent(KeyEvent event) { if (Build.VERSION.SDK_INT >= 11) { // The focus finder had a bug handling FOCUS_FORWARD and FOCUS_BACKWARD // before Android 3.0. Ignore the tab key on those devices. - if (KeyEventCompat.hasNoModifiers(event)) { + if (KeyEvent.metaStateHasNoModifiers(event.getMetaState())) { handled = arrowScroll(FOCUS_FORWARD); - } else if (KeyEventCompat.hasModifiers(event, KeyEvent.META_SHIFT_ON)) { + } else if (KeyEvent.metaStateHasNoModifiers(event.getMetaState())) { handled = arrowScroll(FOCUS_BACKWARD); } } diff --git a/folioreader/src/main/java/com/folioreader/view/VerticalViewPager.java b/folioreader/src/main/java/com/folioreader/view/VerticalViewPager.java index 63c9a40f9..8fe73b207 100644 --- a/folioreader/src/main/java/com/folioreader/view/VerticalViewPager.java +++ b/folioreader/src/main/java/com/folioreader/view/VerticalViewPager.java @@ -16,16 +16,14 @@ import android.support.v4.os.ParcelableCompat; import android.support.v4.os.ParcelableCompatCreatorCallbacks; import android.support.v4.view.AccessibilityDelegateCompat; -import android.support.v4.view.KeyEventCompat; import android.support.v4.view.MotionEventCompat; import android.support.v4.view.PagerAdapter; import android.support.v4.view.VelocityTrackerCompat; import android.support.v4.view.ViewCompat; import android.support.v4.view.ViewConfigurationCompat; import android.support.v4.view.ViewPager; -import android.support.v4.view.ViewPager.PageTransformer; import android.support.v4.view.ViewPager.OnPageChangeListener; - +import android.support.v4.view.ViewPager.PageTransformer; import android.support.v4.view.accessibility.AccessibilityEventCompat; import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; import android.support.v4.view.accessibility.AccessibilityRecordCompat; @@ -2433,9 +2431,9 @@ public boolean executeKeyEvent(KeyEvent event) { if (Build.VERSION.SDK_INT >= 11) { // The focus finder had a bug handling FOCUS_FORWARD and FOCUS_BACKWARD // before Android 3.0. Ignore the tab key on those devices. - if (KeyEventCompat.hasNoModifiers(event)) { + if (KeyEvent.metaStateHasNoModifiers(event.getMetaState())) { handled = arrowScroll(FOCUS_FORWARD); - } else if (KeyEventCompat.hasModifiers(event, KeyEvent.META_SHIFT_ON)) { + } else if (KeyEvent.metaStateHasNoModifiers(event.getMetaState())) { handled = arrowScroll(FOCUS_BACKWARD); } } diff --git a/sample/build.gradle b/sample/build.gradle index 85d799b10..bb5994011 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -8,8 +8,8 @@ android { javaMaxHeapSize "4G" } - compileSdkVersion 26 - buildToolsVersion "26.0.2" + compileSdkVersion 27 + buildToolsVersion "27.0.0" defaultConfig { applicationId "com.folioreader.android.sample" @@ -66,5 +66,5 @@ android { dependencies { compile project(':folioreader') - compile 'com.android.support:appcompat-v7:26.1.0' + compile 'com.android.support:appcompat-v7:27.0.0' } From cead05fd7b642d2979481444b2f8c25933d7a37d Mon Sep 17 00:00:00 2001 From: konstantin Date: Tue, 31 Oct 2017 15:59:04 +0300 Subject: [PATCH 11/22] clear local settings --- ViewPager/build.gradle | 10 +++++----- config/quality/quality.gradle | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ViewPager/build.gradle b/ViewPager/build.gradle index 475066a82..0869ca67a 100644 --- a/ViewPager/build.gradle +++ b/ViewPager/build.gradle @@ -5,12 +5,12 @@ repositories { } android { - compileSdkVersion 19 - buildToolsVersion "19.1.0" + compileSdkVersion 27 + buildToolsVersion "27.0.0" defaultConfig { - minSdkVersion 7 - targetSdkVersion 19 + minSdkVersion 14 + targetSdkVersion 27 } compileOptions { @@ -20,5 +20,5 @@ android { } dependencies { - compile 'com.android.support:appcompat-v7:18.0.0' + compile 'com.android.support:appcompat-v7:27.0.0' } diff --git a/config/quality/quality.gradle b/config/quality/quality.gradle index e57b911e3..8a0689711 100755 --- a/config/quality/quality.gradle +++ b/config/quality/quality.gradle @@ -18,7 +18,7 @@ dependencies { checkstyle 'com.puppycrawl.tools:checkstyle:6.5' } -def qualityConfigDir = "$project.rootDir/config/quality"; +def qualityConfigDir = "$project.rootDir/config/quality" def reportsDir = "$project.buildDir/reports" check.dependsOn 'checkstyle', 'findbugs', 'pmd' From 92384949eeeac78b49f55c055114a34bd63671f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Thu, 9 Nov 2017 13:46:23 +0100 Subject: [PATCH 12/22] Fix windowEnterAnimation and windowExitAnimation errors --- folioreader/res/values/styles.xml | 32 +++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/folioreader/res/values/styles.xml b/folioreader/res/values/styles.xml index 660549213..f8920c36e 100644 --- a/folioreader/res/values/styles.xml +++ b/folioreader/res/values/styles.xml @@ -12,46 +12,46 @@ From 93410eec42c0dc448b04707697bebcb1bf948018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Mon, 13 Nov 2017 11:15:58 +0100 Subject: [PATCH 13/22] Make local.properties optional --- folioreader/bintray/bintrayv1.gradle | 51 +++++++++++++++------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/folioreader/bintray/bintrayv1.gradle b/folioreader/bintray/bintrayv1.gradle index 0328fe861..fa392e442 100644 --- a/folioreader/bintray/bintrayv1.gradle +++ b/folioreader/bintray/bintrayv1.gradle @@ -30,30 +30,35 @@ artifacts { } // Bintray -Properties properties = new Properties() -properties.load(project.rootProject.file('local.properties').newDataInputStream()) - -bintray { - user = properties.getProperty("bintray.user") - key = properties.getProperty("bintray.apikey") - - configurations = ['archives'] - pkg { - repo = bintrayRepo - name = bintrayName - desc = libraryDescription - websiteUrl = siteUrl - vcsUrl = gitUrl - licenses = allLicenses - publish = true - publicDownloadNumbers = true - version { +def propertiesFile = project.rootProject.file('local.properties') +if( propertiesFile.exists()) { + Properties properties = new Properties() + properties.load(propertiesFile.newDataInputStream()) + + bintray { + user = properties.getProperty("bintray.user") + key = properties.getProperty("bintray.apikey") + + configurations = ['archives'] + pkg { + repo = bintrayRepo + name = bintrayName desc = libraryDescription - gpg { - sign = true //Determines whether to GPG sign the files. The default is false - passphrase = properties.getProperty("bintray.gpg.password") - //Optional. The passphrase for GPG signing' + websiteUrl = siteUrl + vcsUrl = gitUrl + licenses = allLicenses + publish = true + publicDownloadNumbers = true + version { + desc = libraryDescription + gpg { + sign = true //Determines whether to GPG sign the files. The default is false + passphrase = properties.getProperty("bintray.gpg.password") + //Optional. The passphrase for GPG signing' + } } } } -} +} else { + logger.info("local.properties does not exist. Skipping Bintray.") +} \ No newline at end of file From 104a7c0398a17260725b8f9dcf7328b9d0cac40a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Mon, 13 Nov 2017 11:39:08 +0100 Subject: [PATCH 14/22] Fix FindBugs warnings --- .../main/java/com/folioreader/Constants.java | 6 ++-- .../model/sqlite/DictionaryTable.java | 8 +++--- .../model/sqlite/HighLightTable.java | 28 +++++++++---------- .../folioreader/ui/base/DictionaryTask.java | 3 +- .../com/folioreader/ui/base/HtmlTask.java | 2 +- .../com/folioreader/ui/base/ManifestTask.java | 2 +- .../folioreader/ui/base/WikipediaTask.java | 2 +- .../ui/folio/activity/FolioActivity.java | 2 +- .../tableofcontents/adapter/TOCAdapter.java | 6 ++-- 9 files changed, 31 insertions(+), 28 deletions(-) diff --git a/folioreader/src/main/java/com/folioreader/Constants.java b/folioreader/src/main/java/com/folioreader/Constants.java index 03e8cf222..97783215b 100644 --- a/folioreader/src/main/java/com/folioreader/Constants.java +++ b/folioreader/src/main/java/com/folioreader/Constants.java @@ -27,7 +27,9 @@ public class Constants { public static final String ASSET = "file:///android_asset/"; public static final int WRITE_EXTERNAL_STORAGE_REQUEST = 102; - public static final String[] WRITE_EXTERNAL_STORAGE_PERMS = { + public static String[] getWriteExternalStoragePerms() { + return new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE - }; + }; + } } diff --git a/folioreader/src/main/java/com/folioreader/model/sqlite/DictionaryTable.java b/folioreader/src/main/java/com/folioreader/model/sqlite/DictionaryTable.java index 77962d977..23fcf6f6b 100644 --- a/folioreader/src/main/java/com/folioreader/model/sqlite/DictionaryTable.java +++ b/folioreader/src/main/java/com/folioreader/model/sqlite/DictionaryTable.java @@ -15,11 +15,11 @@ public class DictionaryTable { - public static String TABLE_NAME = "dictionary_table"; + public static final String TABLE_NAME = "dictionary_table"; - public static String ID = "_id"; - public static String WORD = "word"; - public static String MEANING = "meaning"; + public static final String ID = "_id"; + public static final String WORD = "word"; + public static final String MEANING = "meaning"; private SQLiteDatabase database; public DictionaryTable(Context context) { diff --git a/folioreader/src/main/java/com/folioreader/model/sqlite/HighLightTable.java b/folioreader/src/main/java/com/folioreader/model/sqlite/HighLightTable.java index c2546d2ce..b9d9be45e 100644 --- a/folioreader/src/main/java/com/folioreader/model/sqlite/HighLightTable.java +++ b/folioreader/src/main/java/com/folioreader/model/sqlite/HighLightTable.java @@ -17,20 +17,20 @@ import java.util.UUID; public class HighLightTable { - public static String TABLE_NAME = "highlight_table"; - - public static String ID = "_id"; - public static String COL_BOOK_ID = "bookId"; - private static String COL_CONTENT = "content"; - private static String COL_DATE = "date"; - private static String COL_TYPE = "type"; - private static String COL_PAGE_NUMBER = "page_number"; - private static String COL_PAGE_ID = "pageId"; - private static String COL_RANGY = "rangy"; - private static String COL_NOTE = "note"; - private static String COL_UUID = "uuid"; - - public static String SQL_CREATE = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " ( " + ID + public static final String TABLE_NAME = "highlight_table"; + + public static final String ID = "_id"; + public static final String COL_BOOK_ID = "bookId"; + private static final String COL_CONTENT = "content"; + private static final String COL_DATE = "date"; + private static final String COL_TYPE = "type"; + private static final String COL_PAGE_NUMBER = "page_number"; + private static final String COL_PAGE_ID = "pageId"; + private static final String COL_RANGY = "rangy"; + private static final String COL_NOTE = "note"; + private static final String COL_UUID = "uuid"; + + public static final String SQL_CREATE = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " ( " + ID + " INTEGER PRIMARY KEY AUTOINCREMENT" + "," + COL_BOOK_ID + " TEXT" + "," + COL_CONTENT + " TEXT" + "," diff --git a/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java b/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java index 01c9b161e..d2c9020ff 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java @@ -13,6 +13,7 @@ import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; +import java.nio.charset.Charset; /** * @author gautam chibde on 4/7/17. @@ -33,7 +34,7 @@ protected Dictionary doInBackground(String... strings) { URL url = new URL(strUrl); URLConnection urlConnection = url.openConnection(); InputStream inputStream = urlConnection.getInputStream(); - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { diff --git a/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java b/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java index 82227d3ee..165e74ece 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java @@ -31,7 +31,7 @@ protected String doInBackground(String... urls) { URL url = new URL(strUrl); URLConnection urlConnection = url.openConnection(); InputStream inputStream = urlConnection.getInputStream(); - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { diff --git a/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java b/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java index 7957ae006..9aa6ebae3 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java @@ -37,7 +37,7 @@ protected EpubPublication doInBackground(String... urls) { URL url = new URL(strUrl); URLConnection urlConnection = url.openConnection(); InputStream inputStream = urlConnection.getInputStream(); - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { diff --git a/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java b/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java index 72373b9ab..2c72ceb4b 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java @@ -33,7 +33,7 @@ protected Wikipedia doInBackground(String... strings) { URL url = new URL(strUrl); URLConnection urlConnection = url.openConnection(); InputStream inputStream = urlConnection.getInputStream(); - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java b/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java index 8c1460a8f..6316bfcef 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java @@ -158,7 +158,7 @@ protected void onCreate(Bundle savedInstanceState) { if (ContextCompat.checkSelfPermission(FolioActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { - ActivityCompat.requestPermissions(FolioActivity.this, Constants.WRITE_EXTERNAL_STORAGE_PERMS, Constants.WRITE_EXTERNAL_STORAGE_REQUEST); + ActivityCompat.requestPermissions(FolioActivity.this, Constants.getWriteExternalStoragePerms(), Constants.WRITE_EXTERNAL_STORAGE_REQUEST); } else { setupBook(); } diff --git a/folioreader/src/main/java/com/folioreader/ui/tableofcontents/adapter/TOCAdapter.java b/folioreader/src/main/java/com/folioreader/ui/tableofcontents/adapter/TOCAdapter.java index 456a31476..242435e60 100644 --- a/folioreader/src/main/java/com/folioreader/ui/tableofcontents/adapter/TOCAdapter.java +++ b/folioreader/src/main/java/com/folioreader/ui/tableofcontents/adapter/TOCAdapter.java @@ -26,7 +26,7 @@ public class TOCAdapter extends MultiLevelExpIndListAdapter { private static final int LEVEL_ONE_PADDING_PIXEL = 15; - private static TOCCallback callback; + private TOCCallback callback; private final Context mContext; private String selectedHref; private Config mConfig; @@ -39,7 +39,7 @@ public TOCAdapter(Context context, ArrayList tocLinkWrappers, St } public void setCallback(TOCCallback callback) { - TOCAdapter.callback = callback; + this.callback = callback; } @Override @@ -124,7 +124,7 @@ public interface TOCCallback { void onExpanded(int position); } - public static class TOCRowViewHolder extends RecyclerView.ViewHolder { + public class TOCRowViewHolder extends RecyclerView.ViewHolder { public ImageView children; TextView sectionTitle; private LinearLayout container; From c658a85df85a203543b8b26bce14929d83d63f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Mon, 13 Nov 2017 11:45:16 +0100 Subject: [PATCH 15/22] Use correct Charset for URLConnection --- .../folioreader/ui/base/DictionaryTask.java | 3 ++- .../com/folioreader/ui/base/HtmlTask.java | 4 +++- .../com/folioreader/ui/base/ManifestTask.java | 3 ++- .../folioreader/ui/base/WikipediaTask.java | 3 ++- .../java/com/folioreader/util/AppUtil.java | 21 +++++++++++++++++++ 5 files changed, 30 insertions(+), 4 deletions(-) diff --git a/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java b/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java index d2c9020ff..6e4d79da8 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java @@ -6,6 +6,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.folioreader.model.dictionary.Dictionary; +import com.folioreader.util.AppUtil; import java.io.BufferedReader; import java.io.IOException; @@ -34,7 +35,7 @@ protected Dictionary doInBackground(String... strings) { URL url = new URL(strUrl); URLConnection urlConnection = url.openConnection(); InputStream inputStream = urlConnection.getInputStream(); - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, AppUtil.charsetNameForURLConnection(urlConnection))); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { diff --git a/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java b/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java index 165e74ece..bc7be4468 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java @@ -2,6 +2,8 @@ import android.os.AsyncTask; +import com.folioreader.util.AppUtil; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; @@ -31,7 +33,7 @@ protected String doInBackground(String... urls) { URL url = new URL(strUrl); URLConnection urlConnection = url.openConnection(); InputStream inputStream = urlConnection.getInputStream(); - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, AppUtil.charsetNameForURLConnection(urlConnection))); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { diff --git a/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java b/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java index 9aa6ebae3..2f421f720 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java @@ -3,6 +3,7 @@ import android.os.AsyncTask; import com.fasterxml.jackson.databind.ObjectMapper; +import com.folioreader.util.AppUtil; import org.readium.r2_streamer.model.publication.EpubPublication; import org.readium.r2_streamer.model.tableofcontents.TOCLink; @@ -37,7 +38,7 @@ protected EpubPublication doInBackground(String... urls) { URL url = new URL(strUrl); URLConnection urlConnection = url.openConnection(); InputStream inputStream = urlConnection.getInputStream(); - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, AppUtil.charsetNameForURLConnection(urlConnection))); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { diff --git a/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java b/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java index 2c72ceb4b..1e4339b1c 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java @@ -3,6 +3,7 @@ import android.os.AsyncTask; import com.folioreader.model.dictionary.Wikipedia; +import com.folioreader.util.AppUtil; import org.json.JSONArray; import org.json.JSONException; @@ -33,7 +34,7 @@ protected Wikipedia doInBackground(String... strings) { URL url = new URL(strUrl); URLConnection urlConnection = url.openConnection(); InputStream inputStream = urlConnection.getInputStream(); - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, AppUtil.charsetNameForURLConnection(urlConnection))); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { diff --git a/folioreader/src/main/java/com/folioreader/util/AppUtil.java b/folioreader/src/main/java/com/folioreader/util/AppUtil.java index 27470fbaa..eb0cb6753 100644 --- a/folioreader/src/main/java/com/folioreader/util/AppUtil.java +++ b/folioreader/src/main/java/com/folioreader/util/AppUtil.java @@ -10,6 +10,7 @@ import org.json.JSONException; import org.json.JSONObject; +import java.net.URLConnection; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; @@ -60,7 +61,27 @@ public static Map toMap(String jsonString) { return map; } + public static String charsetNameForURLConnection(URLConnection connection) { + // see https://stackoverflow.com/a/3934280/1027646 + String contentType = connection.getContentType(); + String[] values = contentType.split(";"); + String charset = null; + for (String value : values) { + value = value.trim(); + + if (value.toLowerCase().startsWith("charset=")) { + charset = value.substring("charset=".length()); + break; + } + } + + if (charset == null || charset.isEmpty()) { + charset = "UTF-8"; //Assumption + } + + return charset; + } public static String formatDate(Date hightlightDate) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat(Constants.DATE_FORMAT, Locale.getDefault()); From c867dac36e5b2efa318db7eed140bd12ae0e6fbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Mon, 13 Nov 2017 13:28:24 +0100 Subject: [PATCH 16/22] Fix PMD Warnings --- .../src/main/java/com/folioreader/Config.java | 30 +++++------ .../com/folioreader/model/TOCLinkWrapper.java | 10 ++-- .../model/dictionary/DictionaryResults.java | 4 +- .../folioreader/model/sqlite/DbAdapter.java | 2 - .../model/sqlite/DictionaryTable.java | 4 +- .../model/sqlite/HighLightTable.java | 18 +++---- .../folioreader/ui/base/DictionaryTask.java | 7 +-- .../com/folioreader/ui/base/HtmlTask.java | 5 +- .../com/folioreader/ui/base/ManifestTask.java | 5 +- .../folioreader/ui/base/WikipediaTask.java | 9 ++-- .../ui/folio/activity/FolioActivity.java | 11 ++-- .../ui/folio/adapter/DictionaryAdapter.java | 22 ++++---- .../adapter/FolioPageFragmentAdapter.java | 1 - .../ui/folio/adapter/HighlightAdapter.java | 2 - .../ui/folio/fragment/DictionaryFragment.java | 5 +- .../ui/folio/fragment/FolioPageFragment.java | 52 ++++++++----------- .../folio/mediaoverlay/MediaController.java | 16 +++--- .../view/TableOfContentFragment.java | 4 +- .../java/com/folioreader/util/AppUtil.java | 4 +- .../com/folioreader/util/FolioReader.java | 3 -- .../com/folioreader/util/HighlightUtil.java | 7 ++- .../util/MultiLevelExpIndListAdapter.java | 22 ++++---- .../folioreader/view/UnderlinedTextView.java | 1 - 23 files changed, 118 insertions(+), 126 deletions(-) diff --git a/folioreader/src/main/java/com/folioreader/Config.java b/folioreader/src/main/java/com/folioreader/Config.java index 6645b236d..b7e7a1d49 100644 --- a/folioreader/src/main/java/com/folioreader/Config.java +++ b/folioreader/src/main/java/com/folioreader/Config.java @@ -31,11 +31,11 @@ public Config(int font, int fontSize, boolean nightMode, int iconcolor, boolean } private Config(ConfigBuilder configBuilder) { - font = configBuilder.font; - fontSize = configBuilder.fontSize; - nightMode = configBuilder.nightMode; - themeColor = configBuilder.themeColor; - showTts = configBuilder.showTts; + font = configBuilder.mFont; + fontSize = configBuilder.mFontSize; + nightMode = configBuilder.mNightMode; + themeColor = configBuilder.mThemeColor; + showTts = configBuilder.mShowTts; } public Config(JSONObject jsonObject) { @@ -166,34 +166,34 @@ public Config[] newArray(int size) { }; public static class ConfigBuilder { - private int font = 3; - private int fontSize = 2; - private boolean nightMode = false; - private int themeColor = R.color.app_green; - private boolean showTts = true; + private int mFont = 3; + private int mFontSize = 2; + private boolean mNightMode = false; + private int mThemeColor = R.color.app_green; + private boolean mShowTts = true; public ConfigBuilder font(int font) { - this.font = font; + mFont = font; return this; } public ConfigBuilder fontSize(int fontSize) { - this.fontSize = fontSize; + mFontSize = fontSize; return this; } public ConfigBuilder nightmode(boolean nightMode) { - this.nightMode = nightMode; + mNightMode = nightMode; return this; } public ConfigBuilder themeColor(int themeColor) { - this.themeColor = themeColor; + mThemeColor = themeColor; return this; } public ConfigBuilder setShowTts(boolean showTts) { - this.showTts = showTts; + mShowTts = showTts; return this; } diff --git a/folioreader/src/main/java/com/folioreader/model/TOCLinkWrapper.java b/folioreader/src/main/java/com/folioreader/model/TOCLinkWrapper.java index 1b48f691e..6d2eac790 100644 --- a/folioreader/src/main/java/com/folioreader/model/TOCLinkWrapper.java +++ b/folioreader/src/main/java/com/folioreader/model/TOCLinkWrapper.java @@ -15,14 +15,14 @@ public class TOCLinkWrapper implements MultiLevelExpIndListAdapter.ExpIndData{ private TOCLink tocLink; private int indentation; private ArrayList tocLinkWrappers; - private boolean isGroup; + private boolean mIsGroup; private int mGroupSize; public TOCLinkWrapper(TOCLink tocLink, int indentation) { this.tocLink = tocLink; this.indentation = indentation; this.tocLinkWrappers = new ArrayList<>(); - this.isGroup = (tocLink.getTocLinks()!=null && tocLink.getTocLinks().size()>0); + this.mIsGroup = (tocLink.getTocLinks()!=null && tocLink.getTocLinks().size()>0); } @Override @@ -31,7 +31,7 @@ public String toString() { "tocLink=" + tocLink + ", indentation=" + indentation + ", tocLinkWrappers=" + tocLinkWrappers + - ", isGroup=" + isGroup + + ", mIsGroup=" + mIsGroup + ", mGroupSize=" + mGroupSize + '}'; } @@ -72,12 +72,12 @@ public List getChildren() { @Override public boolean isGroup() { - return isGroup; + return mIsGroup; } @Override public void setIsGroup(boolean value) { - this.isGroup = value; + mIsGroup = value; } @Override diff --git a/folioreader/src/main/java/com/folioreader/model/dictionary/DictionaryResults.java b/folioreader/src/main/java/com/folioreader/model/dictionary/DictionaryResults.java index a3c668938..9d8c322c3 100644 --- a/folioreader/src/main/java/com/folioreader/model/dictionary/DictionaryResults.java +++ b/folioreader/src/main/java/com/folioreader/model/dictionary/DictionaryResults.java @@ -38,11 +38,11 @@ public void setHeadword(String headword) { this.headword = headword; } - public String getPart_of_speech() { + public String getPartOfSpeech() { return part_of_speech; } - public void setPart_of_speech(String part_of_speech) { + public void setPartOfSpeech(String part_of_speech) { this.part_of_speech = part_of_speech; } diff --git a/folioreader/src/main/java/com/folioreader/model/sqlite/DbAdapter.java b/folioreader/src/main/java/com/folioreader/model/sqlite/DbAdapter.java index bd07e623f..9d0b2a612 100644 --- a/folioreader/src/main/java/com/folioreader/model/sqlite/DbAdapter.java +++ b/folioreader/src/main/java/com/folioreader/model/sqlite/DbAdapter.java @@ -6,8 +6,6 @@ import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; -import com.folioreader.model.HighlightImpl; - public class DbAdapter { private static final String TAG = "DBAdapter"; diff --git a/folioreader/src/main/java/com/folioreader/model/sqlite/DictionaryTable.java b/folioreader/src/main/java/com/folioreader/model/sqlite/DictionaryTable.java index 23fcf6f6b..952c34d80 100644 --- a/folioreader/src/main/java/com/folioreader/model/sqlite/DictionaryTable.java +++ b/folioreader/src/main/java/com/folioreader/model/sqlite/DictionaryTable.java @@ -27,12 +27,12 @@ public DictionaryTable(Context context) { database = dbHelper.getWritableDatabase(); } - public static String SQL_CREATE = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " ( " + ID + public static final String SQL_CREATE = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " ( " + ID + " INTEGER PRIMARY KEY AUTOINCREMENT" + "," + WORD + " TEXT" + "," + MEANING + " TEXT" + ")"; - public static String SQL_DROP = "DROP TABLE IF EXISTS " + TABLE_NAME; + public static final String SQL_DROP = "DROP TABLE IF EXISTS " + TABLE_NAME; public boolean insertWord(String word, String meaning) { ContentValues values = new ContentValues(); diff --git a/folioreader/src/main/java/com/folioreader/model/sqlite/HighLightTable.java b/folioreader/src/main/java/com/folioreader/model/sqlite/HighLightTable.java index b9d9be45e..7f6a2d244 100644 --- a/folioreader/src/main/java/com/folioreader/model/sqlite/HighLightTable.java +++ b/folioreader/src/main/java/com/folioreader/model/sqlite/HighLightTable.java @@ -3,6 +3,7 @@ import android.content.ContentValues; import android.database.Cursor; import android.text.TextUtils; +import android.util.Log; import com.folioreader.Constants; import com.folioreader.model.HighLight; @@ -16,6 +17,7 @@ import java.util.Locale; import java.util.UUID; +@SuppressWarnings("PMD.AvoidDuplicateLiterals") public class HighLightTable { public static final String TABLE_NAME = "highlight_table"; @@ -42,9 +44,9 @@ public class HighLightTable { + COL_UUID + " TEXT" + "," + COL_NOTE + " TEXT" + ")"; - public static String SQL_DROP = "DROP TABLE IF EXISTS " + TABLE_NAME; + public static final String SQL_DROP = "DROP TABLE IF EXISTS " + TABLE_NAME; - public static String TAG = HighLightTable.class.getSimpleName(); + public static final String TAG = HighLightTable.class.getSimpleName(); public static ContentValues getHighlightContentValues(HighLight highLight) { ContentValues contentValues = new ContentValues(); @@ -141,7 +143,7 @@ public static Date getDateTime(String date) { try { date1 = dateFormat.parse(date); } catch (ParseException e) { - e.printStackTrace(); + Log.e(TAG, "Date parsing failed", e); } return date1; } @@ -149,10 +151,8 @@ public static Date getDateTime(String date) { public static HighlightImpl updateHighlightStyle(String rangy, String style) { String query = "SELECT " + ID + " FROM " + TABLE_NAME + " WHERE " + COL_RANGY + " = '" + rangy + "'"; int id = DbAdapter.getIdForQuery(query); - if (id != -1) { - if (update(id, updateRangy(rangy, style), style.replace("highlight_", ""))) { - return getHighlightId(id); - } + if (id != -1 && update(id, updateRangy(rangy, style), style.replace("highlight_", ""))) { + return getHighlightId(id); } return null; } @@ -171,10 +171,10 @@ private static String updateRangy(String rangy, String style) { for (String p : s) { if (TextUtils.isDigitsOnly(p)) { builder.append(p); - builder.append("$"); + builder.append('$'); } else { builder.append(style); - builder.append("$"); + builder.append('$'); } } return builder.toString(); diff --git a/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java b/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java index 6e4d79da8..12e5e5a2e 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/DictionaryTask.java @@ -1,8 +1,8 @@ package com.folioreader.ui.base; import android.os.AsyncTask; +import android.util.Log; -import com.fasterxml.jackson.databind.DeserializationConfig; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.folioreader.model.dictionary.Dictionary; @@ -14,7 +14,6 @@ import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; -import java.nio.charset.Charset; /** * @author gautam chibde on 4/7/17. @@ -22,6 +21,8 @@ public class DictionaryTask extends AsyncTask { + private static final String TAG = "DictionaryTask"; + private DictionaryCallBack callBack; public DictionaryTask(DictionaryCallBack callBack) { @@ -46,7 +47,7 @@ protected Dictionary doInBackground(String... strings) { objectMapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY); return objectMapper.readValue(stringBuilder.toString(), Dictionary.class); } catch (IOException e) { - e.printStackTrace(); + Log.e(TAG, "DictionaryTask failed", e); } return null; } diff --git a/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java b/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java index bc7be4468..c890adf99 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java @@ -1,6 +1,7 @@ package com.folioreader.ui.base; import android.os.AsyncTask; +import android.util.Log; import com.folioreader.util.AppUtil; @@ -20,6 +21,8 @@ public class HtmlTask extends AsyncTask { + private static final String TAG = "HtmlTask"; + private HtmlTaskCallback callback; public HtmlTask(HtmlTaskCallback callback) { @@ -41,7 +44,7 @@ protected String doInBackground(String... urls) { } return stringBuilder.toString(); } catch (IOException e) { - e.printStackTrace(); + Log.e(TAG, "HtmlTask failed", e); } return null; } diff --git a/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java b/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java index 2f421f720..c6e06bd9e 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/ManifestTask.java @@ -1,6 +1,7 @@ package com.folioreader.ui.base; import android.os.AsyncTask; +import android.util.Log; import com.fasterxml.jackson.databind.ObjectMapper; import com.folioreader.util.AppUtil; @@ -24,6 +25,8 @@ public class ManifestTask extends AsyncTask { + private static final String TAG = "ManifestTask"; + private ManifestCallBack manifestCallBack; public ManifestTask(ManifestCallBack manifestCallBack) { @@ -48,7 +51,7 @@ protected EpubPublication doInBackground(String... urls) { ObjectMapper objectMapper = new ObjectMapper(); return objectMapper.readValue(stringBuilder.toString(), EpubPublication.class); } catch (IOException e) { - e.printStackTrace(); + Log.e(TAG, "ManifestTask failed", e); } return null; } diff --git a/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java b/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java index 1e4339b1c..67b7180f2 100644 --- a/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java +++ b/folioreader/src/main/java/com/folioreader/ui/base/WikipediaTask.java @@ -1,6 +1,7 @@ package com.folioreader.ui.base; import android.os.AsyncTask; +import android.util.Log; import com.folioreader.model.dictionary.Wikipedia; import com.folioreader.util.AppUtil; @@ -21,6 +22,8 @@ public class WikipediaTask extends AsyncTask { + private static final String TAG = "WikipediaTask"; + private WikipediaCallBack callBack; public WikipediaTask(WikipediaCallBack callBack) { @@ -54,7 +57,7 @@ protected Wikipedia doInBackground(String... strings) { wikipedia.setLink(links.get(0).toString()); return wikipedia; } catch (Exception e) { - e.printStackTrace(); + Log.e(TAG, "WikipediaTask failed", e); return null; } @@ -62,11 +65,11 @@ protected Wikipedia doInBackground(String... strings) { return null; } } catch (JSONException e) { - e.printStackTrace(); + Log.e(TAG, "WikipediaTask failed", e); return null; } } catch (IOException e) { - e.printStackTrace(); + Log.e(TAG, "WikipediaTask failed", e); } return null; } diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java b/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java index 6316bfcef..9f743b983 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java @@ -28,6 +28,7 @@ import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.text.Html; +import android.util.Log; import android.view.View; import android.view.animation.AccelerateInterpolator; import android.view.animation.Animation; @@ -73,8 +74,6 @@ import java.util.ArrayList; import java.util.List; -import static android.view.View.GONE; -import static com.folioreader.Constants.BOOK_TITLE; import static com.folioreader.Constants.CHAPTER_SELECTED; import static com.folioreader.Constants.HIGHLIGHT_SELECTED; import static com.folioreader.Constants.SELECTED_CHAPTER_POSITION; @@ -86,6 +85,8 @@ public class FolioActivity ConfigBottomSheetDialogFragment.ConfigDialogCallback, MainMvpView { + private static final String TAG = "FolioActivity"; + public static final String INTENT_EPUB_SOURCE_PATH = "com.folioreader.epub_asset_path"; public static final String INTENT_EPUB_SOURCE_TYPE = "epub_source_type"; public static final String INTENT_HIGHLIGHTS_LIST = "highlight_list"; @@ -216,7 +217,7 @@ private void initBook(String mEpubFileName, int mEpubRawId, String mEpubFilePath new MainPresenter(this).parseManifest(urlString); } catch (IOException e) { - e.printStackTrace(); + Log.e(TAG, "initBook failed", e); } } @@ -391,7 +392,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (selectedChapterHref.contains(spine.href)) { mChapterPosition = mSpineReferenceList.indexOf(spine); mFolioPageViewPager.setCurrentItem(mChapterPosition); - title.setText(data.getStringExtra(BOOK_TITLE)); + title.setText(data.getStringExtra(Constants.BOOK_TITLE)); BUS.post(new AnchorIdEvent(selectedChapterHref)); break; } @@ -486,7 +487,7 @@ private void initAudioView() { setupColors(mContext); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { - findViewById(R.id.playback_speed_Layout).setVisibility(GONE); + findViewById(R.id.playback_speed_Layout).setVisibility(View.GONE); } shade.setOnClickListener(new View.OnClickListener() { diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/adapter/DictionaryAdapter.java b/folioreader/src/main/java/com/folioreader/ui/folio/adapter/DictionaryAdapter.java index 2e618ad56..1ad8e11aa 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/adapter/DictionaryAdapter.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/adapter/DictionaryAdapter.java @@ -46,9 +46,9 @@ public DictionaryHolder onCreateViewHolder(ViewGroup parent, int viewType) { @Override public void onBindViewHolder(DictionaryHolder holder, int position) { final DictionaryResults res = results.get(position); - if (res.getPart_of_speech() != null) { + if (res.getPartOfSpeech() != null) { int wordLength = res.getHeadword().length(); - SpannableString spannableString = new SpannableString(res.getHeadword() + " - " + res.getPart_of_speech()); + SpannableString spannableString = new SpannableString(res.getHeadword() + " - " + res.getPartOfSpeech()); spannableString.setSpan(new StyleSpan(Typeface.BOLD), 0, wordLength, 0); spannableString.setSpan(new StyleSpan(Typeface.ITALIC), wordLength + 2, spannableString.length(), 0); holder.name.setText(spannableString); @@ -63,7 +63,7 @@ public void onBindViewHolder(DictionaryHolder holder, int position) { for (Senses senses : res.getSenses()) { if (senses.getDefinition() != null) { for (String s : senses.getDefinition()) { - def.append("\u2022 ").append(s).append("\n"); + def.append("\u2022 ").append(s).append('\n'); } } } @@ -71,7 +71,7 @@ public void onBindViewHolder(DictionaryHolder holder, int position) { for (Senses senses : res.getSenses()) { if (senses.getExamples() != null) { for (Example s : senses.getExamples()) { - exp.append("\u2022 ").append(s.getText()).append("\n"); + exp.append("\u2022 ").append(s.getText()).append('\n'); } } } @@ -109,14 +109,12 @@ public void onBindViewHolder(DictionaryHolder holder, int position) { } private String getAudioUrl(List pronunciations) { - if (!pronunciations.isEmpty()) { - if (pronunciations.get(0).getAudio() != null) { - if (!pronunciations.get(0).getAudio().isEmpty()) { - Audio audio = pronunciations.get(0).getAudio().get(0); - if (audio.getUrl() != null) { - return audio.getUrl(); - } - } + if (!pronunciations.isEmpty() + && pronunciations.get(0).getAudio() != null + && !pronunciations.get(0).getAudio().isEmpty()) { + Audio audio = pronunciations.get(0).getAudio().get(0); + if (audio.getUrl() != null) { + return audio.getUrl(); } } return null; diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/adapter/FolioPageFragmentAdapter.java b/folioreader/src/main/java/com/folioreader/ui/folio/adapter/FolioPageFragmentAdapter.java index a7fb3b73b..b4e0596d8 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/adapter/FolioPageFragmentAdapter.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/adapter/FolioPageFragmentAdapter.java @@ -4,7 +4,6 @@ import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; -import com.folioreader.Config; import com.folioreader.ui.folio.activity.FolioActivity; import com.folioreader.ui.folio.fragment.FolioPageFragment; diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/adapter/HighlightAdapter.java b/folioreader/src/main/java/com/folioreader/ui/folio/adapter/HighlightAdapter.java index 4721b18cc..924274748 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/adapter/HighlightAdapter.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/adapter/HighlightAdapter.java @@ -1,12 +1,10 @@ package com.folioreader.ui.folio.adapter; import android.content.Context; -import android.support.v4.app.FragmentTabHost; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.RecyclerView; import android.text.Html; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/DictionaryFragment.java b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/DictionaryFragment.java index 18f20055d..4d4b42a0d 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/DictionaryFragment.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/DictionaryFragment.java @@ -9,6 +9,7 @@ import android.support.v4.app.DialogFragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -37,6 +38,8 @@ public class DictionaryFragment extends DialogFragment implements DictionaryCallBack, WikipediaCallBack { + private static final String TAG = "DictionaryFragment"; + private String word; private MediaPlayer mediaPlayer; @@ -197,7 +200,7 @@ public void playMedia(String url) { mediaPlayer.prepare(); mediaPlayer.start(); } catch (IOException e) { - e.printStackTrace(); + Log.e(TAG, "playMedia failed", e); } } } diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java index ecd5ca6e3..f668f5a6a 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java @@ -68,6 +68,7 @@ /** * Created by mahavir on 4/2/16. */ +@SuppressWarnings("PMD.AvoidDuplicateLiterals") public class FolioPageFragment extends Fragment implements HtmlTaskCallback, MediaControllerCallbacks { public static final String KEY_FRAGMENT_FOLIO_POSITION = "com.folioreader.ui.folio.fragment.FolioPageFragment.POSITION"; @@ -222,10 +223,9 @@ public void onConfigurationChanged(Configuration newConfig) { @SuppressWarnings("unused") @Subscribe public void pauseButtonClicked(MediaOverlayPlayPauseEvent event) { - if (isAdded()) { - if (spineItem.href.equals(event.getHref())) { - mediaController.stateChanged(event); - } + if (isAdded() + && spineItem.href.equals(event.getHref())) { + mediaController.stateChanged(event); } } @@ -297,16 +297,12 @@ public void reload(ReloadDataEvent reloadDataEvent) { */ @Subscribe public void jumpToAnchorPoint(AnchorIdEvent event) { - if (isAdded()) { - if (event != null && event.getHref() != null) { - String href = event.getHref(); - if (href != null && href.indexOf('#') != -1) { - if (spineItem.href.equals(href.substring(0, href.lastIndexOf('#')))) { - mAnchorId = href.substring(href.lastIndexOf('#') + 1); - if (mWebview.getContentHeight() > 0 && mAnchorId != null) { - mWebview.loadUrl("javascript:document.getElementById(\"" + mAnchorId + "\").scrollIntoView()"); - } - } + if (isAdded() && event != null && event.getHref() != null) { + String href = event.getHref(); + if (href != null && href.indexOf('#') != -1 && spineItem.href.equals(href.substring(0, href.lastIndexOf('#')))) { + mAnchorId = href.substring(href.lastIndexOf('#') + 1); + if (mWebview.getContentHeight() > 0 && mAnchorId != null) { + mWebview.loadUrl("javascript:document.getElementById(\"" + mAnchorId + "\").scrollIntoView()"); } } } @@ -323,14 +319,12 @@ public void onReceiveHtml(String html) { private void setHtml(boolean reloaded) { if (spineItem != null) { String ref = spineItem.href; - if (!reloaded) { - if (spineItem.properties.contains("media-overlay")) { - mediaController.setSMILItems(SMILParser.parseSMIL(mHtmlString)); - mediaController.setUpMediaPlayer(spineItem.mediaOverlay, spineItem.mediaOverlay.getAudioPath(spineItem.href), mBookTitle); - } + if (!reloaded && spineItem.properties.contains("media-overlay")) { + mediaController.setSMILItems(SMILParser.parseSMIL(mHtmlString)); + mediaController.setUpMediaPlayer(spineItem.mediaOverlay, spineItem.mediaOverlay.getAudioPath(spineItem.href), mBookTitle); } mConfig = AppUtil.getSavedConfig(getActivity()); - String path = ref.substring(0, ref.lastIndexOf("/")); + String path = ref.substring(0, ref.lastIndexOf('/')); mWebview.loadDataWithBaseURL( Constants.LOCALHOST + mBookTitle + "/" + path + "/", HtmlUtil.getHtmlContent(getActivity(), mHtmlString, mConfig), @@ -515,10 +509,8 @@ public boolean onJsAlert(WebView view, String url, String message, JsResult resu } else { // to handle TTS playback when highlight is deleted. Pattern p = Pattern.compile("[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"); - if (!p.matcher(message).matches() && (!message.equals("undefined"))) { - if (isCurrentFragment()) { - mediaController.speakAudio(message); - } + if (!p.matcher(message).matches() && (!message.equals("undefined")) && isCurrentFragment()) { + mediaController.speakAudio(message); } } } @@ -886,14 +878,12 @@ private String getPageName() { @SuppressWarnings("unused") @Subscribe public void setWebView(final WebViewPosition position) { - if (position.getHref().equals(spineItem.href)) { - if (isAdded()) { - highlightId = position.getHighlightId(); + if (position.getHref().equals(spineItem.href) && isAdded()) { + highlightId = position.getHighlightId(); - if (mWebview.getContentHeight() > 0) { - scrollToHighlightId(); - //Webview.loadUrl(String.format(getString(R.string.goto_highlight), highlightId)); - } + if (mWebview.getContentHeight() > 0) { + scrollToHighlightId(); + //Webview.loadUrl(String.format(getString(R.string.goto_highlight), highlightId)); } } } diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/mediaoverlay/MediaController.java b/folioreader/src/main/java/com/folioreader/ui/folio/mediaoverlay/MediaController.java index 5ed6c480f..52e92b0b9 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/mediaoverlay/MediaController.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/mediaoverlay/MediaController.java @@ -176,10 +176,8 @@ public void stateChanged(MediaOverlayPlayPauseEvent event) { if (mediaPlayer != null) { mediaPlayer.pause(); } - if (mTextToSpeech != null) { - if (mTextToSpeech.isSpeaking()) { - mTextToSpeech.stop(); - } + if (mTextToSpeech != null && mTextToSpeech.isSpeaking()) { + mTextToSpeech.stop(); } } else { if (event.isPlay()) { @@ -236,12 +234,10 @@ public void stop() { mTextToSpeech.shutdown(); } if (mediaPlayer != null && mediaPlayer.isPlaying()) { - if (mediaPlayer.isPlaying()) { - mediaPlayer.stop(); - mediaPlayer.release(); - mediaPlayer = null; - mediaHandler.removeCallbacks(mHighlightTask); - } + mediaPlayer.stop(); + mediaPlayer.release(); + mediaPlayer = null; + mediaHandler.removeCallbacks(mHighlightTask); } } } diff --git a/folioreader/src/main/java/com/folioreader/ui/tableofcontents/view/TableOfContentFragment.java b/folioreader/src/main/java/com/folioreader/ui/tableofcontents/view/TableOfContentFragment.java index 658496dd2..c9a63b5fa 100644 --- a/folioreader/src/main/java/com/folioreader/ui/tableofcontents/view/TableOfContentFragment.java +++ b/folioreader/src/main/java/com/folioreader/ui/tableofcontents/view/TableOfContentFragment.java @@ -42,7 +42,7 @@ public static TableOfContentFragment newInstance(String selectedChapterHref, Str TableOfContentFragment tableOfContentFragment = new TableOfContentFragment(); Bundle args = new Bundle(); args.putString(SELECTED_CHAPTER_POSITION, selectedChapterHref); - args.putString(Constants.BOOK_TITLE, bookTitle); + args.putString(BOOK_TITLE, bookTitle); tableOfContentFragment.setArguments(args); return tableOfContentFragment; } @@ -58,7 +58,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View mRootView = inflater.inflate(R.layout.fragment_contents, container, false); mConfig = AppUtil.getSavedConfig(getActivity()); - mBookTitle = getArguments().getString(Constants.BOOK_TITLE); + mBookTitle = getArguments().getString(BOOK_TITLE); if (mConfig.isNightMode()) { mRootView.findViewById(R.id.recycler_view_menu). setBackgroundColor(ContextCompat.getColor(getActivity(), diff --git a/folioreader/src/main/java/com/folioreader/util/AppUtil.java b/folioreader/src/main/java/com/folioreader/util/AppUtil.java index eb0cb6753..5f8b79729 100644 --- a/folioreader/src/main/java/com/folioreader/util/AppUtil.java +++ b/folioreader/src/main/java/com/folioreader/util/AppUtil.java @@ -31,7 +31,7 @@ public class AppUtil { private static final String SMIL_ELEMENTS = "smil_elements"; private static final String TAG = AppUtil.class.getSimpleName(); - private static String FOLIO_READER_ROOT = "folioreader"; + private static final String FOLIO_READER_ROOT = "folioreader"; private enum FileType { OPS, @@ -56,7 +56,7 @@ public static Map toMap(String jsonString) { map.put(key, value.toString()); } } catch (JSONException e) { - e.printStackTrace(); + Log.e(TAG, "toMap failed", e); } return map; } diff --git a/folioreader/src/main/java/com/folioreader/util/FolioReader.java b/folioreader/src/main/java/com/folioreader/util/FolioReader.java index c1ec9c6a3..c6bf2590f 100644 --- a/folioreader/src/main/java/com/folioreader/util/FolioReader.java +++ b/folioreader/src/main/java/com/folioreader/util/FolioReader.java @@ -5,9 +5,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.support.v4.content.LocalBroadcastManager; -import android.util.Log; -import com.fasterxml.jackson.databind.ObjectMapper; import com.folioreader.Config; import com.folioreader.Constants; import com.folioreader.model.HighLight; @@ -17,7 +15,6 @@ import com.folioreader.ui.base.SaveReceivedHighlightTask; import com.folioreader.ui.folio.activity.FolioActivity; -import java.util.ArrayList; import java.util.List; /** diff --git a/folioreader/src/main/java/com/folioreader/util/HighlightUtil.java b/folioreader/src/main/java/com/folioreader/util/HighlightUtil.java index 8b09f3b48..7d3668455 100644 --- a/folioreader/src/main/java/com/folioreader/util/HighlightUtil.java +++ b/folioreader/src/main/java/com/folioreader/util/HighlightUtil.java @@ -4,6 +4,7 @@ import android.content.Intent; import android.os.Bundle; import android.support.v4.content.LocalBroadcastManager; +import android.util.Log; import com.folioreader.model.HighLight; import com.folioreader.model.HighlightImpl; @@ -22,6 +23,8 @@ */ public class HighlightUtil { + private static final String TAG = "HighlightUtil"; + public static String createHighlightRangy(Context context, String content, String bookTitle, @@ -53,7 +56,7 @@ public static String createHighlightRangy(Context context, } return rangy; } catch (JSONException e) { - e.printStackTrace(); + Log.e(TAG, "createHighlightRangy failed", e); } return ""; } @@ -103,7 +106,7 @@ public static String generateRangyString(String pageId) { if (!rangyList.isEmpty()) { builder.append("type:textContent"); for (String rangy : rangyList) { - builder.append("|"); + builder.append('|'); builder.append(rangy); } } diff --git a/folioreader/src/main/java/com/folioreader/util/MultiLevelExpIndListAdapter.java b/folioreader/src/main/java/com/folioreader/util/MultiLevelExpIndListAdapter.java index 2aaacfdde..882d42525 100644 --- a/folioreader/src/main/java/com/folioreader/util/MultiLevelExpIndListAdapter.java +++ b/folioreader/src/main/java/com/folioreader/util/MultiLevelExpIndListAdapter.java @@ -175,16 +175,14 @@ public boolean remove(ExpIndData item) { public boolean remove(ExpIndData item, boolean expandGroupBeforeRemoval) { int index; boolean removed = false; - if (item != null && (index = mData.indexOf(item)) != -1) { - if ((removed = mData.remove(item))) { - if (mGroups.containsKey(item)) { - if (expandGroupBeforeRemoval) - expandGroup(index); - mGroups.remove(item); - } - if (mNotifyOnChange) - notifyItemRemoved(index); + if (item != null && (index = mData.indexOf(item)) != -1 && (removed = mData.remove(item))) { + if (mGroups.containsKey(item)) { + if (expandGroupBeforeRemoval) + expandGroup(index); + mGroups.remove(item); } + if (mNotifyOnChange) + notifyItemRemoved(index); } return removed; } @@ -235,8 +233,9 @@ public void collapseGroup(int position) { List stack = new ArrayList(); int groupSize = 0; - for (int i = firstItem.getChildren().size() - 1; i >= 0; i--) + for (int i = firstItem.getChildren().size() - 1; i >= 0; i--) { stack.add(firstItem.getChildren().get(i)); + } while (!stack.isEmpty()) { ExpIndData item = stack.remove(stack.size() - 1); @@ -244,8 +243,9 @@ public void collapseGroup(int position) { groupSize++; // stop when the item is a leaf or a group if (item.getChildren() != null && !item.getChildren().isEmpty() && !item.isGroup()) { - for (int i = item.getChildren().size() - 1; i >= 0; i--) + for (int i = item.getChildren().size() - 1; i >= 0; i--) { stack.add(item.getChildren().get(i)); + } } if (mData.contains(item)) mData.remove(item); diff --git a/folioreader/src/main/java/com/folioreader/view/UnderlinedTextView.java b/folioreader/src/main/java/com/folioreader/view/UnderlinedTextView.java index 42128cb9d..12ce69d80 100644 --- a/folioreader/src/main/java/com/folioreader/view/UnderlinedTextView.java +++ b/folioreader/src/main/java/com/folioreader/view/UnderlinedTextView.java @@ -4,7 +4,6 @@ import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Paint; -import android.graphics.PorterDuff; import android.graphics.Rect; import android.support.v7.widget.AppCompatTextView; import android.text.Layout; From c658cc319463893ccbaa5ea598c91c6a45c3722f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Mon, 13 Nov 2017 13:37:28 +0100 Subject: [PATCH 17/22] Remove manual license accepting from Travis --- .travis.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index eeb949a5a..439dc19eb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,18 +1,13 @@ language: android -before_install: - - echo yes | android update sdk --filter extra-android-support --no-ui --force > /dev/null - - echo yes | android update sdk --filter extra-android-m2repository --no-ui --force > /dev/null - android: components: - tools - build-tools-27.0.0 + - build-tools-26.0.2 - android-27 + - android-19 - extra-android-m2repository - licenses: - - android-sdk-license-.+ - script: ./gradlew checkstyle build From 9d01a9c6999b3199744e711a075f84a4d457f836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Mon, 13 Nov 2017 10:46:37 +0100 Subject: [PATCH 18/22] Decouple ObservableWebView from FolioActivity and FolioPageFragment --- .../ui/folio/activity/FolioActivity.java | 2 + .../ui/folio/fragment/FolioPageFragment.java | 14 +++---- .../folioreader/view/ObservableWebView.java | 37 +++++++++++-------- 3 files changed, 31 insertions(+), 22 deletions(-) diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java b/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java index 9f743b983..d7bd59c3b 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java @@ -59,6 +59,7 @@ import com.folioreader.util.UiUtil; import com.folioreader.view.ConfigBottomSheetDialogFragment; import com.folioreader.view.DirectionalViewpager; +import com.folioreader.view.ObservableWebView; import com.folioreader.view.StyleableTextView; import com.squareup.otto.Bus; import com.squareup.otto.ThreadEnforcer; @@ -82,6 +83,7 @@ public class FolioActivity extends AppCompatActivity implements FolioPageFragment.FolioPageFragmentCallback, + ObservableWebView.ToolBarListener, ConfigBottomSheetDialogFragment.ConfigDialogCallback, MainMvpView { diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java index f668f5a6a..ebee6dca8 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java @@ -69,7 +69,7 @@ * Created by mahavir on 4/2/16. */ @SuppressWarnings("PMD.AvoidDuplicateLiterals") -public class FolioPageFragment extends Fragment implements HtmlTaskCallback, MediaControllerCallbacks { +public class FolioPageFragment extends Fragment implements HtmlTaskCallback, MediaControllerCallbacks, ObservableWebView.SeekBarListener { public static final String KEY_FRAGMENT_FOLIO_POSITION = "com.folioreader.ui.folio.fragment.FolioPageFragment.POSITION"; public static final String KEY_FRAGMENT_FOLIO_BOOK_TITLE = "com.folioreader.ui.folio.fragment.FolioPageFragment.BOOK_TITLE"; @@ -101,10 +101,6 @@ public class FolioPageFragment extends Fragment implements HtmlTaskCallback, Med public interface FolioPageFragmentCallback { - void hideOrshowToolBar(); - - void hideToolBarIfVisible(); - void setPagerToPosition(String href); void setLastWebViewPosition(int position); @@ -343,7 +339,11 @@ public void onStop() { private void initWebView() { mWebview = (ObservableWebView) mRootView.findViewById(R.id.contentWebView); - mWebview.setFragment(FolioPageFragment.this); + mWebview.setSeekBarListener(FolioPageFragment.this); + + if (getActivity() instanceof ObservableWebView.ToolBarListener) + mWebview.setToolBarListener((ObservableWebView.ToolBarListener) getActivity()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); } @@ -957,4 +957,4 @@ public void onError() { private void scrollToHighlightId() { mWebview.loadUrl(String.format(getString(R.string.goto_highlight), highlightId)); } -} \ No newline at end of file +} diff --git a/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java b/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java index 06ccf28a2..2a9b39744 100644 --- a/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java +++ b/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java @@ -11,16 +11,11 @@ import android.view.View; import android.webkit.WebView; -import com.folioreader.ui.folio.activity.FolioActivity; -import com.folioreader.ui.folio.fragment.FolioPageFragment; - /** * Created by mahavir on 3/31/16. */ public class ObservableWebView extends WebView { - private FolioPageFragment mFolioPageFragment; - private FolioPageFragment.FolioPageFragmentCallback mActivityCallback; private float mDownPosX = 0; private float mDownPosY = 0; @@ -28,7 +23,18 @@ public interface ScrollListener { void onScrollChange(int percent); } + public interface SeekBarListener { + void fadeInSeekBarIfInvisible(); + } + + public interface ToolBarListener { + void hideOrshowToolBar(); + void hideToolBarIfVisible(); + } + private ScrollListener mScrollListener; + private SeekBarListener mSeekBarListener; + private ToolBarListener mToolBarListener; public ObservableWebView(Context context) { super(context); @@ -52,10 +58,16 @@ public void setScrollListener(ScrollListener listener) { mScrollListener = listener; } + public void setSeekBarListener(SeekBarListener listener) { + mSeekBarListener = listener; + } + + public void setToolBarListener(ToolBarListener listener) { + mToolBarListener = listener; + } + @Override public boolean onTouchEvent(MotionEvent event) { - mActivityCallback = (FolioActivity) getContext(); - final int action = event.getAction(); float MOVE_THRESHOLD_DP = 20 * getResources().getDisplayMetrics().density; @@ -63,12 +75,12 @@ public boolean onTouchEvent(MotionEvent event) { case MotionEvent.ACTION_DOWN: mDownPosX = event.getX(); mDownPosY = event.getY(); - mFolioPageFragment.fadeInSeekBarIfInvisible(); + if (mSeekBarListener != null) mSeekBarListener.fadeInSeekBarIfInvisible(); break; case MotionEvent.ACTION_UP: if (Math.abs(event.getX() - mDownPosX) < MOVE_THRESHOLD_DP || Math.abs(event.getY() - mDownPosY) < MOVE_THRESHOLD_DP) { - mActivityCallback.hideOrshowToolBar(); + if(mToolBarListener != null) mToolBarListener.hideOrshowToolBar(); } break; } @@ -77,8 +89,7 @@ public boolean onTouchEvent(MotionEvent event) { @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { - mActivityCallback = (FolioActivity) getContext(); - mActivityCallback.hideToolBarIfVisible(); + if (mToolBarListener != null) mToolBarListener.hideToolBarIfVisible(); if (mScrollListener != null) mScrollListener.onScrollChange(t); super.onScrollChanged(l, t, oldl, oldt); } @@ -157,8 +168,4 @@ public MenuInflater getMenuInflater() { } }; } - - public void setFragment(FolioPageFragment folioPageFragment) { - mFolioPageFragment = folioPageFragment; - } } From bf8c734de4113e632b15f0d556644c2725b5e22f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Mon, 13 Nov 2017 14:37:05 +0100 Subject: [PATCH 19/22] Fix a PMD warning --- .../main/java/com/folioreader/view/ObservableWebView.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java b/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java index 2a9b39744..afae6c378 100644 --- a/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java +++ b/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java @@ -78,9 +78,10 @@ public boolean onTouchEvent(MotionEvent event) { if (mSeekBarListener != null) mSeekBarListener.fadeInSeekBarIfInvisible(); break; case MotionEvent.ACTION_UP: - if (Math.abs(event.getX() - mDownPosX) < MOVE_THRESHOLD_DP - || Math.abs(event.getY() - mDownPosY) < MOVE_THRESHOLD_DP) { - if(mToolBarListener != null) mToolBarListener.hideOrshowToolBar(); + if (mToolBarListener != null && + (Math.abs(event.getX() - mDownPosX) < MOVE_THRESHOLD_DP + || Math.abs(event.getY() - mDownPosY) < MOVE_THRESHOLD_DP)) { + mToolBarListener.hideOrshowToolBar(); } break; } From de9275b83f0f35b9a94bcb1abeb583aa1fc294c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Mon, 13 Nov 2017 15:00:47 +0100 Subject: [PATCH 20/22] Make FolioActivity.BUS non-static --- .../com/folioreader/model/event/BusOwner.java | 7 +++++ .../ui/folio/activity/FolioActivity.java | 29 ++++++++++++------- .../adapter/FolioPageFragmentAdapter.java | 2 -- .../ui/folio/fragment/FolioPageFragment.java | 19 +++++++++--- .../ui/folio/fragment/HighlightFragment.java | 7 +++-- .../view/ConfigBottomSheetDialogFragment.java | 17 ++++++++--- 6 files changed, 58 insertions(+), 23 deletions(-) create mode 100644 folioreader/src/main/java/com/folioreader/model/event/BusOwner.java diff --git a/folioreader/src/main/java/com/folioreader/model/event/BusOwner.java b/folioreader/src/main/java/com/folioreader/model/event/BusOwner.java new file mode 100644 index 000000000..eaf9b98e7 --- /dev/null +++ b/folioreader/src/main/java/com/folioreader/model/event/BusOwner.java @@ -0,0 +1,7 @@ +package com.folioreader.model.event; + +import com.squareup.otto.Bus; + +public interface BusOwner { + Bus getBus(); +} diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java b/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java index 9f743b983..2b96ba7ba 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java @@ -45,6 +45,7 @@ import com.folioreader.R; import com.folioreader.model.HighlightImpl; import com.folioreader.model.event.AnchorIdEvent; +import com.folioreader.model.event.BusOwner; import com.folioreader.model.event.MediaOverlayHighlightStyleEvent; import com.folioreader.model.event.MediaOverlayPlayPauseEvent; import com.folioreader.model.event.MediaOverlaySpeedEvent; @@ -83,6 +84,7 @@ public class FolioActivity extends AppCompatActivity implements FolioPageFragment.FolioPageFragmentCallback, ConfigBottomSheetDialogFragment.ConfigDialogCallback, + BusOwner, MainMvpView { private static final String TAG = "FolioActivity"; @@ -103,7 +105,12 @@ public enum EpubSourceType { private String bookFileName; private static final String HIGHLIGHT_ITEM = "highlight_item"; - public static final Bus BUS = new Bus(ThreadEnforcer.MAIN); + private final Bus BUS = new Bus(ThreadEnforcer.MAIN); + @Override + public Bus getBus() { + return BUS; + } + public boolean mIsActionBarVisible; private DirectionalViewpager mFolioPageViewPager; private Toolbar mToolbar; @@ -272,7 +279,7 @@ public void onPageScrolled(int position, float positionOffset, int positionOffse @Override public void onPageSelected(int position) { - FolioActivity.BUS.post(new MediaOverlayPlayPauseEvent(mSpineReferenceList.get(mChapterPosition).href, false, true)); + BUS.post(new MediaOverlayPlayPauseEvent(mSpineReferenceList.get(mChapterPosition).href, false, true)); mPlayPauseBtn.setImageDrawable(ContextCompat.getDrawable(FolioActivity.this, R.drawable.play_icon)); mChapterPosition = position; } @@ -510,11 +517,11 @@ public void onClick(View v) { @Override public void onClick(View v) { if (mIsSpeaking) { - FolioActivity.BUS.post(new MediaOverlayPlayPauseEvent(mSpineReferenceList.get(mChapterPosition).href, false, false)); + BUS.post(new MediaOverlayPlayPauseEvent(mSpineReferenceList.get(mChapterPosition).href, false, false)); mPlayPauseBtn.setImageDrawable(ContextCompat.getDrawable(FolioActivity.this, R.drawable.play_icon)); UiUtil.setColorToImage(mContext, mConfig.getThemeColor(), mPlayPauseBtn.getDrawable()); } else { - FolioActivity.BUS.post(new MediaOverlayPlayPauseEvent(mSpineReferenceList.get(mChapterPosition).href, true, false)); + BUS.post(new MediaOverlayPlayPauseEvent(mSpineReferenceList.get(mChapterPosition).href, true, false)); mPlayPauseBtn.setImageDrawable(ContextCompat.getDrawable(FolioActivity.this, R.drawable.pause_btn)); UiUtil.setColorToImage(mContext, mConfig.getThemeColor(), mPlayPauseBtn.getDrawable()); } @@ -530,7 +537,7 @@ public void onClick(View v) { mOneSpeed.setSelected(false); mOneAndHalfSpeed.setSelected(false); mTwoSpeed.setSelected(false); - FolioActivity.BUS.post(new MediaOverlaySpeedEvent(MediaOverlaySpeedEvent.Speed.HALF)); + BUS.post(new MediaOverlaySpeedEvent(MediaOverlaySpeedEvent.Speed.HALF)); } }); @@ -542,7 +549,7 @@ public void onClick(View v) { mOneSpeed.setSelected(true); mOneAndHalfSpeed.setSelected(false); mTwoSpeed.setSelected(false); - FolioActivity.BUS.post(new MediaOverlaySpeedEvent(MediaOverlaySpeedEvent.Speed.ONE)); + BUS.post(new MediaOverlaySpeedEvent(MediaOverlaySpeedEvent.Speed.ONE)); } }); mOneAndHalfSpeed.setOnClickListener(new View.OnClickListener() { @@ -553,7 +560,7 @@ public void onClick(View v) { mOneSpeed.setSelected(false); mOneAndHalfSpeed.setSelected(true); mTwoSpeed.setSelected(false); - FolioActivity.BUS.post(new MediaOverlaySpeedEvent(MediaOverlaySpeedEvent.Speed.ONE_HALF)); + BUS.post(new MediaOverlaySpeedEvent(MediaOverlaySpeedEvent.Speed.ONE_HALF)); } }); mTwoSpeed.setOnClickListener(new View.OnClickListener() { @@ -563,7 +570,7 @@ public void onClick(View v) { mOneSpeed.setSelected(false); mOneAndHalfSpeed.setSelected(false); mTwoSpeed.setSelected(true); - FolioActivity.BUS.post(new MediaOverlaySpeedEvent(MediaOverlaySpeedEvent.Speed.TWO)); + BUS.post(new MediaOverlaySpeedEvent(MediaOverlaySpeedEvent.Speed.TWO)); } }); @@ -573,7 +580,7 @@ public void onClick(View v) { mBackgroundColorStyle.setSelected(true); mUnderlineStyle.setSelected(false); mTextColorStyle.setSelected(false); - FolioActivity.BUS.post(new MediaOverlayHighlightStyleEvent(MediaOverlayHighlightStyleEvent.Style.DEFAULT)); + BUS.post(new MediaOverlayHighlightStyleEvent(MediaOverlayHighlightStyleEvent.Style.DEFAULT)); } }); @@ -583,7 +590,7 @@ public void onClick(View v) { mBackgroundColorStyle.setSelected(false); mUnderlineStyle.setSelected(true); mTextColorStyle.setSelected(false); - FolioActivity.BUS.post(new MediaOverlayHighlightStyleEvent(MediaOverlayHighlightStyleEvent.Style.UNDERLINE)); + BUS.post(new MediaOverlayHighlightStyleEvent(MediaOverlayHighlightStyleEvent.Style.UNDERLINE)); } }); @@ -594,7 +601,7 @@ public void onClick(View v) { mBackgroundColorStyle.setSelected(false); mUnderlineStyle.setSelected(false); mTextColorStyle.setSelected(true); - FolioActivity.BUS.post(new MediaOverlayHighlightStyleEvent(MediaOverlayHighlightStyleEvent.Style.BACKGROUND)); + BUS.post(new MediaOverlayHighlightStyleEvent(MediaOverlayHighlightStyleEvent.Style.BACKGROUND)); } }); diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/adapter/FolioPageFragmentAdapter.java b/folioreader/src/main/java/com/folioreader/ui/folio/adapter/FolioPageFragmentAdapter.java index b4e0596d8..7dce8b238 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/adapter/FolioPageFragmentAdapter.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/adapter/FolioPageFragmentAdapter.java @@ -4,7 +4,6 @@ import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; -import com.folioreader.ui.folio.activity.FolioActivity; import com.folioreader.ui.folio.fragment.FolioPageFragment; import org.readium.r2_streamer.model.publication.link.Link; @@ -24,7 +23,6 @@ public FolioPageFragmentAdapter(FragmentManager fm, List spineReferences, this.mSpineReferences = spineReferences; this.mEpubFileName = epubFileName; this.mBookId = bookId; - FolioActivity.BUS.register(this); } @Override diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java index f668f5a6a..bb043a7f1 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java @@ -1,5 +1,6 @@ package com.folioreader.ui.folio.fragment; +import android.app.Activity; import android.content.Intent; import android.content.res.Configuration; import android.graphics.Color; @@ -33,6 +34,7 @@ import com.folioreader.model.HighLight; import com.folioreader.model.HighlightImpl; import com.folioreader.model.event.AnchorIdEvent; +import com.folioreader.model.event.BusOwner; import com.folioreader.model.event.MediaOverlayHighlightStyleEvent; import com.folioreader.model.event.MediaOverlayPlayPauseEvent; import com.folioreader.model.event.MediaOverlaySpeedEvent; @@ -181,12 +183,16 @@ public View onCreateView(LayoutInflater inflater, mRootView = View.inflate(getActivity(), R.layout.folio_page_fragment, null); mPagesLeftTextView = (TextView) mRootView.findViewById(R.id.pagesLeft); mMinutesLeftTextView = (TextView) mRootView.findViewById(R.id.minutesLeft); - if (getActivity() instanceof FolioPageFragmentCallback) - mActivityCallback = (FolioPageFragmentCallback) getActivity(); - mConfig = AppUtil.getSavedConfig(getActivity()); + Activity activity = getActivity(); - FolioActivity.BUS.register(this); + mConfig = AppUtil.getSavedConfig(activity); + + if (activity instanceof FolioPageFragmentCallback) + mActivityCallback = (FolioPageFragmentCallback) activity; + + if (activity instanceof BusOwner) + ((BusOwner) activity).getBus().register(this); initSeekbar(); initAnimations(); @@ -196,6 +202,7 @@ public View onCreateView(LayoutInflater inflater, return mRootView; } + private String getWebviewUrl() { return Constants.LOCALHOST + mBookTitle + "/" + spineItem.href; } @@ -666,6 +673,10 @@ public void fadeOutSeekBarIfVisible() { public void onDestroyView() { mFadeInAnimation.setAnimationListener(null); mFadeOutAnimation.setAnimationListener(null); + + Activity activity = getActivity(); + if (activity instanceof BusOwner) + ((BusOwner) activity).getBus().unregister(this); super.onDestroyView(); } diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/HighlightFragment.java b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/HighlightFragment.java index 3c8ec7407..b83548248 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/HighlightFragment.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/HighlightFragment.java @@ -23,9 +23,9 @@ import com.folioreader.R; import com.folioreader.model.HighLight; import com.folioreader.model.HighlightImpl; +import com.folioreader.model.event.BusOwner; import com.folioreader.model.event.ReloadDataEvent; import com.folioreader.model.sqlite.HighLightTable; -import com.folioreader.ui.folio.activity.FolioActivity; import com.folioreader.ui.folio.adapter.HighlightAdapter; import com.folioreader.util.AppUtil; import com.folioreader.util.FolioReader; @@ -90,7 +90,10 @@ public void onItemClick(HighlightImpl highlightImpl) { @Override public void deleteHighlight(int id) { HighLightTable.deleteHighlight(id); - FolioActivity.BUS.post(new ReloadDataEvent()); + + Activity activity = getActivity(); + if (activity instanceof BusOwner) + ((BusOwner) activity).getBus().post(new ReloadDataEvent()); } @Override diff --git a/folioreader/src/main/java/com/folioreader/view/ConfigBottomSheetDialogFragment.java b/folioreader/src/main/java/com/folioreader/view/ConfigBottomSheetDialogFragment.java index 13f32bec4..a5cf47dad 100644 --- a/folioreader/src/main/java/com/folioreader/view/ConfigBottomSheetDialogFragment.java +++ b/folioreader/src/main/java/com/folioreader/view/ConfigBottomSheetDialogFragment.java @@ -25,7 +25,7 @@ import com.folioreader.Config; import com.folioreader.Constants; import com.folioreader.R; -import com.folioreader.ui.folio.activity.FolioActivity; +import com.folioreader.model.event.BusOwner; import com.folioreader.model.event.ReloadDataEvent; import com.folioreader.util.AppUtil; import com.folioreader.util.UiUtil; @@ -210,7 +210,10 @@ private void selectFont(int selectedFont, boolean isReloadNeeded) { //if (mConfigDialogCallback != null) mConfigDialogCallback.onConfigChange(); if (isAdded() && isReloadNeeded) { AppUtil.saveConfig(getActivity(),mConfig); - FolioActivity.BUS.post(new ReloadDataEvent()); + + Activity activity = getActivity(); + if (activity instanceof BusOwner) + ((BusOwner) activity).getBus().post(new ReloadDataEvent()); } } @@ -243,7 +246,10 @@ public void onAnimationEnd(Animator animator) { mIsNightMode = !mIsNightMode; mConfig.setNightMode(mIsNightMode); AppUtil.saveConfig(getActivity(),mConfig); - FolioActivity.BUS.post(new ReloadDataEvent()); + + Activity activity = getActivity(); + if (activity instanceof BusOwner) + ((BusOwner) activity).getBus().post(new ReloadDataEvent()); ///mConfigDialogCallback.onConfigChange(); } @@ -272,7 +278,10 @@ private void configSeekBar() { public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { mConfig.setFontSize(progress); AppUtil.saveConfig(getActivity(),mConfig); - FolioActivity.BUS.post(new ReloadDataEvent()); + + Activity activity = getActivity(); + if (activity instanceof BusOwner) + ((BusOwner) activity).getBus().post(new ReloadDataEvent()); } @Override From 70c4a69c28dad68438385d92c6c5e473e27244e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Mon, 13 Nov 2017 15:55:43 +0100 Subject: [PATCH 21/22] Fix calling destroyed WebView --- .../ui/folio/fragment/FolioPageFragment.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java index f668f5a6a..4d2561ce9 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java @@ -15,7 +15,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.view.ViewTreeObserver; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.webkit.JavascriptInterface; @@ -349,16 +348,16 @@ private void initWebView() { } setupScrollBar(); - mWebview.getViewTreeObserver(). - addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - int height = - (int) Math.floor(mWebview.getContentHeight() * mWebview.getScale()); - int webViewHeight = mWebview.getMeasuredHeight(); - mScrollSeekbar.setMaximum(height - webViewHeight); - } - }); + mWebview.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { + @Override + public void onLayoutChange(View view, int left, int top, int right, int bottom, + int oldLeft, int oldTop, int oldRight, int oldBottom) { + int height = + (int) Math.floor(mWebview.getContentHeight() * mWebview.getScale()); + int webViewHeight = mWebview.getMeasuredHeight(); + mScrollSeekbar.setMaximum(height - webViewHeight); + } + }); mWebview.getSettings().setJavaScriptEnabled(true); mWebview.setVerticalScrollBarEnabled(false); From 952804b58fdb723aa297404c2be8394ac895aeba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Mon, 13 Nov 2017 16:31:25 +0100 Subject: [PATCH 22/22] Prevent automatic favicon loading --- .../ui/folio/fragment/FolioPageFragment.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java index 49429657e..2c63fa068 100644 --- a/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java +++ b/folioreader/src/main/java/com/folioreader/ui/folio/fragment/FolioPageFragment.java @@ -1,6 +1,7 @@ package com.folioreader.ui.folio.fragment; import android.app.Activity; +import android.annotation.SuppressLint; import android.content.Intent; import android.content.res.Configuration; import android.graphics.Color; @@ -21,6 +22,8 @@ import android.webkit.JavascriptInterface; import android.webkit.JsResult; import android.webkit.WebChromeClient; +import android.webkit.WebResourceRequest; +import android.webkit.WebResourceResponse; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.TextView; @@ -458,6 +461,34 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) { } return true; } + + + // prevent favicon.ico to be loaded automatically + @Override + public WebResourceResponse shouldInterceptRequest(WebView view, String url) { + if(url.toLowerCase().contains("/favicon.ico")) { + try { + return new WebResourceResponse("image/png", null, null); + } catch (Exception e) { + Log.e(TAG, "shouldInterceptRequest failed", e); + } + } + return null; + } + + // prevent favicon.ico to be loaded automatically + @Override + @SuppressLint("NewApi") + public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { + if(!request.isForMainFrame() && request.getUrl().getPath().endsWith("/favicon.ico")) { + try { + return new WebResourceResponse("image/png", null, null); + } catch (Exception e) { + Log.e(TAG, "shouldInterceptRequest failed", e); + } + } + return null; + } }); mWebview.setWebChromeClient(new WebChromeClient() {