From 8be44c209c381e806416ce8a943782c94c9379db Mon Sep 17 00:00:00 2001
From: inorichi <chibilen@gmail.com>
Date: Sat, 9 Jan 2016 00:57:02 +0100
Subject: [PATCH] Show selected decoder and background color in the popup menu.
 Reload adapter when the decoder changes.

---
 .../mangafeed/ui/reader/ReaderMenu.java       |  36 ++++++++++++------
 .../reader/viewer/webtoon/WebtoonAdapter.java |   4 ++
 .../reader/viewer/webtoon/WebtoonHolder.java  |   3 ++
 .../reader/viewer/webtoon/WebtoonReader.java  |  14 +++++++
 .../reader_background_checkbox_selected.png   | Bin 0 -> 227 bytes
 .../reader_background_checkbox_unselected.png | Bin 0 -> 249 bytes
 .../reader_background_checkbox_selected.png   | Bin 0 -> 136 bytes
 .../reader_background_checkbox_unselected.png | Bin 0 -> 153 bytes
 .../reader_background_checkbox_selected.png   | Bin 0 -> 142 bytes
 .../reader_background_checkbox_unselected.png | Bin 0 -> 148 bytes
 .../reader_background_checkbox_selected.png   | Bin 0 -> 234 bytes
 .../reader_background_checkbox_unselected.png | Bin 0 -> 234 bytes
 .../reader_background_checkbox_selected.png   | Bin 0 -> 366 bytes
 .../reader_background_checkbox_unselected.png | Bin 0 -> 387 bytes
 .../reader_background_checkbox_selected.png   | Bin 0 -> 434 bytes
 .../reader_background_checkbox_unselected.png | Bin 0 -> 499 bytes
 .../drawable/reader_background_checkbox.xml   |   5 +++
 app/src/main/res/layout/reader_popup.xml      |  31 ++++++++++-----
 18 files changed, 72 insertions(+), 21 deletions(-)
 create mode 100644 app/src/main/res/drawable-hdpi/reader_background_checkbox_selected.png
 create mode 100644 app/src/main/res/drawable-hdpi/reader_background_checkbox_unselected.png
 create mode 100644 app/src/main/res/drawable-ldpi/reader_background_checkbox_selected.png
 create mode 100644 app/src/main/res/drawable-ldpi/reader_background_checkbox_unselected.png
 create mode 100644 app/src/main/res/drawable-mdpi/reader_background_checkbox_selected.png
 create mode 100644 app/src/main/res/drawable-mdpi/reader_background_checkbox_unselected.png
 create mode 100644 app/src/main/res/drawable-xhdpi/reader_background_checkbox_selected.png
 create mode 100644 app/src/main/res/drawable-xhdpi/reader_background_checkbox_unselected.png
 create mode 100644 app/src/main/res/drawable-xxhdpi/reader_background_checkbox_selected.png
 create mode 100644 app/src/main/res/drawable-xxhdpi/reader_background_checkbox_unselected.png
 create mode 100644 app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_selected.png
 create mode 100644 app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_unselected.png
 create mode 100644 app/src/main/res/drawable/reader_background_checkbox.xml

diff --git a/app/src/main/java/eu/kanade/mangafeed/ui/reader/ReaderMenu.java b/app/src/main/java/eu/kanade/mangafeed/ui/reader/ReaderMenu.java
index a2039f936..cd3016119 100644
--- a/app/src/main/java/eu/kanade/mangafeed/ui/reader/ReaderMenu.java
+++ b/app/src/main/java/eu/kanade/mangafeed/ui/reader/ReaderMenu.java
@@ -29,6 +29,7 @@ import eu.kanade.mangafeed.R;
 import eu.kanade.mangafeed.data.database.models.Chapter;
 import eu.kanade.mangafeed.data.database.models.Manga;
 import eu.kanade.mangafeed.data.preference.PreferencesHelper;
+import eu.kanade.mangafeed.ui.reader.viewer.base.BaseReader;
 import icepick.State;
 import rx.Subscription;
 
