From d0b880913624e7895bb8425f6ce01818e02e27ab Mon Sep 17 00:00:00 2001 From: Martin Johnson Date: Wed, 7 Mar 2012 17:10:50 +1300 Subject: [PATCH 01/48] Add settings for dual microphone and headset, Change-Id: I380ed0dca3f0ade89fca653c739f9ec90a3ecbcf --- res/values/strings.xml | 4 ++++ res/xml/sound_settings.xml | 10 ++++++++++ src/com/android/settings/SoundSettings.java | 18 ++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/res/values/strings.xml b/res/values/strings.xml index c3c615b10..65f4057b9 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1584,6 +1584,10 @@ alog [CHAR LIMIT=none] --> Audio settings for the attached dock + Use echo cancelling microphone + + Use headset microphone + Dial pad touch tones Touch sounds diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml index a61e0e11f..8223a5983 100644 --- a/res/xml/sound_settings.xml +++ b/res/xml/sound_settings.xml @@ -68,6 +68,16 @@ + + + + Date: Mon, 16 Jan 2012 02:39:40 +0000 Subject: [PATCH 02/48] Hide system updates menu. --- res/xml/device_info_settings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/res/xml/device_info_settings.xml b/res/xml/device_info_settings.xml index 93347c67c..3e72261e7 100644 --- a/res/xml/device_info_settings.xml +++ b/res/xml/device_info_settings.xml @@ -18,11 +18,11 @@ android:title="@string/about_settings"> - - + --> Date: Wed, 1 Feb 2012 20:28:52 +0000 Subject: [PATCH 03/48] Initial settings push, still need ic_grabber for xhdpi. Conflicts: res/values/arrays.xml res/xml/device_info_settings.xml Change-Id: I3d7c811e40ce6c9dd2eaffaf2359814456e0de0e --- AndroidManifest.xml | 7 + res/drawable-hdpi-finger/ic_grabber.png | Bin 0 -> 1158 bytes res/drawable-hdpi/ic_settings_cpu.png | Bin 0 -> 1343 bytes res/drawable-hdpi/ic_settings_system.png | Bin 0 -> 1083 bytes res/drawable-mdpi-finger/ic_grabber.png | Bin 0 -> 550 bytes res/drawable-mdpi/ic_settings_cpu.png | Bin 0 -> 800 bytes res/drawable-mdpi/ic_settings_system.png | Bin 0 -> 747 bytes res/drawable-xhdpi/ic_settings_cpu.png | Bin 0 -> 1719 bytes res/drawable-xhdpi/ic_settings_system.png | Bin 0 -> 1693 bytes .../order_power_widget_button_list_item.xml | 72 +++ .../order_power_widget_buttons_activity.xml | 32 ++ res/values/arrays.xml | 76 +++ res/values/colors.xml | 3 +- res/values/config.xml | 3 + res/values/dimens.xml | 5 + res/values/strings.xml | 79 +++ res/xml/cpu_settings.xml | 48 ++ res/xml/device_info_settings.xml | 14 +- res/xml/power_widget.xml | 70 +++ res/xml/power_widget_settings.xml | 74 +++ res/xml/settings_headers.xml | 18 + res/xml/system_settings.xml | 27 + src/com/android/settings/CPUSettings.java | 287 ++++++++++ src/com/android/settings/SystemSettings.java | 58 ++ .../android/settings/oxygen/CPUReceiver.java | 88 +++ .../android/settings/oxygen/PowerWidget.java | 520 ++++++++++++++++++ .../settings/oxygen/PowerWidgetEnabler.java | 64 +++ .../settings/oxygen/PowerWidgetUtil.java | 208 +++++++ .../android/settings/oxygen/SwitchWidget.java | 75 +++ .../settings/oxygen/TouchInterceptor.java | 358 ++++++++++++ 30 files changed, 2184 insertions(+), 2 deletions(-) create mode 100644 res/drawable-hdpi-finger/ic_grabber.png create mode 100644 res/drawable-hdpi/ic_settings_cpu.png create mode 100644 res/drawable-hdpi/ic_settings_system.png create mode 100644 res/drawable-mdpi-finger/ic_grabber.png create mode 100644 res/drawable-mdpi/ic_settings_cpu.png create mode 100644 res/drawable-mdpi/ic_settings_system.png create mode 100644 res/drawable-xhdpi/ic_settings_cpu.png create mode 100644 res/drawable-xhdpi/ic_settings_system.png create mode 100644 res/layout-finger/order_power_widget_button_list_item.xml create mode 100644 res/layout-finger/order_power_widget_buttons_activity.xml create mode 100644 res/xml/cpu_settings.xml create mode 100644 res/xml/power_widget.xml create mode 100644 res/xml/power_widget_settings.xml create mode 100644 res/xml/system_settings.xml create mode 100644 src/com/android/settings/CPUSettings.java create mode 100644 src/com/android/settings/SystemSettings.java create mode 100644 src/com/android/settings/oxygen/CPUReceiver.java create mode 100644 src/com/android/settings/oxygen/PowerWidget.java create mode 100644 src/com/android/settings/oxygen/PowerWidgetEnabler.java create mode 100644 src/com/android/settings/oxygen/PowerWidgetUtil.java create mode 100644 src/com/android/settings/oxygen/SwitchWidget.java create mode 100644 src/com/android/settings/oxygen/TouchInterceptor.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 9e369b4cb..e94e1e298 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -54,6 +54,7 @@ + + + + + + + diff --git a/res/drawable-hdpi-finger/ic_grabber.png b/res/drawable-hdpi-finger/ic_grabber.png new file mode 100644 index 0000000000000000000000000000000000000000..0ff8d1aa3f0c32f32f7ad9bcf451cf41b48a473f GIT binary patch literal 1158 zcmV;11bO?3P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iXfA z5gQ8~^DVCc00ag}L_t(&-tC&rOCw1bhksqw-PPR~^C65uLCD362WJ`g9*{jrOtRh# z%t;6+flQG2XE+xH87~VSR0u2cC+yy3WkC>z4Fm$~Ea(oTKkcsC%OuR~j84x?5}i!H z=c22geyjR@>ZPSdqk&Nmg6|+A$Otlmj36V(2=WU<{@MqutgPHCKp2@BdL~y_R|_M( zU5mxyi_6Q)UyH@!!AL?Di^Ug~WvywN2GcZ4!vq})WT8+vuqToo4{pJ7?{qV}0NM(eu2YlF1|{Cnph)$3X~z5CW7^BoYY#fDi)L z*Vj*Txm;3~oY0_a~O+9;htK zux&dBAoq#+;W!RF&-)p`LfCanVLJoo=jRy!e*x%D1kU;G50)e-iUP*i2Y~;}I2^}; z@B4QzRFWV`5VVzF=^5JI{y z=F0c|fBU{&=jP_F+U<5p)3oQZENAXR;Uq~y5Cj*l>sB^4HoSqH$?56omjGTqBzKK& zAra*Fe4lJI8ZpbVo^j55GO)b7Jlw1hVlu|IkB*K8D+Aq{HS7q20H$feb=}XBfzXg= zXJ?t&+1bYc;CUV#$LVXW3|lAP%D|Iyx%_BvZ|`-#Gue}YSS*Gh2!@_XN+~2s!p+Ui zmFIc=mx1~D`Kwl|RWc0YIi>X8WPo#i;W$pEQmG6^24-evA{mGvBgh9N1INe5AIQMc z($cU$J|<&qyU}P2zBACh+YMU=zN9k{8uIk?v?l|u>%w*2q1H-5NKXb#(|oeFw)SX$ zf4{#nz&U?IDedUGJ~lQs2G04d#v_CP=Nv&0AP9mx+a!b#P)b251tH{CU6drLw|hL# z8%$?lVPWB_*=&{!!}w%pKnMZXbzxZ+Y}0QMWx1E7ZYNLEG^ncjDhPtbK>-fDPHt{)wuBJxff7QXsw#9{hpMVgAw;%X zt^WN@%Rs$eZvx1ws@m3d9fo1RFbpupS^%=OTCF`2##67?n?i`JuIuf1JPyM!+HV0{ zBc*j)TU)OHEK*AU0I*oA)tV1d>%KN>wb})MA0j~?gzrYbf<}-LWCR&OMvxI?1Ud5Y YALFjLQqGP-B>(^b07*qoM6N<$f{=0qPx#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM00gf|L_t(&L+zMZXcku#$5pge(N?Jo3ZmFN zNWl#^T;o=%4^=9*iWbF%&^#z2xF8f4)RZc5d(!r?MQE!c7C~&qDx#t&1r?2&Xf-al z?^-qScZM_JX1G47xNlo*8_U_yR~Dq+RV|>@)*K+&^t_fk3Jyn5HDFh|@0x&)rDqUzb$@ z?HWWN5E%k?2NHflx6kL?%Y&;Sea26LsqZZaoVN$7!9AZK?W;<>lMti*Lm2tMiu{6J zuX+sxhvUF8hxlXqn?X09h_pe86@aeBHFOJUH?Pw`aPSF^egw}P@(1aE5p>MhcS*iED9ETb?tICn?B}=ukiP(HqDm&R&b|%qD=dDd93x+90RM9z9XCN7 z8szVwGs{@Tj_90IJIhUimI8(*V^GKo#>P}0c{0m^%(!$*$m_-61pXud-%gRGZ^|*Y zNcZC{+Wlh!m=TqI=Dh)1z!dN;nBib9?W&TDjW+cEQJ=q?1T6)OEmmU}Xy=9L%YH_7 zG|Ax&(Rsk!@xEQ!AA%j~^AC%kDR)*NG5~ZYNtUw>fH|dLM4%A30n~m4AhkrZ@gL4I z-WriLV_Zt2oRMb^2K&_KPBX)n0>)+oDWOvSGOCaUFbLT= z+G8B#GqyA0P|N#H=&K0&a){4r02?iSrW|8ZM*S)jTSh~+!jWJA*t#6tHtswPz$>HZ zeQy%96fp7?kO!GmlGq1XAb>d`I!9<^c=*u^W zwKV~q?GAZ!+c?jFe#||fzMj(VZuv?i$Ix^?quj-?eE)U`o6LA$a7Rfb+BWDmVa|Nu zy|(MzV)`E>B4{aLP_{(@@LsFc!AbfPLhAT>m6su}_K=DQxDR^XlUL_Sxn4)Rg~cmt zIfmsx|Lr(?O~06aS1~4c`sF~rrZOH{}=Dkzl_+Uv2!%SpEHW#F_k&^B(z1K%NzHK9)u$1X&)~hW-O*-Wds= zev@nxnG;={HpTfoaM2+ozgvEiEc;H7^`^fPRQ=hIAn0%4-Z3X+YGVW(G0SII``G#h#Jc@Tu`!NDTn;W_sHttXu36<5B=7a?ee9tT9t#qHY=aYqtaJ z0h_>B#&h$ds;-EK*@bj{x=Vef8AvmbW}u!k@D7f&#%-)}NMHZ}002ovPDHLkV1nXC BVG#fT literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/ic_settings_system.png b/res/drawable-hdpi/ic_settings_system.png new file mode 100644 index 0000000000000000000000000000000000000000..24ac4db27c8b569fa96403c5a28fbc49e85f9c96 GIT binary patch literal 1083 zcmV-B1jPG^P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM00XN@L_t(&L+zMdXis4r$JbD_Xys-l(k{HL zwU(h>sJV3Gt)$51rno>En`jb=h;c)-RwiOrUh+cG+RSvX0!Qx*K>6K zr!$`Of6o6u<(&F<&Uw!7_x=8UzvnzJ=j7xhM^b^L0!amu3j8Y-7#tiNCkzY>j2#Z1 z&4|Q|cs_xZfhAxK*b0t-25=g*8eHc*96TG@%TK5?d`rbIo!AmIL03Y213U-q;4AI1 zAMkb?e(Bsqpvoy3NM?guu}2z#5dAhVH*$}lF&)Pj5wtR9N*pgip>+~Ol7qu3+la93 z*K1{<*We>~3*Pyld$sGiXWJh^Skn{d@6Tp1}{$~x(p{ymKssrs+ zl)w+LAe|)e+vfE$*Y#OTKtc#tAo|H9ai8l+QIf#E9N#YE|CswJSxrDh(26eOdvg6Ys>uvbb#-Hl~m6^ z0QJ^wzSFA7?By^sZUs2-|e&&sgj`YPd%dNU^h1U zVA|!k=lTNe`DTKMHv!0x8RGMS!TE}3Q_ZsyZ)zMa32gOIQ*7*&bbEkrXg#1k-pw3@ zhk?EaQVzWaU?V!@WpK@9z}otva{wGo zI{_SPLMpA0@?kEP)}Y&QG0+MCbkqv>=y0z<%)6_xY(+&e0V!{OU{y}lEN zqEe|;L{XHUFU5~Hh6WsgtVVBxBF4DpMij9=HW&=d%wdd~>U26iw`US-u$rcQ{tuV0 of%!_Jou3M$!l*DG?N5LK0DsKc6u0x}KL7v#07*qoM6N<$g2#*j@&Et; literal 0 HcmV?d00001 diff --git a/res/drawable-mdpi/ic_settings_cpu.png b/res/drawable-mdpi/ic_settings_cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..a97d54e982a8c316e9e5fdb271b0f4ad13ec5f43 GIT binary patch literal 800 zcmV+*1K<3KP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM00NLnL_t(oN9~qRNL5h~#!Zk=)P*FNCXz;= zm5abc#YHY`BeW@sD1yKWTC@<`83-Z>DH4<|G!&%_BsZ<1S|kNYi)a%_D44bowWv_( z&wKsmF;9-ibFcU2Q%K&0k2`nn%zWROd*-~Cl9IfV9rzzR5Q#)`z!fkC#=#wMY|GaY zjYiWTx(YsFN4d{|6}5k24}#Jy5klc=@LI{{v9E)2FfBgg`hxE!$V!M13T1-!I01Gi z*ek`kH(BJXkGy*ej&Di?1uDTiU9}Xfju*t2&GSbu0fyi5vzty)hJaQx0Dm!94lsIs#KjIG z?s?!V7!K2cQWAcHd)DaH;Cle>%VyJ6ui1?FIxW!$@yRsxh7qujgzrM;mqaHTt-Y{@ zTsv?i^d^Kj7c7D&UIKV0qx!)(@z#;+9yqE3S^{@~gk2P$0Fz!x#GKlQTsv@11)L2m zKoh$)aTp;5)?N^SFZ6wvPnXVXCuO8d!V1VDDSnK~@BRhjbgNbJ+a9wo2ibte%yT~( ziriXlql}Rj8^S)IQ*hTVN{o!%B`~M)kGb#vXL4i3#T0s^MOPqr1NKPx#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM00LV{L_t(oN9~r)YZFlv#e+n}5aL3tiYuY5 zSTGU`g=n!cg*J#_|A3+vSAwoxxy!%M&@KupLbmEw3spqvs-+szWfzL#qSz=+toiVF z!=3U7nXgO~7c+3UZ{9oi-1F|tyd)9{udoCEdk31$X1vvEogt<`23!Yo%-!mQ%;JBj+2n9P$)+*qW zVw1QA)-}q#wN`P^DA*bx=>#HQtYpR|#t*;^#%VADP79bjN<2h7tTAD&DK9N~k}r?Z z(EQ5%$*v|?NP?#8Jac57win2hrDZ$uXxaRrJy-(XjWyTUJYbj)jbd> zm{*9fY^4{IR|mKrD*r3l+UBqKp%= zLwTWC8zLUjVh@!!Pi*@Q+yO0k452Ns4W5BA_zr41x1saDi0>(W!0J}d1`wGvL}n1$ zKO?M{s#}Ejf%(gU4ItG142gMdYlE?zczZU5W%p&}?lQik-J9s?D&p;8(q-d z|3rJ-?KEwlTwn#*{;}}WCDBp6tFFaO0!i|tG7av6JXi!pujCzK0;d1~002ovPDHLkV1nq!OmzSN literal 0 HcmV?d00001 diff --git a/res/drawable-xhdpi/ic_settings_cpu.png b/res/drawable-xhdpi/ic_settings_cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..aa61cf57fae8f84fc7704b849a4b5e2ae5278512 GIT binary patch literal 1719 zcmbVNc~BE)9NlmzhnAxj<>Hj4xXZJ@Lu z5vX`nN5-k6MXVs`c$A75+rosR7HX+dM4?KH1EW?vaHb61aM=Fg*qQFk?svWSe&;v4 zQxzAz&?CSD0Dy(DF=zrkMmS!#dGz-yeeNB4@TU|hR3ec{<*P{ykZFkw42;FqSy%$5 z))wS;VqpN_tkox_P$|j{5)FZK)D8^Cj2me-0EDeI8`YX@i~=*TEWJU>e01?L6Vz*^ z%w&NQRvP7)P9IZ9Vu^)uNt(iJjabWE8xDq9vy?flE1~C(ZHNg@ zL#S*ibH=F@r3#c2BnApNFk1tM!eA)EL3n(jP`C!~mB27K`!H#1 zq&8EMfJV*QqE}L;j-reb2+GgT=j8J^1epaPVzJnv!R4}P1lv?#pwwoz!4y2FfMO;M zsW(!3!T>rH)fq${C1ui{&V+y)mC9Gb2GeY!=#)WbwGl!%FoffdxTeu2Dgpb)jn|@0 zNd-m>O2AA+9;u=0kr_NkrgQgZLk=MAjU=Ab(?wC|poAt5#|%^~DrM3q9Iaj}5z1g$ z6i+BuAbg$zK@gcj!Ig;+aU@qHR&aT|IgQtGL%A?th{{ktpD#iX1x-?L6)+MB%ejIm zu0TA;jWw7kwLyc;+11l_XSwn>awT#SQ&R+)L=ZW19iY+?6k*a4Mo^w80F(6wEs<|> z6lW$@6eIQ9Fl`h`;NWz2CHmJ`7e@Y9)H7V||H&9cI|Dgd<6o^Zw?+4#WBRJ`>BXz7 zgBj@iLedwbyP1UmfYXCmRF-7^b!>}O`5o+ytLEF?`YeWsZ)688lvBFX8CkSjAXU2G zee-giFy;Vw%O2Aqx;`*G#&3*2<6=KOd1rgk^Ml9m{yuisz*q;%*W10^1$AOFc3T4X zi|b4^Aq{)1Avs4nq}*!j=mLC$b<584_>}dp{t7Dq*Qs2}A9?n~;g{{UwbPrIM|AiKM& z)%OeA&7W5`evnx|CUL_3N-S)}XaJ+Xc+h&+RN7v1ewo`y9y`q=b|D;NM7+3eso>miQKU8U|Scls;u^st~%pX-M#W1q1);g@kGxfQK4+i zzs<&pvtI8yY|&Jv5~Ts!sVwc(IiPLcb7`XNY8C@kJX|1a;J=&{47i6ckY}@VD_tn{_bbab zZP@I!WeMWv!m0EhZmx(Oy|=exS7$`~Mtt<-XSVUT8mrTS1SN+~hP8cLazQa+T~qDc zI25gkF*U6ik8m1ly1qDF3U#i7TCUlvk0tb`2HB3ki18Tm+y2Z}E6OTbS&-{85LWS1ZCX9&)0ey{!p0I5|?LJ1&fkmnPj$cWvA`U$jnO^cYFBXXX literal 0 HcmV?d00001 diff --git a/res/drawable-xhdpi/ic_settings_system.png b/res/drawable-xhdpi/ic_settings_system.png new file mode 100644 index 0000000000000000000000000000000000000000..15392485f785c87fdc56006de133f0d915d2aeeb GIT binary patch literal 1693 zcmaJ?c~BEq9Nus#h=_s+XmJ}V)M}F51PIv@AdF^)g$j*@deu@9OQ8%<6sZSV5QlmK)`Mt7xEyDpZ+i z&1et+Sc6z}EEy|XfhcheQ(?g{4H_NA27sUtgHEALK}j$HO~SN%`rwa0(?Lwdr^ooq zAek-92x{l|_MJIDvxxOo*X`0w6E|X2KjlE| z_0gF+lqE;?csik^8kgv8aiv4T2vkAhL^O`4PE;{Ujgz=ujqAX$)&5`%rd8n?`Z2Uj zhJIf2xH4UX zYRL(%>NPiPO0H!PG&;(&5GAlps7g%W8gMLO1e-b*-jsUdT-DUE2&Uw+s9;!@w*ITl z6GznSSeBDROKm2{9@SE_PEbQ_D9Yqgcf}=KD2O&(y}y1W?JnfFGVmoHV90dwTQL-$ zN9Ov>Hwv!V$LASo*MS>0zuQZE)$h`F4GP9y*ou(aGZE#U{74f~I4GWp;|H4f3|2w>HGQ zs2w_eygbVaNU59E(OdBRt5sqw-v*$C0?t4wU6*^Ozek>z9jx4HW(9K5@VuFsfl9Z{ zk>B)64-0B8RJw0(H~Mz$Ei-Nee(PcEZjAfT271|4`;&d5N7)Q@T2Fj8@}T+8gX_A8 zwYkd3kTng`%eCj9)t5Z&sj=T&qImRqg7r@K_iimYeZec+kUp5Fc)rNDT{$4B+DLPc zJJ)imt4?domLlr9ikdThrOx{gIvLnjyV{E{-#5p&C!J$%tL{@Xa0qxxYjR6^X zvqi4`q3~I38;+;=K&^9oTDLpTh+r zPUbj?W|io+nsfR+D+V3Eo&{vOx?LZ&0Xk=|mH0hyj@m~vjY`E^SY7>}1m0SO4Ghfy zOercwpeA_DYj;ZWh}; zY!`Esw>{WZQI8H?C>vdr*g0BhXFA+E%#`^jZ$zv9^4Wi)`HBZ14T1fMhYPJsgEjZM xoFA_l?M`3OZ+q5R;$`Pn + + + + + + + + + + + + + + + + + + + diff --git a/res/layout-finger/order_power_widget_buttons_activity.xml b/res/layout-finger/order_power_widget_buttons_activity.xml new file mode 100644 index 000000000..6d421fd33 --- /dev/null +++ b/res/layout-finger/order_power_widget_buttons_activity.xml @@ -0,0 +1,32 @@ + + + + + + + + diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 96be4171a..19138b9dc 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -748,5 +748,81 @@ 1 2 + + + + @string/cm_brightness_mode_auto + @string/cm_brightness_mode_dim + 25% + 50% + 75% + 100% + + + + 0 + 1 + 2 + 3 + 4 + 5 + + + + 2G/3G+2G + 2G/3G Only + 2G/3G Only/3G+2G + + + + 0 + 1 + 2 + + + + 15s/1m/5m + 30s/2m/5m + + + + 0 + 1 + + + + @string/cm_sound_mode_silent + @string/cm_sound_mode_vibrate + @string/cm_sound_mode_sound + @string/cm_sound_mode_soundVibrate + + + + 0 + 1 + 2 + 3 + + + + Normal + High / Death Ray + + + + 0 + 1 + + + + Global Settings + On + Off + + + + 2 + 1 + 0 diff --git a/res/values/colors.xml b/res/values/colors.xml index 2bba93767..955420b16 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -32,4 +32,5 @@ #20ffffff @android:color/holo_blue_light - \ No newline at end of file + #e0103010 + diff --git a/res/values/config.xml b/res/values/config.xml index 4119b6a06..05f93c785 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -22,4 +22,7 @@ + + true + diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 9649ed3ac..8d4e56f4a 100755 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -34,4 +34,9 @@ 8dip 100sp + + + 64dip + + 128dip diff --git a/res/values/strings.xml b/res/values/strings.xml index 65f4057b9..43e430950 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -27,6 +27,8 @@ WIRELESS & NETWORKS + + OXYGEN DEVICE @@ -3896,4 +3898,81 @@ found in the list of installed apps. "system_update_settings_list_item_title" in this project. [CHAR LIMIT=25] --> Additional system updates + + CPU + Proceed with Caution + These settings are included for experimentation and any changes made to them have the potential to cause instability, crashes, data loss or hardware failures.\n\nWe request you do not file bug reports if any of these settings have been changed from the defaults. + Current CPU frequency + CPU governor + %S + Minimum CPU frequency + %s + Maximum CPU frequency + %s + Set on boot + Restore the processor settings on boot + + + System + System interface + + + Notification drawer + + + Power widget + Show power widget + Show the power widget in the notification drawer + Hide on change + Hide the notification drawer after toggling a widget button + Hide indicator + Hide the power widget indicators + Hide scrollbar + Hide the scrollbar when more than the maximum number of widget buttons are present + Widget buttons + Select which buttons to display in the power widget + Widget button order + Select the order of the buttons in the power widget + Buttons + Toggle Wifi + Toggle Bluetooth + Toggle GPS + Toggle Sound + Toggle Brightness + Toggle Sync + Toggle Wifi AP + Toggle Screentimeout + Toggle Mobiledata + Toggle Lockscreen + Toggle 2G/3G + Toggle Orientation + Toggle Airplane mode + Toggle LED flashlight + Go to sleep + Media: Toggle Play/Pause + Media: Skip to Previous + Media: Skip to Next + Toggle WiMAX + Button modes + Brightness modes + Choose how the brightness button changes modes + Auto + Dim + Network modes + Choose how the NetworkMode button changes modes + Screentimeout modes + Choose how the Screentimeout button changes modes + Sound modes + Choose how the sound button changes modes + Silent + Vibrate + Sound + Sound+Vibrate + Flash mode + Choose High / Death Ray + + + Haptic Feedback + Enable/Disable haptic feedback. + diff --git a/res/xml/cpu_settings.xml b/res/xml/cpu_settings.xml new file mode 100644 index 000000000..9b609db8a --- /dev/null +++ b/res/xml/cpu_settings.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + diff --git a/res/xml/device_info_settings.xml b/res/xml/device_info_settings.xml index 3e72261e7..a603bce5a 100644 --- a/res/xml/device_info_settings.xml +++ b/res/xml/device_info_settings.xml @@ -100,7 +100,7 @@ style="?android:preferenceInformationStyle" android:title="@string/firmware_version" android:summary="@string/device_info_default"/> - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/xml/power_widget_settings.xml b/res/xml/power_widget_settings.xml new file mode 100644 index 000000000..3000304ba --- /dev/null +++ b/res/xml/power_widget_settings.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/xml/settings_headers.xml b/res/xml/settings_headers.xml index 50b30866b..62d97950e 100644 --- a/res/xml/settings_headers.xml +++ b/res/xml/settings_headers.xml @@ -114,6 +114,24 @@ + +
+ + +
+ + +
+ +
diff --git a/res/xml/system_settings.xml b/res/xml/system_settings.xml new file mode 100644 index 000000000..c19046e53 --- /dev/null +++ b/res/xml/system_settings.xml @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/src/com/android/settings/CPUSettings.java b/src/com/android/settings/CPUSettings.java new file mode 100644 index 000000000..1f47c59c4 --- /dev/null +++ b/src/com/android/settings/CPUSettings.java @@ -0,0 +1,287 @@ +/* + * Copyright (C) 2012 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.settings; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; + +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.preference.ListPreference; +import android.preference.Preference; +import android.preference.PreferenceScreen; +import android.util.Log; + +import com.android.settings.SettingsPreferenceFragment; + +// +// CPU Related Settings +// +public class CPUSettings extends SettingsPreferenceFragment implements + Preference.OnPreferenceChangeListener { + + public static final String FREQ_CUR_PREF = "pref_cpu_freq_cur"; + public static final String FREQ_CUR_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"; + public static final String GOV_PREF = "pref_cpu_gov"; + public static final String GOV_LIST_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors"; + public static final String GOV_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"; + public static final String FREQ_MIN_PREF = "pref_cpu_freq_min"; + public static final String FREQ_MAX_PREF = "pref_cpu_freq_max"; + public static final String FREQ_LIST_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies"; + public static final String FREQ_MAX_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq"; + public static final String FREQ_MIN_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq"; + public static final String SOB_PREF = "pref_cpu_set_on_boot"; + + private static final String TAG = "CPUSettings"; + + private String mGovernorFormat; + private String mMinFrequencyFormat; + private String mMaxFrequencyFormat; + + private Preference mCurFrequencyPref; + private ListPreference mGovernorPref; + private ListPreference mMinFrequencyPref; + private ListPreference mMaxFrequencyPref; + + private AlertDialog alertDialog; + + private class CurCPUThread extends Thread { + private boolean mInterrupt = false; + + public void interrupt() { + mInterrupt = true; + } + + @Override + public void run() { + try { + while (!mInterrupt) { + sleep(500); + final String curFreq = readOneLine(FREQ_CUR_FILE); + mCurCPUHandler.sendMessage(mCurCPUHandler.obtainMessage(0, curFreq)); + } + } catch (InterruptedException e) { + } + } + }; + + private CurCPUThread mCurCPUThread = new CurCPUThread(); + + private Handler mCurCPUHandler = new Handler() { + public void handleMessage(Message msg) { + mCurFrequencyPref.setSummary(toMHz((String) msg.obj)); + } + }; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + mGovernorFormat = getString(R.string.cpu_governors_summary); + mMinFrequencyFormat = getString(R.string.cpu_min_freq_summary); + mMaxFrequencyFormat = getString(R.string.cpu_max_freq_summary); + + String[] availableGovernors = readOneLine(GOV_LIST_FILE).split(" "); + String[] availableFrequencies = new String[0]; + String availableFrequenciesLine = readOneLine(FREQ_LIST_FILE); + if (availableFrequenciesLine != null) + availableFrequencies = availableFrequenciesLine.split(" "); + String[] frequencies; + String temp; + + frequencies = new String[availableFrequencies.length]; + for (int i = 0; i < frequencies.length; i++) { + frequencies[i] = toMHz(availableFrequencies[i]); + } + + addPreferencesFromResource(R.xml.cpu_settings); + + PreferenceScreen prefScreen = getPreferenceScreen(); + + // Governer + temp = readOneLine(GOV_FILE); + + mGovernorPref = (ListPreference) prefScreen.findPreference(GOV_PREF); + mGovernorPref.setEntryValues(availableGovernors); + mGovernorPref.setEntries(availableGovernors); + mGovernorPref.setValue(temp); + mGovernorPref.setSummary(String.format(mGovernorFormat, temp)); + mGovernorPref.setOnPreferenceChangeListener(this); + + // Some systems might not use governors + if (temp == null) { + prefScreen.removePreference(mGovernorPref); + } + + // Cur frequency + temp = readOneLine(FREQ_CUR_FILE); + + mCurFrequencyPref = (Preference) prefScreen.findPreference(FREQ_CUR_PREF); + mCurFrequencyPref.setSummary(toMHz(temp)); + + // Min frequency + temp = readOneLine(FREQ_MIN_FILE); + + mMinFrequencyPref = (ListPreference) prefScreen.findPreference(FREQ_MIN_PREF); + mMinFrequencyPref.setEntryValues(availableFrequencies); + mMinFrequencyPref.setEntries(frequencies); + mMinFrequencyPref.setValue(temp); + mMinFrequencyPref.setSummary(String.format(mMinFrequencyFormat, toMHz(temp))); + mMinFrequencyPref.setOnPreferenceChangeListener(this); + + if (temp == null) { + prefScreen.removePreference(mMinFrequencyPref); + } + + // Max frequency + temp = readOneLine(FREQ_MAX_FILE); + + mMaxFrequencyPref = (ListPreference) prefScreen.findPreference(FREQ_MAX_PREF); + mMaxFrequencyPref.setEntryValues(availableFrequencies); + mMaxFrequencyPref.setEntries(frequencies); + mMaxFrequencyPref.setValue(temp); + mMaxFrequencyPref.setSummary(String.format(mMaxFrequencyFormat, toMHz(temp))); + mMaxFrequencyPref.setOnPreferenceChangeListener(this); + + if (temp == null) { + prefScreen.removePreference(mMaxFrequencyPref); + } + + // Disable the min/max list if we dont have a list file + if (availableFrequenciesLine == null) { + mMinFrequencyPref.setEnabled(false); + mMaxFrequencyPref.setEnabled(false); + } + + mCurCPUThread.start(); + + /* Display the warning dialog */ + alertDialog = new AlertDialog.Builder(getActivity()).create(); + alertDialog.setTitle(R.string.cpu_settings_warning_title); + alertDialog.setMessage(getResources().getString(R.string.cpu_settings_warning)); + alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, + getResources().getString(com.android.internal.R.string.ok), + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + return; + } + }); + + alertDialog.show(); + } + + @Override + public void onResume() { + String temp; + + super.onResume(); + + temp = readOneLine(FREQ_MAX_FILE); + mMaxFrequencyPref.setValue(temp); + mMaxFrequencyPref.setSummary(String.format(mMaxFrequencyFormat, toMHz(temp))); + + temp = readOneLine(FREQ_MIN_FILE); + mMinFrequencyPref.setValue(temp); + mMinFrequencyPref.setSummary(String.format(mMinFrequencyFormat, toMHz(temp))); + + temp = readOneLine(GOV_FILE); + mGovernorPref.setSummary(String.format(mGovernorFormat, temp)); + } + + @Override + public void onDestroy() { + super.onDestroy(); + mCurCPUThread.interrupt(); + try { + mCurCPUThread.join(); + } catch (InterruptedException e) { + } + } + + public boolean onPreferenceChange(Preference preference, Object newValue) { + String fname = ""; + + if (newValue != null) { + if (preference == mGovernorPref) { + fname = GOV_FILE; + } else if (preference == mMinFrequencyPref) { + fname = FREQ_MIN_FILE; + } else if (preference == mMaxFrequencyPref) { + fname = FREQ_MAX_FILE; + } + + if (writeOneLine(fname, (String) newValue)) { + if (preference == mGovernorPref) { + mGovernorPref.setSummary(String.format(mGovernorFormat, (String) newValue)); + } else if (preference == mMinFrequencyPref) { + mMinFrequencyPref.setSummary(String.format(mMinFrequencyFormat, + toMHz((String) newValue))); + } else if (preference == mMaxFrequencyPref) { + mMaxFrequencyPref.setSummary(String.format(mMaxFrequencyFormat, + toMHz((String) newValue))); + } + return true; + } else { + return false; + } + } + return false; + } + + public static String readOneLine(String fname) { + BufferedReader br; + String line = null; + + try { + br = new BufferedReader(new FileReader(fname), 512); + try { + line = br.readLine(); + } finally { + br.close(); + } + } catch (Exception e) { + Log.e(TAG, "IO Exception when reading /sys/ file", e); + } + return line; + } + + public static boolean writeOneLine(String fname, String value) { + try { + FileWriter fw = new FileWriter(fname); + try { + fw.write(value); + } finally { + fw.close(); + } + } catch (IOException e) { + String Error = "Error writing to " + fname + ". Exception: "; + Log.e(TAG, Error, e); + return false; + } + return true; + } + + private String toMHz(String mhzString) { + return new StringBuilder().append(Integer.valueOf(mhzString) / 1000).append(" MHz") + .toString(); + } +} diff --git a/src/com/android/settings/SystemSettings.java b/src/com/android/settings/SystemSettings.java new file mode 100644 index 000000000..b44f9365b --- /dev/null +++ b/src/com/android/settings/SystemSettings.java @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2012 CyanogenMod + * + * 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.settings; + +import android.app.ActivityManagerNative; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.RemoteException; +import android.preference.ListPreference; +import android.preference.Preference; +import android.preference.PreferenceScreen; +import android.util.Log; + +public class SystemSettings extends SettingsPreferenceFragment implements + Preference.OnPreferenceChangeListener { + private static final String TAG = "SystemSettings"; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + addPreferencesFromResource(R.xml.system_settings); + } + + @Override + public void onResume() { + super.onResume(); + } + + @Override + public void onPause() { + super.onPause(); + } + + @Override + public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { + return super.onPreferenceTreeClick(preferenceScreen, preference); + } + + public boolean onPreferenceChange(Preference preference, Object objValue) { + return true; + } +} diff --git a/src/com/android/settings/oxygen/CPUReceiver.java b/src/com/android/settings/oxygen/CPUReceiver.java new file mode 100644 index 000000000..ad4734b07 --- /dev/null +++ b/src/com/android/settings/oxygen/CPUReceiver.java @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2012 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.settings.oxygen; + +import com.android.settings.CPUSettings; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.SystemProperties; +import android.preference.PreferenceManager; +import android.util.Log; + +import java.util.Arrays; +import java.util.List; + +public class CPUReceiver extends BroadcastReceiver { + + private static final String TAG = "CPUSettings"; + + private static final String CPU_SETTINGS_PROP = "sys.cpufreq.restored"; + + @Override + public void onReceive(Context ctx, Intent intent) { + if (SystemProperties.getBoolean(CPU_SETTINGS_PROP, false) == false + && intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { + SystemProperties.set(CPU_SETTINGS_PROP, "true"); + configureCPU(ctx); + } else { + SystemProperties.set(CPU_SETTINGS_PROP, "false"); + } + } + + private void configureCPU(Context ctx) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); + + if (prefs.getBoolean(CPUSettings.SOB_PREF, false) == false) { + Log.i(TAG, "Restore disabled by user preference."); + return; + } + + String governor = prefs.getString(CPUSettings.GOV_PREF, null); + String minFrequency = prefs.getString(CPUSettings.FREQ_MIN_PREF, null); + String maxFrequency = prefs.getString(CPUSettings.FREQ_MAX_PREF, null); + String availableFrequenciesLine = CPUSettings.readOneLine(CPUSettings.FREQ_LIST_FILE); + String availableGovernorsLine = CPUSettings.readOneLine(CPUSettings.GOV_LIST_FILE); + boolean noSettings = ((availableGovernorsLine == null) || (governor == null)) && + ((availableFrequenciesLine == null) || ((minFrequency == null) && (maxFrequency == null))); + List frequencies = null; + List governors = null; + + if (noSettings) { + Log.d(TAG, "No settings saved. Nothing to restore."); + } else { + if (availableGovernorsLine != null){ + governors = Arrays.asList(availableGovernorsLine.split(" ")); + } + if (availableFrequenciesLine != null){ + frequencies = Arrays.asList(availableFrequenciesLine.split(" ")); + } + if (governor != null && governors != null && governors.contains(governor)) { + CPUSettings.writeOneLine(CPUSettings.GOV_FILE, governor); + } + if (maxFrequency != null && frequencies != null && frequencies.contains(maxFrequency)) { + CPUSettings.writeOneLine(CPUSettings.FREQ_MAX_FILE, maxFrequency); + } + if (minFrequency != null && frequencies != null && frequencies.contains(minFrequency)) { + CPUSettings.writeOneLine(CPUSettings.FREQ_MIN_FILE, minFrequency); + } + Log.d(TAG, "CPU settings restored."); + } + } +} diff --git a/src/com/android/settings/oxygen/PowerWidget.java b/src/com/android/settings/oxygen/PowerWidget.java new file mode 100644 index 000000000..980fdde50 --- /dev/null +++ b/src/com/android/settings/oxygen/PowerWidget.java @@ -0,0 +1,520 @@ +/* + * Copyright (C) 2011 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.settings.oxygen; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +import android.app.ListFragment; +import android.content.Context; +import android.content.pm.PackageManager; +import android.content.res.Resources; +import android.graphics.drawable.Drawable; +import android.os.Bundle; +import android.preference.CheckBoxPreference; +import android.preference.ListPreference; +import android.preference.ListPreferenceMultiSelect; +import android.preference.Preference; +import android.preference.PreferenceCategory; +import android.preference.PreferenceScreen; +import android.provider.Settings; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.TextView; + +import com.android.internal.telephony.Phone; +import com.android.settings.R; +import com.android.settings.SettingsPreferenceFragment; + +public class PowerWidget extends SettingsPreferenceFragment implements + Preference.OnPreferenceChangeListener { + private static final String TAG = "PowerWidget"; + + private static final String UI_EXP_WIDGET = "expanded_widget"; + + private static final String UI_EXP_WIDGET_HIDE_ONCHANGE = "expanded_hide_onchange"; + + private static final String UI_EXP_WIDGET_HIDE_INDICATOR = "expanded_hide_indicator"; + + private static final String UI_EXP_WIDGET_HIDE_SCROLLBAR = "expanded_hide_scrollbar"; + + private static final String UI_EXP_WIDGET_HAPTIC_FEEDBACK = "expanded_haptic_feedback"; + + private static final String UI_EXP_WIDGET_PICKER = "widget_picker"; + + private static final String UI_EXP_WIDGET_ORDER = "widget_order"; + + private CheckBoxPreference mPowerWidget; + + private CheckBoxPreference mPowerWidgetHideOnChange; + + private CheckBoxPreference mPowerWidgetIndicatorHide; + + private CheckBoxPreference mPowerWidgetHideScrollBar; + + private ListPreference mPowerWidgetHapticFeedback; + + private PreferenceScreen mPowerPicker; + + private PreferenceScreen mPowerOrder; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + if (getPreferenceManager() != null) { + addPreferencesFromResource(R.xml.power_widget_settings); + + PreferenceScreen prefSet = getPreferenceScreen(); + + mPowerWidget = (CheckBoxPreference) prefSet.findPreference(UI_EXP_WIDGET); + mPowerWidgetHideOnChange = (CheckBoxPreference) prefSet + .findPreference(UI_EXP_WIDGET_HIDE_ONCHANGE); + mPowerWidgetHideScrollBar = (CheckBoxPreference) prefSet + .findPreference(UI_EXP_WIDGET_HIDE_SCROLLBAR); + mPowerWidgetIndicatorHide = (CheckBoxPreference) prefSet + .findPreference(UI_EXP_WIDGET_HIDE_INDICATOR); + mPowerWidgetHapticFeedback = (ListPreference) prefSet + .findPreference(UI_EXP_WIDGET_HAPTIC_FEEDBACK); + mPowerWidgetHapticFeedback.setOnPreferenceChangeListener(this); + + mPowerPicker = (PreferenceScreen) prefSet.findPreference(UI_EXP_WIDGET_PICKER); + mPowerOrder = (PreferenceScreen) prefSet.findPreference(UI_EXP_WIDGET_ORDER); + + mPowerWidget.setChecked((Settings.System.getInt(getActivity().getApplicationContext() + .getContentResolver(), + Settings.System.EXPANDED_VIEW_WIDGET, 1) == 1)); + mPowerWidgetHideOnChange.setChecked((Settings.System.getInt(getActivity() + .getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_HIDE_ONCHANGE, 0) == 1)); + mPowerWidgetHideScrollBar.setChecked((Settings.System.getInt(getActivity() + .getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_HIDE_SCROLLBAR, 0) == 1)); + mPowerWidgetIndicatorHide.setChecked((Settings.System.getInt(getActivity() + .getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_HIDE_INDICATOR, 0) == 1)); + mPowerWidgetHapticFeedback.setValue(Integer.toString(Settings.System.getInt( + getActivity().getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_HAPTIC_FEEDBACK, 2))); + } + } + + public boolean onPreferenceChange(Preference preference, Object newValue) { + if (preference == mPowerWidgetHapticFeedback) { + int intValue = Integer.parseInt((String) newValue); + Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_HAPTIC_FEEDBACK, intValue); + return true; + } + return false; + } + + public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { + boolean value; + + if (preference == mPowerPicker) { + startFragment(null, mPowerPicker.getFragment(), -1, null); + } + + if (preference == mPowerOrder) { + startFragment(null, mPowerOrder.getFragment(), -1, null); + } + + if (preference == mPowerWidget) { + value = mPowerWidget.isChecked(); + Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_VIEW_WIDGET, + value ? 1 : 0); + } + if (preference == mPowerWidgetHideOnChange) { + value = mPowerWidgetHideOnChange.isChecked(); + Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_HIDE_ONCHANGE, + value ? 1 : 0); + } + if (preference == mPowerWidgetHideScrollBar) { + value = mPowerWidgetHideScrollBar.isChecked(); + Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_HIDE_SCROLLBAR, + value ? 1 : 0); + } + if (preference == mPowerWidgetIndicatorHide) { + value = mPowerWidgetIndicatorHide.isChecked(); + Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_HIDE_INDICATOR, + value ? 1 : 0); + } + return true; + } + + public static class PowerWidgetChooser extends SettingsPreferenceFragment + implements Preference.OnPreferenceChangeListener { + + public PowerWidgetChooser() { + } + + private static final String TAG = "PowerWidgetActivity"; + + private static final String BUTTONS_CATEGORY = "pref_buttons"; + private static final String SELECT_BUTTON_KEY_PREFIX = "pref_button_"; + + private static final String EXP_BRIGHTNESS_MODE = "pref_brightness_mode"; + private static final String EXP_NETWORK_MODE = "pref_network_mode"; + private static final String EXP_SCREENTIMEOUT_MODE = "pref_screentimeout_mode"; + private static final String EXP_RING_MODE = "pref_ring_mode"; + private static final String EXP_FLASH_MODE = "pref_flash_mode"; + + private HashMap mCheckBoxPrefs = new HashMap(); + + ListPreferenceMultiSelect mBrightnessMode; + ListPreference mNetworkMode; + ListPreference mScreentimeoutMode; + ListPreferenceMultiSelect mRingMode; + ListPreference mFlashMode; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + addPreferencesFromResource(R.xml.power_widget); + + PreferenceScreen prefSet = getPreferenceScreen(); + + if (getActivity().getApplicationContext() == null) { + return; + } + + mBrightnessMode = (ListPreferenceMultiSelect) prefSet + .findPreference(EXP_BRIGHTNESS_MODE); + mBrightnessMode.setValue(Settings.System.getString(getActivity() + .getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_BRIGHTNESS_MODE)); + mBrightnessMode.setOnPreferenceChangeListener(this); + mNetworkMode = (ListPreference) prefSet.findPreference(EXP_NETWORK_MODE); + mNetworkMode.setOnPreferenceChangeListener(this); + mScreentimeoutMode = (ListPreference) prefSet.findPreference(EXP_SCREENTIMEOUT_MODE); + mScreentimeoutMode.setOnPreferenceChangeListener(this); + mRingMode = (ListPreferenceMultiSelect) prefSet.findPreference(EXP_RING_MODE); + mRingMode.setValue(Settings.System.getString(getActivity().getApplicationContext() + .getContentResolver(), Settings.System.EXPANDED_RING_MODE)); + mRingMode.setOnPreferenceChangeListener(this); + mFlashMode = (ListPreference) prefSet.findPreference(EXP_FLASH_MODE); + mFlashMode.setOnPreferenceChangeListener(this); + + PreferenceCategory prefButtons = (PreferenceCategory) prefSet + .findPreference(BUTTONS_CATEGORY); + + // empty our preference category and set it to order as added + prefButtons.removeAll(); + prefButtons.setOrderingAsAdded(false); + + // emtpy our checkbox map + mCheckBoxPrefs.clear(); + + // get our list of buttons + ArrayList buttonList = PowerWidgetUtil.getButtonListFromString(PowerWidgetUtil + .getCurrentButtons(getActivity().getApplicationContext())); + + // Don't show WiMAX option if not supported + /* + * boolean isWimaxEnabled = WimaxHelper.isWimaxSupported(this); if + * (!isWimaxEnabled) { + * PowerWidgetUtil.BUTTONS.remove(PowerWidgetUtil.BUTTON_WIMAX); } + */ + + // fill that checkbox map! + for (PowerWidgetUtil.ButtonInfo button : PowerWidgetUtil.BUTTONS.values()) { + // create a checkbox + CheckBoxPreference cb = new CheckBoxPreference(getActivity() + .getApplicationContext()); + + // set a dynamic key based on button id + cb.setKey(SELECT_BUTTON_KEY_PREFIX + button.getId()); + + // set vanity info + cb.setTitle(button.getTitleResId()); + + // set our checked state + if (buttonList.contains(button.getId())) { + cb.setChecked(true); + } else { + cb.setChecked(false); + } + + // add to our prefs set + mCheckBoxPrefs.put(cb, button.getId()); + + // specific checks for availability on some platforms + if (PowerWidgetUtil.BUTTON_FLASHLIGHT.equals(button.getId()) && + !getResources().getBoolean(R.bool.has_led_flash)) { // disable flashlight if it's not supported + cb.setEnabled(false); + mFlashMode.setEnabled(false); + } else if (PowerWidgetUtil.BUTTON_NETWORKMODE.equals(button.getId())) { + // some phones run on networks not supported by this button, + // so disable it + int network_state = -99; + + try { + network_state = Settings.Secure.getInt(getActivity() + .getApplicationContext().getContentResolver(), + Settings.Secure.PREFERRED_NETWORK_MODE); + } catch (Settings.SettingNotFoundException e) { + Log.e(TAG, "Unable to retrieve PREFERRED_NETWORK_MODE", e); + } + + switch (network_state) { + // list of supported network modes + case Phone.NT_MODE_WCDMA_PREF: + case Phone.NT_MODE_WCDMA_ONLY: + case Phone.NT_MODE_GSM_UMTS: + case Phone.NT_MODE_GSM_ONLY: + break; + default: + cb.setEnabled(false); + break; + } + } + /* + * else if (PowerWidgetUtil.BUTTON_WIMAX.equals(button.getId())) + * { if (!isWimaxEnabled) { cb.setEnabled(false); } } + */ + + // add to the category + prefButtons.addPreference(cb); + } + } + + public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, + Preference preference) { + // we only modify the button list if it was one of our checks that + // was clicked + boolean buttonWasModified = false; + ArrayList buttonList = new ArrayList(); + for (Map.Entry entry : mCheckBoxPrefs.entrySet()) { + if (entry.getKey().isChecked()) { + buttonList.add(entry.getValue()); + } + + if (preference == entry.getKey()) { + buttonWasModified = true; + } + } + + if (buttonWasModified) { + // now we do some wizardry and reset the button list + PowerWidgetUtil.saveCurrentButtons(getActivity().getApplicationContext(), + PowerWidgetUtil.mergeInNewButtonString( + PowerWidgetUtil.getCurrentButtons(getActivity() + .getApplicationContext()), PowerWidgetUtil + .getButtonStringFromList(buttonList))); + return true; + } + + return false; + } + + public boolean onPreferenceChange(Preference preference, Object newValue) { + if (preference == mBrightnessMode) { + Settings.System.putString(getActivity().getApplicationContext() + .getContentResolver(), Settings.System.EXPANDED_BRIGHTNESS_MODE, + (String) newValue); + } else if (preference == mNetworkMode) { + int value = Integer.valueOf((String) newValue); + Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_NETWORK_MODE, value); + } else if (preference == mScreentimeoutMode) { + int value = Integer.valueOf((String) newValue); + Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_SCREENTIMEOUT_MODE, value); + } else if (preference == mRingMode) { + Settings.System.putString(getActivity().getApplicationContext() + .getContentResolver(), Settings.System.EXPANDED_RING_MODE, + (String) newValue); + } else if (preference == mFlashMode) { + int value = Integer.valueOf((String) newValue); + Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), + Settings.System.EXPANDED_FLASH_MODE, value); + } + return true; + } + } + + public static class PowerWidgetOrder extends ListFragment + { + private static final String TAG = "PowerWidgetOrderActivity"; + + private ListView mButtonList; + private ButtonAdapter mButtonAdapter; + View mContentView = null; + Context mContext; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + mContentView = inflater.inflate(R.layout.order_power_widget_buttons_activity, null); + return mContentView; + } + + /** Called when the activity is first created. */ + // @Override + // public void onCreate(Bundle icicle) + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + mContext = getActivity().getApplicationContext(); + + mButtonList = getListView(); + ((TouchInterceptor) mButtonList).setDropListener(mDropListener); + mButtonAdapter = new ButtonAdapter(mContext); + setListAdapter(mButtonAdapter); + } + + @Override + public void onDestroy() { + ((TouchInterceptor) mButtonList).setDropListener(null); + setListAdapter(null); + super.onDestroy(); + } + + @Override + public void onResume() { + super.onResume(); + // reload our buttons and invalidate the views for redraw + mButtonAdapter.reloadButtons(); + mButtonList.invalidateViews(); + } + + private TouchInterceptor.DropListener mDropListener = new TouchInterceptor.DropListener() { + public void drop(int from, int to) { + // get the current button list + ArrayList buttons = PowerWidgetUtil.getButtonListFromString( + PowerWidgetUtil.getCurrentButtons(mContext)); + + // move the button + if (from < buttons.size()) { + String button = buttons.remove(from); + + if (to <= buttons.size()) { + buttons.add(to, button); + + // save our buttons + PowerWidgetUtil.saveCurrentButtons(mContext, + PowerWidgetUtil.getButtonStringFromList(buttons)); + + // tell our adapter/listview to reload + mButtonAdapter.reloadButtons(); + mButtonList.invalidateViews(); + } + } + } + }; + + private class ButtonAdapter extends BaseAdapter { + private Context mContext; + private Resources mSystemUIResources = null; + private LayoutInflater mInflater; + private ArrayList mButtons; + + public ButtonAdapter(Context c) { + mContext = c; + mInflater = LayoutInflater.from(mContext); + + PackageManager pm = mContext.getPackageManager(); + if (pm != null) { + try { + mSystemUIResources = pm.getResourcesForApplication("com.android.systemui"); + } catch (Exception e) { + mSystemUIResources = null; + Log.e(TAG, "Could not load SystemUI resources", e); + } + } + + reloadButtons(); + } + + public void reloadButtons() { + ArrayList buttons = PowerWidgetUtil.getButtonListFromString( + PowerWidgetUtil.getCurrentButtons(mContext)); + + mButtons = new ArrayList(); + for (String button : buttons) { + if (PowerWidgetUtil.BUTTONS.containsKey(button)) { + mButtons.add(PowerWidgetUtil.BUTTONS.get(button)); + } + } + } + + public int getCount() { + return mButtons.size(); + } + + public Object getItem(int position) { + return mButtons.get(position); + } + + public long getItemId(int position) { + return position; + } + + public View getView(int position, View convertView, ViewGroup parent) { + final View v; + if (convertView == null) { + v = mInflater.inflate(R.layout.order_power_widget_button_list_item, null); + } else { + v = convertView; + } + + PowerWidgetUtil.ButtonInfo button = mButtons.get(position); + + final TextView name = (TextView) v.findViewById(R.id.name); + final ImageView icon = (ImageView) v.findViewById(R.id.icon); + + name.setText(button.getTitleResId()); + + // assume no icon first + icon.setVisibility(View.GONE); + + // attempt to load the icon for this button + if (mSystemUIResources != null) { + int resId = mSystemUIResources.getIdentifier(button.getIcon(), null, null); + if (resId > 0) { + try { + Drawable d = mSystemUIResources.getDrawable(resId); + icon.setVisibility(View.VISIBLE); + icon.setImageDrawable(d); + } catch (Exception e) { + Log.e(TAG, "Error retrieving icon drawable", e); + } + } + } + + return v; + } + } + } + +} diff --git a/src/com/android/settings/oxygen/PowerWidgetEnabler.java b/src/com/android/settings/oxygen/PowerWidgetEnabler.java new file mode 100644 index 000000000..04960d000 --- /dev/null +++ b/src/com/android/settings/oxygen/PowerWidgetEnabler.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2011 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.settings.oxygen; + +import android.provider.Settings; +import android.content.Context; +import android.widget.CompoundButton; +import android.widget.Switch; + +import com.android.settings.oxygen.SwitchWidget; + +public class PowerWidgetEnabler extends SwitchWidget { + public PowerWidgetEnabler(Context context, Switch switch_) { + mContext = context; + mSwitch = switch_; + } + + public void resume() { + mSwitch.setOnCheckedChangeListener(this); + } + + public void pause() { + mSwitch.setOnCheckedChangeListener(null); + } + + public void setState(Switch switch_) { + int isEnabled = Settings.System.getInt(mContext.getContentResolver(), + Settings.System.EXPANDED_VIEW_WIDGET, 1); + mSwitch.setChecked(isEnabled == 1 ? true : false); + return; + } + + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + // Do nothing if called as a result of a state machine event + if (mStateMachineEvent) { + return; + } + Settings.System.putInt(mContext.getContentResolver(), Settings.System.EXPANDED_VIEW_WIDGET, + isChecked ? 1 : 0); + return; + } + + private void setSwitchChecked(boolean checked) { + if (checked != mSwitch.isChecked()) { + mStateMachineEvent = true; + mSwitch.setChecked(checked); + mStateMachineEvent = false; + } + } +} diff --git a/src/com/android/settings/oxygen/PowerWidgetUtil.java b/src/com/android/settings/oxygen/PowerWidgetUtil.java new file mode 100644 index 000000000..ea97a5da6 --- /dev/null +++ b/src/com/android/settings/oxygen/PowerWidgetUtil.java @@ -0,0 +1,208 @@ +/* + * Copyright (C) 2011 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.settings.oxygen; + +import com.android.settings.R; + +import android.content.Context; +/* import android.net.wimax.WimaxHelper; */ +import android.provider.Settings; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; + +/** + * THIS CLASS'S DATA MUST BE KEPT UP-TO-DATE WITH THE DATA IN + * com.android.systemui.statusbar.powerwidget.PowerWidget AND + * com.android.systemui.statusbar.powerwidget.PowerButton IN THE SystemUI + * PACKAGE. + */ +public class PowerWidgetUtil { + public static final String BUTTON_WIFI = "toggleWifi"; + public static final String BUTTON_GPS = "toggleGPS"; + public static final String BUTTON_BLUETOOTH = "toggleBluetooth"; + public static final String BUTTON_BRIGHTNESS = "toggleBrightness"; + public static final String BUTTON_SOUND = "toggleSound"; + public static final String BUTTON_SYNC = "toggleSync"; + public static final String BUTTON_WIFIAP = "toggleWifiAp"; + public static final String BUTTON_SCREENTIMEOUT = "toggleScreenTimeout"; + public static final String BUTTON_MOBILEDATA = "toggleMobileData"; + public static final String BUTTON_LOCKSCREEN = "toggleLockScreen"; + public static final String BUTTON_NETWORKMODE = "toggleNetworkMode"; + public static final String BUTTON_AUTOROTATE = "toggleAutoRotate"; + public static final String BUTTON_AIRPLANE = "toggleAirplane"; + public static final String BUTTON_FLASHLIGHT = "toggleFlashlight"; + public static final String BUTTON_SLEEP = "toggleSleepMode"; + public static final String BUTTON_MEDIA_PLAY_PAUSE = "toggleMediaPlayPause"; + public static final String BUTTON_MEDIA_PREVIOUS = "toggleMediaPrevious"; + public static final String BUTTON_MEDIA_NEXT = "toggleMediaNext"; + public static final String BUTTON_WIMAX = "toggleWimax"; + + public static final HashMap BUTTONS = new HashMap(); + static { + BUTTONS.put(BUTTON_AIRPLANE, new PowerWidgetUtil.ButtonInfo( + BUTTON_AIRPLANE, R.string.title_toggle_airplane, + "com.android.systemui:drawable/stat_airplane_on")); + BUTTONS.put(BUTTON_AUTOROTATE, new PowerWidgetUtil.ButtonInfo( + BUTTON_AUTOROTATE, R.string.title_toggle_autorotate, + "com.android.systemui:drawable/stat_orientation_on")); + BUTTONS.put(BUTTON_BLUETOOTH, new PowerWidgetUtil.ButtonInfo( + BUTTON_BLUETOOTH, R.string.title_toggle_bluetooth, + "com.android.systemui:drawable/stat_bluetooth_on")); + BUTTONS.put(BUTTON_BRIGHTNESS, new PowerWidgetUtil.ButtonInfo( + BUTTON_BRIGHTNESS, R.string.title_toggle_brightness, + "com.android.systemui:drawable/stat_brightness_on")); + BUTTONS.put(BUTTON_FLASHLIGHT, new PowerWidgetUtil.ButtonInfo( + BUTTON_FLASHLIGHT, R.string.title_toggle_flashlight, + "com.android.systemui:drawable/stat_flashlight_on")); + BUTTONS.put(BUTTON_GPS, new PowerWidgetUtil.ButtonInfo( + BUTTON_GPS, R.string.title_toggle_gps, "com.android.systemui:drawable/stat_gps_on")); + BUTTONS.put(BUTTON_LOCKSCREEN, new PowerWidgetUtil.ButtonInfo( + BUTTON_LOCKSCREEN, R.string.title_toggle_lockscreen, + "com.android.systemui:drawable/stat_lock_screen_on")); + BUTTONS.put(BUTTON_MOBILEDATA, new PowerWidgetUtil.ButtonInfo( + BUTTON_MOBILEDATA, R.string.title_toggle_mobiledata, + "com.android.systemui:drawable/stat_data_on")); + BUTTONS.put(BUTTON_NETWORKMODE, new PowerWidgetUtil.ButtonInfo( + BUTTON_NETWORKMODE, R.string.title_toggle_networkmode, + "com.android.systemui:drawable/stat_2g3g_on")); + BUTTONS.put(BUTTON_SCREENTIMEOUT, new PowerWidgetUtil.ButtonInfo( + BUTTON_SCREENTIMEOUT, R.string.title_toggle_screentimeout, + "com.android.systemui:drawable/stat_screen_timeout_on")); + BUTTONS.put(BUTTON_SLEEP, new PowerWidgetUtil.ButtonInfo( + BUTTON_SLEEP, R.string.title_toggle_sleep, + "com.android.systemui:drawable/stat_sleep")); + BUTTONS.put(BUTTON_SOUND, new PowerWidgetUtil.ButtonInfo( + BUTTON_SOUND, R.string.title_toggle_sound, + "com.android.systemui:drawable/stat_ring_on")); + BUTTONS.put(BUTTON_SYNC, new PowerWidgetUtil.ButtonInfo( + BUTTON_SYNC, R.string.title_toggle_sync, + "com.android.systemui:drawable/stat_sync_on")); + BUTTONS.put(BUTTON_WIFI, new PowerWidgetUtil.ButtonInfo( + BUTTON_WIFI, R.string.title_toggle_wifi, + "com.android.systemui:drawable/stat_wifi_on")); + BUTTONS.put(BUTTON_WIFIAP, new PowerWidgetUtil.ButtonInfo( + BUTTON_WIFIAP, R.string.title_toggle_wifiap, + "com.android.systemui:drawable/stat_wifi_ap_on")); + BUTTONS.put(BUTTON_MEDIA_PREVIOUS, new PowerWidgetUtil.ButtonInfo( + BUTTON_MEDIA_PREVIOUS, R.string.title_toggle_media_previous, + "com.android.systemui:drawable/stat_media_previous")); + BUTTONS.put(BUTTON_MEDIA_PLAY_PAUSE, new PowerWidgetUtil.ButtonInfo( + BUTTON_MEDIA_PLAY_PAUSE, R.string.title_toggle_media_play_pause, + "com.android.systemui:drawable/stat_media_play")); + BUTTONS.put(BUTTON_MEDIA_NEXT, new PowerWidgetUtil.ButtonInfo( + BUTTON_MEDIA_NEXT, R.string.title_toggle_media_next, + "com.android.systemui:drawable/stat_media_next")); + BUTTONS.put(BUTTON_WIMAX, new PowerWidgetUtil.ButtonInfo( + BUTTON_WIMAX, R.string.title_toggle_wimax, + "com.android.systemui:drawable/stat_wimax_on")); + } + + private static final String BUTTON_DELIMITER = "|"; + private static final String BUTTONS_DEFAULT = BUTTON_WIFI + + BUTTON_DELIMITER + BUTTON_BLUETOOTH + + BUTTON_DELIMITER + BUTTON_GPS + + BUTTON_DELIMITER + BUTTON_SOUND; + + public static String getCurrentButtons(Context context) { + String buttons = Settings.System.getString(context.getContentResolver(), + Settings.System.WIDGET_BUTTONS); + if (buttons == null) { + buttons = BUTTONS_DEFAULT; + // Add the WiMAX button if it's supported + /* + * if (WimaxHelper.isWimaxSupported(context)) { buttons += + * BUTTON_DELIMITER + BUTTON_WIMAX; } + */ + // And the flashlight too if available + if (context.getResources().getBoolean(R.bool.has_led_flash)) { + buttons += BUTTON_DELIMITER + BUTTON_FLASHLIGHT; + } + } + return buttons; + } + + public static void saveCurrentButtons(Context context, String buttons) { + Settings.System.putString(context.getContentResolver(), + Settings.System.WIDGET_BUTTONS, buttons); + } + + public static String mergeInNewButtonString(String oldString, String newString) { + ArrayList oldList = getButtonListFromString(oldString); + ArrayList newList = getButtonListFromString(newString); + ArrayList mergedList = new ArrayList(); + + // add any items from oldlist that are in new list + for (String button : oldList) { + if (newList.contains(button)) { + mergedList.add(button); + } + } + + // append anything in newlist that isn't already in the merged list to + // the end of the list + for (String button : newList) { + if (!mergedList.contains(button)) { + mergedList.add(button); + } + } + + // return merged list + return getButtonStringFromList(mergedList); + } + + public static ArrayList getButtonListFromString(String buttons) { + return new ArrayList(Arrays.asList(buttons.split("\\|"))); + } + + public static String getButtonStringFromList(ArrayList buttons) { + if (buttons == null || buttons.size() <= 0) { + return ""; + } else { + String s = buttons.get(0); + for (int i = 1; i < buttons.size(); i++) { + s += BUTTON_DELIMITER + buttons.get(i); + } + return s; + } + } + + public static class ButtonInfo { + private String mId; + private int mTitleResId; + private String mIcon; + + public ButtonInfo(String id, int titleResId, String icon) { + mId = id; + mTitleResId = titleResId; + mIcon = icon; + } + + public String getId() { + return mId; + } + + public int getTitleResId() { + return mTitleResId; + } + + public String getIcon() { + return mIcon; + } + } +} diff --git a/src/com/android/settings/oxygen/SwitchWidget.java b/src/com/android/settings/oxygen/SwitchWidget.java new file mode 100644 index 000000000..20ac919b5 --- /dev/null +++ b/src/com/android/settings/oxygen/SwitchWidget.java @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2011 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.settings.oxygen; + +import java.util.concurrent.atomic.AtomicBoolean; + +import android.content.Context; +import android.widget.CompoundButton; +import android.widget.Switch; + +public class SwitchWidget implements CompoundButton.OnCheckedChangeListener { + public static Context mContext; + public Switch mSwitch; + public AtomicBoolean mConnected = new AtomicBoolean(false); + + public boolean mStateMachineEvent; + + /* + * public SwitchWidget(Context context, Switch switch_) { super(context, + * switch_); mContext = context; mSwitch = switch_; } + */ + public SwitchWidget() { + } + + public void resume() { + mSwitch.setOnCheckedChangeListener(this); + } + + public void pause() { + mSwitch.setOnCheckedChangeListener(null); + } + + public void setSwitch(Switch switch_) { + /* Stub! */ + if (mSwitch == switch_) + return; + mSwitch.setOnCheckedChangeListener(null); + mSwitch = switch_; + mSwitch.setOnCheckedChangeListener(this); + + setState(switch_); + } + + public void setState(Switch switch_) { + /* Stub */ + return; + } + + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + /* Stub! */ + return; + } + + private void setSwitchChecked(boolean checked) { + if (checked != mSwitch.isChecked()) { + mStateMachineEvent = true; + mSwitch.setChecked(checked); + mStateMachineEvent = false; + } + } +} diff --git a/src/com/android/settings/oxygen/TouchInterceptor.java b/src/com/android/settings/oxygen/TouchInterceptor.java new file mode 100644 index 000000000..72ec25f20 --- /dev/null +++ b/src/com/android/settings/oxygen/TouchInterceptor.java @@ -0,0 +1,358 @@ +/* + * 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.settings.oxygen; + +import com.android.settings.R; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.PixelFormat; +import android.graphics.Rect; +import android.util.AttributeSet; +import android.view.Gravity; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewConfiguration; +import android.view.ViewGroup; +import android.view.WindowManager; +import android.widget.AdapterView; +import android.widget.ImageView; +import android.widget.ListView; + +public class TouchInterceptor extends ListView { + + private ImageView mDragView; + private WindowManager mWindowManager; + private WindowManager.LayoutParams mWindowParams; + private int mDragPos; // which item is being dragged + private int mFirstDragPos; // where was the dragged item originally + private int mDragPoint; // at what offset inside the item did the user grab + // it + private int mCoordOffset; // the difference between screen coordinates and + // coordinates in this view + private DragListener mDragListener; + private DropListener mDropListener; + private int mUpperBound; + private int mLowerBound; + private int mHeight; + private Rect mTempRect = new Rect(); + private Bitmap mDragBitmap; + private final int mTouchSlop; + private int mItemHeightNormal; + private int mItemHeightExpanded; + private int mItemHeightHalf; + + public TouchInterceptor(Context context, AttributeSet attrs) { + super(context, attrs); + mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); + Resources res = getResources(); + mItemHeightNormal = res.getDimensionPixelSize(R.dimen.normal_height); + mItemHeightHalf = mItemHeightNormal / 2; + mItemHeightExpanded = res.getDimensionPixelSize(R.dimen.expanded_height); + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + if (mDragListener != null || mDropListener != null) { + switch (ev.getAction()) { + case MotionEvent.ACTION_DOWN: + int x = (int) ev.getX(); + int y = (int) ev.getY(); + int itemnum = pointToPosition(x, y); + if (itemnum == AdapterView.INVALID_POSITION) { + break; + } + ViewGroup item = (ViewGroup) getChildAt(itemnum - getFirstVisiblePosition()); + mDragPoint = y - item.getTop(); + mCoordOffset = ((int) ev.getRawY()) - y; + View dragger = item.findViewById(R.id.grabber); + Rect r = mTempRect; + dragger.getDrawingRect(r); + // The dragger icon itself is quite small, so pretend the + // touch area is bigger + if (x < r.right * 2) { + item.setDrawingCacheEnabled(true); + // Create a copy of the drawing cache so that it does + // not get recycled + // by the framework when the list tries to clean up + // memory + Bitmap bitmap = Bitmap.createBitmap(item.getDrawingCache()); + startDragging(bitmap, y); + mDragPos = itemnum; + mFirstDragPos = mDragPos; + mHeight = getHeight(); + int touchSlop = mTouchSlop; + mUpperBound = Math.min(y - touchSlop, mHeight / 3); + mLowerBound = Math.max(y + touchSlop, mHeight * 2 / 3); + return false; + } + stopDragging(); + break; + } + } + return super.onInterceptTouchEvent(ev); + } + + /* + * pointToPosition() doesn't consider invisible views, but we need to, so + * implement a slightly different version. + */ + private int myPointToPosition(int x, int y) { + + if (y < 0) { + // when dragging off the top of the screen, calculate position + // by going back from a visible item + int pos = myPointToPosition(x, y + mItemHeightNormal); + if (pos > 0) { + return pos - 1; + } + } + + Rect frame = mTempRect; + final int count = getChildCount(); + for (int i = count - 1; i >= 0; i--) { + final View child = getChildAt(i); + child.getHitRect(frame); + if (frame.contains(x, y)) { + return getFirstVisiblePosition() + i; + } + } + return INVALID_POSITION; + } + + private int getItemForPosition(int y) { + int adjustedy = y - mDragPoint - mItemHeightHalf; + int pos = myPointToPosition(0, adjustedy); + if (pos >= 0) { + if (pos <= mFirstDragPos) { + pos += 1; + } + } else if (adjustedy < 0) { + // this shouldn't happen anymore now that myPointToPosition deals + // with this situation + pos = 0; + } + return pos; + } + + private void adjustScrollBounds(int y) { + if (y >= mHeight / 3) { + mUpperBound = mHeight / 3; + } + if (y <= mHeight * 2 / 3) { + mLowerBound = mHeight * 2 / 3; + } + } + + /* + * Restore size and visibility for all listitems + */ + private void unExpandViews(boolean deletion) { + for (int i = 0;; i++) { + View v = getChildAt(i); + if (v == null) { + if (deletion) { + // HACK force update of mItemCount + int position = getFirstVisiblePosition(); + int y = getChildAt(0).getTop(); + setAdapter(getAdapter()); + setSelectionFromTop(position, y); + // end hack + } + layoutChildren(); // force children to be recreated where needed + v = getChildAt(i); + if (v == null) { + break; + } + } + ViewGroup.LayoutParams params = v.getLayoutParams(); + params.height = mItemHeightNormal; + v.setLayoutParams(params); + v.setVisibility(View.VISIBLE); + } + } + + /* + * Adjust visibility and size to make it appear as though an item is being + * dragged around and other items are making room for it: If dropping the + * item would result in it still being in the same place, then make the + * dragged listitem's size normal, but make the item invisible. Otherwise, + * if the dragged listitem is still on screen, make it as small as possible + * and expand the item below the insert point. If the dragged item is not on + * screen, only expand the item below the current insertpoint. + */ + private void doExpansion() { + int childnum = mDragPos - getFirstVisiblePosition(); + if (mDragPos > mFirstDragPos) { + childnum++; + } + + View first = getChildAt(mFirstDragPos - getFirstVisiblePosition()); + + for (int i = 0;; i++) { + View vv = getChildAt(i); + if (vv == null) { + break; + } + int height = mItemHeightNormal; + int visibility = View.VISIBLE; + if (vv.equals(first)) { + // processing the item that is being dragged + if (mDragPos == mFirstDragPos) { + // hovering over the original location + visibility = View.INVISIBLE; + } else { + // not hovering over it + height = 1; + } + } else if (i == childnum) { + if (mDragPos < getCount() - 1) { + height = mItemHeightExpanded; + } + } + ViewGroup.LayoutParams params = vv.getLayoutParams(); + params.height = height; + vv.setLayoutParams(params); + vv.setVisibility(visibility); + } + } + + @Override + public boolean onTouchEvent(MotionEvent ev) { + if ((mDragListener != null || mDropListener != null) && mDragView != null) { + int action = ev.getAction(); + switch (action) { + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_CANCEL: + Rect r = mTempRect; + mDragView.getDrawingRect(r); + stopDragging(); + if (mDropListener != null && mDragPos >= 0 && mDragPos < getCount()) { + mDropListener.drop(mFirstDragPos, mDragPos); + } + unExpandViews(false); + break; + + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_MOVE: + int x = (int) ev.getX(); + int y = (int) ev.getY(); + dragView(x, y); + int itemnum = getItemForPosition(y); + if (itemnum >= 0) { + if (action == MotionEvent.ACTION_DOWN || itemnum != mDragPos) { + if (mDragListener != null) { + mDragListener.drag(mDragPos, itemnum); + } + mDragPos = itemnum; + doExpansion(); + } + int speed = 0; + adjustScrollBounds(y); + if (y > mLowerBound) { + // scroll the list up a bit + speed = y > (mHeight + mLowerBound) / 2 ? 16 : 4; + } else if (y < mUpperBound) { + // scroll the list down a bit + speed = y < mUpperBound / 2 ? -16 : -4; + } + if (speed != 0) { + int ref = pointToPosition(0, mHeight / 2); + if (ref == AdapterView.INVALID_POSITION) { + // we hit a divider or an invisible view, check + // somewhere else + ref = pointToPosition(0, mHeight / 2 + getDividerHeight() + 64); + } + View v = getChildAt(ref - getFirstVisiblePosition()); + if (v != null) { + int pos = v.getTop(); + setSelectionFromTop(ref, pos - speed); + } + } + } + break; + } + return true; + } + return super.onTouchEvent(ev); + } + + private void startDragging(Bitmap bm, int y) { + stopDragging(); + + mWindowParams = new WindowManager.LayoutParams(); + mWindowParams.gravity = Gravity.TOP; + mWindowParams.x = 0; + mWindowParams.y = y - mDragPoint + mCoordOffset; + + mWindowParams.height = WindowManager.LayoutParams.WRAP_CONTENT; + mWindowParams.width = WindowManager.LayoutParams.WRAP_CONTENT; + mWindowParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE + | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE + | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON + | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN + | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS; + mWindowParams.format = PixelFormat.TRANSLUCENT; + mWindowParams.windowAnimations = 0; + + Context context = getContext(); + ImageView v = new ImageView(context); + int backGroundColor = context.getResources().getColor(R.color.dragndrop_background); + v.setBackgroundColor(backGroundColor); + v.setImageBitmap(bm); + mDragBitmap = bm; + + mWindowManager = (WindowManager) context.getSystemService("window"); + mWindowManager.addView(v, mWindowParams); + mDragView = v; + } + + private void dragView(int x, int y) { + mWindowParams.y = y - mDragPoint + mCoordOffset; + mWindowManager.updateViewLayout(mDragView, mWindowParams); + } + + private void stopDragging() { + if (mDragView != null) { + WindowManager wm = (WindowManager) getContext().getSystemService("window"); + wm.removeView(mDragView); + mDragView.setImageDrawable(null); + mDragView = null; + } + if (mDragBitmap != null) { + mDragBitmap.recycle(); + mDragBitmap = null; + } + } + + public void setDragListener(DragListener l) { + mDragListener = l; + } + + public void setDropListener(DropListener l) { + mDropListener = l; + } + + public interface DragListener { + void drag(int from, int to); + } + + public interface DropListener { + void drop(int from, int to); + } +} From 8737de4ccf04b15b7ebfd61ea11b9be962867e37 Mon Sep 17 00:00:00 2001 From: Adam Green Date: Sun, 4 Mar 2012 17:31:48 +0000 Subject: [PATCH 04/48] Updated cpusettings --- AndroidManifest.xml | 2 +- src/com/android/settings/CPUSettings.java | 63 ++++++------------- src/com/android/settings/Utils.java | 45 +++++++++++++ .../{CPUReceiver.java => BootReceiver.java} | 20 +++--- 4 files changed, 75 insertions(+), 55 deletions(-) rename src/com/android/settings/oxygen/{CPUReceiver.java => BootReceiver.java} (82%) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index e94e1e298..67f4ebe5b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1442,7 +1442,7 @@ - + diff --git a/src/com/android/settings/CPUSettings.java b/src/com/android/settings/CPUSettings.java index 1f47c59c4..12205b3c3 100644 --- a/src/com/android/settings/CPUSettings.java +++ b/src/com/android/settings/CPUSettings.java @@ -32,6 +32,7 @@ import android.util.Log; import com.android.settings.SettingsPreferenceFragment; +import com.android.settings.Utils; // // CPU Related Settings @@ -41,6 +42,9 @@ public class CPUSettings extends SettingsPreferenceFragment implements public static final String FREQ_CUR_PREF = "pref_cpu_freq_cur"; public static final String FREQ_CUR_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"; + public static final String SCALE_CUR_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"; + public static final String FREQINFO_CUR_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq"; + private static String FREQ_CUR_FILE = SCALE_CUR_FILE; public static final String GOV_PREF = "pref_cpu_gov"; public static final String GOV_LIST_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors"; public static final String GOV_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"; @@ -76,7 +80,7 @@ public void run() { try { while (!mInterrupt) { sleep(500); - final String curFreq = readOneLine(FREQ_CUR_FILE); + final String curFreq = Utils.fileReadOneLine(FREQ_CUR_FILE); mCurCPUHandler.sendMessage(mCurCPUHandler.obtainMessage(0, curFreq)); } } catch (InterruptedException e) { @@ -100,9 +104,9 @@ public void onCreate(Bundle savedInstanceState) { mMinFrequencyFormat = getString(R.string.cpu_min_freq_summary); mMaxFrequencyFormat = getString(R.string.cpu_max_freq_summary); - String[] availableGovernors = readOneLine(GOV_LIST_FILE).split(" "); + String[] availableGovernors = Utils.fileReadOneLine(GOV_LIST_FILE).split(" "); String[] availableFrequencies = new String[0]; - String availableFrequenciesLine = readOneLine(FREQ_LIST_FILE); + String availableFrequenciesLine = Utils.fileReadOneLine(FREQ_LIST_FILE); if (availableFrequenciesLine != null) availableFrequencies = availableFrequenciesLine.split(" "); String[] frequencies; @@ -118,7 +122,7 @@ public void onCreate(Bundle savedInstanceState) { PreferenceScreen prefScreen = getPreferenceScreen(); // Governer - temp = readOneLine(GOV_FILE); + temp = Utils.fileReadOneLine(GOV_FILE); mGovernorPref = (ListPreference) prefScreen.findPreference(GOV_PREF); mGovernorPref.setEntryValues(availableGovernors); @@ -132,14 +136,18 @@ public void onCreate(Bundle savedInstanceState) { prefScreen.removePreference(mGovernorPref); } + if (!Utils.fileExists(FREQ_CUR_FILE)) { + FREQ_CUR_FILE = FREQINFO_CUR_FILE; + } + // Cur frequency - temp = readOneLine(FREQ_CUR_FILE); + temp = Utils.fileReadOneLine(FREQ_CUR_FILE); mCurFrequencyPref = (Preference) prefScreen.findPreference(FREQ_CUR_PREF); mCurFrequencyPref.setSummary(toMHz(temp)); // Min frequency - temp = readOneLine(FREQ_MIN_FILE); + temp = Utils.fileReadOneLine(FREQ_MIN_FILE); mMinFrequencyPref = (ListPreference) prefScreen.findPreference(FREQ_MIN_PREF); mMinFrequencyPref.setEntryValues(availableFrequencies); @@ -153,7 +161,7 @@ public void onCreate(Bundle savedInstanceState) { } // Max frequency - temp = readOneLine(FREQ_MAX_FILE); + temp = Utils.fileReadOneLine(FREQ_MAX_FILE); mMaxFrequencyPref = (ListPreference) prefScreen.findPreference(FREQ_MAX_PREF); mMaxFrequencyPref.setEntryValues(availableFrequencies); @@ -195,15 +203,15 @@ public void onResume() { super.onResume(); - temp = readOneLine(FREQ_MAX_FILE); + temp = Utils.fileReadOneLine(FREQ_MAX_FILE); mMaxFrequencyPref.setValue(temp); mMaxFrequencyPref.setSummary(String.format(mMaxFrequencyFormat, toMHz(temp))); - temp = readOneLine(FREQ_MIN_FILE); + temp = Utils.fileReadOneLine(FREQ_MIN_FILE); mMinFrequencyPref.setValue(temp); mMinFrequencyPref.setSummary(String.format(mMinFrequencyFormat, toMHz(temp))); - temp = readOneLine(GOV_FILE); + temp = Utils.fileReadOneLine(GOV_FILE); mGovernorPref.setSummary(String.format(mGovernorFormat, temp)); } @@ -229,7 +237,7 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { fname = FREQ_MAX_FILE; } - if (writeOneLine(fname, (String) newValue)) { + if (Utils.fileWriteOneLine(fname, (String) newValue)) { if (preference == mGovernorPref) { mGovernorPref.setSummary(String.format(mGovernorFormat, (String) newValue)); } else if (preference == mMinFrequencyPref) { @@ -247,39 +255,6 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { return false; } - public static String readOneLine(String fname) { - BufferedReader br; - String line = null; - - try { - br = new BufferedReader(new FileReader(fname), 512); - try { - line = br.readLine(); - } finally { - br.close(); - } - } catch (Exception e) { - Log.e(TAG, "IO Exception when reading /sys/ file", e); - } - return line; - } - - public static boolean writeOneLine(String fname, String value) { - try { - FileWriter fw = new FileWriter(fname); - try { - fw.write(value); - } finally { - fw.close(); - } - } catch (IOException e) { - String Error = "Error writing to " + fname + ". Exception: "; - Log.e(TAG, Error, e); - return false; - } - return true; - } - private String toMHz(String mhzString) { return new StringBuilder().append(Integer.valueOf(mhzString) / 1000).append(" MHz") .toString(); diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index b0fb9151e..133d904f6 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -37,11 +37,17 @@ import android.preference.PreferenceGroup; import android.telephony.TelephonyManager; import android.text.TextUtils; +import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.TabWidget; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; import java.net.InetAddress; import java.util.Iterator; import java.util.List; @@ -49,6 +55,8 @@ public class Utils { + private static final String TAG = "Utils"; + /** * Set the preference's title to the matching activity's label. */ @@ -449,4 +457,41 @@ public static int getTetheringLabel(ConnectivityManager cm) { return R.string.tether_settings_title_bluetooth; } } + + public static boolean fileExists(String filename) { + return new File(filename).exists(); + } + + public static String fileReadOneLine(String fname) { + BufferedReader br; + String line = null; + + try { + br = new BufferedReader(new FileReader(fname), 512); + try { + line = br.readLine(); + } finally { + br.close(); + } + } catch (Exception e) { + Log.e(TAG, "IO Exception when reading /sys/ file", e); + } + return line; + } + + public static boolean fileWriteOneLine(String fname, String value) { + try { + FileWriter fw = new FileWriter(fname); + try { + fw.write(value); + } finally { + fw.close(); + } + } catch (IOException e) { + String Error = "Error writing to " + fname + ". Exception: "; + Log.e(TAG, Error, e); + return false; + } + return true; + } } diff --git a/src/com/android/settings/oxygen/CPUReceiver.java b/src/com/android/settings/oxygen/BootReceiver.java similarity index 82% rename from src/com/android/settings/oxygen/CPUReceiver.java rename to src/com/android/settings/oxygen/BootReceiver.java index ad4734b07..3cdbbd446 100644 --- a/src/com/android/settings/oxygen/CPUReceiver.java +++ b/src/com/android/settings/oxygen/BootReceiver.java @@ -16,8 +16,6 @@ package com.android.settings.oxygen; -import com.android.settings.CPUSettings; - import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -26,12 +24,14 @@ import android.preference.PreferenceManager; import android.util.Log; +import com.android.settings.Utils; + import java.util.Arrays; import java.util.List; -public class CPUReceiver extends BroadcastReceiver { +public class BootReceiver extends BroadcastReceiver { - private static final String TAG = "CPUSettings"; + private static final String TAG = "BootReceiver"; private static final String CPU_SETTINGS_PROP = "sys.cpufreq.restored"; @@ -57,15 +57,15 @@ private void configureCPU(Context ctx) { String governor = prefs.getString(CPUSettings.GOV_PREF, null); String minFrequency = prefs.getString(CPUSettings.FREQ_MIN_PREF, null); String maxFrequency = prefs.getString(CPUSettings.FREQ_MAX_PREF, null); - String availableFrequenciesLine = CPUSettings.readOneLine(CPUSettings.FREQ_LIST_FILE); - String availableGovernorsLine = CPUSettings.readOneLine(CPUSettings.GOV_LIST_FILE); + String availableFrequenciesLine = Utils.fileReadOneLine(Processor.FREQ_LIST_FILE); + String availableGovernorsLine = Utils.fileReadOneLine(Processor.GOV_LIST_FILE); boolean noSettings = ((availableGovernorsLine == null) || (governor == null)) && ((availableFrequenciesLine == null) || ((minFrequency == null) && (maxFrequency == null))); List frequencies = null; List governors = null; if (noSettings) { - Log.d(TAG, "No settings saved. Nothing to restore."); + Log.d(TAG, "No CPU settings saved. Nothing to restore."); } else { if (availableGovernorsLine != null){ governors = Arrays.asList(availableGovernorsLine.split(" ")); @@ -74,13 +74,13 @@ private void configureCPU(Context ctx) { frequencies = Arrays.asList(availableFrequenciesLine.split(" ")); } if (governor != null && governors != null && governors.contains(governor)) { - CPUSettings.writeOneLine(CPUSettings.GOV_FILE, governor); + Utils.fileWriteOneLine(CPUSettings.GOV_FILE, governor); } if (maxFrequency != null && frequencies != null && frequencies.contains(maxFrequency)) { - CPUSettings.writeOneLine(CPUSettings.FREQ_MAX_FILE, maxFrequency); + Utils.fileWriteOneLine(CPUSettings.FREQ_MAX_FILE, maxFrequency); } if (minFrequency != null && frequencies != null && frequencies.contains(minFrequency)) { - CPUSettings.writeOneLine(CPUSettings.FREQ_MIN_FILE, minFrequency); + Utils.fileWriteOneLine(CPUSettings.FREQ_MIN_FILE, minFrequency); } Log.d(TAG, "CPU settings restored."); } From 063ef05c45d4bc96bfd1bb10e799bdca5e94a51a Mon Sep 17 00:00:00 2001 From: Adam Green Date: Sun, 4 Mar 2012 18:05:55 +0000 Subject: [PATCH 05/48] Cleanup --- res/values/arrays.xml | 2 +- res/values/strings.xml | 8 +++---- .../android/settings/oxygen/PowerWidget.java | 21 +++++++------------ 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 19138b9dc..487b8c171 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -815,7 +815,7 @@ - Global Settings + Global settings On Off diff --git a/res/values/strings.xml b/res/values/strings.xml index 43e430950..056957a51 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -3934,13 +3934,13 @@ found in the list of installed apps. Widget button order Select the order of the buttons in the power widget Buttons - Toggle Wifi + Toggle Wi-Fi Toggle Bluetooth Toggle GPS Toggle Sound Toggle Brightness Toggle Sync - Toggle Wifi AP + Toggle Wi-Fi AP Toggle Screentimeout Toggle Mobiledata Toggle Lockscreen @@ -3972,7 +3972,7 @@ found in the list of installed apps. Choose High / Death Ray - Haptic Feedback - Enable/Disable haptic feedback. + Haptic feedback + Enable/disable haptic feedback diff --git a/src/com/android/settings/oxygen/PowerWidget.java b/src/com/android/settings/oxygen/PowerWidget.java index 980fdde50..c13e6fc3e 100644 --- a/src/com/android/settings/oxygen/PowerWidget.java +++ b/src/com/android/settings/oxygen/PowerWidget.java @@ -132,38 +132,31 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { boolean value; - if (preference == mPowerPicker) { - startFragment(null, mPowerPicker.getFragment(), -1, null); - } - - if (preference == mPowerOrder) { - startFragment(null, mPowerOrder.getFragment(), -1, null); - } - if (preference == mPowerWidget) { value = mPowerWidget.isChecked(); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_VIEW_WIDGET, value ? 1 : 0); - } - if (preference == mPowerWidgetHideOnChange) { + } else if (preference == mPowerWidgetHideOnChange) { value = mPowerWidgetHideOnChange.isChecked(); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_HIDE_ONCHANGE, value ? 1 : 0); - } - if (preference == mPowerWidgetHideScrollBar) { + } else if (preference == mPowerWidgetHideScrollBar) { value = mPowerWidgetHideScrollBar.isChecked(); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_HIDE_SCROLLBAR, value ? 1 : 0); - } - if (preference == mPowerWidgetIndicatorHide) { + } else if (preference == mPowerWidgetIndicatorHide) { value = mPowerWidgetIndicatorHide.isChecked(); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_HIDE_INDICATOR, value ? 1 : 0); + } else { + // If we didn't handle it, let preferences handle it. + return super.onPreferenceTreeClick(preferenceScreen, preference); } + return true; } From 4c6a379f344eb00bb3196c0adf44128aa893c1b5 Mon Sep 17 00:00:00 2001 From: Martin Johnson Date: Wed, 14 Mar 2012 22:58:49 +1300 Subject: [PATCH 06/48] Tidy up power widget setings Change-Id: If709f1c0e4ca0acc9a3dd157d6e82068b972b6ee --- AndroidManifest.xml | 6 -- .../order_power_widget_buttons_activity.xml | 2 +- res/values/arrays.xml | 1 + res/values/strings.xml | 4 +- res/xml/device_info_settings.xml | 12 --- res/xml/power_widget_settings.xml | 4 +- res/xml/settings_headers.xml | 12 +-- res/xml/system_settings.xml | 2 +- src/com/android/settings/CPUSettings.java | 3 +- .../settings/{oxygen => }/PowerWidget.java | 2 +- .../{oxygen => }/PowerWidgetEnabler.java | 4 +- .../{oxygen => }/PowerWidgetUtil.java | 2 +- .../settings/{oxygen => }/SwitchWidget.java | 2 +- .../{oxygen => }/TouchInterceptor.java | 2 +- .../android/settings/oxygen/BootReceiver.java | 88 ------------------- 15 files changed, 14 insertions(+), 132 deletions(-) rename src/com/android/settings/{oxygen => }/PowerWidget.java (99%) rename src/com/android/settings/{oxygen => }/PowerWidgetEnabler.java (95%) rename src/com/android/settings/{oxygen => }/PowerWidgetUtil.java (99%) rename src/com/android/settings/{oxygen => }/SwitchWidget.java (98%) rename src/com/android/settings/{oxygen => }/TouchInterceptor.java (99%) delete mode 100644 src/com/android/settings/oxygen/BootReceiver.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 67f4ebe5b..b219cc728 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1442,11 +1442,5 @@ - - - - - - diff --git a/res/layout-finger/order_power_widget_buttons_activity.xml b/res/layout-finger/order_power_widget_buttons_activity.xml index 6d421fd33..c6f6fc0a7 100644 --- a/res/layout-finger/order_power_widget_buttons_activity.xml +++ b/res/layout-finger/order_power_widget_buttons_activity.xml @@ -20,7 +20,7 @@ android:orientation="vertical" android:gravity="center_vertical" > - 1 2 + diff --git a/res/values/strings.xml b/res/values/strings.xml index 056957a51..8c186a9e1 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -27,8 +27,6 @@ WIRELESS & NETWORKS - - OXYGEN DEVICE @@ -3913,7 +3911,7 @@ found in the list of installed apps. Restore the processor settings on boot - System + Notification Drawer System interface diff --git a/res/xml/device_info_settings.xml b/res/xml/device_info_settings.xml index a603bce5a..18636c312 100644 --- a/res/xml/device_info_settings.xml +++ b/res/xml/device_info_settings.xml @@ -113,18 +113,6 @@ android:title="@string/kernel_version" android:summary="@string/device_info_default"/> - - - - - - + android:fragment="com.android.settings.PowerWidget$PowerWidgetChooser"> + android:fragment="com.android.settings.PowerWidget$PowerWidgetOrder"> diff --git a/res/xml/settings_headers.xml b/res/xml/settings_headers.xml index 62d97950e..d44d640fe 100644 --- a/res/xml/settings_headers.xml +++ b/res/xml/settings_headers.xml @@ -114,21 +114,11 @@
- -
- - -
-
diff --git a/res/xml/system_settings.xml b/res/xml/system_settings.xml index c19046e53..e27bb13e3 100644 --- a/res/xml/system_settings.xml +++ b/res/xml/system_settings.xml @@ -21,7 +21,7 @@ diff --git a/src/com/android/settings/CPUSettings.java b/src/com/android/settings/CPUSettings.java index 12205b3c3..b3c57354b 100644 --- a/src/com/android/settings/CPUSettings.java +++ b/src/com/android/settings/CPUSettings.java @@ -40,8 +40,7 @@ public class CPUSettings extends SettingsPreferenceFragment implements Preference.OnPreferenceChangeListener { - public static final String FREQ_CUR_PREF = "pref_cpu_freq_cur"; - public static final String FREQ_CUR_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"; + public static final String FREQ_CUR_PREF = "pref_cpu_freq_cur";; public static final String SCALE_CUR_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"; public static final String FREQINFO_CUR_FILE = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq"; private static String FREQ_CUR_FILE = SCALE_CUR_FILE; diff --git a/src/com/android/settings/oxygen/PowerWidget.java b/src/com/android/settings/PowerWidget.java similarity index 99% rename from src/com/android/settings/oxygen/PowerWidget.java rename to src/com/android/settings/PowerWidget.java index c13e6fc3e..4c84080b5 100644 --- a/src/com/android/settings/oxygen/PowerWidget.java +++ b/src/com/android/settings/PowerWidget.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.oxygen; +package com.android.settings; import java.util.ArrayList; import java.util.HashMap; diff --git a/src/com/android/settings/oxygen/PowerWidgetEnabler.java b/src/com/android/settings/PowerWidgetEnabler.java similarity index 95% rename from src/com/android/settings/oxygen/PowerWidgetEnabler.java rename to src/com/android/settings/PowerWidgetEnabler.java index 04960d000..28dec42f5 100644 --- a/src/com/android/settings/oxygen/PowerWidgetEnabler.java +++ b/src/com/android/settings/PowerWidgetEnabler.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.settings.oxygen; +package com.android.settings; import android.provider.Settings; import android.content.Context; import android.widget.CompoundButton; import android.widget.Switch; -import com.android.settings.oxygen.SwitchWidget; +import com.android.settings.SwitchWidget; public class PowerWidgetEnabler extends SwitchWidget { public PowerWidgetEnabler(Context context, Switch switch_) { diff --git a/src/com/android/settings/oxygen/PowerWidgetUtil.java b/src/com/android/settings/PowerWidgetUtil.java similarity index 99% rename from src/com/android/settings/oxygen/PowerWidgetUtil.java rename to src/com/android/settings/PowerWidgetUtil.java index ea97a5da6..52364d8c9 100644 --- a/src/com/android/settings/oxygen/PowerWidgetUtil.java +++ b/src/com/android/settings/PowerWidgetUtil.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.oxygen; +package com.android.settings; import com.android.settings.R; diff --git a/src/com/android/settings/oxygen/SwitchWidget.java b/src/com/android/settings/SwitchWidget.java similarity index 98% rename from src/com/android/settings/oxygen/SwitchWidget.java rename to src/com/android/settings/SwitchWidget.java index 20ac919b5..320e415cd 100644 --- a/src/com/android/settings/oxygen/SwitchWidget.java +++ b/src/com/android/settings/SwitchWidget.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.oxygen; +package com.android.settings; import java.util.concurrent.atomic.AtomicBoolean; diff --git a/src/com/android/settings/oxygen/TouchInterceptor.java b/src/com/android/settings/TouchInterceptor.java similarity index 99% rename from src/com/android/settings/oxygen/TouchInterceptor.java rename to src/com/android/settings/TouchInterceptor.java index 72ec25f20..023a8cea9 100644 --- a/src/com/android/settings/oxygen/TouchInterceptor.java +++ b/src/com/android/settings/TouchInterceptor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.oxygen; +package com.android.settings; import com.android.settings.R; diff --git a/src/com/android/settings/oxygen/BootReceiver.java b/src/com/android/settings/oxygen/BootReceiver.java deleted file mode 100644 index 3cdbbd446..000000000 --- a/src/com/android/settings/oxygen/BootReceiver.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (C) 2012 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.settings.oxygen; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; -import android.os.SystemProperties; -import android.preference.PreferenceManager; -import android.util.Log; - -import com.android.settings.Utils; - -import java.util.Arrays; -import java.util.List; - -public class BootReceiver extends BroadcastReceiver { - - private static final String TAG = "BootReceiver"; - - private static final String CPU_SETTINGS_PROP = "sys.cpufreq.restored"; - - @Override - public void onReceive(Context ctx, Intent intent) { - if (SystemProperties.getBoolean(CPU_SETTINGS_PROP, false) == false - && intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { - SystemProperties.set(CPU_SETTINGS_PROP, "true"); - configureCPU(ctx); - } else { - SystemProperties.set(CPU_SETTINGS_PROP, "false"); - } - } - - private void configureCPU(Context ctx) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); - - if (prefs.getBoolean(CPUSettings.SOB_PREF, false) == false) { - Log.i(TAG, "Restore disabled by user preference."); - return; - } - - String governor = prefs.getString(CPUSettings.GOV_PREF, null); - String minFrequency = prefs.getString(CPUSettings.FREQ_MIN_PREF, null); - String maxFrequency = prefs.getString(CPUSettings.FREQ_MAX_PREF, null); - String availableFrequenciesLine = Utils.fileReadOneLine(Processor.FREQ_LIST_FILE); - String availableGovernorsLine = Utils.fileReadOneLine(Processor.GOV_LIST_FILE); - boolean noSettings = ((availableGovernorsLine == null) || (governor == null)) && - ((availableFrequenciesLine == null) || ((minFrequency == null) && (maxFrequency == null))); - List frequencies = null; - List governors = null; - - if (noSettings) { - Log.d(TAG, "No CPU settings saved. Nothing to restore."); - } else { - if (availableGovernorsLine != null){ - governors = Arrays.asList(availableGovernorsLine.split(" ")); - } - if (availableFrequenciesLine != null){ - frequencies = Arrays.asList(availableFrequenciesLine.split(" ")); - } - if (governor != null && governors != null && governors.contains(governor)) { - Utils.fileWriteOneLine(CPUSettings.GOV_FILE, governor); - } - if (maxFrequency != null && frequencies != null && frequencies.contains(maxFrequency)) { - Utils.fileWriteOneLine(CPUSettings.FREQ_MAX_FILE, maxFrequency); - } - if (minFrequency != null && frequencies != null && frequencies.contains(minFrequency)) { - Utils.fileWriteOneLine(CPUSettings.FREQ_MIN_FILE, minFrequency); - } - Log.d(TAG, "CPU settings restored."); - } - } -} From c674341abc9942e7cd919899446115aa0b457284 Mon Sep 17 00:00:00 2001 From: Martin Johnson Date: Wed, 28 Mar 2012 21:19:49 +1300 Subject: [PATCH 07/48] Add option to use new wifi driver Change-Id: I084693d6a49d89b32f5a366129695d6a86a7c7b7 --- res/values/strings.xml | 4 ++++ res/xml/development_prefs.xml | 5 +++++ .../android/settings/DevelopmentSettings.java | 17 ++++++++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 8c186a9e1..26e42e231 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2760,6 +2760,10 @@ found in the list of installed apps. USB debugging Debug mode when USB is connected + + New Wifi Driver + + Use the new Wifi Driver Development device ID diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml index 68e24c402..88887b2d9 100644 --- a/res/xml/development_prefs.xml +++ b/res/xml/development_prefs.xml @@ -22,6 +22,11 @@ android:title="@string/enable_adb" android:summary="@string/enable_adb_summary"/> + + Date: Thu, 29 Mar 2012 03:06:46 +0300 Subject: [PATCH 08/48] Update res/values-nb/strings.xml --- res/values-nb/strings.xml | 59 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 0681fd6d0..64f0962f9 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -1137,7 +1137,7 @@ "Enhetsinformasjonen er ikke tilgjengelig" "Forbli våken" "Skjermen blir aldri svart under lading" - "Tillat simulert posisjon" + "Tillat simulert posisjon" "Tillat bruk av simulerte GPS-koordinater" "Aktiver USB-debugging?" "USB-feilsøking er bare ment for utviklingsformål. Bruk det til å kopiere data mellom datamaskinen og enheten, installere apper på enheten uten varsel og lese loggdata." @@ -1580,4 +1580,61 @@ "Avbryt" "%d %%" "Ytterligere systemoppdateringer" + Ny Wi-Fi-driver + Bruk den nye Wi-Fi-driveren + Bruk ekkokansellerende mikrofon + Bruk hodetelefonmikrofon + Varslingsskuff + Strøm-widget + Vis strøm-widget + Vis strøm-widgetten i varslingsskuffen + Skjul ved endring + Skjul varslingsskuffen ved av-/påskruing av en widget-bryter + Skjul indikator + Skjul strøm-widget-indikatoren + Skjul rullefeltet + Skjul rullefeltet dersom flere enn maksimalt antall widget-brytere er til stede + Widget-brytere + Velg hvilke brytere som skal vises i strøm-widgetten + Rekkefølge på widget-brytere + Velg rekkefølgen på bryterne i strøm-widgetten + Brytere + Skru av/på Wi-Fi + Skru av/på Bluetooth + Skru av/på GPS + Skru av/på lyd + Skru av/på lysstyrke + Skru av/på synk. + Skru av/på Wi-Fi AP + Skru av/på tidsavbruddet for skjerm + Skru av/på mobildata + Skru av/på låseskjerm + Skru av/på 2G/3G + Skru av/på orientering + Skru av/på flymodus + Skru av/på LED-lommelykt + Gå i dvalemodus + Media: Skru av/på spill/pause + Media: Hopp til forrige + Media: Hopp til neste + Skru av/på WiMAX + Brytermoduser + Lysstyrkemoduser + Velg hvordan lysstyrkebryteren forandrer modus + Auto + Dunkelt + Nettverksmoduser + Velg hvordan nettverksbryteren forandrer modus + Tidsavbrudd for skjermmodus + Velg hvordan bryteren for tidsavbrudd for skjerm forandrer modus + Lydmodus + Velg hvordan lydbryteren forandrer modus + Lydløs + Vibrér + Lyd + Lyd+Vibrér + Lommelyktmodus + Velg høy/dødsstråle + Vibrér ved berøring + Skru av/på vibrasjon ved berøring From 8250fc73fda6c89a71d9a8155dd5db43a02c8463 Mon Sep 17 00:00:00 2001 From: olefb Date: Thu, 29 Mar 2012 03:28:59 +0300 Subject: [PATCH 09/48] Update res/values-nb/strings.xml --- res/values-nb/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 64f0962f9..0af90ca12 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -1137,7 +1137,7 @@ "Enhetsinformasjonen er ikke tilgjengelig" "Forbli våken" "Skjermen blir aldri svart under lading" - "Tillat simulert posisjon" + "Tillat simulert posisjon" "Tillat bruk av simulerte GPS-koordinater" "Aktiver USB-debugging?" "USB-feilsøking er bare ment for utviklingsformål. Bruk det til å kopiere data mellom datamaskinen og enheten, installere apper på enheten uten varsel og lese loggdata." From 24da5c02d8be454b4ab4e5cff5c0d02b377751d7 Mon Sep 17 00:00:00 2001 From: olefb Date: Thu, 29 Mar 2012 03:33:36 +0300 Subject: [PATCH 10/48] Update res/values-nb/strings.xml --- res/values-nb/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 0af90ca12..af4ba6fa1 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -1136,8 +1136,8 @@ "Utviklings-ID for enhet" "Enhetsinformasjonen er ikke tilgjengelig" "Forbli våken" - "Skjermen blir aldri svart under lading" - "Tillat simulert posisjon" + "Skjermen blir aldri svart underinput_methods_settings_label_format lading" + "Tillat simulert posisjon" "Tillat bruk av simulerte GPS-koordinater" "Aktiver USB-debugging?" "USB-feilsøking er bare ment for utviklingsformål. Bruk det til å kopiere data mellom datamaskinen og enheten, installere apper på enheten uten varsel og lese loggdata." @@ -1638,3 +1638,4 @@ Vibrér ved berøring Skru av/på vibrasjon ved berøring +Tilbake til anrop \ No newline at end of file From a056b33bc5b03207f315be3903153ab897aac956 Mon Sep 17 00:00:00 2001 From: olefb Date: Thu, 29 Mar 2012 03:38:24 +0300 Subject: [PATCH 11/48] Update res/values-nb/strings.xml --- res/values-nb/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index af4ba6fa1..9720ea58a 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -1136,7 +1136,7 @@ "Utviklings-ID for enhet" "Enhetsinformasjonen er ikke tilgjengelig" "Forbli våken" - "Skjermen blir aldri svart underinput_methods_settings_label_format lading" + "Skjermen blir aldri svart under lading" "Tillat simulert posisjon" "Tillat bruk av simulerte GPS-koordinater" "Aktiver USB-debugging?" From 34b6dd551b358610487c37d4bf081c46507d0984 Mon Sep 17 00:00:00 2001 From: olefb Date: Thu, 29 Mar 2012 03:40:02 +0300 Subject: [PATCH 12/48] Update res/values-nb/strings.xml --- res/values-nb/strings.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 9720ea58a..edf80c6a8 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -1637,5 +1637,4 @@ Velg høy/dødsstråle Vibrér ved berøring Skru av/på vibrasjon ved berøring - -Tilbake til anrop \ No newline at end of file + \ No newline at end of file From 1972274c89afd5f034614cb4b77c42bb509b6161 Mon Sep 17 00:00:00 2001 From: technowizard Date: Thu, 29 Mar 2012 09:16:49 +0700 Subject: [PATCH 13/48] Thanks dzo for let me commit the change for Indonesian language. tell me if the translation gone wrong when you try to build the settings -technowizard17@xda --- res/values-in/strings.xml | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index ed7347ba0..b87c168de 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -1580,4 +1580,61 @@ "Batal" "%d%%" "Pemutakhiran sistem tambahan" + Driver Wifi baru + Gunakan Driver Wifi baru + Gunakan echo cancelling microphone + Gunakan microphone headset + Notification Drawer + Power widget + Tampilkan power widget + Tampilkan power widget di notification drawer + Sembunyikan perubahan + Sembunyikan notification drawer setelah menekan tombol widget + Sembunyikan indikator + Sembunyikan indikator power widget + Sembunyikan scrollbar + Sembunyikan scrollbar jika lebih dari nomor maksimum tombol widget yang dapat ditampilkan + Tombol widget + Memilih tombol mana yang akan ditampilkan pada power widget + Susunan tombol widget + Pilih susunan tombol pada power widget + Tombol + Toggle Wi-Fi + Toggle Bluetooth + Toggle GPS + Toggle Suara + Toggle Kecerahan + Toggle Sinkronisasi + Toggle Wi-Fi AP + Toggle Screentimeout + Toggle Mobiledata + Toggle Lockscreen + Toggle 2G/3G + Toggle Orientasi + Toggle Mode Airplane + Toggle LED flashlight + Sleep + Media: Toggle Play/Pause + Media: Lewat ke Sebelumnya + Media: Lewat ke Selanjutnya + Toggle WiMAX + Mode tombol + Mode kecerahan + Memilih bagaimana tombol kecerahan mengubah modenya + Otomatis + Dim + Mode jaringan + Memilih bagaimana tombol mode jaringan mengubah modenya + Mode Screentimeout + Memilih bagaimana tombol Screentimeout mengubah modenya + Mode suara + Memilih bagaimana tombol suara mengubah modenya + Senyap + Getar + Suara + Suara+Getar + Mode Flash + Memilih Tinggi / Death Ray + Haptic feedback + Hidupkan/matikan haptic feedback From d9e1c2b6bce1b5a5ce8cfee88bccb1c2106735d3 Mon Sep 17 00:00:00 2001 From: madx5 Date: Thu, 29 Mar 2012 11:13:37 +0300 Subject: [PATCH 14/48] Update res/values-de/strings.xml --- res/values-de/strings.xml | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 434b9fc97..c6fa23ea5 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -1581,4 +1581,61 @@ "Abbrechen" "%d%%" "Zusätzliche Systemupdates" + Neuer WLAN Treiber + Neuen WLAN Treiber nutzen + Echounterdrückung nutzen + Kopfhörermikrofon einschalten + Benachrichtigungsleiste + Energiesteuerung + Energiesteuerung anzeigen + Energiesteuerung in der Benachrichtigungsleiste anzeigen + Nach dem Wechseln ausblenden + Nach Auswählen eines Steuerelements Benachrichtigunsleiste ausblenden + Indikator ausblenden + Energiesteuerungsindikator ausblenden + Rollleiste ausblenden + Rollleiste ausblenden wenn die maximale Anzahl von Widgets angezeigt werden + Auswahl der Steuerelemente + Wählen Sie, welche Steuerelemente angezeigt werden sollen + Steuerelemente anordnen + Wählen Sie die Anordnung der Steuerelemente + Steuerelemente + WLAN anzeigen + Bluetooth anzeigen + GPS anzeigen + Soundprofile anzeigen + Displayhelligkeit anzeigen + Synchronisation anzeigen + WLAN AP anzeigen + Displayruhezustand anzeigen + Mobilfunkdaten anschalten + Bildschirmsperre anzeigen + 2G/3G anzeigen + Displayorientation anzeigen + Flugmodus anzeigen + LED Blitzlicht anzeigen + Schlafmodus anzeigen + Medien: Play/Pause anzeigen + Medien: Vorheriger Titel + Medien: Nächster Titel + WiMAX anzeigen + Änderungssteuerelemente + Helligkeit ändern + Wählen Sie welche Änderungen das Helligkeitssteuerelement anzeigen soll + Automatisch + Dimmen + Netzwerkeinstellungen + Wählen Sie welche Änderungen das Netzwerkeinstellungselement anzeigen soll + Bildschirmabschalten + Wählen Sie die Bildschirmabschaltungsmodi + Klingelmodussteuerelement + Wählen Sie welche Änderungen das Klingelmodussteuerelement anzeigen soll + Still + Vibrieren + Klingeln + Klingeln+Vibrieren + Blitzmodus + Wähle Helles / Dunkles Blitzlicht + Haptische Rückmeldung + Aktivire/Deaktiviere Haptische Rückmeldung From d3fcf4e0f8528630e6cd12ee42a17ac0b32488b9 Mon Sep 17 00:00:00 2001 From: m1st4k3 Date: Thu, 29 Mar 2012 10:26:33 +0200 Subject: [PATCH 15/48] "Notification Drawer" menu translated. --- res/values-pt/strings.xml | 59 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 8bb99c50a..ab9319962 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -1580,4 +1580,63 @@ "Cancelar" "%d%%" "Atualizações adicionais do sistema" + + "Novo Driver Wi-Fi" + "Usar o novo driver wi-Fi" + "Usar o segundo microfone para cancelar barulhos externos" + "Usar microfone dos fones de ouvido" + "Barra de Notificação" + + "Barra de Controlo de Energia" + "Mostrar a Barra de Energia" + "Mostra a barra de controlo de energia na barra de notificações" + "Esconder ao alterar" + "Esconde a barra de notificações ao alterar uma opção" + "Esconder o indicador de estado" + "Esconde os indicadores por baixo do botão que informam sobre o estado do mesmo" + "Esconder a barra de 'Deslizamento Lateral'" + "Esconde a barra de deslizamento que aparece quando é excedido o número máximo de botões que podem aparecer ao mesmo tempo na barra" + "Botões da Barra de Energia" + "Selecciona os botões que aparecem na Barra de Energia" + "Ordem dos botões" + "Selecciona a ordem pela qual os botões aparecem na Barra de Energia" + "Botões" + "Alterar o Wi-Fi" + "Alterar o Bluetooth" + "Alterar o GPS" + "Alterar o Som" + "Alterar o Brilho do Ecrã" + "Alterar a Sincronização Automática" + "Alterar o Wi-Fi AP" + "Alterar o Tempo de Desligamento do Ecrã" + "Alterar os Dados Móveis" + "Alterar o Ecrã de Bloqueio" + "Alterar o 2G/3G" + "Alterar o Sensor da Orientação" + "Alterar o modo de Avião" + "Alterar a Lanterna LED" + "Bloquear o Smartphone" + "Media: Alterar Tocar/Parar" + "Media: Voltar à anterior" + "Media: Passar à próxima" + "Alterar o WiMAX" + "Modos dos Botões" + "Modos do Brilho do Ecrã" + "Escolhe como o botão 'Alterar o Brilho do Ecrã' altera o estado do brilho" + "Automático" + "Mínimo" + "Modos do Rede" + "Escolhe como o botão 'Alterar o 2G/3G' altera o estado da rede" + "Modos do Desligamento do Ecrã" + "Escolhe como o botão 'Alterar o Tempo de Desligamento do Ecrã' altera o estado" + "Modos de Som" + "Escolhe como o botão 'Alterar o Som' altera o volume / vibração" + "Silêncio" + "Vibrar" + "Som" + "Som + Vibrar" + "Modos da Lanterna" + "Escolher Brilho Normal / Intenso" + "Vibração de Resposta do Ecrã Capacitivo" + "Liga / Desliga a vibração de resposta a uma acção de 'touch'" From 9a4ca1ff4db1f893747f02929bcce19d914d69ca Mon Sep 17 00:00:00 2001 From: Marchiano Date: Thu, 29 Mar 2012 12:51:17 +0300 Subject: [PATCH 16/48] Update res/values-bg/strings.xml --- res/values-bg/strings.xml | 59 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index f256fe186..d6d87ad4e 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -1580,4 +1580,63 @@ "Отказ" "%d%%" "Допълнителни системни актуализации" + + Нов Wi-Fi драйвер + Новият Wi-Fi драйвер използва по-малко енергия + Отменяне на ехо от микрофон + Микрофон за слушалки + Бар за извествяване + + Лента за джаджи + Лента за джаджи + Показване на джаджи в бара за известяване + Скриване при промяна + Скриване на бара за известяване след натискане на джаджа + Скриване на индикатор + Скриване на индикатора за джаджи + Скриване на плъзчача + Скриване на плъзгача, когато повече от максималния брой джаджи са налични + Бутони за джаджи + Избиране на джаджи, които да се показват в лентата + Ред на джаджа бутони + Избиране на реда на бутоните в лентата + Закачане на бутони + Wi-Fi + Bluetooth + GPS + Звук + Яркост + Sync + Wi-Fi AP + Заснемане + Мобилни данни + Заключване + 2G/3G + Завъртане + Самолетен режим + LED светкавица + Спящ режим + Медиа: Старт/Пауза + Медиа: Предишна + Медиа: Следваща + WiMAX + Режим на бутони + Режим на Яркост + Избиране как бутонът за Яркост да променя режима + Автоматична + Бледа + Режим на Мрежа + Избиране как бутонът за Мрежа да променя режима + Спящ режим + Избиране как бутонът за Заспиване да променя режима + Режим на Звук + Избиране как бутонът за Звук да променя режима + Тишина + Вибриране + Звук + Звук+Вибриране + Светкавица + Избиране на High / Death лъчи + Haptic feedback + Вкл/Изкл haptic feedback From f117420482c264fd1636f693495759afd6b211b0 Mon Sep 17 00:00:00 2001 From: Davoss Date: Thu, 29 Mar 2012 12:51:43 +0300 Subject: [PATCH 17/48] Update res/values-cs/strings.xml --- res/values-cs/strings.xml | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index a7994e75d..3d9482c4d 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -1580,4 +1580,62 @@ "Zrušit" "%d %%" "Další aktualizace systému" + Nový ovladač Wifi + Použít nový ovladač Wifi + Použít mikrofon pro rušení ozvěny + Použít mikrofon sluchátek + Notifikační lišta + + Power widget + Zobrazit power widget + Zobrazit Power widget v notifikační liště + Skrýt po změně + Skrýt notifikační lištu po změně nastavení + Skrýt indikátor + Skrýt indikátory upozornění + Skrýt posuvník + Skrýt posuvník pokud je přítomno více widgetů, než se vejde na šířku plochy + Tlačítka widgetu + Vyberte tlačítka widgetu + Pořadí tlačítek widgetu + Pořadí tlačítek widgetu v notifikační liště + Tlačítka + Wifi + Bluetooth + GPS + Zvuk + Jas + Synchronizace + Wifi AP + Časnový limit obrazovky + Mobilní data + Zamykací obrazovka + 2G/3G + Orientace + Režim letadlo + LED přisvětlení + Uspat + Média: Přehrát/Pozastavit + Média: Předchozí + Média: Další + WiMAX + Módy tlačítek + Režim jasu + Zvolte režimy jasu + Automaticky + Potemnění + Režim sítě + Zvolte režimy sítě + Režim časového limitu obrazovky + Zvolte režimy časového limitu obrazovky + Režim zvuku + Zvolte režimy zvuku + Ticho + Vibrace + Zvuk + Zkuk+Vibrace + Režim LED + Zvolte režim LED přisvětlení + Hmatová odezva + Zapnout/vypnout hmatovou odezvu From ba0bb02ca701c1f413171fc8de70f2e0eab713b3 Mon Sep 17 00:00:00 2001 From: Davoss Date: Thu, 29 Mar 2012 13:08:31 +0300 Subject: [PATCH 18/48] Update res/values-cs/strings.xml --- res/values-cs/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 3d9482c4d..90ee7c877 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -1580,21 +1580,21 @@ "Zrušit" "%d %%" "Další aktualizace systému" - Nový ovladač Wifi +Nový ovladač Wifi Použít nový ovladač Wifi Použít mikrofon pro rušení ozvěny Použít mikrofon sluchátek Notifikační lišta Power widget - Zobrazit power widget + Zobrazit Power widget Zobrazit Power widget v notifikační liště Skrýt po změně Skrýt notifikační lištu po změně nastavení Skrýt indikátor Skrýt indikátory upozornění Skrýt posuvník - Skrýt posuvník pokud je přítomno více widgetů, než se vejde na šířku plochy + Skrýt posuvník, pokud je přítomno více widgetů, než se vejde na šířku plochy Tlačítka widgetu Vyberte tlačítka widgetu Pořadí tlačítek widgetu @@ -1633,7 +1633,7 @@ Ticho Vibrace Zvuk - Zkuk+Vibrace + Zvuk+Vibrace Režim LED Zvolte režim LED přisvětlení Hmatová odezva From 711c1a297e2d7a3ee3cb0352d61a97aa30c40d2d Mon Sep 17 00:00:00 2001 From: Schrauff Date: Thu, 29 Mar 2012 14:00:33 +0300 Subject: [PATCH 19/48] Hi DZO, this is my translation to Slovenian. Some translated texts are longer than original, I hope there is no limitation to text length and how it will wrap in menus. How can I try this on the phone? I would like to test it first, but I can't find this XML on the phone. BR, Jan --- res/values-sl/strings.xml | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index d67599a15..921e50ab9 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -13,7 +13,65 @@ See the License for the specific language governing permissions and limitations under the License. --> + Novi Wifi gonilnik + Uporabi novi Wifi gonilnik + Uporabi mikrofon za izničenje odmeva + Uporabi mikrofon na slušalkah + Opozorilna vrstica + Pripomoček za upravljanje naprav + Prikaži pripomoček za upravljanje naprav + Prikaži pripomoček za upravljanje naprav v opozorilni vrstici + Skrij ob spremembi + Skrij opozorilno vrstico po preklopu pripomočkov + Skrij indikatorje + Skrij indikatorje delovanja pripomočkov + Skrij drsnik + Skrij drsnik, če je prisotnih več gumbov pripomočkov od dovoljenega v opozorilni vrstici + Pripomočki + Izberite kateri pripomočki bojo prikazani v opozorilni vrstici + Vrstni red pripomočkov + Vrstni red pripomočkov v opozorilni vrstici + Gumbi + Prekopi Wi-Fi + Preklopi Bluetooth + Preklopi GPS + Preklopi zvok + Preklopi osvetlitev + Preklopi sinhronizacijo + Preklopi Wi-Fi dostopno točko + Preklopi časovni izklop zaslona + Preklopi prenos podatkov + Preklopi zaklep zaslona + Preklopi med 2G/3G + Preklopi rotacijo zaslona + Preklopi način za letalo + Preklopi LED svetilko + Preklopi spanje + Predstavnost: preklop Predvajaj/Pavza + Predstavnost: Skoči na prejšnji posnetek + Predstavnost: Skoči na naslednji posnetek + Preklopi WiMAX + Načini gumbov + Načini osvetlitve + Izberite kako gumb za osvetlitev preklopi med načini osvetljevanja + Avtomatska osvetlitev + Zatemni + Omrežni načini + Izberite kako gumb za omrežje preklopi med načini povezav + Načini časovnega izklopa zaslona + Preklopite med časovnimi zakasnitvami izklopa zaslona + Zvočni načini + Izberite način za preklop med zvočnimi načini naprave + Tiho + Vibriraj + Zvok + Zvok+Vibriraj + Načini bliskavice + Močna + Vibriraj na dotik + Vklopi/Izklopi vibracijo na dotik + "Da" From c9a403989c1e086d969df097eacad444b96119b3 Mon Sep 17 00:00:00 2001 From: geocheats2 Date: Thu, 29 Mar 2012 16:36:04 +0300 Subject: [PATCH 20/48] Greek translasion of settings for aurora 2.04 Geocheats2 --- res/values-el/strings.xml | 60 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index 1c19956b3..d137970ae 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -1580,4 +1580,64 @@ "Ακύρωση" "%d%%" "Πρόσθετες ενημερώσεις συστήματος" + Νεος οδηγός wifi + Ενεργοποίηση νέου οδηγού + Χρήση μικροφώνου ακύρωσης θορύβου + Χρήση μικροφώνου ακουστικών + Εργαλειοθήκη μπάρας ειδοποιήσεων + + Εμφάνιση εργαλειοθήκης + Εμφάνιση εργαλειοθήκης + Εμφάνιση της εργαλειοθήκης στην μπάρα ειδοποιήσεων + Απόκρυψη μπάρας με την αλλαγή + Απόκρυψη εργαλειοθήκης μετά την χρήση της + Απόκρυψη δείκτη + Απόκρυψη δεικτών στα κουμπιά + Απόκρυψη μπάρας κύλυσης + Απόκρυψη μπάρας κύλισης όταν οι διακόπτες είναι περισσότεροι απ' όσοι χωράνε + Κουμπιά διακοπτών + Επιλογή των κουμπιών που θα εμφανίζονται στην εργαλειοθήκη + Επιλογή σειράς κουμπιών + Επιλέξτε την σειρά με την οποία θα εμφανίζονται τα κουμπιά στην εργαλειοθήκη + Κουμπιά + Διακόπτης Wifi + Διακόπτης Bluetooth + Διακόπτης GPS + Επιλογή τρόπου ειδοποίησης + Διακόπτης φωτεινότητας + Διακόπτης συγχρονισμού + Διακόπτης Wi-Fi AP + Διακόπτης ορίου φωτισμού οθόνης + Διακόπτης δεδομένων κιν. τηλεφωνίας + Διακόπτης οθόνης κλειδώματος + Διακόπτης 2G/3G + Διακόπτης προσανατολισμού + Διακόπτης προφίλ πτήσης + Διακόπτης LED φακού + Μετάβαση σε κατάσταση αναμονής + Μουσική: Διακόπτης Play/Pause + Μουσική: προηγούμενο κομμάτι + Μουσική: επόμενο κομμάτι + Διακόπτης WiMAX + Επιλογές Διακόπτη + Επιλογή στάθμης φωτεινώτητας + Επιλέξτε πως ο διακόπτης φωτεινότητας θα λειτουργεί + Αυτόματο + Ελάχιστο + Τρόποι χρήσης δικτύου κινητής + Επιλέξτε πως ο διακόπτης 2G/3G θα λειτουργεί + Επιλογή χρόνου φωτισμού ορίου οθόνης + Επιλέξτε τον χρόνο που θα χρεισημοποιεί το όριο φωτισμού οθόνης + Πιθανοί συνδυασμοί ειδοποίησης + Επιλέξτε πως ο διακόπτης ειδοποίησης θα αλλάζει + Αθόρυβο + Δόνηση + Με ήχο + Ήχος+Δόνηση + Επιλογή τρόπου χρήσης φακού + Επιλογή δυνατού/αδύναμου φωστισμού + Δονισή κατά την χρήση των διακοπτών + Ενέργοποίηση/Απενεργοποίηση + + From 78b846e733b2388c3c334fd973e65cbcaed6f35f Mon Sep 17 00:00:00 2001 From: madx5 Date: Thu, 29 Mar 2012 17:34:21 +0300 Subject: [PATCH 21/48] Update res/values-de/strings.xml --- res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index c6fa23ea5..972a12d89 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -1637,5 +1637,5 @@ Blitzmodus Wähle Helles / Dunkles Blitzlicht Haptische Rückmeldung - Aktivire/Deaktiviere Haptische Rückmeldung + Aktiviere/Deaktiviere Haptische Rückmeldung From 3a73727fe6aa4c238d6525a41a5358038a003441 Mon Sep 17 00:00:00 2001 From: one-2-z Date: Thu, 29 Mar 2012 22:26:39 +0700 Subject: [PATCH 22/48] Update res/values-ru/strings.xml --- res/values-ru/strings.xml | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index b206d8ee7..90d7cbf59 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -1578,6 +1578,64 @@ "Подтвердите пароль" "Сохранить пароль" "Отмена" + System interface + Переключатели в шторке + Power widget + Показывать переключатели + Показывать виджеты-переключатели в шторке + Закрывать шторку + Прятать шторку после переключения виджетов + Спрятать индикатор + Выключить индикатор под кнопками виджетов + Прятать скроллбар + Убрать скроллбар, появляющийся когда переключателей больше, чем может поместиться в шторке + Кнопки переключателей + Выберите, какие кнопки переключателей будут отображены + Порядок кнопок + Выберите порядок кнопок переключателей + Переключатели + Wi-Fi + Bluetooth + GPS + Звук + Яркость + Синхронизация + Wi-Fi AP + Спящий режим + Передача данных + Блокировка экрана + 2G/3G + Автоповорот + Режим полёта + Фонарик + Отправить спать :) + Медиа: Play/Pause + Медиа:Skip to Next + Медиа: Skip to Previous + WiMAX + Настройка переключателей + Авто + Тусклый + Режим сети + Выберите режим переключения сети + Настройка спящего режима + Выберите таймаут спящего режима + Настройки яркости + Выбор режимов переключения яркости + Рингтон и уведомления + Выберите режимы смены звука + Без звука + Вибрация + Мелодия + Мелодия+Вибрация + Flash mode + Choose High / Death Ray + Виброотклик + Включение/выключение виброотклика переключателей + Шумоподавление + Микрофон гарнитуры + Новый драйвер Wi-Fi + Использовать новый драйвер Wi-Fi From 302413b362498fbb41789ba2fd44dbc9c19d9c43 Mon Sep 17 00:00:00 2001 From: Marchiano Date: Fri, 30 Mar 2012 00:28:00 +0300 Subject: [PATCH 23/48] Update res/values-bg/strings.xml --- res/values-bg/strings.xml | 118 ++++++++++++++++++++------------------ 1 file changed, 61 insertions(+), 57 deletions(-) diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index d6d87ad4e..6c7d36b25 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -1581,62 +1581,66 @@ "%d%%" "Допълнителни системни актуализации" - Нов Wi-Fi драйвер - Новият Wi-Fi драйвер използва по-малко енергия - Отменяне на ехо от микрофон - Микрофон за слушалки - Бар за извествяване + "Свързване на устройства с Wi-Fi" + "Wi-Fi Direct настройки" - Лента за джаджи - Лента за джаджи - Показване на джаджи в бара за известяване - Скриване при промяна - Скриване на бара за известяване след натискане на джаджа - Скриване на индикатор - Скриване на индикатора за джаджи - Скриване на плъзчача - Скриване на плъзгача, когато повече от максималния брой джаджи са налични - Бутони за джаджи - Избиране на джаджи, които да се показват в лентата - Ред на джаджа бутони - Избиране на реда на бутоните в лентата - Закачане на бутони - Wi-Fi - Bluetooth - GPS - Звук - Яркост - Sync - Wi-Fi AP - Заснемане - Мобилни данни - Заключване - 2G/3G - Завъртане - Самолетен режим - LED светкавица - Спящ режим - Медиа: Старт/Пауза - Медиа: Предишна - Медиа: Следваща - WiMAX - Режим на бутони - Режим на Яркост - Избиране как бутонът за Яркост да променя режима - Автоматична - Бледа - Режим на Мрежа - Избиране как бутонът за Мрежа да променя режима - Спящ режим - Избиране как бутонът за Заспиване да променя режима - Режим на Звук - Избиране как бутонът за Звук да променя режима - Тишина - Вибриране - Звук - Звук+Вибриране - Светкавица - Избиране на High / Death лъчи - Haptic feedback - Вкл/Изкл haptic feedback + "Eхоподтискане на микрофон" + Микрофон на слушалки + + "Нов Wi-Fi драйвер" + "Използва по-малко енергия" + "Бар за известяване" + + "Лента за джаджи" + "Лента за джаджи" + "Показване на джаджи в бара за известяване" + "Скриване при промяна" + "Скриване на бара за известяване след натискане на джаджа" + "Скриване на индикатор" + "Скриване на индикатора за джаджи" + "Скриване на плъзчач" + "Когато повече от максималния брой джаджи са налични" + "Джаджа бутони" + "Избиране на джаджи, които да се показват в лентата" + "Ред на джаджа бутони" + "Избиране на реда на бутоните в лентата" + "Закачане на бутони" + "Wi-Fi" + "Bluetooth" + "GPS" + "Звук" + "Яркост" + "Синхронизиране" + "Wi-Fi AP" + "Заснемане" + "Мобилни данни" + "Заключване на екрана" + "2G/3G" + "Автоматично завъртане" + "Самолетен режим" + "LED светкавица" + "Спящ режим" + "Медиа: Старт/Пауза" + "Медиа: Предишна" + "Медиа: Следваща" + "WiMAX" + "Режим на бутони" + "Яркост" + "Избиране как бутонът за Яркост да променя режима" + "Автоматична" + "Бледа" + "Мрежа" + "Избиране как бутонът за Мрежа да променя режима" + "Спящ режим" + "Времето за заспиване на екрана" + "Звук" + "Избиране как бутонът за Звук да променя режима" + "Тишина" + "Вибриране" + "Звук" + "Звук+Вибриране" + "Светкавица" + "Избиране на High / Death лъчи" + "Вибриране при докосване" + "Вкл/Изкл вибриране при докосване" From f23b31c3a2262df62ab9b10a7e656a07b30e3c6c Mon Sep 17 00:00:00 2001 From: hdtvxj <18461945@qq.com> Date: Fri, 30 Mar 2012 11:10:45 +0800 Subject: [PATCH 24/48] Update res/values-zh-rCN/strings.xml --- res/values-zh-rCN/strings.xml | 57 +++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 6305712fb..748d46e45 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -1580,4 +1580,61 @@ "取消" "%d%%" "其他系统更新" + 新的WIFI驱动 + 启用新的WIFI驱动 + 启用麦克风回声 + 启用耳机麦克风 + 通知栏 + 电源部件 + 显示电源部件 + 在通知栏显示电源部件 + 切换隐藏 + 切换部件按钮后自动隐藏通知栏 + 隐藏指示灯 + 隐藏电源部件指示灯 + 隐藏滚动条 + 部件按钮超过最大显示时隐藏滚动条 + 部件按钮 + 选择在电源部件显示按钮 + 部件按钮顺序 + 选择在电源部件按钮顺序 + 按钮 + 切换Wi-Fi + 切换蓝牙 + 切换 GPS + 切换声音 + 切换亮度 + 切换同步 + 切换Wi-Fi AP + 切换休眠 + 切换移动数据 + 切换锁屏 + 切换 2G/3G + 切换定位 + 切换飞行模式 + 切换LED手电筒 + 睡眠模式 + 媒体:切换播放/暂停 + 媒体:跳转到上一首 + 媒体:跳转到下一首 + 切换 WiMAX + 按钮模式 + 亮度模式 + 选择亮度按钮改变模式 + 自动 + 变暗 + 网络模式 + 选择网络按钮改变模式 + 休眠模式 + 选择休眠按钮改变模式 + 声音模式 + 选择声音按钮改变模式 + 无声 + 振动 + 声音 + 声音+振动 + 闪光模式 + 选择高光/Death Ray + 触控反馈 + 启用/禁用触控反馈 From d0a6682aabb434f680981fb6bf7e215a30209a1e Mon Sep 17 00:00:00 2001 From: Schrauff Date: Fri, 30 Mar 2012 12:30:57 +0300 Subject: [PATCH 25/48] Update: - Some texts were shortened, they were not displayed properly in vertical menu layout. --- res/values-sl/strings.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index 921e50ab9..9149899c2 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -15,8 +15,8 @@ --> Novi Wifi gonilnik Uporabi novi Wifi gonilnik - Uporabi mikrofon za izničenje odmeva - Uporabi mikrofon na slušalkah + Mikrofon za izničenje odmeva + Mikrofon na slušalkah Opozorilna vrstica Pripomoček za upravljanje naprav @@ -48,9 +48,9 @@ Preklopi način za letalo Preklopi LED svetilko Preklopi spanje - Predstavnost: preklop Predvajaj/Pavza - Predstavnost: Skoči na prejšnji posnetek - Predstavnost: Skoči na naslednji posnetek + Preklop predvajaj/pavza + Skoči na prejšnji posnetek + Skoči na naslednji posnetek Preklopi WiMAX Načini gumbov Načini osvetlitve @@ -59,7 +59,7 @@ Zatemni Omrežni načini Izberite kako gumb za omrežje preklopi med načini povezav - Načini časovnega izklopa zaslona + Časovni izklop zaslona Preklopite med časovnimi zakasnitvami izklopa zaslona Zvočni načini Izberite način za preklop med zvočnimi načini naprave @@ -68,7 +68,7 @@ Zvok Zvok+Vibriraj Načini bliskavice - Močna + Izberite moč bliskavice Vibriraj na dotik Vklopi/Izklopi vibracijo na dotik From 576f7af9e3f4771c4a6fbd2435d88a9a5e8eef83 Mon Sep 17 00:00:00 2001 From: Martin Johnson Date: Sat, 31 Mar 2012 10:05:43 +1300 Subject: [PATCH 26/48] Fix greek and slovenian. Change-Id: If5a8bf1cab5323cc2b936f2819d1907bc459afd9 --- res/values-el/strings.xml | 7 +++---- res/values-sl/strings.xml | 7 ++++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index d137970ae..5a1180d81 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -1594,7 +1594,7 @@ Απόκρυψη δείκτη Απόκρυψη δεικτών στα κουμπιά Απόκρυψη μπάρας κύλυσης - Απόκρυψη μπάρας κύλισης όταν οι διακόπτες είναι περισσότεροι απ' όσοι χωράνε + "Απόκρυψη μπάρας κύλισης όταν οι διακόπτες είναι περισσότεροι απ' όσοι χωράνε" Κουμπιά διακοπτών Επιλογή των κουμπιών που θα εμφανίζονται στην εργαλειοθήκη Επιλογή σειράς κουμπιών @@ -1637,7 +1637,6 @@ Επιλογή τρόπου χρήσης φακού Επιλογή δυνατού/αδύναμου φωστισμού Δονισή κατά την χρήση των διακοπτών - Ενέργοποίηση/Απενεργοποίηση + Ενέργοποίηση/Απενεργοποίηση - - + diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index 9149899c2..4e2b9e6ec 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -13,6 +13,9 @@ See the License for the specific language governing permissions and limitations under the License. --> + + Novi Wifi gonilnik Uporabi novi Wifi gonilnik Mikrofon za izničenje odmeva @@ -71,9 +74,7 @@ Izberite moč bliskavice Vibriraj na dotik Vklopi/Izklopi vibracijo na dotik - - + "Da" "Ne" "Neznano" From 47cc87386dca344bdf52b0a09eb8ddeaf89f0b2d Mon Sep 17 00:00:00 2001 From: Martin Johnson Date: Sat, 31 Mar 2012 10:08:26 +1300 Subject: [PATCH 27/48] Update chinese translations Change-Id: I089f72ead64d8de52d493fa962c9742e4a8c7dfb --- res/values-zh-rCN/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 748d46e45..f6a51b832 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -1582,7 +1582,7 @@ "其他系统更新" 新的WIFI驱动 启用新的WIFI驱动 - 启用麦克风回声 + 启用麦克风消除回声 启用耳机麦克风 通知栏 电源部件 From 7c7cb3fdb78eafde7b44dc3437ea425e2f256494 Mon Sep 17 00:00:00 2001 From: CharlesWilton Date: Sat, 31 Mar 2012 11:37:33 +0800 Subject: [PATCH 28/48] I think it's from the Google, because there are so many errors ,,,,I just spend more than half an hour to fix it . Now it's perfect . thanks for your developing work. --- res/values-zh-rCN/strings.xml | 70 +++++++++++++++++------------------ 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index f6a51b832..c6e4df64e 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -1581,60 +1581,60 @@ "%d%%" "其他系统更新" 新的WIFI驱动 - 启用新的WIFI驱动 - 启用麦克风消除回声 - 启用耳机麦克风 - 通知栏 + 开启新WI-FI驱动 + 开启双麦克降噪 + 自动识别耳机麦 + 通知栏设置 电源部件 显示电源部件 - 在通知栏显示电源部件 - 切换隐藏 - 切换部件按钮后自动隐藏通知栏 - 隐藏指示灯 - 隐藏电源部件指示灯 + 在通知栏抽屉中显示电源部件工具条 + 自动隐藏 + 点击插件按钮后自动隐藏下拉列表 + 隐藏指示器 + 隐藏电源部件按钮上的指示器 隐藏滚动条 - 部件按钮超过最大显示时隐藏滚动条 - 部件按钮 - 选择在电源部件显示按钮 - 部件按钮顺序 - 选择在电源部件按钮顺序 + 按钮数量超过可显示的最大值时隐藏滚动条 + 插件选择 + 选择你想显示的小插件 + 插件按钮顺序 + 对插件进行排序 按钮 - 切换Wi-Fi - 切换蓝牙 - 切换 GPS - 切换声音 + 开启 Wi-Fi + 开启蓝牙 + 开启 GPS + 声音选项 切换亮度 - 切换同步 - 切换Wi-Fi AP - 切换休眠 - 切换移动数据 - 切换锁屏 + 自动同步 + 开启Wi-Fi AP + 背光时间 + 数据连接 + 锁屏 切换 2G/3G - 切换定位 - 切换飞行模式 - 切换LED手电筒 + 屏幕自动旋转 + 飞行模式 + 手电筒 睡眠模式 媒体:切换播放/暂停 媒体:跳转到上一首 媒体:跳转到下一首 - 切换 WiMAX + 开启 WiMAX 按钮模式 亮度模式 选择亮度按钮改变模式 自动 变暗 网络模式 - 选择网络按钮改变模式 - 休眠模式 - 选择休眠按钮改变模式 + 选择按钮对应的网络模式 + 背光时间 + 选择按按钮对应的背光时间 声音模式 - 选择声音按钮改变模式 - 无声 + 选择声音按钮对应的模式 + 静音 振动 声音 - 声音+振动 - 闪光模式 - 选择高光/Death Ray + 声音+震动 + 闪光灯 + 选择高亮/低亮 触控反馈 启用/禁用触控反馈 From 4827dda506db009a42c4f96d2ce01f882edb1de9 Mon Sep 17 00:00:00 2001 From: gokkor Date: Sat, 31 Mar 2012 13:49:42 +0300 Subject: [PATCH 29/48] Turkish translations. May not be the best since even though I'm a native Turkish speaker, I don't usually use my Phone in Turkish so, I might have misses a few technical terms. Best to double check with another native Turkish user. --- res/values-tr/strings.xml | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index 2360d3842..0bf5192bf 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -1580,4 +1580,66 @@ "İptal" "%%%d" "Ek sistem güncellemeleri" + + Yeni kablosuz ağ sürücüsü + Yeni kablosuz ağ sürücülerini kullan + Yankı engelleyici ikinci mikrofonu kullan + Kulaklık mikrofonunu kullan + Bildirim çekmecesi + + Power widget + Power widget'ı göster + Power Widget'ı bildirim çekmecesinde göster + Değişiklik olduğunda gizle + Bir butonunu durumu değiştirildiğinde bildirim çekmecesini gizler + Durum göstergesini gizle + Power widget göstergelerini gizle + Kaydırma çubuğunu gizle + Gösterilebilir alana sığmayacak kadar çok buton olduğunda kaydırma çubuğunu gösterme + Widget butonları + Power widget içerisinde görüntülenecek olan butonları seç + Widget buton sıralaması + Power diget içerisinde görüntülenecek olan butonları sırasını değiştir + Butonlar + Kablosuz ağı aç/kapa + Bluetooth'u aç/kapa + GPS'i aç/kapa + Sesi aç/kapa + Parlaklık modu değiştir + Senkronizasyonu aç/kapa + Kablosuz Ağ Erişim noktası aç/kapa + Ekran zamanaşımı + Mobil Veri + Ekran kilidini aç/kapa + 2G/3G ağ seçimi + Ekran yön değiştirmeyi aç/kapa + Uçak modunu aç/kapa + LED flaşı aç/kapa + Uyku moduna geç + Medya: Çalıştır/Durdur + Medya: Önceki parça + Medya: Sonraki parça + WiMAX'i aç/kapa + Buton modları + Parlaklık modları + Parlaklık modu değiştirme butonunun modları nasıl değiştireceğini seç + Otomatik + Loş + Ağ modları + Ağ modu değiştirme butonunu modları nasıl değiştireceğini seç + Ekran zamanaşımı modu + Ekran zamanaşımı değiştirme butonunun modları nasıl değiştireceğini seç + Ses modları + Ses modu değiştirme düğmesinin modları nasıl değiştireceğini seç + Sessiz + Titreşim + Sesli + Sesli+Titreşim + Flaş modu + Yüksek parlaklık / ölüm ışını modunu seç + Haptic geri besleme + Haptic geri beslemeyi (doknunca titreşim) aç/kapa + + + From 3862cec7e4c82dc63e6f80111572e1cffa606cc0 Mon Sep 17 00:00:00 2001 From: mrasquinho Date: Thu, 5 Apr 2012 01:53:10 +0200 Subject: [PATCH 30/48] Pt-br to Pt-pt --- res/values-pt/arrays.xml | 42 ++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml index 5633e42ca..75a08a59a 100644 --- a/res/values-pt/arrays.xml +++ b/res/values-pt/arrays.xml @@ -81,25 +81,25 @@ - "Procurando…" - "Conectando..." - "Autenticando..." - "Obtendo endereço IP…" + "A procurar..." + "A conectar..." + "A autenticar..." + "A obter endereço IP..." "Conectado" "Suspenso" - "Desconectando…" + "A desconectar..." "Desconectado" "Falha" - "Procurando…" - "Conectando-se a %1$s…" - "Autenticando com a %1$s…" - "Obtendo endereço IP da %1$s…" + "A procurar..." + "A conectar a %1$s…" + "A autenticar na %1$s…" + "A obter endereço IP da %1$s…" "Conectado a %1$s" "Suspenso" - "Desconectando da %1$s…" + "A desconectar da %1$s…" "Desconectado" "Falha" @@ -117,7 +117,7 @@ "Pressione o botão" - "PIN do dispositivo pareado" + "PIN do dispositivo emparelhado" "PIN deste disposit." @@ -131,10 +131,10 @@ "Dois minutos" "Cinco minutos" "Uma hora" - "Nunca definir tempo limite" + "Sem tempo" - "Ruim" + "Mau" "Bom" "Bom" "Excelente" @@ -172,8 +172,8 @@ "GTC" - "Desativado" - "Pressione o botão" + "Desactivado" + "Prima o botão" "PIN do ponto de acesso" "PIN deste dispositivo" @@ -186,7 +186,7 @@ "Manual" - "Desativado" + "Desactivado" "Alerta" "Vibrar" @@ -207,14 +207,14 @@ "Não especificado" - "Armazenamento do dispositivo interno" - "Cartão SD removível" + "Armazenamento interno do dispositivo" + "Cartão SD externo" "Deixar o sistema decidir" - "Desativado" + "Desactivado" "Vibrar" - "Desativar som" + "Desactivar som" "Curto" @@ -254,7 +254,7 @@ "Sem processos em segundo plano" "No máximo um processo" "No máximo dois processos" - "No máximo, três processos" + "No máximo três processos" "No máximo quatro processos" From c2e945dc6c1802b71d05a6bcc01af305d52d0ea0 Mon Sep 17 00:00:00 2001 From: Martin Johnson Date: Wed, 11 Apr 2012 17:24:09 +1200 Subject: [PATCH 31/48] Fix tr translations Change-Id: I55cc1029ddfac5c38ab04118358ae15fd27d0a66 --- res/values-tr/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index 0bf5192bf..57379c27c 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -1588,8 +1588,8 @@ Bildirim çekmecesi Power widget - Power widget'ı göster - Power Widget'ı bildirim çekmecesinde göster + Power widget\'ı göster + Power Widget\'ı bildirim çekmecesinde göster Değişiklik olduğunda gizle Bir butonunu durumu değiştirildiğinde bildirim çekmecesini gizler Durum göstergesini gizle @@ -1602,8 +1602,8 @@ Power diget içerisinde görüntülenecek olan butonları sırasını değiştir Butonlar Kablosuz ağı aç/kapa - Bluetooth'u aç/kapa - GPS'i aç/kapa + Bluetooth\'u aç/kapa + GPS\'i aç/kapa Sesi aç/kapa Parlaklık modu değiştir Senkronizasyonu aç/kapa @@ -1619,7 +1619,7 @@ Medya: Çalıştır/Durdur Medya: Önceki parça Medya: Sonraki parça - WiMAX'i aç/kapa + WiMAX\'i aç/kapa Buton modları Parlaklık modları Parlaklık modu değiştirme butonunun modları nasıl değiştireceğini seç From 8cd8dbef53f93bdcf9c82fb98ec724255ab31df6 Mon Sep 17 00:00:00 2001 From: mrasquinho Date: Wed, 18 Apr 2012 21:15:27 +0200 Subject: [PATCH 32/48] Changing some sentences to fit on the screen + some translation errors. --- res/values-pt/strings.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index ab9319962..d7f45db58 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -1583,8 +1583,8 @@ "Novo Driver Wi-Fi" "Usar o novo driver wi-Fi" - "Usar o segundo microfone para cancelar barulhos externos" - "Usar microfone dos fones de ouvido" + "Cancelamento de ruído" + "Usar microfone do auricular" "Barra de Notificação" "Barra de Controlo de Energia" @@ -1592,9 +1592,9 @@ "Mostra a barra de controlo de energia na barra de notificações" "Esconder ao alterar" "Esconde a barra de notificações ao alterar uma opção" - "Esconder o indicador de estado" + "Esconder indicador de estado" "Esconde os indicadores por baixo do botão que informam sobre o estado do mesmo" - "Esconder a barra de 'Deslizamento Lateral'" + "Desactivar 'Deslizamento Lateral'" "Esconde a barra de deslizamento que aparece quando é excedido o número máximo de botões que podem aparecer ao mesmo tempo na barra" "Botões da Barra de Energia" "Selecciona os botões que aparecem na Barra de Energia" @@ -1612,7 +1612,7 @@ "Alterar os Dados Móveis" "Alterar o Ecrã de Bloqueio" "Alterar o 2G/3G" - "Alterar o Sensor da Orientação" + "Alterar o Sensor de Orientação" "Alterar o modo de Avião" "Alterar a Lanterna LED" "Bloquear o Smartphone" @@ -1622,21 +1622,21 @@ "Alterar o WiMAX" "Modos dos Botões" "Modos do Brilho do Ecrã" - "Escolhe como o botão 'Alterar o Brilho do Ecrã' altera o estado do brilho" + "Escolhe os valores do botão 'Alterar o Brilho do Ecrã'" "Automático" "Mínimo" - "Modos do Rede" - "Escolhe como o botão 'Alterar o 2G/3G' altera o estado da rede" + "Modos de Rede" + "Escolhe os valores do botão 'Alterar o 2G/3G'" "Modos do Desligamento do Ecrã" - "Escolhe como o botão 'Alterar o Tempo de Desligamento do Ecrã' altera o estado" + "Escolhe os valores do botão 'Alterar o Tempo de Desligamento do Ecrã'" "Modos de Som" - "Escolhe como o botão 'Alterar o Som' altera o volume / vibração" + "Escolhe os valores do botão 'Alterar o Som'" "Silêncio" - "Vibrar" - "Som" + "Apenas vibrar" + "Apenas som" "Som + Vibrar" "Modos da Lanterna" "Escolher Brilho Normal / Intenso" - "Vibração de Resposta do Ecrã Capacitivo" + "Vibração ao seleccionar" "Liga / Desliga a vibração de resposta a uma acção de 'touch'" From dc9f81a34f0c1b45774d76c50743046b13d4d2d2 Mon Sep 17 00:00:00 2001 From: mrasquinho Date: Mon, 30 Apr 2012 02:21:26 +0200 Subject: [PATCH 33/48] "Noise" to "echo" --- res/values-pt/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index d7f45db58..b5aacd8ba 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -1583,7 +1583,7 @@ "Novo Driver Wi-Fi" "Usar o novo driver wi-Fi" - "Cancelamento de ruído" + "Cancelamento de eco" "Usar microfone do auricular" "Barra de Notificação" @@ -1627,7 +1627,7 @@ "Mínimo" "Modos de Rede" "Escolhe os valores do botão 'Alterar o 2G/3G'" - "Modos do Desligamento do Ecrã" + "Modos de Desligamento do Ecrã" "Escolhe os valores do botão 'Alterar o Tempo de Desligamento do Ecrã'" "Modos de Som" "Escolhe os valores do botão 'Alterar o Som'" From 2e310890c90018d1bbd66b113184cb2e06107643 Mon Sep 17 00:00:00 2001 From: Martin Johnson Date: Mon, 30 Apr 2012 12:27:01 +1200 Subject: [PATCH 34/48] Revert "Add option to use new wifi driver" This reverts commit d776c1e5d15bda6ef5105aa57ab3c5bd487289dd. --- res/values/strings.xml | 4 ---- res/xml/development_prefs.xml | 5 ----- .../android/settings/DevelopmentSettings.java | 17 +---------------- 3 files changed, 1 insertion(+), 25 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 26e42e231..8c186a9e1 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2760,10 +2760,6 @@ found in the list of installed apps. USB debugging Debug mode when USB is connected - - New Wifi Driver - - Use the new Wifi Driver Development device ID diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml index 88887b2d9..68e24c402 100644 --- a/res/xml/development_prefs.xml +++ b/res/xml/development_prefs.xml @@ -22,11 +22,6 @@ android:title="@string/enable_adb" android:summary="@string/enable_adb_summary"/> - - Date: Fri, 11 May 2012 18:40:51 +0200 Subject: [PATCH 35/48] MTP-Mass storage mode --- res/values-pt/strings.xml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index b5aacd8ba..00459475c 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -759,10 +759,6 @@ "Conexão USB do computador" "Conexão USB do computador" "Conectar-se como" - "Dispositivo de mídia (MTP)" - "Permite a transferência de arquivos de mídia no Windows ou por meio do Android File Transfer no Mac. Consulte www.android.com.br/filetransfer." - "Câmera (PTP)" - "Permite a transferência de fotos usando o software da câmera e transfere todos os arquivos em computadores que não suportam MTP" "Instalar ferramentas de transferência de arquivos" "Status da bateria" "Nível da bateria" @@ -946,8 +942,8 @@ "Configurações do aplicativo" "Fontes desconhecidas" "Permite a instalação de aplicativos que não são do Android Market" - "Seu tablet e seus dados pessoais são mais vulneráveis ​​a ataques de aplicativos de fontes desconhecidas. Você concorda que é o único responsável por qualquer dano a seu tablet ou perda de dados decorrentes do uso desses aplicativos." - "Seu telefone e seus dados pessoais são mais vulneráveis ​​a ataques de aplicativos de fontes desconhecidas. Você concorda que é o único responsável por qualquer dano ao seu telefone ou perda de dados decorrentes do uso desses aplicativos." + "Seu tablet e seus dados pessoais são mais vulneráveis ??a ataques de aplicativos de fontes desconhecidas. Você concorda que é o único responsável por qualquer dano a seu tablet ou perda de dados decorrentes do uso desses aplicativos." + "Seu telefone e seus dados pessoais são mais vulneráveis ??a ataques de aplicativos de fontes desconhecidas. Você concorda que é o único responsável por qualquer dano ao seu telefone ou perda de dados decorrentes do uso desses aplicativos." "Configurações avançadas" "Ativa mais opções de configuração" "Informações do aplicativo" @@ -1640,3 +1636,12 @@ "Vibração ao seleccionar" "Liga / Desliga a vibração de resposta a uma acção de 'touch'" + + + "Media Transfer Protocol (MTP)" + "Permite montar ambas as memórias (interna e externa) no Windows ou por meio do Android File Transfer no Mac." + "Armazenamento em Massa" + "Apenas monta o cartão microSD externo." + \ No newline at end of file From 670b7909b44da0eb94f6a76388deeb175b336a1f Mon Sep 17 00:00:00 2001 From: Martin Johnson Date: Sat, 12 May 2012 18:03:27 +1200 Subject: [PATCH 36/48] Add usb storage menu in settings..storage Change-Id: Ie3249a02e205aa8b8c1606727ce9264067d6d0ee --- res/values-en-rGB/strings.xml | 4 ++-- res/values/strings.xml | 4 ++-- src/com/android/settings/deviceinfo/Memory.java | 2 +- src/com/android/settings/deviceinfo/UsbSettings.java | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 6236161fc..64ed4a5f6 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -761,8 +761,8 @@ "Connect as" "Media device (MTP)" "Lets you transfer media files on Windows or using Android File Transfer on Mac (see www.android.com/filetransfer)" - "Camera (PTP)" - "Lets you transfer photos using camera software and transfer any files on computers that don\'t support MTP" + "Mass Storage" + "Legacy mode for mounting storage" "Install file-transfer tools" "Battery status" "Battery level" diff --git a/res/values/strings.xml b/res/values/strings.xml index 8c186a9e1..117c82408 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1937,9 +1937,9 @@ alog [CHAR LIMIT=none] --> Lets you transfer media files on Windows, or using Android File Transfer on Mac (see www.android.com/filetransfer) - Camera (PTP) + Mass Storage - Lets you transfer photos using camera software, and transfer any files on computers that don\'t support MTP + Legacy mode for mounting storage. "Install file-transfer tools" diff --git a/src/com/android/settings/deviceinfo/Memory.java b/src/com/android/settings/deviceinfo/Memory.java index 728e558c5..cbb23900e 100644 --- a/src/com/android/settings/deviceinfo/Memory.java +++ b/src/com/android/settings/deviceinfo/Memory.java @@ -107,7 +107,7 @@ public void onCreate(Bundle icicle) { } // only show options menu if we are not using the legacy USB mass storage support - setHasOptionsMenu(!massStorageEnabled); + setHasOptionsMenu(true); //!massStorageEnabled); } @Override diff --git a/src/com/android/settings/deviceinfo/UsbSettings.java b/src/com/android/settings/deviceinfo/UsbSettings.java index af279e8ea..8660f960d 100644 --- a/src/com/android/settings/deviceinfo/UsbSettings.java +++ b/src/com/android/settings/deviceinfo/UsbSettings.java @@ -99,7 +99,7 @@ private void updateToggles(String function) { if (UsbManager.USB_FUNCTION_MTP.equals(function)) { mMtp.setChecked(true); mPtp.setChecked(false); - } else if (UsbManager.USB_FUNCTION_PTP.equals(function)) { + } else if (UsbManager.USB_FUNCTION_MASS_STORAGE.equals(function)) { mMtp.setChecked(false); mPtp.setChecked(true); } else { @@ -129,8 +129,8 @@ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preferen mUsbManager.setCurrentFunction(UsbManager.USB_FUNCTION_MTP, true); updateToggles(UsbManager.USB_FUNCTION_MTP); } else if (preference == mPtp) { - mUsbManager.setCurrentFunction(UsbManager.USB_FUNCTION_PTP, true); - updateToggles(UsbManager.USB_FUNCTION_PTP); + mUsbManager.setCurrentFunction(UsbManager.USB_FUNCTION_MASS_STORAGE, true); + updateToggles(UsbManager.USB_FUNCTION_MASS_STORAGE); } return true; } From b2bf626e13e62f25fc14c24f08848d4f175aafe9 Mon Sep 17 00:00:00 2001 From: Adam Green Date: Mon, 16 Apr 2012 23:55:30 +0100 Subject: [PATCH 37/48] Added battery percentage --- res/values/strings.xml | 2 ++ res/xml/system_settings.xml | 5 +++++ src/com/android/settings/SystemSettings.java | 23 ++++++++++++++++++-- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 117c82408..c79f6115f 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -3913,6 +3913,8 @@ found in the list of installed apps. Notification Drawer System interface + + Battery percentage Notification drawer diff --git a/res/xml/system_settings.xml b/res/xml/system_settings.xml index e27bb13e3..936079bbe 100644 --- a/res/xml/system_settings.xml +++ b/res/xml/system_settings.xml @@ -19,6 +19,11 @@ android:title="@string/system_interface_title" xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> + + Date: Sat, 19 May 2012 20:38:27 +1200 Subject: [PATCH 38/48] Put battery percentage option in development settings. Change-Id: Icff94dff5da3472252daa6c13a6011f4e62dfc50 --- res/values-pt/strings.xml | 10 +++------- res/xml/development_prefs.xml | 5 +++++ src/com/android/settings/DevelopmentSettings.java | 9 ++++++++- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 00459475c..3bcdfd410 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -1635,13 +1635,9 @@ "Escolher Brilho Normal / Intenso" "Vibração ao seleccionar" "Liga / Desliga a vibração de resposta a uma acção de 'touch'" - - - - "Media Transfer Protocol (MTP)" + "Media Transfer Protocol (MTP)" "Permite montar ambas as memórias (interna e externa) no Windows ou por meio do Android File Transfer no Mac." "Armazenamento em Massa" "Apenas monta o cartão microSD externo." - \ No newline at end of file + + diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml index 68e24c402..c903ba0e5 100644 --- a/res/xml/development_prefs.xml +++ b/res/xml/development_prefs.xml @@ -46,6 +46,11 @@ android:entries="@array/hdcp_checking_titles" android:entryValues="@array/hdcp_checking_values" /> + + Date: Sat, 19 May 2012 18:15:24 +0200 Subject: [PATCH 39/48] Martin, you said that the Portuguese language was compiled via values-pt-rPT (here) so, just in case, I put it here too. --- res/values-pt-rPT/strings.xml | 65 +++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 02b8dc4fd..ecd91ef15 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -1580,4 +1580,69 @@ "Cancelar" "%d%%" "Atualizações adicionais do sistema" + + "Novo Driver Wi-Fi" + "Usar o novo driver wi-Fi" + "Cancelamento de eco" + "Usar microfone do auricular" + "Barra de Notificação" + + "Barra de Controlo de Energia" + "Mostrar a Barra de Energia" + "Mostra a barra de controlo de energia na barra de notificações" + "Esconder ao alterar" + "Esconde a barra de notificações ao alterar uma opção" + "Esconder indicador de estado" + "Esconde os indicadores por baixo do botão que informam sobre o estado do mesmo" + "Desactivar 'Deslizamento Lateral'" + "Esconde a barra de deslizamento que aparece quando é excedido o número máximo de botões que podem aparecer ao mesmo tempo na barra" + "Botões da Barra de Energia" + "Selecciona os botões que aparecem na Barra de Energia" + "Ordem dos botões" + "Selecciona a ordem pela qual os botões aparecem na Barra de Energia" + "Botões" + "Alterar o Wi-Fi" + "Alterar o Bluetooth" + "Alterar o GPS" + "Alterar o Som" + "Alterar o Brilho do Ecrã" + "Alterar a Sincronização Automática" + "Alterar o Wi-Fi AP" + "Alterar o Tempo de Desligamento do Ecrã" + "Alterar os Dados Móveis" + "Alterar o Ecrã de Bloqueio" + "Alterar o 2G/3G" + "Alterar o Sensor de Orientação" + "Alterar o modo de Avião" + "Alterar a Lanterna LED" + "Bloquear o Smartphone" + "Media: Alterar Tocar/Parar" + "Media: Voltar à anterior" + "Media: Passar à próxima" + "Alterar o WiMAX" + "Modos dos Botões" + "Modos do Brilho do Ecrã" + "Escolhe os valores do botão 'Alterar o Brilho do Ecrã'" + "Automático" + "Mínimo" + "Modos de Rede" + "Escolhe os valores do botão 'Alterar o 2G/3G'" + "Modos de Desligamento do Ecrã" + "Escolhe os valores do botão 'Alterar o Tempo de Desligamento do Ecrã'" + "Modos de Som" + "Escolhe os valores do botão 'Alterar o Som'" + "Silêncio" + "Apenas vibrar" + "Apenas som" + "Som + Vibrar" + "Modos da Lanterna" + "Escolher Brilho Normal / Intenso" + "Vibração ao seleccionar" + "Liga / Desliga a vibração de resposta a uma acção de 'touch'" + "Media Transfer Protocol (MTP)" + "Permite montar ambas as memórias (interna e externa) no Windows ou por meio do Android File Transfer no Mac." + "Armazenamento em Massa" + "Apenas monta o cartão microSD externo." + Bateria em percentagem + From 88fec2c88b6e45b70a87006bb86e17a2dbdd7344 Mon Sep 17 00:00:00 2001 From: mrasquinho Date: Sat, 19 May 2012 18:16:05 +0200 Subject: [PATCH 40/48] Battery percentage --- res/values-pt/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 3bcdfd410..79e3ccf28 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -1639,5 +1639,5 @@ "Permite montar ambas as memórias (interna e externa) no Windows ou por meio do Android File Transfer no Mac." "Armazenamento em Massa" "Apenas monta o cartão microSD externo." - + Bateria em percentagem From e8f45b14c1492c3b80afaaeba50fd6532eb56fa4 Mon Sep 17 00:00:00 2001 From: Davoss Date: Sat, 19 May 2012 19:21:30 +0300 Subject: [PATCH 41/48] Update res/values-cs/strings.xml --- res/values-cs/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 90ee7c877..9c7eb4374 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -1580,12 +1580,11 @@ "Zrušit" "%d %%" "Další aktualizace systému" -Nový ovladač Wifi + Nový ovladač Wifi Použít nový ovladač Wifi Použít mikrofon pro rušení ozvěny Použít mikrofon sluchátek Notifikační lišta - Power widget Zobrazit Power widget Zobrazit Power widget v notifikační liště @@ -1607,7 +1606,7 @@ Jas Synchronizace Wifi AP - Časnový limit obrazovky + Časový limit obrazovky Mobilní data Zamykací obrazovka 2G/3G @@ -1638,4 +1637,5 @@ Zvolte režim LED přisvětlení Hmatová odezva Zapnout/vypnout hmatovou odezvu + Procenta u ukazatele baterie From 1ddca18da1d86b357bd932347df09895542948c4 Mon Sep 17 00:00:00 2001 From: mrasquinho Date: Mon, 21 May 2012 02:38:00 +0200 Subject: [PATCH 42/48] Remove old mpt lines --- res/values-pt-rPT/strings.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index ecd91ef15..69b47a51b 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -759,10 +759,6 @@ "Ligação USB do computador" "Ligação USB do computador" "Ligado como" - "Aparelho multimédia (MTP)" - "Permite transferir ficheiros multimédia no Windows ou através da Transferência de Ficheiros Android no Mac (consulte www.android.com/filetransfer)" - "Câmara (PTP)" - "Permite transferir fotografias utilizando o software da câmara e quaisquer ficheiros em computadores que não suportem MTP" "Instalar ferramentas de transferência de ficheiros" "Estado da bateria" "Nível da bateria" From d3adaa68f933d6a984044aa8cb5951aeed888a1a Mon Sep 17 00:00:00 2001 From: mrasquinho Date: Mon, 21 May 2012 18:43:23 +0200 Subject: [PATCH 43/48] "inactivity" to "Radio" and add 2 lines for wi-fi direct which weren't present --- res/values-pt-rPT/strings.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 69b47a51b..ffdd20d0f 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -579,6 +579,8 @@ "Remover grupo" "Avançado" "Aparelhos disponíveis" + Activar conectividade ponto a ponto + Definições do Wi-Fi Direct "Hotspot Wi-Fi portátil" "Hotspot portátil %1$s activo" "Erro do hotspot Wi-Fi portátil" @@ -1209,7 +1211,7 @@ "Ecrã" "Wi-Fi" "Bluetooth" - "inactividade do telefone" + "Rádio do telefone" "Chamadas de voz" "Tablet inactivo" "Telefone inactivo" From 6709d29b88c005fc189ffddd020ecd1e5f47ab95 Mon Sep 17 00:00:00 2001 From: mrasquinho Date: Tue, 22 May 2012 11:49:31 +0200 Subject: [PATCH 44/48] Some corrections --- res/values-pt-rPT/strings.xml | 70 +++++++++++++++++------------------ 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index ffdd20d0f..4d9f3f467 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -100,8 +100,8 @@ "Frio" "Bluetooth" "Detectável" - "Visível p/ tds aparelhos Bluetooth próximos (%1$s)" - "Visível para tds os aparelhos Bluetooth nas prox." + "Visível para todos os aparelhos Bluetooth(%1$s)" + "Visível para todos os aparelhos Bluetooth" "Não visível a outros aparelhos Bluetooth" "Visível apenas para aparelhos sincronizados" "Tornar o dispositivo detectável" @@ -118,8 +118,8 @@ "Mudar o nome" "Desligar?" "Isto terminará a sua ligação com:<br><b>%1$s</b>" - "Desativar perfil?" - "Isto desativará:<br><b>%1$s</b><br><br>Do:<br><b>%2$s</b>" + "Desactivar perfil?" + "Isto desactivará:<br><b>%1$s</b><br><br>Do:<br><b>%2$s</b>" "Ligado" "Ligado (sem telefone)" "Ligado (sem multimédia)" @@ -132,24 +132,24 @@ "Aparelho Bluetooth sem nome" "A pesquisar" "Tocar p/ sincronizar" - "Nenhum aparelho Bluetooth nas proximid." + "Nenhum aparelho Bluetooth próximo" "Pedido de emparelhamento de Bluetooth" "Pedido de emparelhamento" "Toque para sincronizar com %1$s" "Mostrar ficheiros recebidos" "Seleccionador de dispositivo Bluetooth" "Pedido de emparelhamento de Bluetooth" - "Uma aplicação pretende ativar o Bluetooth. Permitir?" + "Uma aplicação pretende activar o Bluetooth. Permitir?" "Uma aplicação do tablet pretende que outros aparelhos Bluetooth possam detetar o seu tablet durante %1$d segundos. Permitir?" "Uma aplicação do telemóvel pretende que outros aparelhos Bluetooth possam detetar o seu telemóvel durante %1$d segundos. Permitir?" - "Uma aplicação do tablet pretende que o tablet possa “sempre ser detetado” por outros aparelhos Bluetooth. Permitir?" - "Uma aplicação do telemóvel pretende que o telemóvel possa \"sempre ser detetado\" por outros aparelhos Bluetooth. Permitir?" - "Uma aplicação do tablet pretende ativar o Bluetooth para que o tablet possa ser detetado por outros aparelhos durante %1$d segundos. Permitir?" - "Uma aplicação do telemóvel pretende ativar o Bluetooth para que o telemóvel possa ser detetado por outros aparelhos durante %1$d segundos. Permitir?" + "Uma aplicação do tablet pretende que o tablet possa “sempre ser detectado” por outros aparelhos Bluetooth. Permitir?" + "Uma aplicação do telemóvel pretende que o telemóvel possa \"sempre ser detectado\" por outros aparelhos Bluetooth. Permitir?" + "Uma aplicação do tablet pretende activar o Bluetooth para que o tablet possa ser detetado por outros aparelhos durante %1$d segundos. Permitir?" + "Uma aplicação do telemóvel pretende activar o Bluetooth para que o telemóvel possa ser detetado por outros aparelhos durante %1$d segundos. Permitir?" "Uma aplicação do tablet pretende ativar o Bluetooth para que o tablet possa ser detetado por outros aparelhos. Permitir?" "Uma aplicação do telemóvel pretende ativar o Bluetooth para que o telemóvel possa ser detetado por outros aparelhos. Permitir?" "Ligar Bluetooth…" - "Desativar o Bluetooth…" + "Desactivar o Bluetooth…" "Ligação automática" "Pedido de ligação Bluetooth" "Toque para ligar a “%1$s”." @@ -183,7 +183,7 @@ "Atenção" "OK" "O nome de anfitrião que introduziu não é válido." - "A lista de exclusão introduzida não está formatada corretamente. Introduza uma lista de domínios excluídos separados por vírgulas." + "A lista de exclusão introduzida não está formatada correctamente. Introduza uma lista de domínios excluídos separados por vírgulas." "É necessário preencher o campo referente à porta." "O campo referente à porta tem de estar vazio se o campo do anfitrião estiver vazio." "A porta introduzida não é válida." @@ -482,9 +482,9 @@ "Android Beam" "Pronto para transmitir conteúdo da aplicação via NFC" "Desativado" - "Não disponível, porque o NFC está desativado" + "Não disponível, porque o NFC está desactivado" "Android Beam" - "Quando esta funcionalidade está ativada, pode transmitir o conteúdo da aplicação para outro aparelho com capacidade de NFC mantendo os aparelhos próximos um do outro. Por exemplo, pode transmitir páginas do Navegador, vídeos do YouTube, contactos de Pessoas e muito mais. "\n\n"Basta juntar os aparelhos (normalmente de costas) e, em seguida, tocar no ecrã. A aplicação determina o que é transmitido." + "Quando esta funcionalidade está activada, pode transmitir o conteúdo da aplicação para outro aparelho com capacidade de NFC mantendo os aparelhos próximos um do outro. Por exemplo, pode transmitir páginas do Navegador, vídeos do YouTube, contactos de Pessoas e muito mais. "\n\n"Basta juntar os aparelhos (normalmente de costas) e, em seguida, tocar no ecrã. A aplicação determina o que é transmitido." "Wi-Fi" "Activar Wi-Fi" "Wi-Fi" @@ -523,7 +523,7 @@ "Estado" "Velocidade da ligação" "Endereço IP" - "método EAP" + "Método EAP" "Autenticação da fase 2" "Certificado CA" "Certificado do utilizador" @@ -535,10 +535,10 @@ "(não alterado)" "(não especificado)" "Guardada" - "Desativado" + "Desactivado" "Evitada ligação à internet fraca" - "A rede foi evitada devido a uma ligação fraca. Desative essa opção no ecrã Definições > Wi-Fi, no item de menu Avançadas." + "A rede foi evitada devido a uma ligação fraca. Desactive essa opção no ecrã Definições > Wi-Fi, no item de menu Avançadas." "Problema de autenticação" "Fora do alcance" "Rede protegida disponível" @@ -550,7 +550,7 @@ "Esquecer" "Guardar" "Cancelar" - "Detetada outra sessão Wi-Fi protegida. Tente dentro de alguns minutos." + "Detectada outra sessão Wi-Fi protegida. Tente dentro de alguns minutos." "Wi-Fi Avançada" "Banda de frequência Wi-Fi" "Especifique o intervalo de frequência de operação" @@ -649,7 +649,7 @@ "Escolher imagem de fundo de" "Proteção de Ecrã" "Será iniciado ao suspender, se estiver ligado à alimentação" - "Desativado" + "Desactivado" "Proteção de Ecrã selecionada" "Quando ativar" "Após %1$s inativo" @@ -787,9 +787,9 @@ "Tipo APN" "Protocolo APN" "Protocolo APN quando em roaming" - "Ativar/desativar APN" - "APN ativado" - "APN desativado" + "Activar/desactivar APN" + "APN activado" + "APN desactivado" "Portador" "Eliminar APN" "Novo APN" @@ -944,10 +944,10 @@ "Definições da aplicação" "Fontes desconhecidas" "Permitir instalação de aplicações que não são do Market" - "O tablet e os dados pessoais estão mais vulneráveis ​​a ataques de aplicações de fontes desconhecidas. O utilizador concorda que é o único responsável por qualquer dano causado ao tablet ou perda de dados que possam resultar da utilização destas aplicações." - "O telemóvel e os dados pessoais estão mais vulneráveis ​​a ataques de aplicações de fontes desconhecidas. O utilizador concorda que é o único responsável por qualquer dano causado ao telemóvel ou perda de dados que possam resultar da utilização dessas aplicações." + "O tablet e os dados pessoais estão mais vulneráveis a ataques de aplicações de fontes desconhecidas. O utilizador concorda que é o único responsável por qualquer dano causado ao tablet ou perda de dados que possam resultar da utilização destas aplicações." + "O telemóvel e os dados pessoais estão mais vulneráveis a ataques de aplicações de fontes desconhecidas. O utilizador concorda que é o único responsável por qualquer dano causado ao telemóvel ou perda de dados que possam resultar da utilização dessas aplicações." "Definições avançadas" - "Ativar mais opções de definições" + "Activar mais opções de definições" "Informações da aplicação" "Armazenamento" "Iniciar por predefinição" @@ -988,7 +988,7 @@ "Em execução" "Armazenamento USB" "No cartão SD" - "Desativada" + "Desactivada" "Sem aplicações." "Armaz. interno" "Armaz. USB" @@ -1001,8 +1001,8 @@ "A aplicação não foi encontrada na lista de aplicações instaladas." "Não foi possível limpar os dados da aplicação." - "Desinstalar atualizações?" - "Serão desinstaladas todas as atualizações para esta aplicação do sistema Android." + "Desinstalar actualizações?" + "Serão desinstaladas todas as actualizações para esta aplicação do sistema Android." "Limpar dados" "Não foi possível limpar os dados da aplicação." "Esta aplicação pode aceder aos seguintes itens no seu tablet:" @@ -1081,7 +1081,7 @@ "Visualizar palavras-passe" "Este método de introdução pode permitir a recolha de todo o texto que digitar, incluindo dados pessoais como, por exemplo, palavras-passe e números de cartões de crédito. Decorre da aplicação %1$s. Utilizar este método de introdução?" - "Este corretor ortográfico pode permitir a recolha de todo o texto que introduzir, incluindo dados pessoais, como palavras-passe e números de cartões de crédito. Decorre da aplicação %1$s. Utilizar este corretor ortográfico?" + "Este corrector ortográfico pode permitir a recolha de todo o texto que introduzir, incluindo dados pessoais, como palavras-passe e números de cartões de crédito. Decorre da aplicação %1$s. Utilizar este corretor ortográfico?" "Rato/trackpad" "Velocidade do ponteiro" "Dicionário do utilizador" @@ -1166,7 +1166,7 @@ "Tutorial" "Em" "Desligado" - "permitido" + "Permitido" "Não permitido" "Permitir" "Não permitir" @@ -1195,7 +1195,7 @@ "Ecrã activo" "GPS activado" "Wi-Fi" - "Despertar" + "Acordado" "Sinal da rede móvel" @@ -1216,8 +1216,8 @@ "Tablet inactivo" "Telefone inactivo" "Total da CPU" - "primeiro plano da CPU" - "Manter desperto" + "CPU em primeiro plano" + "Em funcionamento" "GPS" "Wi-Fi em execução" "Tablet" @@ -1638,9 +1638,9 @@ "Vibração ao seleccionar" "Liga / Desliga a vibração de resposta a uma acção de 'touch'" "Media Transfer Protocol (MTP)" - "Permite montar ambas as memórias (interna e externa) no Windows ou por meio do Android File Transfer no Mac." + "Permite transferir ficheiros media no Windows ou por meio do Android File Transfer no Mac." "Armazenamento em Massa" - "Apenas monta o cartão microSD externo." + "Modo original de transferência de ficheiros." Bateria em percentagem From b8ab3c08cace4f4e863d0f83bcb49778b0e1978b Mon Sep 17 00:00:00 2001 From: one-2-z Date: Wed, 23 May 2012 05:03:34 +0700 Subject: [PATCH 45/48] Update res/values-ru/strings.xml --- res/values-ru/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 90d7cbf59..3cf3b8b16 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -1123,7 +1123,7 @@ "Настройки" "Настройки" "Активные способы ввода" - "Язык системы" + "Язык системы" "Настройки %1$s" "Выберите активные способы ввода" "Настройки экранной клавиатуры" @@ -1636,6 +1636,7 @@ Микрофон гарнитуры Новый драйвер Wi-Fi Использовать новый драйвер Wi-Fi + Батарейка в процентах From b53020ac760e966ca36aa712c5c63db019ff397f Mon Sep 17 00:00:00 2001 From: mrasquinho Date: Thu, 24 May 2012 00:01:42 +0200 Subject: [PATCH 46/48] Bluetooth small changes --- res/values-pt-rPT/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 4d9f3f467..1cc26bdd9 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -148,8 +148,8 @@ "Uma aplicação do telemóvel pretende activar o Bluetooth para que o telemóvel possa ser detetado por outros aparelhos durante %1$d segundos. Permitir?" "Uma aplicação do tablet pretende ativar o Bluetooth para que o tablet possa ser detetado por outros aparelhos. Permitir?" "Uma aplicação do telemóvel pretende ativar o Bluetooth para que o telemóvel possa ser detetado por outros aparelhos. Permitir?" - "Ligar Bluetooth…" - "Desactivar o Bluetooth…" + "A ligar o Bluetooth..." + "A desligar o Bluetooth..." "Ligação automática" "Pedido de ligação Bluetooth" "Toque para ligar a “%1$s”." @@ -491,7 +491,7 @@ "Definições de Wi-Fi" "Wi-Fi" "Configurar e gerir pontos de acesso sem fios" - "Ligar Wi-Fi…" + "A ligar Wi-Fi…" "A desligar Wi-Fi..." "Erro" "No Modo de avião" @@ -1246,7 +1246,7 @@ "Bateria utilizada pelo Bluetooth" "Desligar o Bluetooth quando não estiver a ser utilizado" "Tentar ligação a um aparelho Bluetooth diferente" - "Bateria utilizada pelo Bluetooth" + "Bateria utilizada pelo serviço" "Parar ou desinstalar a aplicação" "Controlar manualmente o GPS para impedir que a aplicação o utilize" "A aplicação pode sugerir definições para reduzir a utilização da bateria" From b672bc81dd4666872801bbfdf4566a363ad20f6a Mon Sep 17 00:00:00 2001 From: mrasquinho Date: Thu, 24 May 2012 00:04:29 +0200 Subject: [PATCH 47/48] Some changes --- res/values-pt-rPT/arrays.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml index 39388dddc..a7453ff79 100644 --- a/res/values-pt-rPT/arrays.xml +++ b/res/values-pt-rPT/arrays.xml @@ -131,7 +131,7 @@ "2 minutos" "5 minutos" "1 hora" - "Nunca exceder tempo limite" + "Sem tempo limite" "Fraco" @@ -186,7 +186,7 @@ "Manual" - "Desativada" + "Desactivada" "Alerta" "Vibrar" @@ -207,14 +207,14 @@ "Não especificado" - "Armazenamento de dispositivo interno" - "Cartão SD amovível" + "Armazenamento interno" + "Cartão microSD externo" "Permitir que seja o sistema a decidir" - "Desativado" + "Desactivado" "Vibrar" - "Desativar som" + "Desactivar som" "Curta" @@ -232,7 +232,7 @@ "Utilizar sempre a verificação HDCP" - "Animação desativada" + "Animação desactivada" "Escala de animação 0,5x" "Escala de animação 1x" "Escala de animação 1,5x" @@ -241,7 +241,7 @@ "Escala de animação 10x" - "Animação desativada" + "Animação desactivada" "Escala de animação 0,5x" "Escala de animação 1x" "Escala de animação 1,5x" @@ -252,10 +252,10 @@ "Limite padrão" "Sem processos em segundo plano" - "No máximo, 1 processo" - "No máximo, 2 processos" - "No máximo, 3 processos" - "No máximo, 4 processos" + "No máximo 1 processo" + "No máximo 2 processos" + "No máximo 3 processos" + "No máximo 4 processos" "VPN PPTP" @@ -267,7 +267,7 @@ "Desligada" - "A inicializar..." + "A iniciar..." "A ligar..." "Ligada" "Tempo limite" From 9bb65184a9adf97708657969f4132ea1f988da92 Mon Sep 17 00:00:00 2001 From: mrasquinho Date: Mon, 28 May 2012 01:40:27 +0200 Subject: [PATCH 48/48] Some corrections --- res/values-pt-rPT/strings.xml | 58 +++++++++++++++++------------------ 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 1cc26bdd9..4a429a5e0 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -1199,13 +1199,13 @@ "Sinal da rede móvel" - "Hora de activação do dispositivo" + "Tempo total activado" "Tempo de ligação Wi-Fi" - "Tempo de ligação Wi-Fi" + "Tempo de ligação Bluetooth" "%1$s - %2$s%%" "Detalhes do histórico" - "Utilizar detalhes" - "Utilizar detalhes" + "Detalhes de utilização" + "Detalhes de utilização" "Ajustar utilização de energia" "Pacotes incluídos" "Ecrã" @@ -1226,7 +1226,7 @@ "Dados recebidos" "Áudio" "Vídeo" - "Hora activada" + "Tempo activado" "Tempo sem sinal" "Forçar paragem" "Informações da aplicação" @@ -1241,14 +1241,14 @@ "Mudar para modo de avião para poupar energia em áreas sem cobertura de rede" "Bateria utilizada pelo ecrã e pela iluminação de fundo" "Reduzir o brilho do ecrã e/ou o tempo que este permanece iluminado" - "Bateria utilizada por Wi-Fi" - "Desativar Wi-Fi quando não estiver a ser utilizada ou não estiver disponível" + "Bateria utilizada pelo Wi-Fi" + "Desactivar Wi-Fi quando não estiver a ser utilizado ou não estiver disponível" "Bateria utilizada pelo Bluetooth" - "Desligar o Bluetooth quando não estiver a ser utilizado" + "Desactivar o Bluetooth quando não estiver a ser utilizado" "Tentar ligação a um aparelho Bluetooth diferente" "Bateria utilizada pelo serviço" "Parar ou desinstalar a aplicação" - "Controlar manualmente o GPS para impedir que a aplicação o utilize" + "Controlar manualmente o GPS para impedir que seja utilizado indevidamente" "A aplicação pode sugerir definições para reduzir a utilização da bateria" "%1$s desde que foi desligado" "Desde a última vez que foi desligado por %1$s" @@ -1320,7 +1320,7 @@ "Introduzir palavra-passe do armazenamento de credenciais." "Palavra-passe actual:" "Remover todo o conteúdo?" - "A palavra-passe deve ter, pelo menos, 8 caracteres." + "A palavra-passe deve ter pelo menos 8 caracteres." "Palavra-passe incorrecta." "Palavra-passe incorrecta. Tem mais uma tentativa antes de o armazenamento de credenciais ser apagado." "Palavra-passe incorrecta. Tem mais %1$d tentativas antes de o armazenamento de credenciais ser apagado." @@ -1388,16 +1388,16 @@ "Não é possível configurar uma ligação Wi-Fi tipo EAP durante a configuração. Após a configuração, é possível fazê-lo em Definições > Redes sem fios e outras." "A ligação pode demorar alguns minutos..." "Toque em ""Seguinte"" para continuar a configuração."\n\n"Toque em ""Anterior"" para ligar a uma rede Wi-Fi diferente." - "Sincronização ativada" - "Sincronização desativada" + "Sincronização activada" + "Sincronização desactivada" "Erro de sincronização" "Definições de sincronização" - "A sincronização está atualmente com problemas e será retomada em breve." + "A sincronização está actualmente com problemas e será retomada em breve." "Adicionar conta" "Dados em segundo plano" "As aplicações podem sincronizar, enviar e receber dados em qualquer altura" - "Desat. dados seg. plano?" - "A desativação dos dados de segundo plano permite economizar a bateria e reduzir a utilização de dados. Algumas aplicações podem continuar a utilizar a ligação de dados de segundo plano." + "Desact. dados seg. plano?" + "A desactivação dos dados de segundo plano permite economizar a bateria e reduzir a utilização de dados. Algumas aplicações podem continuar a utilizar a ligação de dados de segundo plano." "Sinc. autom. de dados da aplicação" "Sincron. activada" "A sincronização está desactivada" @@ -1438,27 +1438,27 @@ "Ficheiros diversos" "selecionado(s) %1$d de %2$d" "%1$s de %2$s" - "Selecionar tudo" + "Seleccionar tudo" "Verificação HDCP" "Definir o comportamento da verificação HDCP" "Interface de utilizador" "Modo rigoroso ativado" "Piscar ecrã qd aplic. fazem oper. prolong. no tópico princ." "Localização do ponteiro" - "Sobrep. de ecrã que mostra a dados atuais de toque" + "Sobrep. de ecrã que mostra a dados actuais de toque" "Apresentar toques" "Apresentar feedback visual para toques" - "Mostrar atualiz. de ecrã" - "Piscar áreas do ecrã quando são atualizadas" + "Mostrar actualiz. de ecrã" + "Piscar áreas do ecrã quando são actualizadas" "Mostrar utilização da CPU" - "Sobrep. de ecrã que mostra a utiliz. atual da CPU" + "Sobrep. de ecrã que mostra a utiliz. actual da CPU" "Forçar composição GPU" "Utilizar aceleração de hardware 2D em aplicações" "Escala de anim. da janela" "Escala de anim. de trans." "Aplicações" - "Não manter atividades" - "Destruir atividades assim que o utilizador sair" + "Não manter actividades" + "Destruir actividades assim que o utilizador sair" "Limite proc. em 2º plano" "Mostrar todos os ANR" "Mostrar erro \"Aplic. não Resp.\" p/ aplic. 2º plano" @@ -1476,7 +1476,7 @@ "Fundo" "Calculado pelo tablet. A utiliz. de dados calculada pela operadora pode diferir." - "Desativar dados móveis?" + "Desactivar dados móveis?" "Definir limite de dados móveis" "Definir limite de dados 4G" "Definir limite de dados 2G-3G" @@ -1493,7 +1493,7 @@ "Dados 4G" "Ver definições da aplicação" - "Desativar dados de segundo plano apenas na rede de dados móvel. Será usado o Wi-Fi se estiver disponível." + "Desactivar dados de segundo plano apenas na rede de dados móvel. Será usado o Wi-Fi se estiver disponível." "Para restringir os dados de segundo plano para esta aplicação, comece por definir um limite de dados móveis." "Restringir dados em segundo plano?" "Esta funcionalidade pode levar à paragem de uma aplicação que depende de dados de segundo plano, quando a rede Wi-Fi não estiver disponível."\n\n"É possível encontrar controlos de utilização de dados mais adequados nas definições disponíveis na aplicação." @@ -1558,19 +1558,19 @@ "Concluir" "Ign. tutorial" "Lição 1: Explorar o ecrã" - "Após ativar a opção Explorar por Toque, poderá tocar no ecrã para saber o que está sob o dedo. Por exemplo, o ecrã atual contém ícones de aplicações. Toque no ecrã e deslize lentamente o dedo para localizar um deles." + "Após activar a opção Explorar por Toque, poderá tocar no ecrã para saber o que está sob o dedo. Por exemplo, o ecrã actual contém ícones de aplicações. Toque no ecrã e deslize lentamente o dedo para localizar um deles." "Bom. Continue a deslizar o dedo pelo ecrã até localizar pelo menos mais um ícone." "Para ativar algo em que está a tocar, toque nisso. Deslize lentamente o dedo até localizar o ícone de %s. Em seguida, toque uma vez no ícone para o ativar." - "O seu dedo está a tocar no ícone %s. Toque uma vez para ativar o ícone." + "O seu dedo está a tocar no ícone %s. Toque uma vez para activar o ícone." "O seu dedo moveu-se sobre o ícone %s e depois afastou-se. Lentamente, deslize o dedo em torno do ecrã até encontrar novamente o ícone do Navegador." "Bom. Para passar à próxima lição, localize e ative o botão %s, situado junto ao canto inferior direito do ecrã." "Lição 2: Deslocar com dois dedos" "Para percorrer uma lista, pode deslizar lentamente dois dedos ao longo do ecrã. Por exemplo, o ecrã atual contém uma lista de nomes de aplicações que pode percorrer para cima ou para baixo. Primeiro, tente identificar alguns itens na lista deslizando lentamente um dedo." - "Ótimo. Continue a deslizar o dedo para encontrar pelo menos mais um item." + "Óptimo. Continue a deslizar o dedo para encontrar pelo menos mais um item." "Agora, coloque dois dedos sobre um item da lista e deslize os dedos para cima. Se chegar ao topo do ecrã, levante os dedos, coloque-os mais abaixo na lista e continue a deslizar para cima." - "Ótimo. Continue a deslizar os dedos para percorrer mais itens." + "Óptimo. Continue a deslizar os dedos para percorrer mais itens." "Concluiu o tutorial. Para sair, localize e toque no botão %s." - "Correção ortográfica" + "Correcção ortográfica" "Introduza a palavra-passe de cópia de segurança completa atual aqui" "Introduzir nova palavra-passe para cópias de segurança completas aqui" "Reintroduza a nova palavra-passe da cópia de segurança completa aqui"