From ccda8f00e169ae2db24de6e9295bd1b256bf30a8 Mon Sep 17 00:00:00 2001 From: aarne Date: Mon, 10 Mar 2014 18:04:43 +0000 Subject: [PATCH] android: added (1) dg icon (2) green/yellow/red colours for translation confidence (3) App grammars as test case in Translator.java --- src/ui/android/AndroidManifest.xml | 2 +- src/ui/android/res/drawable-hdpi/dg_short.png | Bin 0 -> 2811 bytes src/ui/android/res/drawable-mdpi/dg_short.png | Bin 0 -> 2811 bytes .../android/res/drawable-xhdpi/dg_short.png | Bin 0 -> 2811 bytes .../android/res/drawable-xxhdpi/dg_short.png | Bin 0 -> 2811 bytes .../drawable/first_person_utterance_bg.xml | 2 +- .../second_person_best_utterance_bg.xml | 6 ++++ .../second_person_chunk_utterance_bg.xml | 6 ++++ .../drawable/second_person_utterance_bg.xml | 2 +- .../layout/second_person_best_utterance.xml | 12 ++++++++ .../layout/second_person_chunk_utterance.xml | 12 ++++++++ .../ui/android/ConversationView.java | 29 ++++++++++++++++-- .../ui/android/MainActivity.java | 4 +-- .../ui/android/Translator.java | 19 ++++++------ 14 files changed, 77 insertions(+), 17 deletions(-) create mode 100644 src/ui/android/res/drawable-hdpi/dg_short.png create mode 100644 src/ui/android/res/drawable-mdpi/dg_short.png create mode 100644 src/ui/android/res/drawable-xhdpi/dg_short.png create mode 100644 src/ui/android/res/drawable-xxhdpi/dg_short.png create mode 100644 src/ui/android/res/drawable/second_person_best_utterance_bg.xml create mode 100644 src/ui/android/res/drawable/second_person_chunk_utterance_bg.xml create mode 100644 src/ui/android/res/layout/second_person_best_utterance.xml create mode 100644 src/ui/android/res/layout/second_person_chunk_utterance.xml diff --git a/src/ui/android/AndroidManifest.xml b/src/ui/android/AndroidManifest.xml index ab9dc4e7e..459ea601c 100644 --- a/src/ui/android/AndroidManifest.xml +++ b/src/ui/android/AndroidManifest.xml @@ -13,7 +13,7 @@ ;^x5wll_aBuHAx;`{GdZ)D1+GA{JF-DuAChtc6CGrxz8A}?D~_04Ywws;1&YpwG1sD5#TUs3HXYv{w>Wl8G6 zM`FJII&FF1^11c%xZ5ta@tIp^NrrYzTfJ`Xd6lV?my1oA=i7B@^A&IAE304n=}tU- zR!Hxl==XE4AIf%doPIm;-9Nu?%KNLj?_BIu@;{I#DqAc0gD3FJmF#WaBKz5Y|H$0V zcIUIqhs$OxOskou*Uk~DxOiOM)=$x%v+sh|YtgkFd)RFD+(^^ko*2(8abohr&^+l~ zN@)`}ubq@wbpD}!f8ln+|NMHhOTWB{ZI1XoXX(!59sHg5w7-Sy>$JbV^^430?+x+m zcX}q)v;OG+b*YA_LO$@z%1N~)_ny1Q$FCK+$99jk`eMOyZr|TorH0iq5*sgmRee3< zgtEo;(sZHCOT-)AhyB=cBl*R|6(@o-A0$3F=vBLFX8f$euxBlIPj8Nzd4@^3KV|>& zvrih>8|=5N-Lr!A>?JF6<3(bhyu-8e)~$5BwQg2qAopLRnbvXrCp2?+Pdzk6{xsjN zvW1eT#k`JPe5qEyHmxdM@YW61-Sfn6O_+c8(wh=CiOL)Hd#v=IvB}(yy%LnPZSev3 z7cMT!eqy>wS66yjFA11uH08)%H!~YmqZ2KyhfgOOD*0a$%DG!<+5h->OV1|py}FA6 zms%fRU$Fn=#t8f1n~Z^B_V2dxhBv2qpVT8V01uGRSZd5?c- zh?tdMz^6YBwHh6P=Wf22`gOMdU)!t=-r8T3{Vy1rM86eQU>D9PHNRxHJUiR|4WG>^ zw%tF@z1^3cUGk^!bMM{m+~Z~&@{Vmg^y9|*jksrx4Cv0Cnazjwasjq3IBiNbfgVl%F0&o@;M_B&Pm zMEvQLKYRXcvXR~(vNK+8^71EpKfK}mc9!R_>|TiyuFYA#TdQ?HvPhWltFp~yyM8R> zXv^vnvB=x=Coc;!J8|sB7v<$;F>{_y>#DGt*QM^!`M%r#$ni(UOxx$}`4RU+ZNoC= zum2_s8(3LA$kp*tJz@N4u2o@}>ldz)*%!{n*0J5^TjaUA?3&pr(eRt=SFP9NtU0yA zDE6v*yXaXH(eqC=%*uD{J=DEeWnZ&W-wVfkzxTP8-Q~%B7wyvi|B&_Tu#D&x!nJP& zzV4U0)%L-!=9%%LZuYOc_C9*P*y9P?#9*rp_kYX2^nP@=Wc$U6hVP;0)m^OR&87aY zGncZCSNbn@G4->3Btv0Ejq_sU_ zA9aHJwT$~OolV*_Yi0VDG>>gR%Z(1o33V>HeaPTainsgAJyQ*xuG(ZR{Hm3Gc!j3x zk=4)V-7nvN|NXnNy>)w+Z(koRwExMIIiG9m>-s0Z|6VQ8$tb^g!v=xl{qpWPIXbtt z<-T@am3Y!j`}^FverK(ZZex%t%$eEb(KT?)#%yGwL;*;^+M z4~}E~^6wL`zVK^fjM>k3M~^i|Z$V-5f>P}bX1Q4@=ci9%`taeQGmo?x&(EJfJG#4@ z@8%tE;S|2Gx4JyON^0(@Qx3boH&xdG$5i!|McPPWTlsy)*Vn_R zuViy&^zigNIMX=&%A0;EQ?HfJpFGhB2)()JQPKy|l?zN?H(auA=w-C6Zt$JSBPO^m zP1ez|VTQ`D=V}EHm0sN7yfFQALKk=7+{D@D>^aX$43=-!D!00Cz*A&3cglnb3j0^Y zDO*}b)+J>g?~{!y`FTj*Uak0|kdafIBD0?n8?S2dTdPOg^D;M075s6O$!L0w>#^*) zcYevnsTT*Qr7oIg^5p5$l?vjzQA;?NEnOPQ)iB@I-K{@k`{TyKBb)m(cKs9DaoY9S zFB79%am?XI%3`oi1t?(Wh&n6z>Fd^uHB)i@PBK8^b5 znz^$~oBy70yb+XE`7!(Rp;>0FwO7kGtc~Z5(P^;!;roNtY2DNrwXd$PpT8|f^gP3P z+o$*5Kb+esE}FTi)YD-5TZO}dPHy_P%a;Fj5E9dmTl4MLrKR4de|~zv#>%Ss>s_y8 zii^vni)&0j7C%3o`s(w+GdFzJ{hS~2(ur|G&}22=po49#t$`^iDwZ;QUS3{7TTUk* zU&)-7cPC`&K?iPwmjUl$D^H(2d-U7e+gFQgYHV(8&2E2lHQTW6r1^$k?}pmXZMSkh z|GKy~>sXBE<&zuC)#3sIre-vMIK4d}^E;Vxdx`esbl^<)F1z5Xe)&wf+x4zmp zL-`m(`Ma?2wM9Se_CBzvywd$#xZOq(H@mtoo za(`t#bpPMdt@|7{t&3Gye~T|rx#8;-@0j`R5tcn&EOYIGqwjCMwp`l$&e_Hj=Vs}8 zGw3X{FZd?&;#;n-;RF_|3Xh$u*A#4GGcb#*?aVm6&EeSUpNo8FHf$EWvB9D@eJ*$B zp}QHPZf^e%@=p8yLE8L8f!WuY{gLY%GKx1u8aLSYHNU^Telb5otA0FV)hCuOAKw(^ zFZZ8+Y;X1VJMTk%*XB$<;dSQ4&FMQb4zd)T5Q#hYZ@KKD&_vbMNAB&dUY#DPs~59l zg3k5{>Ji3Yt;m^UuUCzoaw&H+f@|3Alm!7e$_~1}teEJWwf@y^(r=;xS zknIQVObDDjo$b(7O8BYr-~T<|`;u~(8c`c{8j+2TcC&fLgnxFpowA;7zqx#0v?<*Aq%OdNMb zcyC)t7-gH@mtgtzQ#_DS?clfUwrL)1?d{p~RJz~7-|D`SJx zCd}N~nqqt)>%$=@qwuwA*FRi*by&fkPjBP>pHsD`uBtrekd?LS*!P*euL4TBx}}+p zcglR2yZh+ASj}nnvQxfIj!;w7-X{H8f^myTxpU;m5r>jf4}XdVOpLrI zz1E{<-n{wUq8nyi5NBAErY^8YTw9;^x5wll_aBuHAx;`{GdZ)D1+GA{JF-DuAChtc6CGrxz8A}?D~_04Ywws;1&YpwG1sD5#TUs3HXYv{w>Wl8G6 zM`FJII&FF1^11c%xZ5ta@tIp^NrrYzTfJ`Xd6lV?my1oA=i7B@^A&IAE304n=}tU- zR!Hxl==XE4AIf%doPIm;-9Nu?%KNLj?_BIu@;{I#DqAc0gD3FJmF#WaBKz5Y|H$0V zcIUIqhs$OxOskou*Uk~DxOiOM)=$x%v+sh|YtgkFd)RFD+(^^ko*2(8abohr&^+l~ zN@)`}ubq@wbpD}!f8ln+|NMHhOTWB{ZI1XoXX(!59sHg5w7-Sy>$JbV^^430?+x+m zcX}q)v;OG+b*YA_LO$@z%1N~)_ny1Q$FCK+$99jk`eMOyZr|TorH0iq5*sgmRee3< zgtEo;(sZHCOT-)AhyB=cBl*R|6(@o-A0$3F=vBLFX8f$euxBlIPj8Nzd4@^3KV|>& zvrih>8|=5N-Lr!A>?JF6<3(bhyu-8e)~$5BwQg2qAopLRnbvXrCp2?+Pdzk6{xsjN zvW1eT#k`JPe5qEyHmxdM@YW61-Sfn6O_+c8(wh=CiOL)Hd#v=IvB}(yy%LnPZSev3 z7cMT!eqy>wS66yjFA11uH08)%H!~YmqZ2KyhfgOOD*0a$%DG!<+5h->OV1|py}FA6 zms%fRU$Fn=#t8f1n~Z^B_V2dxhBv2qpVT8V01uGRSZd5?c- zh?tdMz^6YBwHh6P=Wf22`gOMdU)!t=-r8T3{Vy1rM86eQU>D9PHNRxHJUiR|4WG>^ zw%tF@z1^3cUGk^!bMM{m+~Z~&@{Vmg^y9|*jksrx4Cv0Cnazjwasjq3IBiNbfgVl%F0&o@;M_B&Pm zMEvQLKYRXcvXR~(vNK+8^71EpKfK}mc9!R_>|TiyuFYA#TdQ?HvPhWltFp~yyM8R> zXv^vnvB=x=Coc;!J8|sB7v<$;F>{_y>#DGt*QM^!`M%r#$ni(UOxx$}`4RU+ZNoC= zum2_s8(3LA$kp*tJz@N4u2o@}>ldz)*%!{n*0J5^TjaUA?3&pr(eRt=SFP9NtU0yA zDE6v*yXaXH(eqC=%*uD{J=DEeWnZ&W-wVfkzxTP8-Q~%B7wyvi|B&_Tu#D&x!nJP& zzV4U0)%L-!=9%%LZuYOc_C9*P*y9P?#9*rp_kYX2^nP@=Wc$U6hVP;0)m^OR&87aY zGncZCSNbn@G4->3Btv0Ejq_sU_ zA9aHJwT$~OolV*_Yi0VDG>>gR%Z(1o33V>HeaPTainsgAJyQ*xuG(ZR{Hm3Gc!j3x zk=4)V-7nvN|NXnNy>)w+Z(koRwExMIIiG9m>-s0Z|6VQ8$tb^g!v=xl{qpWPIXbtt z<-T@am3Y!j`}^FverK(ZZex%t%$eEb(KT?)#%yGwL;*;^+M z4~}E~^6wL`zVK^fjM>k3M~^i|Z$V-5f>P}bX1Q4@=ci9%`taeQGmo?x&(EJfJG#4@ z@8%tE;S|2Gx4JyON^0(@Qx3boH&xdG$5i!|McPPWTlsy)*Vn_R zuViy&^zigNIMX=&%A0;EQ?HfJpFGhB2)()JQPKy|l?zN?H(auA=w-C6Zt$JSBPO^m zP1ez|VTQ`D=V}EHm0sN7yfFQALKk=7+{D@D>^aX$43=-!D!00Cz*A&3cglnb3j0^Y zDO*}b)+J>g?~{!y`FTj*Uak0|kdafIBD0?n8?S2dTdPOg^D;M075s6O$!L0w>#^*) zcYevnsTT*Qr7oIg^5p5$l?vjzQA;?NEnOPQ)iB@I-K{@k`{TyKBb)m(cKs9DaoY9S zFB79%am?XI%3`oi1t?(Wh&n6z>Fd^uHB)i@PBK8^b5 znz^$~oBy70yb+XE`7!(Rp;>0FwO7kGtc~Z5(P^;!;roNtY2DNrwXd$PpT8|f^gP3P z+o$*5Kb+esE}FTi)YD-5TZO}dPHy_P%a;Fj5E9dmTl4MLrKR4de|~zv#>%Ss>s_y8 zii^vni)&0j7C%3o`s(w+GdFzJ{hS~2(ur|G&}22=po49#t$`^iDwZ;QUS3{7TTUk* zU&)-7cPC`&K?iPwmjUl$D^H(2d-U7e+gFQgYHV(8&2E2lHQTW6r1^$k?}pmXZMSkh z|GKy~>sXBE<&zuC)#3sIre-vMIK4d}^E;Vxdx`esbl^<)F1z5Xe)&wf+x4zmp zL-`m(`Ma?2wM9Se_CBzvywd$#xZOq(H@mtoo za(`t#bpPMdt@|7{t&3Gye~T|rx#8;-@0j`R5tcn&EOYIGqwjCMwp`l$&e_Hj=Vs}8 zGw3X{FZd?&;#;n-;RF_|3Xh$u*A#4GGcb#*?aVm6&EeSUpNo8FHf$EWvB9D@eJ*$B zp}QHPZf^e%@=p8yLE8L8f!WuY{gLY%GKx1u8aLSYHNU^Telb5otA0FV)hCuOAKw(^ zFZZ8+Y;X1VJMTk%*XB$<;dSQ4&FMQb4zd)T5Q#hYZ@KKD&_vbMNAB&dUY#DPs~59l zg3k5{>Ji3Yt;m^UuUCzoaw&H+f@|3Alm!7e$_~1}teEJWwf@y^(r=;xS zknIQVObDDjo$b(7O8BYr-~T<|`;u~(8c`c{8j+2TcC&fLgnxFpowA;7zqx#0v?<*Aq%OdNMb zcyC)t7-gH@mtgtzQ#_DS?clfUwrL)1?d{p~RJz~7-|D`SJx zCd}N~nqqt)>%$=@qwuwA*FRi*by&fkPjBP>pHsD`uBtrekd?LS*!P*euL4TBx}}+p zcglR2yZh+ASj}nnvQxfIj!;w7-X{H8f^myTxpU;m5r>jf4}XdVOpLrI zz1E{<-n{wUq8nyi5NBAErY^8YTw9;^x5wll_aBuHAx;`{GdZ)D1+GA{JF-DuAChtc6CGrxz8A}?D~_04Ywws;1&YpwG1sD5#TUs3HXYv{w>Wl8G6 zM`FJII&FF1^11c%xZ5ta@tIp^NrrYzTfJ`Xd6lV?my1oA=i7B@^A&IAE304n=}tU- zR!Hxl==XE4AIf%doPIm;-9Nu?%KNLj?_BIu@;{I#DqAc0gD3FJmF#WaBKz5Y|H$0V zcIUIqhs$OxOskou*Uk~DxOiOM)=$x%v+sh|YtgkFd)RFD+(^^ko*2(8abohr&^+l~ zN@)`}ubq@wbpD}!f8ln+|NMHhOTWB{ZI1XoXX(!59sHg5w7-Sy>$JbV^^430?+x+m zcX}q)v;OG+b*YA_LO$@z%1N~)_ny1Q$FCK+$99jk`eMOyZr|TorH0iq5*sgmRee3< zgtEo;(sZHCOT-)AhyB=cBl*R|6(@o-A0$3F=vBLFX8f$euxBlIPj8Nzd4@^3KV|>& zvrih>8|=5N-Lr!A>?JF6<3(bhyu-8e)~$5BwQg2qAopLRnbvXrCp2?+Pdzk6{xsjN zvW1eT#k`JPe5qEyHmxdM@YW61-Sfn6O_+c8(wh=CiOL)Hd#v=IvB}(yy%LnPZSev3 z7cMT!eqy>wS66yjFA11uH08)%H!~YmqZ2KyhfgOOD*0a$%DG!<+5h->OV1|py}FA6 zms%fRU$Fn=#t8f1n~Z^B_V2dxhBv2qpVT8V01uGRSZd5?c- zh?tdMz^6YBwHh6P=Wf22`gOMdU)!t=-r8T3{Vy1rM86eQU>D9PHNRxHJUiR|4WG>^ zw%tF@z1^3cUGk^!bMM{m+~Z~&@{Vmg^y9|*jksrx4Cv0Cnazjwasjq3IBiNbfgVl%F0&o@;M_B&Pm zMEvQLKYRXcvXR~(vNK+8^71EpKfK}mc9!R_>|TiyuFYA#TdQ?HvPhWltFp~yyM8R> zXv^vnvB=x=Coc;!J8|sB7v<$;F>{_y>#DGt*QM^!`M%r#$ni(UOxx$}`4RU+ZNoC= zum2_s8(3LA$kp*tJz@N4u2o@}>ldz)*%!{n*0J5^TjaUA?3&pr(eRt=SFP9NtU0yA zDE6v*yXaXH(eqC=%*uD{J=DEeWnZ&W-wVfkzxTP8-Q~%B7wyvi|B&_Tu#D&x!nJP& zzV4U0)%L-!=9%%LZuYOc_C9*P*y9P?#9*rp_kYX2^nP@=Wc$U6hVP;0)m^OR&87aY zGncZCSNbn@G4->3Btv0Ejq_sU_ zA9aHJwT$~OolV*_Yi0VDG>>gR%Z(1o33V>HeaPTainsgAJyQ*xuG(ZR{Hm3Gc!j3x zk=4)V-7nvN|NXnNy>)w+Z(koRwExMIIiG9m>-s0Z|6VQ8$tb^g!v=xl{qpWPIXbtt z<-T@am3Y!j`}^FverK(ZZex%t%$eEb(KT?)#%yGwL;*;^+M z4~}E~^6wL`zVK^fjM>k3M~^i|Z$V-5f>P}bX1Q4@=ci9%`taeQGmo?x&(EJfJG#4@ z@8%tE;S|2Gx4JyON^0(@Qx3boH&xdG$5i!|McPPWTlsy)*Vn_R zuViy&^zigNIMX=&%A0;EQ?HfJpFGhB2)()JQPKy|l?zN?H(auA=w-C6Zt$JSBPO^m zP1ez|VTQ`D=V}EHm0sN7yfFQALKk=7+{D@D>^aX$43=-!D!00Cz*A&3cglnb3j0^Y zDO*}b)+J>g?~{!y`FTj*Uak0|kdafIBD0?n8?S2dTdPOg^D;M075s6O$!L0w>#^*) zcYevnsTT*Qr7oIg^5p5$l?vjzQA;?NEnOPQ)iB@I-K{@k`{TyKBb)m(cKs9DaoY9S zFB79%am?XI%3`oi1t?(Wh&n6z>Fd^uHB)i@PBK8^b5 znz^$~oBy70yb+XE`7!(Rp;>0FwO7kGtc~Z5(P^;!;roNtY2DNrwXd$PpT8|f^gP3P z+o$*5Kb+esE}FTi)YD-5TZO}dPHy_P%a;Fj5E9dmTl4MLrKR4de|~zv#>%Ss>s_y8 zii^vni)&0j7C%3o`s(w+GdFzJ{hS~2(ur|G&}22=po49#t$`^iDwZ;QUS3{7TTUk* zU&)-7cPC`&K?iPwmjUl$D^H(2d-U7e+gFQgYHV(8&2E2lHQTW6r1^$k?}pmXZMSkh z|GKy~>sXBE<&zuC)#3sIre-vMIK4d}^E;Vxdx`esbl^<)F1z5Xe)&wf+x4zmp zL-`m(`Ma?2wM9Se_CBzvywd$#xZOq(H@mtoo za(`t#bpPMdt@|7{t&3Gye~T|rx#8;-@0j`R5tcn&EOYIGqwjCMwp`l$&e_Hj=Vs}8 zGw3X{FZd?&;#;n-;RF_|3Xh$u*A#4GGcb#*?aVm6&EeSUpNo8FHf$EWvB9D@eJ*$B zp}QHPZf^e%@=p8yLE8L8f!WuY{gLY%GKx1u8aLSYHNU^Telb5otA0FV)hCuOAKw(^ zFZZ8+Y;X1VJMTk%*XB$<;dSQ4&FMQb4zd)T5Q#hYZ@KKD&_vbMNAB&dUY#DPs~59l zg3k5{>Ji3Yt;m^UuUCzoaw&H+f@|3Alm!7e$_~1}teEJWwf@y^(r=;xS zknIQVObDDjo$b(7O8BYr-~T<|`;u~(8c`c{8j+2TcC&fLgnxFpowA;7zqx#0v?<*Aq%OdNMb zcyC)t7-gH@mtgtzQ#_DS?clfUwrL)1?d{p~RJz~7-|D`SJx zCd}N~nqqt)>%$=@qwuwA*FRi*by&fkPjBP>pHsD`uBtrekd?LS*!P*euL4TBx}}+p zcglR2yZh+ASj}nnvQxfIj!;w7-X{H8f^myTxpU;m5r>jf4}XdVOpLrI zz1E{<-n{wUq8nyi5NBAErY^8YTw9;^x5wll_aBuHAx;`{GdZ)D1+GA{JF-DuAChtc6CGrxz8A}?D~_04Ywws;1&YpwG1sD5#TUs3HXYv{w>Wl8G6 zM`FJII&FF1^11c%xZ5ta@tIp^NrrYzTfJ`Xd6lV?my1oA=i7B@^A&IAE304n=}tU- zR!Hxl==XE4AIf%doPIm;-9Nu?%KNLj?_BIu@;{I#DqAc0gD3FJmF#WaBKz5Y|H$0V zcIUIqhs$OxOskou*Uk~DxOiOM)=$x%v+sh|YtgkFd)RFD+(^^ko*2(8abohr&^+l~ zN@)`}ubq@wbpD}!f8ln+|NMHhOTWB{ZI1XoXX(!59sHg5w7-Sy>$JbV^^430?+x+m zcX}q)v;OG+b*YA_LO$@z%1N~)_ny1Q$FCK+$99jk`eMOyZr|TorH0iq5*sgmRee3< zgtEo;(sZHCOT-)AhyB=cBl*R|6(@o-A0$3F=vBLFX8f$euxBlIPj8Nzd4@^3KV|>& zvrih>8|=5N-Lr!A>?JF6<3(bhyu-8e)~$5BwQg2qAopLRnbvXrCp2?+Pdzk6{xsjN zvW1eT#k`JPe5qEyHmxdM@YW61-Sfn6O_+c8(wh=CiOL)Hd#v=IvB}(yy%LnPZSev3 z7cMT!eqy>wS66yjFA11uH08)%H!~YmqZ2KyhfgOOD*0a$%DG!<+5h->OV1|py}FA6 zms%fRU$Fn=#t8f1n~Z^B_V2dxhBv2qpVT8V01uGRSZd5?c- zh?tdMz^6YBwHh6P=Wf22`gOMdU)!t=-r8T3{Vy1rM86eQU>D9PHNRxHJUiR|4WG>^ zw%tF@z1^3cUGk^!bMM{m+~Z~&@{Vmg^y9|*jksrx4Cv0Cnazjwasjq3IBiNbfgVl%F0&o@;M_B&Pm zMEvQLKYRXcvXR~(vNK+8^71EpKfK}mc9!R_>|TiyuFYA#TdQ?HvPhWltFp~yyM8R> zXv^vnvB=x=Coc;!J8|sB7v<$;F>{_y>#DGt*QM^!`M%r#$ni(UOxx$}`4RU+ZNoC= zum2_s8(3LA$kp*tJz@N4u2o@}>ldz)*%!{n*0J5^TjaUA?3&pr(eRt=SFP9NtU0yA zDE6v*yXaXH(eqC=%*uD{J=DEeWnZ&W-wVfkzxTP8-Q~%B7wyvi|B&_Tu#D&x!nJP& zzV4U0)%L-!=9%%LZuYOc_C9*P*y9P?#9*rp_kYX2^nP@=Wc$U6hVP;0)m^OR&87aY zGncZCSNbn@G4->3Btv0Ejq_sU_ zA9aHJwT$~OolV*_Yi0VDG>>gR%Z(1o33V>HeaPTainsgAJyQ*xuG(ZR{Hm3Gc!j3x zk=4)V-7nvN|NXnNy>)w+Z(koRwExMIIiG9m>-s0Z|6VQ8$tb^g!v=xl{qpWPIXbtt z<-T@am3Y!j`}^FverK(ZZex%t%$eEb(KT?)#%yGwL;*;^+M z4~}E~^6wL`zVK^fjM>k3M~^i|Z$V-5f>P}bX1Q4@=ci9%`taeQGmo?x&(EJfJG#4@ z@8%tE;S|2Gx4JyON^0(@Qx3boH&xdG$5i!|McPPWTlsy)*Vn_R zuViy&^zigNIMX=&%A0;EQ?HfJpFGhB2)()JQPKy|l?zN?H(auA=w-C6Zt$JSBPO^m zP1ez|VTQ`D=V}EHm0sN7yfFQALKk=7+{D@D>^aX$43=-!D!00Cz*A&3cglnb3j0^Y zDO*}b)+J>g?~{!y`FTj*Uak0|kdafIBD0?n8?S2dTdPOg^D;M075s6O$!L0w>#^*) zcYevnsTT*Qr7oIg^5p5$l?vjzQA;?NEnOPQ)iB@I-K{@k`{TyKBb)m(cKs9DaoY9S zFB79%am?XI%3`oi1t?(Wh&n6z>Fd^uHB)i@PBK8^b5 znz^$~oBy70yb+XE`7!(Rp;>0FwO7kGtc~Z5(P^;!;roNtY2DNrwXd$PpT8|f^gP3P z+o$*5Kb+esE}FTi)YD-5TZO}dPHy_P%a;Fj5E9dmTl4MLrKR4de|~zv#>%Ss>s_y8 zii^vni)&0j7C%3o`s(w+GdFzJ{hS~2(ur|G&}22=po49#t$`^iDwZ;QUS3{7TTUk* zU&)-7cPC`&K?iPwmjUl$D^H(2d-U7e+gFQgYHV(8&2E2lHQTW6r1^$k?}pmXZMSkh z|GKy~>sXBE<&zuC)#3sIre-vMIK4d}^E;Vxdx`esbl^<)F1z5Xe)&wf+x4zmp zL-`m(`Ma?2wM9Se_CBzvywd$#xZOq(H@mtoo za(`t#bpPMdt@|7{t&3Gye~T|rx#8;-@0j`R5tcn&EOYIGqwjCMwp`l$&e_Hj=Vs}8 zGw3X{FZd?&;#;n-;RF_|3Xh$u*A#4GGcb#*?aVm6&EeSUpNo8FHf$EWvB9D@eJ*$B zp}QHPZf^e%@=p8yLE8L8f!WuY{gLY%GKx1u8aLSYHNU^Telb5otA0FV)hCuOAKw(^ zFZZ8+Y;X1VJMTk%*XB$<;dSQ4&FMQb4zd)T5Q#hYZ@KKD&_vbMNAB&dUY#DPs~59l zg3k5{>Ji3Yt;m^UuUCzoaw&H+f@|3Alm!7e$_~1}teEJWwf@y^(r=;xS zknIQVObDDjo$b(7O8BYr-~T<|`;u~(8c`c{8j+2TcC&fLgnxFpowA;7zqx#0v?<*Aq%OdNMb zcyC)t7-gH@mtgtzQ#_DS?clfUwrL)1?d{p~RJz~7-|D`SJx zCd}N~nqqt)>%$=@qwuwA*FRi*by&fkPjBP>pHsD`uBtrekd?LS*!P*euL4TBx}}+p zcglR2yZh+ASj}nnvQxfIj!;w7-X{H8f^myTxpU;m5r>jf4}XdVOpLrI zz1E{<-n{wUq8nyi5NBAErY^8YTw9 - + \ No newline at end of file diff --git a/src/ui/android/res/drawable/second_person_best_utterance_bg.xml b/src/ui/android/res/drawable/second_person_best_utterance_bg.xml new file mode 100644 index 000000000..9eb02aef1 --- /dev/null +++ b/src/ui/android/res/drawable/second_person_best_utterance_bg.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/src/ui/android/res/drawable/second_person_chunk_utterance_bg.xml b/src/ui/android/res/drawable/second_person_chunk_utterance_bg.xml new file mode 100644 index 000000000..d10d67122 --- /dev/null +++ b/src/ui/android/res/drawable/second_person_chunk_utterance_bg.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/src/ui/android/res/drawable/second_person_utterance_bg.xml b/src/ui/android/res/drawable/second_person_utterance_bg.xml index 4acf07c67..e07cc10b3 100644 --- a/src/ui/android/res/drawable/second_person_utterance_bg.xml +++ b/src/ui/android/res/drawable/second_person_utterance_bg.xml @@ -2,5 +2,5 @@ - + \ No newline at end of file diff --git a/src/ui/android/res/layout/second_person_best_utterance.xml b/src/ui/android/res/layout/second_person_best_utterance.xml new file mode 100644 index 000000000..58d2d76a8 --- /dev/null +++ b/src/ui/android/res/layout/second_person_best_utterance.xml @@ -0,0 +1,12 @@ + + diff --git a/src/ui/android/res/layout/second_person_chunk_utterance.xml b/src/ui/android/res/layout/second_person_chunk_utterance.xml new file mode 100644 index 000000000..6810f32da --- /dev/null +++ b/src/ui/android/res/layout/second_person_chunk_utterance.xml @@ -0,0 +1,12 @@ + + diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java b/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java index 9c046858b..96bcbabb9 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java @@ -94,9 +94,31 @@ public class ConversationView extends ScrollView { }); } - public void addSecondPersonUtterance(CharSequence text) { - TextView view = (TextView) - mInflater.inflate(R.layout.second_person_utterance, mContent, false); + public CharSequence addSecondPersonUtterance(CharSequence text) { + + // parse by chunks, marked by *, red colour + TextView view ; + if (text.charAt(0) == '*') { + view = (TextView) + mInflater.inflate(R.layout.second_person_chunk_utterance, mContent, false) ; + text = text.subSequence(2, text.length()) ; + } + // parse error or unknown translations (in []) present, red colour + else if (text.toString().contains("parse error:") || text.toString().contains("[")) { + view = (TextView) + mInflater.inflate(R.layout.second_person_chunk_utterance, mContent, false) ; + } + // parse by domain grammar, marked by +, green colour + else if (text.charAt(0) == '+') { + view = (TextView) + mInflater.inflate(R.layout.second_person_best_utterance, mContent, false) ; + text = text.subSequence(2, text.length()) ; + } + // parse by resource grammar, no mark, yellow colour + else + view = (TextView) + mInflater.inflate(R.layout.second_person_utterance, mContent, false); + view.setText(text); mContent.addView(view); post(new Runnable() { @@ -104,6 +126,7 @@ public class ConversationView extends ScrollView { fullScroll(FOCUS_DOWN); } }); + return text ; } public void updateLastUtterance(CharSequence text, Object lexicon) { diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java b/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java index f75f82cf4..2653b77ec 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java @@ -280,8 +280,8 @@ public class MainActivity extends Activity { private void outputText(String text) { if (DBG) Log.d(TAG, "Speaking: " + text); - mConversationView.addSecondPersonUtterance(text); - mTts.speak(getTargetLanguageCode(), text); + CharSequence text2 = mConversationView.addSecondPersonUtterance(text); + mTts.speak(getTargetLanguageCode(), text2.toString()); } private class SpeechInputListener implements ASR.Listener { diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java index 747942679..b7bb53199 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java @@ -29,7 +29,7 @@ public class Translator { private static final String TAG = "Translator"; - // /* + /* // old @@ -47,22 +47,22 @@ public class Translator { new Language("sv-SE", "Swedish", "ParseSwe", R.xml.qwerty), new Language("fi-FI", "Finnish", "ParseFin", R.xml.qwerty), }; - // */ + */ - /* + // /* // new // TODO: allow changing - private String mGrammar = "TransEngFinSwe.pgf"; + private String mGrammar = "App.pgf" ; // TODO: build dynamically? private Language[] mLanguages = { - new Language("en-US", "English", "NDTransEng", R.xml.qwerty), - // new Language("cmn-Hans-CN", "Chinese", "ParseChi", R.xml.qwerty), - new Language("sv-SE", "Swedish", "NDTransSwe", R.xml.qwerty), - new Language("fi-FI", "Finnish", "NDTransFin", R.xml.qwerty), + new Language("en-US", "English", "AppEng", R.xml.qwerty), + new Language("cmn-Hans-CN", "Chinese", "AppChi", R.xml.qwerty), + new Language("sv-SE", "Swedish", "AppSwe", R.xml.qwerty), + new Language("fi-FI", "Finnish", "AppFin", R.xml.qwerty), }; - */ + // */ private Context mContext; @@ -318,6 +318,7 @@ public class Translator { } public List lookupMorpho(String sentence) { + Log.e(TAG, "lookupMorpho " + getSourceConcr()); return getSourceConcr().lookupMorpho(sentence); }