@@ -245,8 +246,9 @@ public class ReaderMenu {
         @Bind(R.id.show_page_number) CheckBox showPageNumber;
         @Bind(R.id.hide_status_bar) CheckBox hideStatusBar;
         @Bind(R.id.keep_screen_on) CheckBox keepScreenOn;
+        @Bind(R.id.reader_theme) CheckBox readerTheme;
         @Bind(R.id.image_decoder) TextView imageDecoder;
-        @Bind(R.id.reader_theme) TextView readerTheme;
+        @Bind(R.id.image_decoder_initial) TextView imageDecoderInitial;
 
         public SettingsPopupWindow(View view) {
             super(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
@@ -261,6 +263,8 @@ public class ReaderMenu {
             showPageNumber.setChecked(preferences.showPageNumber().get());
             hideStatusBar.setChecked(preferences.hideStatusBar().get());
             keepScreenOn.setChecked(preferences.keepScreenOn().get());
+            readerTheme.setChecked(preferences.readerTheme().get() == 1);
+            setDecoderInitial(preferences.imageDecoder().get());
 
             // Add a listener to change the corresponding setting
             enableTransitions.setOnCheckedChangeListener((view, isChecked) ->
@@ -275,6 +279,9 @@ public class ReaderMenu {
             keepScreenOn.setOnCheckedChangeListener((view, isChecked) ->
                     preferences.keepScreenOn().set(isChecked));
 
+            readerTheme.setOnCheckedChangeListener((view, isChecked) ->
+                    preferences.readerTheme().set(isChecked ? 1 : 0));
+
             imageDecoder.setOnClickListener(v -> {
                 showImmersiveDialog(new MaterialDialog.Builder(activity)
                         .title(R.string.pref_image_decoder)
@@ -282,22 +289,27 @@ public class ReaderMenu {
                         .itemsCallbackSingleChoice(preferences.imageDecoder().get(),
                                 (dialog, itemView, which, text) -> {
                                     preferences.imageDecoder().set(which);
+                                    setDecoderInitial(which);
                                     return true;
                                 })
                         .build());
             });
+        }
 
-            readerTheme.setOnClickListener(v -> {
-                showImmersiveDialog(new MaterialDialog.Builder(activity)
-                        .title(R.string.pref_reader_theme)
-                        .items(R.array.reader_themes)
-                        .itemsCallbackSingleChoice(preferences.readerTheme().get(),
-                                (dialog, itemView, which, text) -> {
-                                    preferences.readerTheme().set(which);
-                                    return true;
-                                })
-                        .build());
-            });
+        private void setDecoderInitial(int decoder) {
+            String initial;
+            switch (decoder) {
+                case BaseReader.SKIA_DECODER:
+                    initial = "S";
+                    break;
+                case BaseReader.RAPID_DECODER:
+                    initial = "R";
+                    break;
+                default:
+                    initial = "";
+                    break;
+            }
+            imageDecoderInitial.setText(initial);
         }
 
     }
diff --git a/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonAdapter.java b/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonAdapter.java
index ee19e380d..7a738e7f1 100644
--- a/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonAdapter.java
+++ b/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonAdapter.java
@@ -61,4 +61,8 @@ public class WebtoonAdapter extends RecyclerView.Adapter<WebtoonHolder> {
         fragment.getReaderActivity().getPresenter().retryPage(page);
     }
 
+    public WebtoonReader getReader() {
+        return fragment;
+    }
+
 }
diff --git a/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonHolder.java b/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonHolder.java
index 95fba602e..090e1d6de 100644
--- a/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonHolder.java
+++ b/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonHolder.java
@@ -26,9 +26,11 @@ public class WebtoonHolder extends RecyclerView.ViewHolder {
 
     private Animation fadeInAnimation;
     private Page page;
+    private WebtoonAdapter adapter;
 
     public WebtoonHolder(View view, WebtoonAdapter adapter, View.OnTouchListener touchListener) {
         super(view);
+        this.adapter = adapter;
         ButterKnife.bind(this, view);
 
         fadeInAnimation = AnimationUtils.loadAnimation(view.getContext(), R.anim.fade_in);
@@ -88,6 +90,7 @@ public class WebtoonHolder extends RecyclerView.ViewHolder {
         setErrorButtonVisible(false);
         setProgressVisible(false);
         setImageVisible(true);
+        imageView.setRegionDecoderClass(adapter.getReader().getRegionDecoderClass());
         imageView.setImage(ImageSource.uri(page.getImagePath()));
     }
 
diff --git a/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonReader.java b/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonReader.java
index 169604adb..9457da5d5 100644
--- a/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonReader.java
+++ b/app/src/main/java/eu/kanade/mangafeed/ui/reader/viewer/webtoon/WebtoonReader.java
@@ -27,6 +27,7 @@ public class WebtoonReader extends BaseReader {
     private RecyclerView recycler;
     private PreCachingLayoutManager layoutManager;
     private Subscription subscription;
+    private Subscription decoderSubscription;
     private GestureDetector gestureDetector;
 
     @Nullable
@@ -42,6 +43,13 @@ public class WebtoonReader extends BaseReader {
         recycler.setItemAnimator(null);
         recycler.setAdapter(adapter);
 
+        decoderSubscription = getReaderActivity().getPreferences().imageDecoder()
+                .asObservable()
+                .doOnNext(this::setRegionDecoderClass)
+                .skip(1)
+                .distinctUntilChanged()
+                .subscribe(v -> adapter.notifyDataSetChanged());
+
         gestureDetector = new GestureDetector(getActivity(), new SimpleOnGestureListener() {
             @Override
             public boolean onSingleTapConfirmed(MotionEvent e) {
@@ -63,6 +71,12 @@ public class WebtoonReader extends BaseReader {
         return recycler;
     }
 
+    @Override
+    public void onDestroyView() {
+        decoderSubscription.unsubscribe();
+        super.onDestroyView();
+    }
+
     @Override
     public void onPause() {
         unsubscribeStatus();
diff --git a/app/src/main/res/drawable-hdpi/reader_background_checkbox_selected.png b/app/src/main/res/drawable-hdpi/reader_background_checkbox_selected.png
new file mode 100644
index 0000000000000000000000000000000000000000..9908433c073331a4d7356e7ea97e53e8377abaf3
GIT binary patch
literal 227
zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtRh}-6Ar-gY&N#?>SV4g0r{cwi
zyKylcg`SGJH~sGg^1Zyo*xh8T{8l`#fnS=5f#JY>L0!)&E9B}n+UV?7EkE}zd;O`0
z^QT=7a?Q*ZZ*}={Ia7Mi(ah?cz4L=VX|H2uS!KWSO0)vMh(((C2@Zt@1|}rp&P#90
zugmLF))r}IO?{9WEGQnG`(yg1xzT@1HtoM0xAjr^T3^dQx~F0p7#ik3V)mCgv;Fno
SnjJt_GkCiCxvX<aXaWFFv{#w{

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable-hdpi/reader_background_checkbox_unselected.png b/app/src/main/res/drawable-hdpi/reader_background_checkbox_unselected.png
new file mode 100644
index 0000000000000000000000000000000000000000..195e875fbd439ee9309802611175ed1199783bd5
GIT binary patch
literal 249
zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUt1D-C9Ar-gY&e+J?Y#`wJazaov
zmvY5g1CF#MDu)ePJUw%d+JE9G*EmppY3sh~Z>IlZ*%=rLRGm0#*Uk?9y6*6CiT9^B
z*%X}%UYim#`P@2Nw(}3?FP*aW+Ov@Cw;zqBU%33L?AC{S9!Vy#>Tj3N+i`c2`Rp(+
z+qJBh`j|dnWEEoKP-tL4BGP{a$^8o6pT6dkVSi}U22+iaBED@Ve{LJkoqXiRq60S#
q!v4%%y7_LKz3UEc28Iv$HH>^Wj;nEXT4n?N!r<xZ=d#Wzp$Pz!BxU>n

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable-ldpi/reader_background_checkbox_selected.png b/app/src/main/res/drawable-ldpi/reader_background_checkbox_selected.png
new file mode 100644
index 0000000000000000000000000000000000000000..d06d87c9571bac625d670ea2a8fbcfa0578831bc
GIT binary patch
literal 136
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{+=$5Ar-fh6C`>Xx*3jft2FH3
z>X2^OA;)X(@Koi)O`f0+Tpjx#99X{~Ye#|P1%}Wc{OtdjLYpr)R4MVSkblM&Ak!h@
js(h5QQ_FMaKL&<ie*c9cHC(AcqZvG1{an^LB{Ts5fUzq-

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable-ldpi/reader_background_checkbox_unselected.png b/app/src/main/res/drawable-ldpi/reader_background_checkbox_unselected.png
new file mode 100644
index 0000000000000000000000000000000000000000..4899a16ffc9890aefd50d110a5b7eca10f32d49c
GIT binary patch
literal 153
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`37#&FAr-fh6C^?$TwGXMc5)=#
znYBK4x7x>7S66E(<S{&|GT{+g&9w4h7RQN_2~G9?|LtXZq;K&-dxF%2s2DaA2hm4N
z@eWxZBm?|g7{4CA!_dV%aZ$z+9mT*oQ`mVJ7*<THj1W>|eFe0O!PC{xWt~$(696tE
BGmZcN

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable-mdpi/reader_background_checkbox_selected.png b/app/src/main/res/drawable-mdpi/reader_background_checkbox_selected.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0faf295f8548ba7617af2bcec6c1faff28fdf8d
GIT binary patch
literal 142
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJP)`@fkcwMxr)}f~O0eYKIdE5I
z9<Rh9564_awIdbNV}8e}uVp+iGp}!n?dKmRN3Se+B)zcXA+z?%A7L5}`YalZECLP;
pj4U>?0l#FY%d0$9mpmY!BUo-X$Lr_exj+jTJYD@<);T3K0RYA_E|vfQ

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable-mdpi/reader_background_checkbox_unselected.png b/app/src/main/res/drawable-mdpi/reader_background_checkbox_unselected.png
new file mode 100644
index 0000000000000000000000000000000000000000..69e1ee734a399d3880c6b4aa55b467f257eba37a
GIT binary patch
literal 148
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJXipc%kcwMxuNm?lFyL{ysFRqG
zm-<eXhtDNcwvo?IRr}R{2EF|5;|hzWD<vJP+x({@EpF1ZSGxIA1eR4lxOYbS-YTXq
sj1EAPfZ)KzhHLM4d{@Y{KiN@tnc49NvqRR;%&j0PPgg&ebxsLQ07<bl)Bpeg

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable-xhdpi/reader_background_checkbox_selected.png b/app/src/main/res/drawable-xhdpi/reader_background_checkbox_selected.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c8102d17ac1af612c6e34a258f279800b807276
GIT binary patch
literal 234
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=8$DedLn>~)y=BPPY#`w3D6+Kt
zaA-|tpNs!t-i!dTOzvAE8#`_Mf0>>;BI`3*#dDI%%hz!mg=Sl?eImK*OW)NSLbsEu
zALssjGb=sw-}!j{xMcS?Z?-6(4~V|sGU=CX{U6!Hlg6gm=d>&AQljUr)I9J{p+OdC
zFCJjeEb;5<ix2CMxBqu|l=Z?t<(+xrjs7KIyYqiD*nau(b<*=2|3M~ry85}Sb4q9e
E08T<#9RL6T

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable-xhdpi/reader_background_checkbox_unselected.png b/app/src/main/res/drawable-xhdpi/reader_background_checkbox_unselected.png
new file mode 100644
index 0000000000000000000000000000000000000000..4faa255e6a96a1318a8245fce3db798805f74c3a
GIT binary patch
literal 234
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=8$DedLn>~)y`{)^SV5xg;j)?Y
z9}4U}pm&!!^vd~yW=SKv%V*9x9Q~}8@z3t)!A%~MR6HmBTRmmdx34;%Pu+VxrT_l6
zw}mptS6|!p{p-5Nr{`6tozOY_zs4+Y?cCbhTYENrpBdRUuSI6>3;%yVxD_|2ESt!n
z>b~Lbk~5QLx-nmoW()zk0T0+AQ)>IJu|?fT&eIcQb=@zf14sY&omgYK38c%@)z4*}
HQ$iB}LHk}{

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable-xxhdpi/reader_background_checkbox_selected.png b/app/src/main/res/drawable-xxhdpi/reader_background_checkbox_selected.png
new file mode 100644
index 0000000000000000000000000000000000000000..287892b71b130a0fa24a9bd738323c915b22d0f6
GIT binary patch
literal 366
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U^Mk~aSW-r_4dxfzC#WI4G%?C
z(zQR-PT0Mj@t%NAfAB???#xSfOeA@PE}!}I_vDYf{b{e4nR-rAfg!v1>S-O8VzU+J
z@6BnSVfaj>xPNBSGbQ7v#`8b(w0G(MH-9Gexg#>^TGHkxo9}<pSt@X>=I8k){eQLd
zIt{{hefIzPb<Nx}%Ig;k{cllxe}1WQgX(#c5C)59{yA@Rmf1veHtck6kOaDyVo<`9
z5PGmL^4iAY+g{Uiw|eKl&eB_ZfopT_&WqcgoH(>>Zq-_y-COO#rv2TzsQU4-J$<Y6
q-tOMA$ou!b|D4ytybxaAx32z7f!@WM|EwV(M|ryXxvX<aXaWGqhKcw9

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable-xxhdpi/reader_background_checkbox_unselected.png b/app/src/main/res/drawable-xxhdpi/reader_background_checkbox_unselected.png
new file mode 100644
index 0000000000000000000000000000000000000000..b279adbbd44b6215230f0239bf3bc694ebc24d2a
GIT binary patch
literal 387
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>VD$2IaSW-r_4bZp-eCs;hl>qf
zOW964*S3E%E6t0zEO*$QBSO<e<<cs-OzqYwQzACk#z(#TTCA4ir|vmP1&00wXsVuj
zUAJt~`jz(8=ce1A|9pB|?(?YE$LsceD_&c<>sxx<Bfi4vJ^KIGZvD1%{_Q$B-T3~0
zZ?f;G@;d!VdA$0i{{MTQ%HMN57kRAlEUjnmzpp))bdLqz(Pcg$^4a+1ji045N9R7u
zlVtGv)4BCvm-SR0;}y(T7#X#I{-790NE}$z#LTGk+CoC%+Etz0J*B48bzW!HiJ7fE
zduUm5RaE4*ZH8gf_NL#J7We)=?TGhpJ<aLgZ2Oh7wN+sOpyK&|YyPo_FB`5Oj=ThN
Nk*BMl%Q~loCIEp9kQV>|

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_selected.png b/app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_selected.png
new file mode 100644
index 0000000000000000000000000000000000000000..90c1bd6f56549cce91c1055099eaf7bb5df43060
GIT binary patch
literal 434
zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrV660XaSW-r_4ckKSF?eLYvA#`
z<-2)P%-<ba%CSweg)c{WO4$=@_J2%Y;ye0`e1ZCq!2O+DHFK|-MbG|yH2wAYs9&3p
z&$@lZtopzu_s!qS4b=7OIph8mPTRt<YUzGoU#rjM-2W?NTxx_xPRsduawKeh@o)_%
zV~$wuukMOUv06JOfd&Q^1qMbA2Zq7K{B!8&#K)aGEG}K$2&Am8J-rB|Y;Jx1IA8tQ
zuOG{^9_9xxS16u+^iurhFXcu{T>}pHH}BowyyL0-eon9dOnyIH@BG?4ZHciwQou1V
a{OD)T{q(Kt;-+0{AaPGuKbLh*2~7Yab%i<r

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_unselected.png b/app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_unselected.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a3af58d655c84a1e27249befb73805cd3f6db79
GIT binary patch
literal 499
zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBF>D;uunK>+Ri(oXrLz4j1co
z_uXdO)EjNll^~_4%es1sljp~|?BxuTowvrn5A)iona9V-&<-?5fPu+@frEijfq?}d
z=f|Rr)3S<lHLuTKYMY&PUQX;l!0D}9kIdaV_n-jpfo}(b4f|(SDZXG;*!}tL6AgxA
z5A1)ZuWvSFYIw4aU)`0#VE6OGGnE-4?tFe3f8;c?!E<JY!2-nG|D`$U^lh>FR^ha!
zZ>!C(3MZZZZFc|uwnWPBpL+LuUQz$<7pw^@eBb@C47Q$Zz#zv_^x^u!Tjvs9l=9m$
z?x_=A@{LvIq5h*w^Gv^1JpZrEz(^o0k%QdsJ>QhCj;Ed%cDjQC#M9N!Wt~$(699+?
BfB^si

literal 0
HcmV?d00001

diff --git a/app/src/main/res/drawable/reader_background_checkbox.xml b/app/src/main/res/drawable/reader_background_checkbox.xml
new file mode 100644
index 000000000..2ace26fce
--- /dev/null
+++ b/app/src/main/res/drawable/reader_background_checkbox.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_checked="true" android:drawable="@drawable/reader_background_checkbox_selected" />
+    <item android:drawable="@drawable/reader_background_checkbox_unselected" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/layout/reader_popup.xml b/app/src/main/res/layout/reader_popup.xml
index e165bf56d..ec0299e68 100644
--- a/app/src/main/res/layout/reader_popup.xml
+++ b/app/src/main/res/layout/reader_popup.xml
@@ -8,17 +8,30 @@
     android:paddingTop="5dp"
     android:paddingBottom="5dp">
 
-    <TextView
-        android:id="@+id/reader_theme"
-        android:paddingLeft="32dp"
-        style="@style/reader_menu_settings_item"
-        android:text="@string/pref_reader_theme"/>
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content">
 
-    <TextView
-        android:id="@+id/image_decoder"
-        android:paddingLeft="32dp"
+        <TextView
+            android:id="@+id/image_decoder_initial"
+            android:layout_width="32dp"
+            android:layout_height="wrap_content"
+            android:textSize="16sp"
+            android:gravity="center"
+            android:textColor="@color/colorAccent"/>
+
+        <TextView
+            android:id="@+id/image_decoder"
+            style="@style/reader_menu_settings_item"
+            android:text="@string/pref_image_decoder"/>
+
+    </LinearLayout>
+
+    <CheckBox
+        android:id="@+id/reader_theme"
         style="@style/reader_menu_settings_item"
-        android:text="@string/pref_image_decoder"/>
+        android:button="@drawable/reader_background_checkbox"
+        android:text="@string/pref_reader_theme"/>
 
     <CheckBox
         android:id="@+id/enable_transitions"