[Replicant] [PATCH 1/9] Revert "Save messages to SIM feature"

belgin belginstirbu at hotmail.com
Mon Nov 23 23:47:00 UTC 2020


This reverts commit 0dabdec1f6f6f90b6a0cd45646bdbf5fa79cde74.
---
 AndroidManifest.xml                                |   5 -
 res/drawable-hdpi/ic_overflow_dark.png             | Bin 2834 -> 0 bytes
 res/drawable-mdpi/ic_overflow_dark.png             | Bin 2772 -> 0 bytes
 res/drawable-xhdpi/ic_overflow_dark.png            | Bin 2905 -> 0 bytes
 res/drawable-xxhdpi/ic_overflow_dark.png           | Bin 3057 -> 0 bytes
 res/layout/sim_list.xml                            |  41 --
 res/menu/conversation_fragment_select_menu.xml     |  10 -
 res/menu/sim_msg_multi_select_menu.xml             |  38 --
 res/values/cm_strings.xml                          |  49 ---
 res/xml-v21/preferences_application.xml            |  10 -
 res/xml-v23/preferences_application.xml            |  10 -
 res/xml/preferences_application.xml                |   9 -
 .../datamodel/data/ConversationMessageData.java    |  20 -
 .../messaging/datamodel/data/SimMessageData.java   |  34 --
 .../android/messaging/sms/SimMessagesUtils.java    | 469 ---------------------
 .../android/messaging/ui/ManageSimMessages.java    | 394 -----------------
 .../appsettings/ApplicationSettingsActivity.java   |  72 +---
 .../ui/conversation/ConversationFragment.java      |  63 ---
 .../conversation/ConversationMessageAdapter.java   |  18 +-
 .../ConversationMessageBubbleView.java             |   6 +-
 .../ui/conversation/ConversationMessageView.java   |  19 -
 21 files changed, 19 insertions(+), 1248 deletions(-)
 delete mode 100644 res/drawable-hdpi/ic_overflow_dark.png
 delete mode 100644 res/drawable-mdpi/ic_overflow_dark.png
 delete mode 100644 res/drawable-xhdpi/ic_overflow_dark.png
 delete mode 100644 res/drawable-xxhdpi/ic_overflow_dark.png
 delete mode 100644 res/layout/sim_list.xml
 delete mode 100644 res/menu/sim_msg_multi_select_menu.xml
 delete mode 100644 src/com/android/messaging/datamodel/data/SimMessageData.java
 delete mode 100644 src/com/android/messaging/sms/SimMessagesUtils.java
 delete mode 100644 src/com/android/messaging/ui/ManageSimMessages.java

diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 7563f9c..0b90c39 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -545,11 +545,6 @@
 
         <receiver android:name="com.cyanogenmod.messaging.lookup.LookupProviderManager" />
 
-        <activity android:name=".ui.ManageSimMessages"
-                  android:theme="@style/BugleTheme"
-                  android:launchMode="singleTop"
-                  android:configChanges="orientation|screenSize|keyboardHidden"
-                  android:label="@string/sim_manage_messages_title" />
     </application>
 
 </manifest>
diff --git a/res/drawable-hdpi/ic_overflow_dark.png b/res/drawable-hdpi/ic_overflow_dark.png
deleted file mode 100644
index e9224e593f7753e43c5a33617b3fffa731ca47ab..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2834
zcmV+t3+?oYP)<h;3K|Lk000e1NJLTq000sI001Ni1^@s6gzakQ000U>X+uL$Nkc;*
zP;zf(X>4Tx07wm;mUmQB*%pV-y*Itk5+Wca^cs2zAksTX6$DX<Nq|rShJ+?|L<L3^
z5h+$=RKNj8hazJ|6bplbV%G`s5KzX!QA9=M-HdAq at 2xfS-kSZ#S>M^`x7XQc?|s+0
z08spb1j2M!0f022SQPH-!CVp(%f$Br7!UytSOLJ{W at ZFO_(THK{JlMynW#v{v-a*T
zfMmPdEWc1DbJqWVks>!kBnAKqMb$PuekK>?0+ds;#ThdH1j_W4DKdsJG8Ul;qO2n0
z#IJ1jr{*iW$(WZW<e?f_&KbNko{YOt-kK%hql^ThT$m-`XQO-vWxZ5MngHeZDAUvU
zoJ;^P6q#Sl=O&?Si84hL8SaVl0ssh<#5ufj4vYCYXr2Igrf1}e1c^yvrV-beY31n1
zX8Q57Q~6>sE0n`c;fQ!l&-AnmjxZO1uWyz`0VP>&nP`#itsL#`S=Q!g`M=rU9)45(
zJ;-|dRq-b5&z?byo>|{)?5r=n76A4nTALlSzLiw~v~31J<>9PP?;rs31pu_(obw)r
zY+jPY;tVGXi|p)da{- at gE-UCa`=5eu%D;v=_nFJ?`&K)q7e9d`Nfk3?MdhZarb|T3
z%nS~f&t(1g5dY)AIcd$w!z`Siz!&j_=v7hZlnI21XuE|xfmo0(WD10T)!}~_HYW!e
zew}L+XmwuzeT6wtxJd`dZ#@7*BLgIEKY9Xv>st^p3dp{^Xswa2bB{85{^$B13tWnB
z;Y>jyQ|9&zk7RNsqAVGs--K+z0uqo1bf5|}fi5rtEMN^BfHQCd-XH*kfJhJnmIE$G
z0%<@5vOzxB0181d*a3EfYH$G5fqKvcPJ%XY23!PJzzuK<41h;K3WmW;Fah3yX$XSw
z5EY_9s*o0>51B&N5F1(uc|$=^I1~fLLy3?Ol0f;;Ca4%HgQ}rJP(Ab`bQ-z{U4#0d
z2hboi2K at njgb|nm(_szR0JebHusa+GN5aeCM0gdP2N%HG;Yzp`J`T6S7vUT504#-H
z!jlL<$Or?`Mpy_N at kBz9SR?@vA#0H$qyni$nvf2p8 at Y{0k#Xb$28W?xm>3qu8RLgp
zjNxKdVb)?wFx8l2m{v>|<~C*!GlBVnrDD~wrdTJeKXwT=5u1%I#8zOBU|X=4u>;s)
z>^mF|$G{ol9B_WP7+f-LHLe7=57&&lfa}8z;U at 8Tyei%l?}87(bMRt(A-)QK9Dg3)
zj~~XrCy)tR1Z#p1A(kK{Y$Q|=8VKhI{e%(1G*N-5Pjn)N5P8I0VkxnX*g?EW941ba
z6iJ387g8iCnY4jaNopcpCOsy-A(P2EWJhusSwLP-t|XrzUnLKcKTwn?CKOLf97RIe
zPB}`sKzTrUL#0v;sBY9)s+hW+T2H-1eM)^VN0T#`^Oxhvt&^*fYnAJldnHel*Ozyf
zUoM{~Um<@={-*r60#U(0!Bc^wuvVc);k3d%g-J!4qLpHZVwz%!VuRu}#Ze`^l7W)9
z5>Kf>>9Eozr6C$Z)1`URxU@~QI@)F0FdauXr2Es8>BaOP=)Lp_WhG@><tXJG<r?L)
z%2EcxFktvIQW>R;lZ?BJkMlI<xzFRz+cvLhUjMu)mH8 at eDtwh9m1dOzm5-`SRd3Z4
z)t#zss!!A~Y9?x7YT0W0)h?@z&!^9Kp3j|MH2>uMhw8ApiF&yDYW2hFJ?fJhni{?u
z85&g at mo&yT8JcdI$(rSw=QPK(Xj%)k1X|@<=e1rim6`6$RAwc!i#egKuI;BS(LSWz
zt39n_sIypSqfWEV6J3%nTQ@<sT(?tqLQhLCSTA3%QSYHXQJ<}!q`ybMTYt*H&>-4i
zi$R;gsG*9XzhRzXqv2yCs*$VFDx+GXJH|L;wsDH_KI2;^u!)^Xl1YupO;gy^-c(?^
z&$Q1BYvyPsG^;hc$D**@Sy`+`)}T4VJji^bd7Jqw3q6Zii=7tT7GEswEK at D(EFW1Z
zSp`^awCb?>!`j4}Yh7b~$A)U-W3$et-R8BesV(1jzwLcHnq9En7Q0Tn&-M=XBKs!$
zF$X<|c!#|X_t<oHD7%Dx)e-CH;keH6jN=C<dnd8eNvGePS<WfW4bGzr3>WYh)GZit
z(Q)Cp9CDE^WG;+fcyOWARoj*0TI>4EP1lX*cEoMO-Pk?Z{kZ!p4@(b`M~lalr<3Oz
z&kJ6Nm#<fmSFg8{_hRpA at 25UGK8Ze!J`=unzN>vN_+kA5{dW4@^Vjg_`q%qU1ULk&
z3Fr!>1V#i_2R;ij2@(Z$1jE4r!MlPVFVbHmT+|i<Li|H^g**v03|$raa~LixG^{4<
zdAL=0et35TEn-DPL&UpCkI2%<M~jUXOBQ!V$w$RS)kjT5dqtN;OP5$IS+nFuj9QE!
zracxP8x?ybc5<or(%nmk<Lu%J<L)jqT$Z!!+H$q!smsr<kYB-BaVj1gA06Ki|A`aA
zspU+r^k2Dm<pkH0yNCOd=f*4NjqzRhW&Du at mxQu}(L|TTU5R5!u1OV1;{s1XwcvHK
zU-E(Esg#hEqbW0~(W%X8gtYjy(?TU-im)qPGd(B0FT*sWFhjb^Y1Qsk6QV%TkxVFa
zS!TPKj{Z#bNQ at +#C4*TDvud*5XGdk9%2CV_=Je#6<ZjCy$@9tkel=z_cXemJcK(L^
z!8Pt{4y}dOu3X!>PIq0wy5aS{>yK?9ZAjVh%SOwMWgFjair&;wpi!{CU}&@N=Eg#~
zLQ&zpEzVmGY{hI9Z0+4<v#n~|mm*%#^<vB7isDZt+>-0xS$$Xe-OToc?Y*V;rTcf_
zb_jRe-RZjXSeas3UfIyD;9afd%<`i0x4T#DzE)vdabOQ=k7SRuGN`h>O0Q~1)u-yD
z>VX=Mn&!Rgd$;YK+Q-}1zu#?t(*cbG#Ronf6db&N$oEidtwC+YVcg-Y!_VuY>bk#Y
ze_ww@?MU&F&qswvrN_dLb=5o6*Egs)ls3YRlE$&)amR1{;Ppd$6RYV^Go!iq1UMl%
z@#4q$AMc(FJlT1QeX8jv{h#)>&{~RGq1N2iiMFIRX?sk2-|2wUogK~{EkB$8eDsX=
znVPf8XG_nK&J~=SIiGia@<PUi at r#KUhdNhuKDxBz(w(lbuHMUmm#<#&xpJx7z5D!C
zm#b&4IbAz_oqfIShW(A!9=o2FU+jKq>9y}|z3FhX{g&gcj=lwb=lWgyFW&aLedUh-
zof`v-2Kw$UzI*>(+&$@i-u=-BsSjR1%z8NeX#HdC<Dw at DPb!|OKdt at M_}6Bsz4Yv$
z*I>`Hh-Z(6xI-`hmHDqv!v)W&&nrf>M(RhcN6(D;jNN*%^u_SYjF;2ng}*8Ow)d6M
ztDk;%`@Lsk$;9w$(d(H%O5UixIr`T2ZRcd@<kNR)@201U-mAVp_JRGO`(yOSk?HJD
z_)nFejX!sM3H<VSCT(Ws-}i*``!YINegFUfj7da6R7eeDU>F5MF9aCzIGGtJ=Lp35
zP&F5U^nM`z3+1CwAjP<VGf=_?h}of74oHL4-veR{z=R=!5P-P^A%bunvKW|+&mauN
z_yq771PT*$fK3dn245IG1gZeZ3j*;kAU+MmpuqkQ#3KoeCP>1uJ(?g1hY{6Oj3!9J
kK{=Wr35U_B3c?`(0GHVzG{z}+U;qFB07*qoM6N<$f{jmbN&o-=

diff --git a/res/drawable-mdpi/ic_overflow_dark.png b/res/drawable-mdpi/ic_overflow_dark.png
deleted file mode 100644
index 685b4eace4e1b871eeafea6527ba287fef9cbe94..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2772
zcmV;_3M=)AP)<h;3K|Lk000e1NJLTq000aC000;W1^@s6&N3Wo000U>X+uL$Nkc;*
zP;zf(X>4Tx07wm;mUmQB*%pV-y*Itk5+Wca^cs2zAksTX6$DX<Nq|rShJ+?|L<L3^
z5h+$=RKNj8hazJ|6bplbV%G`s5KzX!QA9=M-HdAq at 2xfS-kSZ#S>M^`x7XQc?|s+0
z08spb1j2M!0f022SQPH-!CVp(%f$Br7!UytSOLJ{W at ZFO_(THK{JlMynW#v{v-a*T
zfMmPdEWc1DbJqWVks>!kBnAKqMb$PuekK>?0+ds;#ThdH1j_W4DKdsJG8Ul;qO2n0
z#IJ1jr{*iW$(WZW<e?f_&KbNko{YOt-kK%hql^ThT$m-`XQO-vWxZ5MngHeZDAUvU
zoJ;^P6q#Sl=O&?Si84hL8SaVl0ssh<#5ufj4vYCYXr2Igrf1}e1c^yvrV-beY31n1
zX8Q57Q~6>sE0n`c;fQ!l&-AnmjxZO1uWyz`0VP>&nP`#itsL#`S=Q!g`M=rU9)45(
zJ;-|dRq-b5&z?byo>|{)?5r=n76A4nTALlSzLiw~v~31J<>9PP?;rs31pu_(obw)r
zY+jPY;tVGXi|p)da{- at gE-UCa`=5eu%D;v=_nFJ?`&K)q7e9d`Nfk3?MdhZarb|T3
z%nS~f&t(1g5dY)AIcd$w!z`Siz!&j_=v7hZlnI21XuE|xfmo0(WD10T)!}~_HYW!e
zew}L+XmwuzeT6wtxJd`dZ#@7*BLgIEKY9Xv>st^p3dp{^Xswa2bB{85{^$B13tWnB
z;Y>jyQ|9&zk7RNsqAVGs--K+z0uqo1bf5|}fi5rtEMN^BfHQCd-XH*kfJhJnmIE$G
z0%<@5vOzxB0181d*a3EfYH$G5fqKvcPJ%XY23!PJzzuK<41h;K3WmW;Fah3yX$XSw
z5EY_9s*o0>51B&N5F1(uc|$=^I1~fLLy3?Ol0f;;Ca4%HgQ}rJP(Ab`bQ-z{U4#0d
z2hboi2K at njgb|nm(_szR0JebHusa+GN5aeCM0gdP2N%HG;Yzp`J`T6S7vUT504#-H
z!jlL<$Or?`Mpy_N at kBz9SR?@vA#0H$qyni$nvf2p8 at Y{0k#Xb$28W?xm>3qu8RLgp
zjNxKdVb)?wFx8l2m{v>|<~C*!GlBVnrDD~wrdTJeKXwT=5u1%I#8zOBU|X=4u>;s)
z>^mF|$G{ol9B_WP7+f-LHLe7=57&&lfa}8z;U at 8Tyei%l?}87(bMRt(A-)QK9Dg3)
zj~~XrCy)tR1Z#p1A(kK{Y$Q|=8VKhI{e%(1G*N-5Pjn)N5P8I0VkxnX*g?EW941ba
z6iJ387g8iCnY4jaNopcpCOsy-A(P2EWJhusSwLP-t|XrzUnLKcKTwn?CKOLf97RIe
zPB}`sKzTrUL#0v;sBY9)s+hW+T2H-1eM)^VN0T#`^Oxhvt&^*fYnAJldnHel*Ozyf
zUoM{~Um<@={-*r60#U(0!Bc^wuvVc);k3d%g-J!4qLpHZVwz%!VuRu}#Ze`^l7W)9
z5>Kf>>9Eozr6C$Z)1`URxU@~QI@)F0FdauXr2Es8>BaOP=)Lp_WhG@><tXJG<r?L)
z%2EcxFktvIQW>R;lZ?BJkMlI<xzFRz+cvLhUjMu)mH8 at eDtwh9m1dOzm5-`SRd3Z4
z)t#zss!!A~Y9?x7YT0W0)h?@z&!^9Kp3j|MH2>uMhw8ApiF&yDYW2hFJ?fJhni{?u
z85&g at mo&yT8JcdI$(rSw=QPK(Xj%)k1X|@<=e1rim6`6$RAwc!i#egKuI;BS(LSWz
zt39n_sIypSqfWEV6J3%nTQ@<sT(?tqLQhLCSTA3%QSYHXQJ<}!q`ybMTYt*H&>-4i
zi$R;gsG*9XzhRzXqv2yCs*$VFDx+GXJH|L;wsDH_KI2;^u!)^Xl1YupO;gy^-c(?^
z&$Q1BYvyPsG^;hc$D**@Sy`+`)}T4VJji^bd7Jqw3q6Zii=7tT7GEswEK at D(EFW1Z
zSp`^awCb?>!`j4}Yh7b~$A)U-W3$et-R8BesV(1jzwLcHnq9En7Q0Tn&-M=XBKs!$
zF$X<|c!#|X_t<oHD7%Dx)e-CH;keH6jN=C<dnd8eNvGePS<WfW4bGzr3>WYh)GZit
z(Q)Cp9CDE^WG;+fcyOWARoj*0TI>4EP1lX*cEoMO-Pk?Z{kZ!p4@(b`M~lalr<3Oz
z&kJ6Nm#<fmSFg8{_hRpA at 25UGK8Ze!J`=unzN>vN_+kA5{dW4@^Vjg_`q%qU1ULk&
z3Fr!>1V#i_2R;ij2@(Z$1jE4r!MlPVFVbHmT+|i<Li|H^g**v03|$raa~LixG^{4<
zdAL=0et35TEn-DPL&UpCkI2%<M~jUXOBQ!V$w$RS)kjT5dqtN;OP5$IS+nFuj9QE!
zracxP8x?ybc5<or(%nmk<Lu%J<L)jqT$Z!!+H$q!smsr<kYB-BaVj1gA06Ki|A`aA
zspU+r^k2Dm<pkH0yNCOd=f*4NjqzRhW&Du at mxQu}(L|TTU5R5!u1OV1;{s1XwcvHK
zU-E(Esg#hEqbW0~(W%X8gtYjy(?TU-im)qPGd(B0FT*sWFhjb^Y1Qsk6QV%TkxVFa
zS!TPKj{Z#bNQ at +#C4*TDvud*5XGdk9%2CV_=Je#6<ZjCy$@9tkel=z_cXemJcK(L^
z!8Pt{4y}dOu3X!>PIq0wy5aS{>yK?9ZAjVh%SOwMWgFjair&;wpi!{CU}&@N=Eg#~
zLQ&zpEzVmGY{hI9Z0+4<v#n~|mm*%#^<vB7isDZt+>-0xS$$Xe-OToc?Y*V;rTcf_
zb_jRe-RZjXSeas3UfIyD;9afd%<`i0x4T#DzE)vdabOQ=k7SRuGN`h>O0Q~1)u-yD
z>VX=Mn&!Rgd$;YK+Q-}1zu#?t(*cbG#Ronf6db&N$oEidtwC+YVcg-Y!_VuY>bk#Y
ze_ww@?MU&F&qswvrN_dLb=5o6*Egs)ls3YRlE$&)amR1{;Ppd$6RYV^Go!iq1UMl%
z@#4q$AMc(FJlT1QeX8jv{h#)>&{~RGq1N2iiMFIRX?sk2-|2wUogK~{EkB$8eDsX=
znVPf8XG_nK&J~=SIiGia@<PUi at r#KUhdNhuKDxBz(w(lbuHMUmm#<#&xpJx7z5D!C
zm#b&4IbAz_oqfIShW(A!9=o2FU+jKq>9y}|z3FhX{g&gcj=lwb=lWgyFW&aLedUh-
zof`v-2Kw$UzI*>(+&$@i-u=-BsSjR1%z8NeX#HdC<Dw at DPb!|OKdt at M_}6Bsz4Yv$
z*I>`Hh-Z(6xI-`hmHDqv!v)W&&nrf>M(RhcN6(D;jNN*%^u_SYjF;2ng}*8Ow)d6M
ztDk;%`@Lsk$;9w$(d(H%O5UixIr`T2ZRcd@<kNR)@201U-mAVp_JRGO`(yOSk?HJD
z_)nFejX!sM3H<VSCT(Ws-}i*``!YINegFUfPDw;TR5%f1U>N#<5sMd8fMUK- at y$T`
z4ze01WDb-KQp^v<FpY3!*fhW;u`!sj2)+S|$pi6EAO<<<9T3wIjD`|1fjt^Z#Do&<
a)c^p7A`>v5#)1?80000<MNUMnLSTaCP*<=3

diff --git a/res/drawable-xhdpi/ic_overflow_dark.png b/res/drawable-xhdpi/ic_overflow_dark.png
deleted file mode 100644
index 74b258f4cc5acdcf379a53dedafe65289bd2ab4a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2905
zcmV-f3#RmmP)<h;3K|Lk000e1NJLTq000;O001xu1^@s63y8X-000U>X+uL$Nkc;*
zP;zf(X>4Tx07wm;mUmQB*%pV-y*Itk5+Wca^cs2zAksTX6$DX<Nq|rShJ+?|L<L3^
z5h+$=RKNj8hazJ|6bplbV%G`s5KzX!QA9=M-HdAq at 2xfS-kSZ#S>M^`x7XQc?|s+0
z08spb1j2M!0f022SQPH-!CVp(%f$Br7!UytSOLJ{W at ZFO_(THK{JlMynW#v{v-a*T
zfMmPdEWc1DbJqWVks>!kBnAKqMb$PuekK>?0+ds;#ThdH1j_W4DKdsJG8Ul;qO2n0
z#IJ1jr{*iW$(WZW<e?f_&KbNko{YOt-kK%hql^ThT$m-`XQO-vWxZ5MngHeZDAUvU
zoJ;^P6q#Sl=O&?Si84hL8SaVl0ssh<#5ufj4vYCYXr2Igrf1}e1c^yvrV-beY31n1
zX8Q57Q~6>sE0n`c;fQ!l&-AnmjxZO1uWyz`0VP>&nP`#itsL#`S=Q!g`M=rU9)45(
zJ;-|dRq-b5&z?byo>|{)?5r=n76A4nTALlSzLiw~v~31J<>9PP?;rs31pu_(obw)r
zY+jPY;tVGXi|p)da{- at gE-UCa`=5eu%D;v=_nFJ?`&K)q7e9d`Nfk3?MdhZarb|T3
z%nS~f&t(1g5dY)AIcd$w!z`Siz!&j_=v7hZlnI21XuE|xfmo0(WD10T)!}~_HYW!e
zew}L+XmwuzeT6wtxJd`dZ#@7*BLgIEKY9Xv>st^p3dp{^Xswa2bB{85{^$B13tWnB
z;Y>jyQ|9&zk7RNsqAVGs--K+z0uqo1bf5|}fi5rtEMN^BfHQCd-XH*kfJhJnmIE$G
z0%<@5vOzxB0181d*a3EfYH$G5fqKvcPJ%XY23!PJzzuK<41h;K3WmW;Fah3yX$XSw
z5EY_9s*o0>51B&N5F1(uc|$=^I1~fLLy3?Ol0f;;Ca4%HgQ}rJP(Ab`bQ-z{U4#0d
z2hboi2K at njgb|nm(_szR0JebHusa+GN5aeCM0gdP2N%HG;Yzp`J`T6S7vUT504#-H
z!jlL<$Or?`Mpy_N at kBz9SR?@vA#0H$qyni$nvf2p8 at Y{0k#Xb$28W?xm>3qu8RLgp
zjNxKdVb)?wFx8l2m{v>|<~C*!GlBVnrDD~wrdTJeKXwT=5u1%I#8zOBU|X=4u>;s)
z>^mF|$G{ol9B_WP7+f-LHLe7=57&&lfa}8z;U at 8Tyei%l?}87(bMRt(A-)QK9Dg3)
zj~~XrCy)tR1Z#p1A(kK{Y$Q|=8VKhI{e%(1G*N-5Pjn)N5P8I0VkxnX*g?EW941ba
z6iJ387g8iCnY4jaNopcpCOsy-A(P2EWJhusSwLP-t|XrzUnLKcKTwn?CKOLf97RIe
zPB}`sKzTrUL#0v;sBY9)s+hW+T2H-1eM)^VN0T#`^Oxhvt&^*fYnAJldnHel*Ozyf
zUoM{~Um<@={-*r60#U(0!Bc^wuvVc);k3d%g-J!4qLpHZVwz%!VuRu}#Ze`^l7W)9
z5>Kf>>9Eozr6C$Z)1`URxU@~QI@)F0FdauXr2Es8>BaOP=)Lp_WhG@><tXJG<r?L)
z%2EcxFktvIQW>R;lZ?BJkMlI<xzFRz+cvLhUjMu)mH8 at eDtwh9m1dOzm5-`SRd3Z4
z)t#zss!!A~Y9?x7YT0W0)h?@z&!^9Kp3j|MH2>uMhw8ApiF&yDYW2hFJ?fJhni{?u
z85&g at mo&yT8JcdI$(rSw=QPK(Xj%)k1X|@<=e1rim6`6$RAwc!i#egKuI;BS(LSWz
zt39n_sIypSqfWEV6J3%nTQ@<sT(?tqLQhLCSTA3%QSYHXQJ<}!q`ybMTYt*H&>-4i
zi$R;gsG*9XzhRzXqv2yCs*$VFDx+GXJH|L;wsDH_KI2;^u!)^Xl1YupO;gy^-c(?^
z&$Q1BYvyPsG^;hc$D**@Sy`+`)}T4VJji^bd7Jqw3q6Zii=7tT7GEswEK at D(EFW1Z
zSp`^awCb?>!`j4}Yh7b~$A)U-W3$et-R8BesV(1jzwLcHnq9En7Q0Tn&-M=XBKs!$
zF$X<|c!#|X_t<oHD7%Dx)e-CH;keH6jN=C<dnd8eNvGePS<WfW4bGzr3>WYh)GZit
z(Q)Cp9CDE^WG;+fcyOWARoj*0TI>4EP1lX*cEoMO-Pk?Z{kZ!p4@(b`M~lalr<3Oz
z&kJ6Nm#<fmSFg8{_hRpA at 25UGK8Ze!J`=unzN>vN_+kA5{dW4@^Vjg_`q%qU1ULk&
z3Fr!>1V#i_2R;ij2@(Z$1jE4r!MlPVFVbHmT+|i<Li|H^g**v03|$raa~LixG^{4<
zdAL=0et35TEn-DPL&UpCkI2%<M~jUXOBQ!V$w$RS)kjT5dqtN;OP5$IS+nFuj9QE!
zracxP8x?ybc5<or(%nmk<Lu%J<L)jqT$Z!!+H$q!smsr<kYB-BaVj1gA06Ki|A`aA
zspU+r^k2Dm<pkH0yNCOd=f*4NjqzRhW&Du at mxQu}(L|TTU5R5!u1OV1;{s1XwcvHK
zU-E(Esg#hEqbW0~(W%X8gtYjy(?TU-im)qPGd(B0FT*sWFhjb^Y1Qsk6QV%TkxVFa
zS!TPKj{Z#bNQ at +#C4*TDvud*5XGdk9%2CV_=Je#6<ZjCy$@9tkel=z_cXemJcK(L^
z!8Pt{4y}dOu3X!>PIq0wy5aS{>yK?9ZAjVh%SOwMWgFjair&;wpi!{CU}&@N=Eg#~
zLQ&zpEzVmGY{hI9Z0+4<v#n~|mm*%#^<vB7isDZt+>-0xS$$Xe-OToc?Y*V;rTcf_
zb_jRe-RZjXSeas3UfIyD;9afd%<`i0x4T#DzE)vdabOQ=k7SRuGN`h>O0Q~1)u-yD
z>VX=Mn&!Rgd$;YK+Q-}1zu#?t(*cbG#Ronf6db&N$oEidtwC+YVcg-Y!_VuY>bk#Y
ze_ww@?MU&F&qswvrN_dLb=5o6*Egs)ls3YRlE$&)amR1{;Ppd$6RYV^Go!iq1UMl%
z@#4q$AMc(FJlT1QeX8jv{h#)>&{~RGq1N2iiMFIRX?sk2-|2wUogK~{EkB$8eDsX=
znVPf8XG_nK&J~=SIiGia@<PUi at r#KUhdNhuKDxBz(w(lbuHMUmm#<#&xpJx7z5D!C
zm#b&4IbAz_oqfIShW(A!9=o2FU+jKq>9y}|z3FhX{g&gcj=lwb=lWgyFW&aLedUh-
zof`v-2Kw$UzI*>(+&$@i-u=-BsSjR1%z8NeX#HdC<Dw at DPb!|OKdt at M_}6Bsz4Yv$
z*I>`Hh-Z(6xI-`hmHDqv!v)W&&nrf>M(RhcN6(D;jNN*%^u_SYjF;2ng}*8Ow)d6M
ztDk;%`@Lsk$;9w$(d(H%O5UixIr`T2ZRcd@<kNR)@201U-mAVp_JRGO`(yOSk?HJD
z_)nFejX!sM3H<VSCT(Ws-}i*``!YINegFUf(@8`@R9Fe^R>2LzFc2&7Lx>r=47)HA
zGq3_<@Z*&kcp$+G`{*kI*UuvPBr8gs^F>Z`>M$hYKpa?^7VNR_0F2ZAhVcU2r}@vp
zDM0Zfu<cYHn4bVyWZflwoATtnIQMaloD8SHC=?V|X-)y5KTkOYnvhXkr8x!oweUjw
z;2Jp at 8_9miCx$Dq19-77;0Bxl`2~SbEWiP$Rq&YUMe?#n!78rOoR=*0=P9Q^6Ecdc
zG^ap%k#IN^97r$9e^EVzCZ2=hDlNT8xECr8{EY)|F^4oH*t#@q00000NkvXXu0mjf
DlE9j4

diff --git a/res/drawable-xxhdpi/ic_overflow_dark.png b/res/drawable-xxhdpi/ic_overflow_dark.png
deleted file mode 100644
index fff1b18601fa1f639de35234d2ef5c13feef5e44..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3057
zcmV<N3l8*&P)<h;3K|Lk000e1NJLTq001Na002k`1^@s6o;Fvx000U>X+uL$Nkc;*
zP;zf(X>4Tx07wm;mUmQB*%pV-y*Itk5+Wca^cs2zAksTX6$DX<Nq|rShJ+?|L<L3^
z5h+$=RKNj8hazJ|6bplbV%G`s5KzX!QA9=M-HdAq at 2xfS-kSZ#S>M^`x7XQc?|s+0
z08spb1j2M!0f022SQPH-!CVp(%f$Br7!UytSOLJ{W at ZFO_(THK{JlMynW#v{v-a*T
zfMmPdEWc1DbJqWVks>!kBnAKqMb$PuekK>?0+ds;#ThdH1j_W4DKdsJG8Ul;qO2n0
z#IJ1jr{*iW$(WZW<e?f_&KbNko{YOt-kK%hql^ThT$m-`XQO-vWxZ5MngHeZDAUvU
zoJ;^P6q#Sl=O&?Si84hL8SaVl0ssh<#5ufj4vYCYXr2Igrf1}e1c^yvrV-beY31n1
zX8Q57Q~6>sE0n`c;fQ!l&-AnmjxZO1uWyz`0VP>&nP`#itsL#`S=Q!g`M=rU9)45(
zJ;-|dRq-b5&z?byo>|{)?5r=n76A4nTALlSzLiw~v~31J<>9PP?;rs31pu_(obw)r
zY+jPY;tVGXi|p)da{- at gE-UCa`=5eu%D;v=_nFJ?`&K)q7e9d`Nfk3?MdhZarb|T3
z%nS~f&t(1g5dY)AIcd$w!z`Siz!&j_=v7hZlnI21XuE|xfmo0(WD10T)!}~_HYW!e
zew}L+XmwuzeT6wtxJd`dZ#@7*BLgIEKY9Xv>st^p3dp{^Xswa2bB{85{^$B13tWnB
z;Y>jyQ|9&zk7RNsqAVGs--K+z0uqo1bf5|}fi5rtEMN^BfHQCd-XH*kfJhJnmIE$G
z0%<@5vOzxB0181d*a3EfYH$G5fqKvcPJ%XY23!PJzzuK<41h;K3WmW;Fah3yX$XSw
z5EY_9s*o0>51B&N5F1(uc|$=^I1~fLLy3?Ol0f;;Ca4%HgQ}rJP(Ab`bQ-z{U4#0d
z2hboi2K at njgb|nm(_szR0JebHusa+GN5aeCM0gdP2N%HG;Yzp`J`T6S7vUT504#-H
z!jlL<$Or?`Mpy_N at kBz9SR?@vA#0H$qyni$nvf2p8 at Y{0k#Xb$28W?xm>3qu8RLgp
zjNxKdVb)?wFx8l2m{v>|<~C*!GlBVnrDD~wrdTJeKXwT=5u1%I#8zOBU|X=4u>;s)
z>^mF|$G{ol9B_WP7+f-LHLe7=57&&lfa}8z;U at 8Tyei%l?}87(bMRt(A-)QK9Dg3)
zj~~XrCy)tR1Z#p1A(kK{Y$Q|=8VKhI{e%(1G*N-5Pjn)N5P8I0VkxnX*g?EW941ba
z6iJ387g8iCnY4jaNopcpCOsy-A(P2EWJhusSwLP-t|XrzUnLKcKTwn?CKOLf97RIe
zPB}`sKzTrUL#0v;sBY9)s+hW+T2H-1eM)^VN0T#`^Oxhvt&^*fYnAJldnHel*Ozyf
zUoM{~Um<@={-*r60#U(0!Bc^wuvVc);k3d%g-J!4qLpHZVwz%!VuRu}#Ze`^l7W)9
z5>Kf>>9Eozr6C$Z)1`URxU@~QI@)F0FdauXr2Es8>BaOP=)Lp_WhG@><tXJG<r?L)
z%2EcxFktvIQW>R;lZ?BJkMlI<xzFRz+cvLhUjMu)mH8 at eDtwh9m1dOzm5-`SRd3Z4
z)t#zss!!A~Y9?x7YT0W0)h?@z&!^9Kp3j|MH2>uMhw8ApiF&yDYW2hFJ?fJhni{?u
z85&g at mo&yT8JcdI$(rSw=QPK(Xj%)k1X|@<=e1rim6`6$RAwc!i#egKuI;BS(LSWz
zt39n_sIypSqfWEV6J3%nTQ@<sT(?tqLQhLCSTA3%QSYHXQJ<}!q`ybMTYt*H&>-4i
zi$R;gsG*9XzhRzXqv2yCs*$VFDx+GXJH|L;wsDH_KI2;^u!)^Xl1YupO;gy^-c(?^
z&$Q1BYvyPsG^;hc$D**@Sy`+`)}T4VJji^bd7Jqw3q6Zii=7tT7GEswEK at D(EFW1Z
zSp`^awCb?>!`j4}Yh7b~$A)U-W3$et-R8BesV(1jzwLcHnq9En7Q0Tn&-M=XBKs!$
zF$X<|c!#|X_t<oHD7%Dx)e-CH;keH6jN=C<dnd8eNvGePS<WfW4bGzr3>WYh)GZit
z(Q)Cp9CDE^WG;+fcyOWARoj*0TI>4EP1lX*cEoMO-Pk?Z{kZ!p4@(b`M~lalr<3Oz
z&kJ6Nm#<fmSFg8{_hRpA at 25UGK8Ze!J`=unzN>vN_+kA5{dW4@^Vjg_`q%qU1ULk&
z3Fr!>1V#i_2R;ij2@(Z$1jE4r!MlPVFVbHmT+|i<Li|H^g**v03|$raa~LixG^{4<
zdAL=0et35TEn-DPL&UpCkI2%<M~jUXOBQ!V$w$RS)kjT5dqtN;OP5$IS+nFuj9QE!
zracxP8x?ybc5<or(%nmk<Lu%J<L)jqT$Z!!+H$q!smsr<kYB-BaVj1gA06Ki|A`aA
zspU+r^k2Dm<pkH0yNCOd=f*4NjqzRhW&Du at mxQu}(L|TTU5R5!u1OV1;{s1XwcvHK
zU-E(Esg#hEqbW0~(W%X8gtYjy(?TU-im)qPGd(B0FT*sWFhjb^Y1Qsk6QV%TkxVFa
zS!TPKj{Z#bNQ at +#C4*TDvud*5XGdk9%2CV_=Je#6<ZjCy$@9tkel=z_cXemJcK(L^
z!8Pt{4y}dOu3X!>PIq0wy5aS{>yK?9ZAjVh%SOwMWgFjair&;wpi!{CU}&@N=Eg#~
zLQ&zpEzVmGY{hI9Z0+4<v#n~|mm*%#^<vB7isDZt+>-0xS$$Xe-OToc?Y*V;rTcf_
zb_jRe-RZjXSeas3UfIyD;9afd%<`i0x4T#DzE)vdabOQ=k7SRuGN`h>O0Q~1)u-yD
z>VX=Mn&!Rgd$;YK+Q-}1zu#?t(*cbG#Ronf6db&N$oEidtwC+YVcg-Y!_VuY>bk#Y
ze_ww@?MU&F&qswvrN_dLb=5o6*Egs)ls3YRlE$&)amR1{;Ppd$6RYV^Go!iq1UMl%
z@#4q$AMc(FJlT1QeX8jv{h#)>&{~RGq1N2iiMFIRX?sk2-|2wUogK~{EkB$8eDsX=
znVPf8XG_nK&J~=SIiGia@<PUi at r#KUhdNhuKDxBz(w(lbuHMUmm#<#&xpJx7z5D!C
zm#b&4IbAz_oqfIShW(A!9=o2FU+jKq>9y}|z3FhX{g&gcj=lwb=lWgyFW&aLedUh-
zof`v-2Kw$UzI*>(+&$@i-u=-BsSjR1%z8NeX#HdC<Dw at DPb!|OKdt at M_}6Bsz4Yv$
z*I>`Hh-Z(6xI-`hmHDqv!v)W&&nrf>M(RhcN6(D;jNN*%^u_SYjF;2ng}*8Ow)d6M
ztDk;%`@Lsk$;9w$(d(H%O5UixIr`T2ZRcd@<kNR)@201U-mAVp_JRGO`(yOSk?HJD
z_)nFejX!sM3H<VSCT(Ws-}i*``!YINegFUgYe_^wRA>e5RxxhFFc3?cHA{yAo%4iF
zc}J(dvQH_H2efO4Y(=I_xf6Vb2T3{74&VYj;2=k$C5F~X+-ww5Knh3!DIf*@w*uRl
z^xy1#&zE7Iv$bDC4qaHo6587`@0N$gazEDpX?bakH at kPuk^aDk4Y$bno6nZ7mM8y#
z1VhL_(J`@zllrs#O<+gJ)A*Esa6;KYuw_n$P;B4~DFjOs$`GM3j6z=8*+8&mPKJ=5
zGuc3}WlolmpELKuF)$&f?48KBrJpli+O>#- at md?~^|2>)%;{zA8PzoV>WGQeN&zYG
zC<Rtm_ADVe#@-h3lUa_jr%>EmJxq)t*zyizKVq?mv<xA{1tM5lA;fec*ja?+7_%Ez
zjxnp0a8h733a|z({=nj8&k~Yjj89T)<rr(KO#2WQh+xYaj6s`{Tl|?Jgt$NiODlx9
zKm<FBkQ`%nvo3yhWEU1r3P=GdAO)nrS{1kfAs<IgYzMLG00000NkvXXu0mjfqL|`>

diff --git a/res/layout/sim_list.xml b/res/layout/sim_list.xml
deleted file mode 100644
index daf5209..0000000
--- a/res/layout/sim_list.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright (C) 2008 Esmertec AG.
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:paddingStart="16dp"
-    android:paddingEnd="16dp"
-    android:layout_gravity="center">
-
-    <android.support.v7.widget.RecyclerView
-            android:id="@android:id/list"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:listSelector="@android:color/transparent"
-            android:clipToPadding="false" />
-    <TextView
-        android:id="@+id/empty_message"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/sim_empty"
-        android:layout_gravity="center"
-        android:visibility="gone" />
-</FrameLayout>
diff --git a/res/menu/conversation_fragment_select_menu.xml b/res/menu/conversation_fragment_select_menu.xml
index f76deed..7ce0829 100644
--- a/res/menu/conversation_fragment_select_menu.xml
+++ b/res/menu/conversation_fragment_select_menu.xml
@@ -60,14 +60,4 @@
         android:icon="@drawable/ic_delete_small_dark"
         android:title="@string/action_delete_message"
         appcompat:showAsAction="collapseActionView|always"/>
-    <item
-        android:icon="@drawable/ic_overflow_dark"
-        appcompat:showAsAction="collapseActionView|always">
-        <menu>
-            <item
-                android:id="@+id/copy_to_sim"
-                appcompat:showAsAction="never"
-                android:title="@string/operation_to_card_memory"/>
-        </menu>
-    </item>
 </menu>
diff --git a/res/menu/sim_msg_multi_select_menu.xml b/res/menu/sim_msg_multi_select_menu.xml
deleted file mode 100644
index 057adc8..0000000
--- a/res/menu/sim_msg_multi_select_menu.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Copyright (c) 2014, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above
-      copyright notice, this list of conditions and the following
-      disclaimer in the documentation and/or other materials provided
-      with the distribution.
-    * Neither the name of The Linux Foundation nor the names of its
-      contributors may be used to endorse or promote products derived
-      from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
-      xmlns:appcompat="http://schemas.android.com/apk/res-auto">
-    <item
-            android:id="@+id/delete"
-            android:icon="@drawable/ic_delete_small_dark"
-            appcompat:showAsAction="always"
-            android:title="@string/delete"/>
-</menu>
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
index b4db481..4ad47e2 100644
--- a/res/values/cm_strings.xml
+++ b/res/values/cm_strings.xml
@@ -95,53 +95,4 @@
     <string name="show_emoticons_pref_summary">Show the emoticons key on the keyboard</string>
 
     <string name="select_phone_account_title">Send with</string>
-
-    <!-- Copy message to sim -->
-    <!-- Settings item for entering SIM card message screen -->
-    <string name="pref_title_manage_sim_messages">Manage SIM card messages</string>
-    <string name="pref_title_manage_sim_messages_slot1">Manage SIM 1 messages</string>
-    <string name="pref_title_manage_sim_messages_slot2">Manage SIM 2 messages</string>
-    <string name="copy_to_sim">Copy message to SIM card</string>
-    <string name="copy_to_sim_success"><xliff:g id="count">%1$d</xliff:g> of <xliff:g id="total">%2$d</xliff:g> messages saved to SIM card.</string>
-    <string name="copy_to_sim_fail">Unable to save message</string>
-    <string name="copy_to_phone_success">Message saved</string>
-    <string name="copy_to_phone_fail">Unable to save message</string>
-    <!-- Message that appears on the "SMS messges on SIM card" screen when there are no messages on the SIM card -->
-    <string name="sim_empty">No messages on SIM card.</string>
-    <!-- Context menu item on an individual message for emailing the sender -->
-    <string name="menu_send_email">Send email to <xliff:g id="name">%s</xliff:g></string>
-    <!-- Context menu item on an individual message for dialing the sender's phone number -->
-    <string name="menu_call_back">Call <xliff:g id="name">%s</xliff:g></string>
-    <!-- Menu shown in the context menu when long pressing on a message when the message contains
-         one or more phone numbers and/or email addresses and the number or email is new to
-         contacts. [CHAR LIMIT=50] -->
-    <string name="menu_add_address_to_contacts">Add <xliff:g id="contactEmailOrNumber">%s</xliff:g> to People</string>
-    <string name="sim_capacity_title">SIM capacity</string>
-    <string name="sim_capacity"><xliff:g id="used">%1$d</xliff:g> of <xliff:g id="total">%2$d</xliff:g> SIM card entries are used</string>
-    <!-- Confirm Delete -->
-    <!-- Delete confirmation dialog title -->
-    <string name="confirm_dialog_title">Delete?</string>
-    <!-- Title of screen displaying messages on SIM card -->
-    <string name="sim_manage_messages_title">Text messages on SIM card</string>
-    <!-- Message that appears on screen while SIM card messages are retrieved -->
-    <string name="refreshing">Refreshing\u2026</string>
-    <string name="confirm_delete_selected_messages">Selected message will be deleted.</string>
-    <!-- Delete button title -->
-    <string name="delete">Delete</string>
-    <!-- Context menu item on an individual message for forwarding it to another recipient -->
-    <string name="menu_forward">Forward</string>
-    <string name="menu_reply">Reply</string>
-    <!-- Menu title to copy a selected message from the SIM card to the phone. -->
-    <string name="sim_copy_to_phone_memory" product="tablet">Copy to tablet memory</string>
-    <!-- Menu title to copy a selected message from the SIM card to the phone. -->
-    <string name="sim_copy_to_phone_memory" product="default">Copy to phone memory</string>
-    <string name="selected_all">Select all</string>
-    <string name="deselected_all">Deselect all</string>
-    <string name="selected_count"><xliff:g id="COUNT">%d</xliff:g> selected</string>
-    <!-- Text to be used for affirmative response button in dialog boxes -->
-    <string name="yes">OK</string>
-    <!-- Copy message to sim -->
-    <string name="operation_to_card_memory">Copy message to SIM card</string>
-    <string name="slot1">SIM 1</string>
-    <string name="slot2">SIM 2</string>
 </resources>
diff --git a/res/xml-v21/preferences_application.xml b/res/xml-v21/preferences_application.xml
index 603ddb6..4d39999 100644
--- a/res/xml-v21/preferences_application.xml
+++ b/res/xml-v21/preferences_application.xml
@@ -145,16 +145,6 @@
             android:title="@string/mms_delete_pref_title" />
     </PreferenceCategory>
 
-    <Preference
-            android:key="pref_key_manage_sim_messages"
-            android:title="@string/pref_title_manage_sim_messages" />
-    <Preference
-            android:key="pref_key_manage_sim_messages_slot1"
-            android:title="@string/pref_title_manage_sim_messages_slot1" />
-    <Preference
-            android:key="pref_key_manage_sim_messages_slot2"
-            android:title="@string/pref_title_manage_sim_messages_slot2" />
-
     <!-- QuickMessage settings -->
     <PreferenceCategory android:title="@string/pref_quickmessage">
 
diff --git a/res/xml-v23/preferences_application.xml b/res/xml-v23/preferences_application.xml
index e198038..95ba3c3 100644
--- a/res/xml-v23/preferences_application.xml
+++ b/res/xml-v23/preferences_application.xml
@@ -147,16 +147,6 @@
             android:title="@string/mms_delete_pref_title" />
     </PreferenceCategory>
 
-    <Preference
-            android:key="pref_key_manage_sim_messages"
-            android:title="@string/pref_title_manage_sim_messages" />
-    <Preference
-            android:key="pref_key_manage_sim_messages_slot1"
-            android:title="@string/pref_title_manage_sim_messages_slot1" />
-    <Preference
-            android:key="pref_key_manage_sim_messages_slot2"
-            android:title="@string/pref_title_manage_sim_messages_slot2" />
-
     <!-- QuickMessage settings -->
     <PreferenceCategory android:title="@string/pref_quickmessage">
 
diff --git a/res/xml/preferences_application.xml b/res/xml/preferences_application.xml
index 279ee9a..64bc7e2 100644
--- a/res/xml/preferences_application.xml
+++ b/res/xml/preferences_application.xml
@@ -145,15 +145,6 @@
             android:title="@string/mms_delete_pref_title" />
     </PreferenceCategory>
 
-    <Preference
-            android:key="pref_key_manage_sim_messages"
-            android:title="@string/pref_title_manage_sim_messages" />
-    <Preference
-            android:key="pref_key_manage_sim_messages_slot1"
-            android:title="@string/pref_title_manage_sim_messages_slot1" />
-    <Preference
-            android:key="pref_key_manage_sim_messages_slot2"
-            android:title="@string/pref_title_manage_sim_messages_slot2" />
     <!-- QuickMessage settings -->
     <PreferenceCategory android:title="@string/pref_quickmessage">
 
diff --git a/src/com/android/messaging/datamodel/data/ConversationMessageData.java b/src/com/android/messaging/datamodel/data/ConversationMessageData.java
index 9a160e9..19e1b97 100644
--- a/src/com/android/messaging/datamodel/data/ConversationMessageData.java
+++ b/src/com/android/messaging/datamodel/data/ConversationMessageData.java
@@ -19,7 +19,6 @@ import android.database.Cursor;
 import android.net.Uri;
 import android.provider.BaseColumns;
 import android.provider.ContactsContract;
-import android.telephony.SmsManager;
 import android.text.TextUtils;
 import android.text.format.DateUtils;
 
@@ -135,25 +134,6 @@ public class ConversationMessageData {
         }
     }
 
-    public void bindToSimMessages(Cursor cursor) {
-        mMessageId = String.valueOf(cursor.getInt(SimMessageData.INDEX_INDEX_ON_ICC));
-        int IccStatus = cursor.getInt(SimMessageData.INDEX_STATUS);
-        if (IccStatus == SmsManager.STATUS_ON_ICC_SENT) {
-            mStatus = MessageData.BUGLE_STATUS_OUTGOING_COMPLETE;
-            mSentTimestamp = cursor.getLong(SimMessageData.INDEX_DATE);
-        } else {
-            mStatus = MessageData.BUGLE_STATUS_INCOMING_COMPLETE;
-            mReceivedTimestamp = cursor.getLong(SimMessageData.INDEX_DATE);
-        }
-        mSenderDisplayDestination = cursor.getString(SimMessageData.INDEX_ADDRESS);
-        mPartsCount = 1;
-        mParts = new ArrayList<MessagePartData>();
-        mParts.add(new MessagePartData(cursor.getString(SimMessageData.INDEX_BODY)));
-        mSeen = true;
-        mRead = true;
-        mProtocol = MessageData.PROTOCOL_SMS;
-    }
-
     private boolean canClusterWithMessage(final Cursor cursor) {
         final String otherParticipantId = cursor.getString(INDEX_PARTICIPANT_ID);
         if (!TextUtils.equals(getParticipantId(), otherParticipantId)) {
diff --git a/src/com/android/messaging/datamodel/data/SimMessageData.java b/src/com/android/messaging/datamodel/data/SimMessageData.java
deleted file mode 100644
index 937b0e2..0000000
--- a/src/com/android/messaging/datamodel/data/SimMessageData.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2016 The CyanogenMod Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.messaging.datamodel.data;
-
-public class SimMessageData {
-
-    public static final int INDEX_SERVICE_CENTER_ADDRESS = 0;
-    public static final int INDEX_ADDRESS = 1;
-    public static final int INDEX_MESSAGE_CLASS = 2;
-    public static final int INDEX_BODY = 3;
-    public static final int INDEX_DATE = 4;
-    public static final int INDEX_STATUS = 5;
-    public static final int INDEX_INDEX_ON_ICC = 6;
-    public static final int INDEX_IS_STATUS_REPORT = 7;
-    public static final int INDEX_TRANSPORT_TYPE = 8;
-    public static final int INDEX_TYPE = 9;
-    public static final int INDEX_LOCKED = 10;
-    public static final int INDEX_ERROR_CODE = 11;
-    public static final int INDEX_ID = 12;
-    public static final int INDEX_SUB_ID = 13;
-}
diff --git a/src/com/android/messaging/sms/SimMessagesUtils.java b/src/com/android/messaging/sms/SimMessagesUtils.java
deleted file mode 100644
index f7be881..0000000
--- a/src/com/android/messaging/sms/SimMessagesUtils.java
+++ /dev/null
@@ -1,469 +0,0 @@
-/*
- * Copyright (C) 2016 The CyanogenMod Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.messaging.sms;
-
-import android.content.Context;
-import android.net.Uri;
-import android.telephony.PhoneNumberUtils;
-import android.telephony.SmsManager;
-import android.telephony.SmsMessage;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.util.Log;
-import com.android.internal.telephony.EncodeException;
-import com.android.internal.telephony.GsmAlphabet;
-import com.android.internal.telephony.SmsHeader;
-import com.android.internal.telephony.cdma.sms.BearerData;
-import com.android.internal.telephony.cdma.sms.CdmaSmsAddress;
-import com.android.internal.telephony.cdma.sms.UserData;
-import com.android.messaging.datamodel.data.ConversationMessageData;
-import com.android.messaging.datamodel.data.ConversationParticipantsData;
-import com.android.messaging.R;
-
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Locale;
-
-import static android.telephony.SmsMessage.ENCODING_16BIT;
-import static android.telephony.SmsMessage.ENCODING_7BIT;
-import static android.telephony.SmsMessage.ENCODING_UNKNOWN;
-import static android.telephony.SmsMessage.MAX_USER_DATA_BYTES;
-import static android.telephony.SmsMessage.MAX_USER_DATA_SEPTETS;
-
-public class SimMessagesUtils {
-
-    private static final String TAG = SimMessagesUtils.class.getSimpleName();
-    public static final int SUB_INVALID = -1;  //  for single card product
-    public static final int SUB1 = 0;  // for DSDS product of slot one
-    public static final int SUB2 = 1;  // for DSDS product of slot two
-
-    public static final Uri ICC_URI = Uri.parse("content://sms/icc");
-    public static final Uri ICC1_URI = Uri.parse("content://sms/icc1");
-    public static final Uri ICC2_URI = Uri.parse("content://sms/icc2");
-    private static final int TIMESTAMP_LENGTH = 7;  // See TS 23.040 9.2.3.11
-    public static String WAPPUSH = "Browser Information"; // Wap push key
-
-    /**
-     * Return the icc uri according to subscription
-     */
-    public static Uri getIccUriBySlot(int slot) {
-        switch (slot) {
-            case SUB1:
-                return ICC1_URI;
-            case SUB2:
-                return ICC2_URI;
-            default:
-                return ICC_URI;
-        }
-    }
-
-    public static boolean isMultiSimEnabledMms() {
-        return TelephonyManager.getDefault().isMultiSimEnabled();
-    }
-
-    /**
-     * Return whether it has card no matter in DSDS or not
-     */
-    public static boolean hasIccCard() {
-        return TelephonyManager.getDefault().hasIccCard();
-    }
-
-    /**
-     * Return whether the card in the given slot is activated
-     */
-    public static boolean isIccCardActivated(int slot) {
-        TelephonyManager tm = TelephonyManager.getDefault();
-        final int simState = tm.getSimState(slot);
-        return (simState != TelephonyManager.SIM_STATE_ABSENT)
-                && (simState != TelephonyManager.SIM_STATE_UNKNOWN);
-    }
-
-    public static boolean copyToSim(ConversationMessageData messageData,
-            ConversationParticipantsData participants, int subId) {
-        String address;
-        address = (participants.getOtherParticipant() == null) ?
-                null :
-                participants.getOtherParticipant().getDisplayDestination();
-        if(TextUtils.isEmpty(address)) {
-            return false;
-        }
-        if (SimMessagesUtils.isWapPushNumber(address)) {
-            String[] number = address.split(":");
-            address = number[0];
-        }
-
-        String text = messageData.getText();
-        if (TextUtils.isEmpty(text)) {
-            return false;
-        }
-        long timestamp = messageData.getReceivedTimeStamp() != 0 ?
-                messageData.getReceivedTimeStamp() :
-                System.currentTimeMillis();
-
-        SmsManager sm = SmsManager.getDefault();
-        ArrayList<String> messages = sm.divideMessage(text);
-
-        boolean ret = true;
-        for (String message : messages) {
-            byte pdu[] = null;
-            int status;
-            if (messageData.getIsIncoming()) {
-                pdu = SimMessagesUtils.getDeliveryPdu(null, address,
-                        message, timestamp, subId);
-                status = SmsManager.STATUS_ON_ICC_READ;
-            } else {
-                pdu = SmsMessage.getSubmitPdu(null, address, message,
-                        false, subId).encodedMessage;
-                status = SmsManager.STATUS_ON_ICC_SENT;
-            }
-            ret &= TelephonyManager.getDefault().isMultiSimEnabled()
-                    ? SmsManager.getSmsManagerForSubscriptionId(subId)
-                    .copyMessageToIcc(null, pdu, status)
-                    : sm.copyMessageToIcc(null, pdu, status);
-            if (!ret) {
-                break;
-            }
-        }
-        return ret;
-    }
-
-    private static boolean isCDMAPhone(int subscription) {
-        int activePhone = isMultiSimEnabledMms()
-                ? TelephonyManager.getDefault().getCurrentPhoneType(subscription)
-                : TelephonyManager.getDefault().getPhoneType();
-        return activePhone == TelephonyManager.PHONE_TYPE_CDMA;
-    }
-
-    public static byte[] getDeliveryPdu(String scAddress, String destinationAddress, String message,
-            long date, int subscription) {
-        if (isCDMAPhone(subscription)) {
-            return getCDMADeliveryPdu(scAddress, destinationAddress, message, date);
-        } else {
-            return getDeliveryPdu(scAddress, destinationAddress, message, date, null,
-                    ENCODING_UNKNOWN);
-        }
-    }
-
-    public static byte[] getCDMADeliveryPdu(String scAddress, String destinationAddress,
-            String message, long date) {
-        // Perform null parameter checks.
-        if (message == null || destinationAddress == null) {
-            Log.d(TAG, "getCDMADeliveryPdu,message =null");
-            return null;
-        }
-
-        // according to submit pdu encoding as written in privateGetSubmitPdu
-
-        // MTI = SMS-DELIVERY, UDHI = header != null
-        byte[] header = null;
-        byte mtiByte = (byte) (0x00 | (header != null ? 0x40 : 0x00));
-        ByteArrayOutputStream headerStream = getDeliveryPduHeader(destinationAddress, mtiByte);
-
-        ByteArrayOutputStream byteStream = new ByteArrayOutputStream(MAX_USER_DATA_BYTES + 40);
-
-        DataOutputStream dos = new DataOutputStream(byteStream);
-        // int status,Status of message. See TS 27.005 3.1, "<stat>"
-
-        /* 0 = "REC UNREAD" */
-        /* 1 = "REC READ" */
-        /* 2 = "STO UNSENT" */
-        /* 3 = "STO SENT" */
-
-        try {
-            // int uTeleserviceID;
-            int uTeleserviceID = 0; //.TELESERVICE_CT_WAP;// int
-            dos.writeInt(uTeleserviceID);
-
-            // unsigned char bIsServicePresent
-            byte bIsServicePresent = 0;// byte
-            dos.writeInt(bIsServicePresent);
-
-            // uServicecategory
-            int uServicecategory = 0;// int
-            dos.writeInt(uServicecategory);
-
-            // RIL_CDMA_SMS_Address
-            // digit_mode
-            // number_mode
-            // number_type
-            // number_plan
-            // number_of_digits
-            // digits[]
-            CdmaSmsAddress destAddr = CdmaSmsAddress.parse(PhoneNumberUtils
-                    .cdmaCheckAndProcessPlusCode(destinationAddress));
-            if (destAddr == null)
-                return null;
-            dos.writeByte(destAddr.digitMode);// int
-            dos.writeByte(destAddr.numberMode);// int
-            dos.writeByte(destAddr.ton);// int
-            dos.writeByte(destAddr.numberPlan);// int
-            dos.writeByte(destAddr.numberOfDigits);// byte
-            dos.write(destAddr.origBytes, 0, destAddr.origBytes.length); // digits
-
-            // RIL_CDMA_SMS_Subaddress
-            // Subaddress is not supported.
-            dos.writeByte(0); // subaddressType int
-            dos.writeByte(0); // subaddr_odd byte
-            dos.writeByte(0); // subaddr_nbr_of_digits byte
-
-            SmsHeader smsHeader = new SmsHeader().fromByteArray(headerStream.toByteArray());
-            UserData uData = new UserData();
-            uData.payloadStr = message;
-            // uData.userDataHeader = smsHeader;
-            uData.msgEncodingSet = true;
-            uData.msgEncoding = UserData.ENCODING_UNICODE_16;
-
-            BearerData bearerData = new BearerData();
-            bearerData.messageType = BearerData.MESSAGE_TYPE_DELIVER;
-
-            bearerData.deliveryAckReq = false;
-            bearerData.userAckReq = false;
-            bearerData.readAckReq = false;
-            bearerData.reportReq = false;
-
-            bearerData.userData = uData;
-
-            byte[] encodedBearerData = BearerData.encode(bearerData);
-            if (null != encodedBearerData) {
-                // bearer data len
-                dos.writeByte(encodedBearerData.length);// int
-                Log.d(TAG, "encodedBearerData length=" + encodedBearerData.length);
-
-                // aBearerData
-                dos.write(encodedBearerData, 0, encodedBearerData.length);
-            } else {
-                dos.writeByte(0);
-            }
-
-        } catch (IOException e) {
-            Log.e(TAG, "Error writing dos", e);
-        } finally {
-            try {
-                if (null != byteStream) {
-                    byteStream.close();
-                }
-
-                if (null != dos) {
-                    dos.close();
-                }
-
-                if (null != headerStream) {
-                    headerStream.close();
-                }
-            } catch (IOException e) {
-                Log.e(TAG, "Error close dos", e);
-            }
-        }
-
-        return byteStream.toByteArray();
-    }
-
-    /**
-     * Generate a Delivery PDU byte array. see getSubmitPdu for reference.
-     */
-    public static byte[] getDeliveryPdu(String scAddress, String destinationAddress, String message,
-            long date, byte[] header, int encoding) {
-        // Perform null parameter checks.
-        if (message == null || destinationAddress == null) {
-            return null;
-        }
-
-        // MTI = SMS-DELIVERY, UDHI = header != null
-        byte mtiByte = (byte)(0x00 | (header != null ? 0x40 : 0x00));
-        ByteArrayOutputStream bo = getDeliveryPduHeader(destinationAddress, mtiByte);
-        // User Data (and length)
-        byte[] userData;
-        if (encoding == ENCODING_UNKNOWN) {
-            // First, try encoding it with the GSM alphabet
-            encoding = ENCODING_7BIT;
-        }
-        try {
-            if (encoding == ENCODING_7BIT) {
-                userData = GsmAlphabet.stringToGsm7BitPackedWithHeader(message, header, 0, 0);
-            } else { //assume UCS-2
-                try {
-                    userData = encodeUCS2(message, header);
-                } catch (UnsupportedEncodingException uex) {
-                    Log.e("GSM", "Implausible UnsupportedEncodingException ",
-                            uex);
-                    return null;
-                }
-            }
-        } catch (EncodeException ex) {
-            // Encoding to the 7-bit alphabet failed. Let's see if we can
-            // encode it as a UCS-2 encoded message
-            try {
-                userData = encodeUCS2(message, header);
-                encoding = ENCODING_16BIT;
-            } catch (UnsupportedEncodingException uex) {
-                Log.e("GSM", "Implausible UnsupportedEncodingException ",
-                        uex);
-                return null;
-            }
-        }
-
-        if (encoding == ENCODING_7BIT) {
-            if ((0xff & userData[0]) > MAX_USER_DATA_SEPTETS) {
-                // Message too long
-                return null;
-            }
-            bo.write(0x00);
-        } else { //assume UCS-2
-            if ((0xff & userData[0]) > MAX_USER_DATA_BYTES) {
-                // Message too long
-                return null;
-            }
-            // TP-Data-Coding-Scheme
-            // Class 3, UCS-2 encoding, uncompressed
-            bo.write(0x0b);
-        }
-        byte[] timestamp = getTimestamp(date);
-        bo.write(timestamp, 0, timestamp.length);
-
-        bo.write(userData, 0, userData.length);
-        return bo.toByteArray();
-    }
-
-    private static ByteArrayOutputStream getDeliveryPduHeader(
-            String destinationAddress, byte mtiByte) {
-        ByteArrayOutputStream bo = new ByteArrayOutputStream(
-                MAX_USER_DATA_BYTES + 40);
-        bo.write(mtiByte);
-
-        byte[] daBytes;
-        daBytes = PhoneNumberUtils.networkPortionToCalledPartyBCD(destinationAddress);
-
-        // destination address length in BCD digits, ignoring TON byte and pad
-        // TODO Should be better.
-        bo.write((daBytes.length - 1) * 2
-                - ((daBytes[daBytes.length - 1] & 0xf0) == 0xf0 ? 1 : 0));
-
-        // destination address
-        bo.write(daBytes, 0, daBytes.length);
-
-        // TP-Protocol-Identifier
-        bo.write(0);
-        return bo;
-    }
-
-    private static byte[] getTimestamp(long time) {
-        // See TS 23.040 9.2.3.11
-        byte[] timestamp = new byte[TIMESTAMP_LENGTH];
-        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddkkmmss:Z", Locale.US);
-        String[] date = sdf.format(time).split(":");
-        // generate timezone value
-        String timezone = date[date.length - 1];
-        String signMark = timezone.substring(0, 1);
-        int hour = Integer.parseInt(timezone.substring(1, 3));
-        int min = Integer.parseInt(timezone.substring(3));
-        int timezoneValue = hour * 4 + min / 15;
-        // append timezone value to date[0] (time string)
-        String timestampStr = date[0] + timezoneValue;
-
-        int digitCount = 0;
-        for (int i = 0; i < timestampStr.length(); i++) {
-            char c = timestampStr.charAt(i);
-            int shift = ((digitCount & 0x01) == 1) ? 4 : 0;
-            timestamp[(digitCount >> 1)] |= (byte)((charToBCD(c) & 0x0F) << shift);
-            digitCount++;
-        }
-
-        if (signMark.equals("-")) {
-            timestamp[timestamp.length - 1] = (byte) (timestamp[timestamp.length - 1] | 0x08);
-        }
-
-        return timestamp;
-    }
-
-    private static byte[] encodeUCS2(String message, byte[] header)
-            throws UnsupportedEncodingException {
-        byte[] userData, textPart;
-        textPart = message.getBytes("utf-16be");
-
-        if (header != null) {
-            // Need 1 byte for UDHL
-            userData = new byte[header.length + textPart.length + 1];
-
-            userData[0] = (byte)header.length;
-            System.arraycopy(header, 0, userData, 1, header.length);
-            System.arraycopy(textPart, 0, userData, header.length + 1, textPart.length);
-        }
-        else {
-            userData = textPart;
-        }
-        byte[] ret = new byte[userData.length+1];
-        ret[0] = (byte) (userData.length & 0xff );
-        System.arraycopy(userData, 0, ret, 1, userData.length);
-        return ret;
-    }
-
-    private static int charToBCD(char c) {
-        if (c >= '0' && c <= '9') {
-            return c - '0';
-        } else {
-            throw new RuntimeException ("invalid char for BCD " + c);
-        }
-    }
-
-    /**
-     * Returns true if the address passed in is a Browser wap push MMS address.
-     */
-    public static boolean isWapPushNumber(String address) {
-        if (TextUtils.isEmpty(address)) {
-            return false;
-        } else {
-            return address.contains(WAPPUSH);
-        }
-    }
-
-    /**
-     * Return the sim name of subscription.
-     */
-    public static String getMultiSimName(Context context, int slot) {
-        if (slot >= TelephonyManager.getDefault().getPhoneCount() || slot < 0) {
-            return null;
-        }
-        //String multiSimName = Settings.System.getString(context.getContentResolver(),
-        //        MULTI_SIM_NAME + (subscription + 1));
-        //if (multiSimName == null) {
-        if (slot == SUB1) {
-            return context.getString(R.string.slot1);
-        } else if (slot == SUB2) {
-            return context.getString(R.string.slot2);
-        }
-        //}
-        return context.getString(R.string.slot1);
-    }
-
-    /**
-     * Return the activated card number
-     */
-    public static int getActivatedIccCardCount() {
-        TelephonyManager tm = TelephonyManager.getDefault();
-        int phoneCount = tm.getPhoneCount();
-        int count = 0;
-        for (int i = 0; i < phoneCount; i++) {
-            if (isIccCardActivated(i)) {
-                count++;
-            }
-        }
-        return count;
-    }
-}
diff --git a/src/com/android/messaging/ui/ManageSimMessages.java b/src/com/android/messaging/ui/ManageSimMessages.java
deleted file mode 100644
index f658300..0000000
--- a/src/com/android/messaging/ui/ManageSimMessages.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
- * Copyright (C) 2008 Esmertec AG.
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.messaging.ui;
-
-import android.app.AlertDialog;
-import android.content.AsyncQueryHandler;
-import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.database.ContentObserver;
-import android.database.Cursor;
-import android.database.sqlite.SQLiteException;
-import android.database.sqlite.SqliteWrapper;
-import android.graphics.Rect;
-import android.graphics.drawable.ColorDrawable;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Handler;
-import android.support.v7.app.ActionBar;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.telephony.SubscriptionManager;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.ActionMode;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.TextView;
-import com.android.internal.telephony.PhoneConstants;
-import com.android.internal.telephony.TelephonyIntents;
-
-import com.android.messaging.R;
-import com.android.messaging.datamodel.data.MessagePartData;
-import com.android.messaging.datamodel.data.SubscriptionListData;
-import com.android.messaging.sms.SimMessagesUtils;
-import com.android.messaging.ui.conversation.ConversationMessageAdapter;
-import com.android.messaging.ui.conversation.ConversationMessageView;
-import com.android.messaging.util.UiUtils;
-
-/**
- * Displays a list of the SMS messages stored on the ICC.
- */
-public class ManageSimMessages extends BugleActionBarActivity
-        implements ConversationMessageView.ConversationMessageViewHost,
-        View.OnCreateContextMenuListener {
-    private static final String TAG = ManageSimMessages.class.getSimpleName();
-
-    private static final int SHOW_LIST = 0;
-    private static final int SHOW_EMPTY = 1;
-    private static final int SHOW_BUSY = 2;
-    private int mState;
-    private int mSlot;
-    private int mSubscription;
-
-    private Uri mIccUri;
-    private ContentResolver mContentResolver;
-    private Cursor mCursor = null;
-    private RecyclerView mSimList;
-    private TextView mMessage;
-    private ConversationMessageAdapter mListAdapter = null;
-    private AsyncQueryHandler mQueryHandler = null;
-    private boolean mIsQuery = false;
-    private ConversationMessageView mSelectedMessage = null;
-    public static final int TYPE_INBOX = 1;
-
-    private final ContentObserver simChangeObserver =
-            new ContentObserver(new Handler()) {
-        @Override
-        public void onChange(boolean selfUpdate) {
-            refreshMessageList();
-        }
-    };
-
-    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            String action = intent.getAction();
-            if (TelephonyIntents.ACTION_SIM_STATE_CHANGED.equals(action)) {
-                refreshMessageList();
-            }
-        }
-    };
-
-    @Override
-    protected void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        mContentResolver = getContentResolver();
-        mQueryHandler = new QueryHandler(mContentResolver, this);
-        setContentView(R.layout.sim_list);
-        mSimList = (RecyclerView) findViewById(android.R.id.list);
-        final LinearLayoutManager manager = new LinearLayoutManager(this);
-        manager.setStackFromEnd(false);
-        manager.setReverseLayout(false);
-        mSimList.setHasFixedSize(true);
-        mSimList.setLayoutManager(manager);
-        mMessage = (TextView) findViewById(R.id.empty_message);
-        IntentFilter filter = new IntentFilter();
-        filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
-        registerReceiver(mReceiver, filter);
-        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-        init();
-    }
-
-    @Override
-    protected void onNewIntent(Intent intent) {
-        setIntent(intent);
-
-        init();
-    }
-
-    private void init() {
-        mSlot = getIntent().getIntExtra(PhoneConstants.PHONE_KEY, SimMessagesUtils.SUB_INVALID);
-
-        mSubscription = SimMessagesUtils.SUB_INVALID;
-        int[] subIds = SubscriptionManager.getSubId(mSlot);
-        if (subIds != null && subIds.length > 0) {
-            mSubscription = subIds[0];
-        }
-
-        mIccUri = SimMessagesUtils.getIccUriBySlot(mSlot);
-        updateState(SHOW_BUSY);
-        startQuery();
-    }
-
-    @Override
-    public boolean onAttachmentClick(ConversationMessageView view, MessagePartData attachment,
-            Rect imageBounds, boolean longPress) {
-        return false;
-    }
-
-    @Override
-    public SubscriptionListData.SubscriptionListEntry getSubscriptionEntryForSelfParticipant(
-            String selfParticipantId, boolean excludeDefault) {
-        return null;
-    }
-
-    private class QueryHandler extends AsyncQueryHandler {
-
-        public QueryHandler(
-                ContentResolver contentResolver, ManageSimMessages parent) {
-            super(contentResolver);
-        }
-
-        @Override
-        protected void onQueryComplete(
-                int token, Object cookie, Cursor cursor) {
-            if (mCursor != null) {
-                stopManagingCursor(mCursor);
-            }
-            mCursor = cursor;
-            if (mCursor != null) {
-                if (!mCursor.moveToFirst()) {
-                    // Let user know the SIM is empty
-                    updateState(SHOW_EMPTY);
-                } else if (mListAdapter == null) {
-                    mListAdapter = new ConversationMessageAdapter(
-                            ManageSimMessages.this, mCursor, ManageSimMessages.this, null,
-                            onMessageListItemClick, onMessageListItemLongClick, true);
-                    mSimList.setAdapter(mListAdapter);
-                    updateState(SHOW_LIST);
-                } else {
-                    mListAdapter.changeCursor(mCursor);
-                    updateState(SHOW_LIST);
-                }
-                startManagingCursor(mCursor);
-            } else {
-                // Let user know the SIM is empty
-                updateState(SHOW_EMPTY);
-            }
-            mIsQuery = false;
-        }
-    }
-
-    private void startQuery() {
-        try {
-            if (mIsQuery) {
-                return;
-            }
-            mIsQuery = true;
-            mQueryHandler.startQuery(0, null, mIccUri, null, null, null, null);
-        } catch (SQLiteException e) {
-            SqliteWrapper.checkSQLiteException(this, e);
-        }
-    }
-
-    private void refreshMessageList() {
-        updateState(SHOW_BUSY);
-        startQuery();
-    }
-
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        registerSimChangeObserver();
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        mContentResolver.unregisterContentObserver(simChangeObserver);
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(final MenuItem item) {
-        switch (item.getItemId()) {
-            case android.R.id.home:
-                if (mSelectedMessage == null) {
-                    finish();
-                } else {
-                    dismissActionMode();
-                }
-                return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-
-    @Override
-    public void onDestroy() {
-        unregisterReceiver(mReceiver);
-        super.onDestroy();
-    }
-
-    @Override
-    protected void updateActionBar(ActionBar actionBar) {
-        super.updateActionBar(actionBar);
-        //The Action Mode menu changes the action bar completely. Need to reset it!
-        updateActionAndStatusBarColor(getSupportActionBar());
-        actionBar.setDisplayHomeAsUpEnabled(true);
-        actionBar.setHomeAsUpIndicator(0);
-        actionBar.setDisplayShowTitleEnabled(true);
-    }
-
-    private void updateActionAndStatusBarColor(final ActionBar actionBar) {
-        final int themeColor = ConversationDrawables.get().getConversationThemeColor();
-        actionBar.setBackgroundDrawable(new ColorDrawable(themeColor));
-        UiUtils.setStatusBarColor(this, themeColor);
-    }
-
-    private void registerSimChangeObserver() {
-        mContentResolver.registerContentObserver(
-                mIccUri, true, simChangeObserver);
-    }
-
-    private void updateState(int state) {
-        if (mState == state) {
-            return;
-        }
-
-        mState = state;
-        switch (state) {
-            case SHOW_LIST:
-                mSimList.setVisibility(View.VISIBLE);
-                mMessage.setVisibility(View.GONE);
-                setTitle(getString(R.string.sim_manage_messages_title));
-                setProgressBarIndeterminateVisibility(false);
-                mSimList.requestFocus();
-                break;
-            case SHOW_EMPTY:
-                mSimList.setVisibility(View.GONE);
-                mMessage.setVisibility(View.VISIBLE);
-                setTitle(getString(R.string.sim_manage_messages_title));
-                setProgressBarIndeterminateVisibility(false);
-                break;
-            case SHOW_BUSY:
-                mSimList.setVisibility(View.GONE);
-                mMessage.setVisibility(View.GONE);
-                setTitle(getString(R.string.refreshing));
-                setProgressBarIndeterminateVisibility(true);
-                break;
-            default:
-                Log.e(TAG, "Invalid State");
-        }
-    }
-
-    public Context getContext() {
-        return ManageSimMessages.this;
-    }
-
-    private void selectMessage(final ConversationMessageView messageView) {
-        mSelectedMessage = messageView;
-        if (mSelectedMessage == null) {
-            mListAdapter.setSelectedMessage(null);
-            dismissActionMode();
-            return;
-        }
-        mListAdapter.setSelectedMessage(messageView.getData().getMessageId());
-        startActionMode(mActionModeCallback);
-    }
-
-    private void confirmDeleteDialog(DialogInterface.OnClickListener listener) {
-        AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
-        builder.setTitle(R.string.confirm_dialog_title);
-        builder.setIconAttribute(android.R.attr.alertDialogIcon);
-        builder.setCancelable(true);
-        builder.setPositiveButton(R.string.yes, listener);
-        builder.setNegativeButton(R.string.no, listener);
-        builder.setMessage(R.string.confirm_delete_selected_messages);
-        builder.show();
-    }
-
-    private void deleteMessageFromSim() {
-        if (mSelectedMessage == null) {
-            return;
-        }
-        String messageIndexString =
-                mSelectedMessage.getData().getMessageId();
-        if (TextUtils.isEmpty(messageIndexString)) {
-            return;
-        }
-        Uri simUri = mIccUri.buildUpon().appendPath(messageIndexString).build();
-        SqliteWrapper.delete(this, mContentResolver, simUri, null, null);
-    }
-
-    View.OnClickListener onMessageListItemClick = new View.OnClickListener() {
-        @Override
-        public void onClick(View view) {
-            //Do Nothing
-        }
-    };
-
-    View.OnLongClickListener onMessageListItemLongClick = new View.OnLongClickListener() {
-        @Override
-        public boolean onLongClick(View view) {
-            selectMessage((ConversationMessageView) view);
-            return true;
-        }
-    };
-
-    private class DeleteConfirmListener implements DialogInterface.OnClickListener {
-        public void onClick(DialogInterface dialog, int whichButton) {
-            switch (whichButton) {
-                case DialogInterface.BUTTON_POSITIVE:
-                    deleteMessageFromSim();
-                    break;
-            }
-            dismissActionMode();
-        }
-    }
-
-    private final ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {
-
-        @Override
-        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
-            if (mSelectedMessage != null) {
-                MenuInflater inflater = getMenuInflater();
-                inflater.inflate(R.menu.sim_msg_multi_select_menu, menu);
-                return true;
-            }
-            return false;
-        }
-
-        @Override
-        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
-            return true;
-        }
-
-        @Override
-        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
-            switch (item.getItemId()) {
-                case R.id.delete:
-                    confirmDeleteDialog(new DeleteConfirmListener());
-                    return true;
-            }
-            return false;
-        }
-
-        @Override
-        public void onDestroyActionMode(ActionMode mode) {
-            selectMessage(null);
-        }
-    };
-}
diff --git a/src/com/android/messaging/ui/appsettings/ApplicationSettingsActivity.java b/src/com/android/messaging/ui/appsettings/ApplicationSettingsActivity.java
index ae5bbf3..b91cc6c 100644
--- a/src/com/android/messaging/ui/appsettings/ApplicationSettingsActivity.java
+++ b/src/com/android/messaging/ui/appsettings/ApplicationSettingsActivity.java
@@ -37,13 +37,10 @@ import android.text.TextUtils;
 import android.view.Menu;
 import android.view.MenuItem;
 
-import com.android.internal.telephony.PhoneConstants;
 import com.android.messaging.R;
 import com.android.messaging.sms.MmsConfig;
-import com.android.messaging.sms.SimMessagesUtils;
 import com.android.messaging.ui.BugleActionBarActivity;
 import com.android.messaging.ui.LicenseActivity;
-import com.android.messaging.ui.ManageSimMessages;
 import com.android.messaging.ui.NumberPickerDialog;
 import com.android.messaging.ui.UIIntents;
 import com.android.messaging.util.BuglePrefs;
@@ -112,9 +109,6 @@ public class ApplicationSettingsActivity extends BugleActionBarActivity {
         private ListPreference mSmsValidityCard2Pref;
         private Preference mSmsLimitPref;
         private Preference mMmsLimitPref;
-        private Preference mManageSimPref;
-        private Preference mManageSim1Pref;
-        private Preference mManageSim2Pref;
 
 
         public ApplicationSettingsFragment() {
@@ -145,9 +139,6 @@ public class ApplicationSettingsActivity extends BugleActionBarActivity {
             mSmsValidityCard2Pref = (ListPreference) findPreference("pref_key_sms_validity_period_slot2");
             mSmsLimitPref = findPreference("sms_delete_limit_pref_key");
             mMmsLimitPref = findPreference("mms_delete_limit_pref_key");
-            mManageSimPref = findPreference("pref_key_manage_sim_messages");
-            mManageSim1Pref = findPreference("pref_key_manage_sim_messages_slot1");
-            mManageSim2Pref = findPreference("pref_key_manage_sim_messages_slot2");
 
             if (getResources().getBoolean(R.bool.config_sms_validity)) {
                 if (PhoneUtils.getDefault().isMultiSimEnabledMms()) {
@@ -190,7 +181,6 @@ public class ApplicationSettingsActivity extends BugleActionBarActivity {
             }
             setSmsDisplayLimit();
             setMmsDisplayLimit();
-            updateSIMSMSPref();
         }
 
         @Override
@@ -199,38 +189,28 @@ public class ApplicationSettingsActivity extends BugleActionBarActivity {
             if (preference.getKey() ==  mSmsDisabledPrefKey ||
                     preference.getKey() == mSmsEnabledPrefKey) {
                 mIsSmsPreferenceClicked = true;
-            } else if (getActivity() != null) {
-                if (preference.getKey().equals(mSmsLimitPref.getKey())) {
+            } else if (getActivity() != null &&
+                    preference.getKey().equals(mSmsLimitPref.getKey())) {
 
                     new NumberPickerDialog(getActivity(),
-                            mSmsLimitListener,
-                            PrefsUtils.getSMSMessagesPerThreadLimit(),
-                            MmsConfig.getMinMessageCountPerThread(),
-                            MmsConfig.getMaxMessageCountPerThread(),
-                            R.string.sms_delete_pref_title,
-                            R.string.pref_messages_to_save).show();
+                        mSmsLimitListener,
+                        PrefsUtils.getSMSMessagesPerThreadLimit(),
+                        MmsConfig.getMinMessageCountPerThread(),
+                        MmsConfig.getMaxMessageCountPerThread(),
+                        R.string.sms_delete_pref_title,
+                        R.string.pref_messages_to_save).show();
 
-                } else if (preference.getKey().equals(mMmsLimitPref.getKey())) {
+            } else if(getActivity() != null &&
+                    preference.getKey().equals(mMmsLimitPref.getKey())) {
 
                     new NumberPickerDialog(getActivity(),
-                            mMmsLimitListener,
-                            PrefsUtils.getMMSMessagesPerThreadLimit(),
-                            MmsConfig.getMinMessageCountPerThread(),
-                            MmsConfig.getMaxMessageCountPerThread(),
-                            R.string.mms_delete_pref_title,
-                            R.string.pref_messages_to_save).show();
-
-                } else if (preference.getKey().equals(mManageSimPref.getKey())) {
-                    startActivity(new Intent(getActivity(), ManageSimMessages.class));
-                } else if (preference.getKey().equals(mManageSim1Pref.getKey())) {
-                    Intent intent = new Intent(getActivity(), ManageSimMessages.class);
-                    intent.putExtra(PhoneConstants.PHONE_KEY, SimMessagesUtils.SUB1);
-                    startActivity(intent);
-                } else if (preference.getKey().equals(mManageSim2Pref.getKey())) {
-                    Intent intent = new Intent(getActivity(), ManageSimMessages.class);
-                    intent.putExtra(PhoneConstants.PHONE_KEY, SimMessagesUtils.SUB2);
-                    startActivity(intent);
-                }
+                        mMmsLimitListener,
+                        PrefsUtils.getMMSMessagesPerThreadLimit(),
+                        MmsConfig.getMinMessageCountPerThread(),
+                        MmsConfig.getMaxMessageCountPerThread(),
+                        R.string.mms_delete_pref_title,
+                        R.string.pref_messages_to_save).show();
+
             }
             return super.onPreferenceTreeClick(preferenceScreen, preference);
         }
@@ -350,24 +330,6 @@ public class ApplicationSettingsActivity extends BugleActionBarActivity {
                             PrefsUtils.getMMSMessagesPerThreadLimit()));
         }
 
-        private void updateSIMSMSPref() {
-            if (SimMessagesUtils.isMultiSimEnabledMms()) {
-                if (!SimMessagesUtils.isIccCardActivated(SimMessagesUtils.SUB1)) {
-                    mManageSim1Pref.setEnabled(false);
-                }
-                if (!SimMessagesUtils.isIccCardActivated(SimMessagesUtils.SUB2)) {
-                    mManageSim2Pref.setEnabled(false);
-                }
-                getPreferenceScreen().removePreference(mManageSimPref);
-            } else {
-                if (!SimMessagesUtils.hasIccCard()) {
-                    mManageSimPref.setEnabled(false);
-                }
-                getPreferenceScreen().removePreference(mManageSim1Pref);
-                getPreferenceScreen().removePreference(mManageSim2Pref);
-            }
-        }
-
         NumberPickerDialog.OnNumberSetListener mSmsLimitListener =
                 new NumberPickerDialog.OnNumberSetListener() {
                     public void onNumberSet(int limit) {
diff --git a/src/com/android/messaging/ui/conversation/ConversationFragment.java b/src/com/android/messaging/ui/conversation/ConversationFragment.java
index 0bfd644..4020eed 100644
--- a/src/com/android/messaging/ui/conversation/ConversationFragment.java
+++ b/src/com/android/messaging/ui/conversation/ConversationFragment.java
@@ -43,7 +43,6 @@ import android.os.Bundle;
 import android.os.Environment;
 import android.os.Handler;
 import android.os.Parcelable;
-import android.provider.Telephony;
 import android.support.v4.content.LocalBroadcastManager;
 import android.support.v4.text.BidiFormatter;
 import android.support.v4.text.TextDirectionHeuristicsCompat;
@@ -52,12 +51,7 @@ import android.support.v7.widget.DefaultItemAnimator;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.RecyclerView.ViewHolder;
-import android.telephony.SmsManager;
-import android.telephony.SmsMessage;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.ActionMode;
 import android.view.Display;
 import android.view.LayoutInflater;
@@ -69,7 +63,6 @@ import android.view.ViewConfiguration;
 import android.view.ViewGroup;
 import android.widget.TextView;
 
-import android.widget.Toast;
 import com.android.messaging.BugleApplication;
 import com.android.messaging.R;
 import com.android.messaging.datamodel.DataModel;
@@ -88,7 +81,6 @@ import com.android.messaging.datamodel.data.MessageData;
 import com.android.messaging.datamodel.data.MessagePartData;
 import com.android.messaging.datamodel.data.ParticipantData;
 import com.android.messaging.datamodel.data.SubscriptionListData.SubscriptionListEntry;
-import com.android.messaging.sms.SimMessagesUtils;
 import com.android.messaging.ui.AttachmentPreview;
 import com.android.messaging.ui.BugleActionBarActivity;
 import com.android.messaging.ui.ConversationDrawables;
@@ -381,16 +373,6 @@ public class ConversationFragment extends Fragment implements ConversationDataLi
                     UIIntents.get().launchForwardMessageActivity(getActivity(), message);
                     mHost.dismissActionMode();
                     return true;
-                case R.id.copy_to_sim:
-                    if (data != null && mBinding.getData().getParticipants() != null ) {
-                        if(SimMessagesUtils.getActivatedIccCardCount() > 1) {
-                            showSimSelectDialog(data);
-                        } else {
-                            copyToSim(data, SubscriptionManager.getDefaultSmsSubId());
-                        }
-                    }
-                    mHost.dismissActionMode();
-                    return true;
             }
             return false;
         }
@@ -1452,51 +1434,6 @@ public class ConversationFragment extends Fragment implements ConversationDataLi
         ((BugleActionBarActivity) activity).supportInvalidateOptionsMenu();
     }
 
-    private void copyToSim(ConversationMessageData data, int subId) {
-        boolean success = SimMessagesUtils
-                .copyToSim(data, mBinding.getData().getParticipants(), subId);
-        CharSequence copyToSimStatus = success ?
-                getResources().getText(R.string.copy_to_phone_success) :
-                getResources().getText(R.string.copy_to_sim_fail);
-        Toast.makeText(getActivity(), copyToSimStatus.toString(),
-                Toast.LENGTH_SHORT).show();
-    }
-
-    private void showSimSelectDialog(ConversationMessageData data) {
-        String[] items = new String[TelephonyManager.getDefault()
-                .getPhoneCount()];
-        for (int i = 0; i < items.length; i++) {
-            items[i] = SimMessagesUtils.getMultiSimName(
-                    getActivity(), i);
-        }
-        CopyToSimSelectListener listener = new CopyToSimSelectListener(
-                data);
-        new AlertDialog.Builder(getActivity())
-                .setTitle(R.string.copy_to_sim)
-                .setPositiveButton(android.R.string.ok, listener)
-                .setSingleChoiceItems(items, 0, listener)
-                .setCancelable(true).show();
-    }
-
-    private class CopyToSimSelectListener implements DialogInterface.OnClickListener {
-        private ConversationMessageData messageData;
-        private int slot;
-
-        public CopyToSimSelectListener(ConversationMessageData messageData) {
-            super();
-            this.messageData = messageData;
-        }
-
-        public void onClick(DialogInterface dialog, int which) {
-            if (which >= 0) {
-                slot = which;
-            } else if (which == DialogInterface.BUTTON_POSITIVE) {
-                int[] subId = SubscriptionManager.getSubId(slot);
-                copyToSim(messageData, subId[0]);
-            }
-        }
-    }
-
     @Override
     public void setOptionsMenuVisibility(final boolean visible) {
         setHasOptionsMenu(visible);
diff --git a/src/com/android/messaging/ui/conversation/ConversationMessageAdapter.java b/src/com/android/messaging/ui/conversation/ConversationMessageAdapter.java
index 3d50252..2748fff 100644
--- a/src/com/android/messaging/ui/conversation/ConversationMessageAdapter.java
+++ b/src/com/android/messaging/ui/conversation/ConversationMessageAdapter.java
@@ -45,7 +45,6 @@ public class ConversationMessageAdapter extends
     private final View.OnLongClickListener mViewLongClickListener;
     private boolean mOneOnOne;
     private String mSelectedMessageId;
-    private boolean isSmsMessage;
 
     public ConversationMessageAdapter(final Context context, final Cursor cursor,
         final ConversationMessageViewHost host,
@@ -60,28 +59,13 @@ public class ConversationMessageAdapter extends
         setHasStableIds(true);
     }
 
-    public ConversationMessageAdapter(final Context context, final Cursor cursor,
-            final ConversationMessageViewHost host,
-            final AsyncImageViewDelayLoader imageViewDelayLoader,
-            final View.OnClickListener viewClickListener,
-            final View.OnLongClickListener longClickListener, boolean isSmsMessage) {
-        this(context, cursor, host, imageViewDelayLoader, viewClickListener, longClickListener);
-        this.isSmsMessage = isSmsMessage;
-    }
-
-
-
     @Override
     public void bindViewHolder(final ConversationMessageViewHolder holder,
             final Context context, final Cursor cursor) {
         Assert.isTrue(holder.mView instanceof ConversationMessageView);
         final ConversationMessageView conversationMessageView =
                 (ConversationMessageView) holder.mView;
-        if(isSmsMessage) {
-            conversationMessageView.bindToSimMessages(cursor, mSelectedMessageId);
-        } else {
-            conversationMessageView.bind(cursor, mOneOnOne, mSelectedMessageId);
-        }
+        conversationMessageView.bind(cursor, mOneOnOne, mSelectedMessageId);
     }
 
     @Override
diff --git a/src/com/android/messaging/ui/conversation/ConversationMessageBubbleView.java b/src/com/android/messaging/ui/conversation/ConversationMessageBubbleView.java
index 395936d..d68cbde 100644
--- a/src/com/android/messaging/ui/conversation/ConversationMessageBubbleView.java
+++ b/src/com/android/messaging/ui/conversation/ConversationMessageBubbleView.java
@@ -95,15 +95,11 @@ public class ConversationMessageBubbleView extends LinearLayout {
         }
     }
 
-    public void bind() {
+    public void bind(QuickMessage quickMessage) {
         mShouldAnimateWidthChange = false;
         mMorphedWidth = 0;
     }
 
-    public void bind(QuickMessage quickMessage) {
-        bind();
-    }
-
     public void kickOffMorphAnimation(final int oldWidth, final int newWidth) {
         if (mAnimator != null) {
             mAnimator.setIntValues(mRunningStartWidth, newWidth);
diff --git a/src/com/android/messaging/ui/conversation/ConversationMessageView.java b/src/com/android/messaging/ui/conversation/ConversationMessageView.java
index de50184..4b61cdc 100644
--- a/src/com/android/messaging/ui/conversation/ConversationMessageView.java
+++ b/src/com/android/messaging/ui/conversation/ConversationMessageView.java
@@ -232,25 +232,6 @@ public class ConversationMessageView extends FrameLayout implements View.OnClick
                 contentTop + contentHeight);
     }
 
-    public void bindToSimMessages(final Cursor cursor, final String selectedMessageId) {
-        mData.bindToSimMessages(cursor);
-        setSelected(TextUtils.equals(mData.getMessageId(), selectedMessageId));
-        // Update text and image content for the view.
-        updateViewContent();
-
-        // Update colors and layout parameters for the view.
-        updateViewAppearance();
-
-        updateContentDescription();
-
-        //Necessary to remove bubble width animation
-        mMessageBubble.bind();
-        //SIM Messages don't save timestamp for outgoing messages
-        if(!mData.getIsIncoming()) {
-            mStatusTextView.setVisibility(View.GONE);
-        }
-    }
-
     /**
      * Fills in the data associated with this view.
      *
-- 
2.11.0



More information about the Replicant mailing list