Compare commits

...

27 Commits

Author SHA1 Message Date
emancebo
92a26a6443 SetupWizard: add overlay to uncheck cyanogen theme option by default
Change-Id: I278dcb3b2d8099b71a66d90250c40836dd8ec7fc
(cherry picked from commit 7a255f6e5c)
2015-05-23 01:55:49 +00:00
Michael Bestas
42b01535c8 Automatic translation import
Change-Id: I6b8d3fb084df5abb3449b842ce02d1d6aaf2170a
2015-05-23 00:01:00 +00:00
Michael Bestas
7830cd897e Automatic translation import
Change-Id: Ifc62c159189df11f3443defc57069ab5b78b644f
2015-05-23 00:00:50 +00:00
Michael Bestas
48d47e29e9 Automatic translation import
Change-Id: I1649ba39d39b73ce351909a310041d6f6b0a99b7
2015-05-23 00:00:35 +00:00
Michael Bestas
f55f150988 Automatic translation import
Change-Id: Ifa97d2292f1ab37a21a8695a53e673f406df706b
2015-05-22 23:59:59 +00:00
Michael Bestas
c0328ee2ba Automatic translation import
Change-Id: Icd2308a33556872fa1564058b8250c60dc1b8372
2015-05-22 23:59:34 +00:00
Michael Bestas
028b34a4ec Automatic translation import
Change-Id: I9aa0c0cf342d79ffcdb42e8c87284ad354fc9563
2015-05-22 23:58:49 +00:00
Michael Bestas
e6d824f6ef Automatic translation import
Change-Id: If0a158896a3ec49fb0b32c48c6f426dea4d9b653
2015-05-22 23:56:05 +00:00
Michael Bestas
0a7e22ff17 Automatic translation import
Change-Id: Ie14f953a377b6d9410c6b5b386334e153abd4964
2015-05-22 23:47:04 +00:00
d34d
cbb99cc563 Remove use of mCanceled
It is possible for mCanceled to be set to true even though it
was canceled without ever playing back the cancelation message.
This can end up putting us in an incorrect state where the user
must release both fingers so ACTION_UP finally sets mCanceled to
false.

The cancel() method was still being called and since it does the
proper checks for removing/sending messages, the use of mCanceled
is unneccessary.

Change-Id: I38679d3bf65157a9ba5ca3d898c5c8d55e5df9f5
REF: LETTUCE-293
2015-05-19 22:09:06 +00:00
Roman Birg
e097ca87a6 SetupWizard: hide WhisperPush if it's not installed
Change-Id: I7576a2ee0f851e1222b6ed4d53188950b20b6a16
Signed-off-by: Roman Birg <roman@cyngn.com>
(cherry picked from commit bfd3abd0c7)
2015-05-15 16:51:47 +00:00
cretin45
7a2d51c5e2 SetupWizard: Increase delay for accessibility
Change-Id: Ifff7161f95e91ec7763f388206cd1d30804ad600
(cherry picked from commit 9dd952e3f6)
2015-05-09 04:26:54 +00:00
cretin45
c3723495bf Setupwizard: Fix msim NPE where sim only in slot 2
Change-Id: I919129185cb49c51f9f02d9718e116e7d02b0d2c
(cherry picked from commit a0eb5bb442)
2015-04-28 17:12:22 +00:00
cretin45
21b7055507 SetupWizard: Give radio a 10 second chance to come up
Change-Id: Iadd817b200106783dd67edbc5ad03928ce2baa6b
2015-04-14 17:35:25 -07:00
cretin45
6fc8aa4a75 SetupWizard: Don't assume order of SubInfoRecords
Change-Id: I3b4132afccc96a5d08986a3cb902bd384931f21f
2015-04-14 17:35:13 -07:00
cretin45
01552b9e52 SetupWizard: Ensure page object isn't null if FM destroyed
Change-Id: Ia794e7656587ca803d02418d3d84d4df5027cd00
(cherry picked from commit 62b79e3880)
2015-04-10 23:38:02 +00:00
cretin45
41cbad4e5b SetupWizard: Lock orientation prior to finish animation
Change-Id: I43a69937e2deb5f55585522fe5d00c51ffdae569
(cherry picked from commit c8e4c29020)
2015-03-23 22:10:39 +00:00
cretin45
e499b32d70 SetupWizard: Initialize the nav keys bundle boolean
Change-Id: I50f2ef0fb7226c8b58437b669ca71df436d68ee8
2015-03-20 15:07:35 -07:00
cretin45
bdfe88d06b SetupWizard: Fix regression for devices without custom default theme
Change-Id: Ia223c1b118dbb68e596ff01cf944bc870a321752
2015-03-20 15:06:44 -07:00
cretin45
1540532700 SetupWizard: Fix regression, only init pages once
Change-Id: I1207cb3975daa752a66eb8e9e40635f9a8009509
(cherry picked from commit 83be05d6ec)
2015-03-19 17:50:29 +00:00
d34d
c756a8c22b Disable theme components for secondary users
This patch is to mitigate theming problems with multiple users.
Once themes properly support multiple users we can revert this.

Change-Id: Iff50571adfabb97b10c3c3257cf9fb2d8e5b0d79
2015-03-18 10:16:54 -07:00
cretin45
d84b71f941 SetupWizard: Only go through OOBE if owner
Change-Id: I3886119d0d6fd69f18ea23d4b6435da75280dbf8
(cherry picked from commit 0ed67f547c)
2015-03-18 17:13:32 +00:00
cretin45
22e251dc86 SetupWizard: Better handling of launching into other activities
Change-Id: I4d8dc4a1b25e45c6ff35042239a0adf4c16458f1
(cherry picked from commit ed5d46703e)
2015-03-17 22:20:53 +00:00
cretin45
22d81f407a SetupWizard: Refactor for better transitions out of OOBE
Change-Id: If91da3f44dbc5383236b54da529953d48a475250
(cherry picked from commit 0d31b31aac)
2015-03-16 22:30:37 +00:00
cretin45
3e845be8c4 SetupWizard: Only update network state when resumed
Change-Id: Id018bf0ed4d9c54a1d6d57d53749c265b1d0e269
(cherry picked from commit f66c56b62f)
2015-03-12 00:16:09 +00:00
cretin45
b72a776fff SetupWizard: Update legal link
Change-Id: I1389dbb3e7e0ba3b7db992fdef02f4c8fdc1692d
(cherry picked from commit 77fce341b1)
2015-03-11 17:01:13 +00:00
cretin45
07e2d37258 SetupWizard: Fix race condition on finish
Change-Id: Ie4a5893c49db7ce9622091e05776cb5523ed5c45
(cherry picked from commit 7c8e091320)
2015-03-06 22:03:14 +00:00
61 changed files with 1184 additions and 386 deletions

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2009, 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.
*/
-->
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:interpolator/decelerate_quad">
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime"/>
</set>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2009, 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.
*/
-->
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:interpolator/accelerate_quad">
<alpha android:fromAlpha="1.0" android:toAlpha="0"
android:duration="@android:integer/config_shortAnimTime"/>
</set>

View File

@@ -21,6 +21,13 @@
<include layout="@layout/header" />
<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:indeterminateOnly="true"
android:layout_width="match_parent"
android:layout_height="8dp" />
<FrameLayout android:id="@+id/page"
android:layout_width="match_parent"
android:layout_height="0dp"
@@ -35,7 +42,8 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/PageContent">
style="@style/PageContent"
android:visibility="gone">
<TextView
android:layout_width="match_parent"

View File

@@ -21,6 +21,13 @@
<include layout="@layout/header" />
<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:indeterminateOnly="true"
android:layout_width="match_parent"
android:layout_height="8dp" />
<FrameLayout android:id="@+id/page"
android:layout_width="match_parent"
android:layout_height="0dp"
@@ -31,10 +38,12 @@
android:fillViewport="true">
<LinearLayout
android:id="@+id/page_view"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/PageContent">
style="@style/PageContent"
android:visibility="gone">
<TextView
android:id="@+id/mobile_data_summary"

View File

@@ -38,6 +38,7 @@
<string name="choose_data_sim_summary" product="default">Watter SIM wil jy gebruik vir data? Die gekose SIM kan netwerk koste aangaan, dit sal gebruik word met die opstel van jou foon.</string>
<string name="date_time_summary">Stel jou tydsone en pas huidige datum en tyd toe, indien nodig</string>
<string name="backup_data_summary"><b>Rugsteun</b> program data, Wi-Fi wagwoorde en ander instellings na Google-bedieners</string>
<string name="other_services_summary">Hierdie dienste word deur Google verskaf en jy kan dit aktiveer of deaktiveer op enige tyd. Data sal in ooreenstemming met Google se <xliff:g id="name" example="Privacy Policy">%s</xliff:g> gebruik word.</string>
<string name="location_services_summary">Ligging dienste laat stelsel en ander 3rde party programme toe om data te gebruik soos jou benaderde ligging. Bv \'n program kan jou benaderde ligging gebruik om nabygeleë koffiewinkels op te spoor.</string>
<string name="location_access_summary"><b>Laat programme toe wat jou toestemming gevra het</b> om jou ligging inligting te gebruik. Dit kan jou huidige ligging en plekke asook liggings en plekke uit die verlede insluit.</string>
<string name="location_gps" product="tablet"><b>Verbeter ligging akkuraatheid</b> deur programme toe te laat om jou GPS te kan gebruik op jou tablet.</string>
@@ -53,9 +54,14 @@
<string name="yes">Ja</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Noodoproep</string>
<string name="setup_services">Cyanogen funksies</string>
<string name="services_explanation" product="tablet">Hierdie dienste werk vir jou om die vermoëns van jou tablet uit te brei. Data sal in ooreenkomstig gebruik word met Cyanogen\'s <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_explanation" product="default">Hierdie dienste werk vir jou om die vermoëns van jou foon uit te brei. Data sal in ooreenkomstig gebruik word met Cyanogen\'s <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_privacy_policy">Privaatheid beleid</string>
<string name="services_help_improve_cm">Help verbeter <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> deur outomaties diagnostiese en gebruikers data te stuur na Cyanogen. Hierdie inligting kan nie gebruik word om jou te identifiseer nie en help spanne werk op dinge soos battery lewe, program werkverrigting en nuwe <xliff:g id="name" example="CyanogenMod">%s</xliff:g> funksies.</string>
<string name="services_apply_theme">Pas <xliff:g id="name" example="Material">%s</xliff:g> tema toe</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> aktiveer unieke ikone, agtergronde en lettertipe.</string>
<string name="services_os_nav_keys_label"><b>Gebruik skerm navigasie sleutels</b> in plaas van hardeware sleutels.</string>
<string name="services_use_secure_sms">Maak gebruik van veilige SMS</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> om SMS gesprekke met ander gebruikers te enkripteer met behulp van veilige SMS op \'n <xliff:g id="name" example="CyanogenMod">%s</xliff:g> toestel.</string>

View File

@@ -16,9 +16,15 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Quraşdırma Sehrbazı</string>
<string name="next">Sonrakı</string>
<string name="skip">Ötür</string>
<string name="setup_choose_data_sim">Verilənlər üçün bir SIM seçin</string>
<string name="choose_data_sim_summary" product="tablet">Hansı SIM\'dən verilənlər üçün istifadə etmək istəyirsiz? Şəbəkə planşetinizin quraşdırılması üçün seçilən SIM\'ə görə ödəniş tətbiq edə bilər.</string>
<string name="choose_data_sim_summary" product="default">Hansı SIM\'dən verilənlər üçün istifadə etmək istəyirsiz? Şəbəkə telefonunuzun quraşdırılması üçün seçilən SIM\'ə görə ödəniş tətbiq edə bilər.</string>
<string name="backup_data_summary">Tətbiqetmə verilənlərini, Wi-Fi şifrələri və digər tənzimləmələri Google serverlərinə <b>nüsxələ</b></string>
<string name="setup_mobile_data">Mobil verilənləri aç</string>
<string name="setup_mobile_data_no_service">Xidmət yoxdur</string>
<string name="enable_mobile_data_summary">Quraşdırma vaxtı mobil verilənlərdən istifadə etmək istəyirsiniz? Mobil verilənləri açmaq əlavə ödənişə səbəb ola bilər.</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
</resources>

View File

@@ -54,9 +54,14 @@
<string name="yes"></string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Trucada d\'emergència</string>
<string name="setup_services">Característiques Cyanogen</string>
<string name="services_explanation" product="tablet">Aquests serveis serveixen per ampliar les capacitats de la teva tauleta. Les dades s\'utilitzaran d\'acord amb la <xliff:g id="name" example="Privacy Policy">%s</xliff:g> de Cyanogen.</string>
<string name="services_explanation" product="default">Aquests serveis serveixen per ampliar les capacitats del teu telèfon. Les dades s\'utilitzaran d\'acord amb la <xliff:g id="name" example="Privacy Policy">%s</xliff:g> de Cyanogen.</string>
<string name="services_privacy_policy">Política de privacitat</string>
<string name="services_help_improve_cm">Ajuda a millorar <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> enviant automàticament les dades de diagnòstic i d\'ús a Cyanogen. Aquesta informació no es pot utilitzar per identificar-te i dóna un cop de mà als equips que treballen en coses com la duració de les bateries, el rendiment de les app i noves característiques de <xliff:g id="name" example="CyanogenMod"> %s</xliff:g>.</string>
<string name="services_apply_theme">Aplica el tema <xliff:g id="name" example="Material">%s </xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s </xliff:g> habilitant icones úniques, fons de pantalla i tipus de lletra.</string>
<string name="services_os_nav_keys_label"><b>Utilitza les tecles de navegació en pantalla</b> enlloc de les tecles físiques.</string>
<string name="services_use_secure_sms">Utilitza SMS segurs</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> per xifrarr les converses SMS amb altres usuaris mitjançant SMS segurs en un dispositiu <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>

View File

@@ -54,9 +54,14 @@
<string name="yes">Ano</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Tísňové volání</string>
<string name="setup_services">Cyanogen funkce</string>
<string name="services_explanation" product="tablet">Tyto služby rozšířují funkce vašeho tabletu. Data budou použita v souladu se zásadami ochrany osobních údajů Cyanogen <xliff:g id="name" example="Privacy Policy">%s </xliff:g>.</string>
<string name="services_explanation" product="default">Tyto služby rozšiřují funkce vašeho telefonu. Data budou použita v souladu se zásadami ochrany osobních údajů Cyanogen <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_privacy_policy">Zásady ochrany osobních údajů</string>
<string name="services_help_improve_cm">Pomozte zlepšovat <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label">&lt;b&gt;Pomozte zlepšovat <xliff:g id="name" example="CyanogenMod">%s</xliff:g>&lt;/b&gt; automatickým odesíláním dat o používání do Cyanogenu. Tyto informace nebudou použity k vaší identifikaci, ale pomohou vývojářům v práci na věcech jako výdrž baterie, rychlost aplikací nebo vývoj nových <xliff:g id="name" example="CyanogenMod">%s</xliff:g> funkcí.</string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> automatickým odesíláním dat o používání. Tato data nelze použít pro Vaší identifikaci, ale pomohou vývojářskému týmu s informacemi o výdrži baterie, výkonu aplikací a vývoji nových vlastností <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>
<string name="services_apply_theme">Použít motiv <xliff:g id="name" example="Material">%s</xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> povolí unikátní ikony, tapety a písma.</string>
<string name="services_os_nav_keys_label"><b>Použít navigační klávesy na obrazovce</b> namísto hw kláves.</string>
<string name="services_use_secure_sms">Použít zabezpečené SMS</string>
<string name="services_secure_sms_label">Použijte aplikaci <xliff:g id="name" example="Use secure SMS">%s</xliff:g> pro šifrované SMS a zabezpečenou komunikaci na zařízení <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>

View File

@@ -54,9 +54,14 @@
<string name="yes">Ja</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Nødopkald</string>
<string name="setup_services">Cyanogen-funktioner</string>
<string name="services_explanation" product="tablet">Disse tjenester giver dig flere muligheder med din tablet. Data bliver anvendt i overensstemmelse med Cyanogens <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_explanation" product="default">Disse tjenester giver dig flere muligheder med din telefon. Data bliver anvendt i overensstemmelse med Cyanogens <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_privacy_policy">Privatlivspolitik</string>
<string name="services_help_improve_cm">Hjælpe med at forbedre <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> ved automatisk at sende diagnosticerings- og brugsoplysninger til Cyanogen. Denne information kan ikke bruges til at identificere dig, men hjælper udviklerne i arbejdet med eksempelvis batterilevetid, ydeevne og nye <xliff:g id="name" example="CyanogenMod">%s</xliff:g> funktioner.</string>
<string name="services_apply_theme">Anvend temaet <xliff:g id="name" example="Material">%s</xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> giver unikke ikoner, baggrunde og skrifttyper.</string>
<string name="services_os_nav_keys_label"><b>Brug navigationstaster på skærmen</b> i stedet for fysiske knapper.</string>
<string name="services_use_secure_sms">Brug sikker SMS</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> til at kryptere SMS-samtaler med andre brugere ved hjælp af sikker SMS på en <xliff:g id="name" example="CyanogenMod">%s</xliff:g> enhed.</string>

View File

@@ -40,9 +40,12 @@
<string name="backup_data_summary"><b>Sichert</b> App-Daten, WLAN-Passwörter und andere Einstellungen auf Google-Servern</string>
<string name="other_services_summary">Diese Dienste werden von Google zur Verfügung gestellt und können jederzeit aktiviert oder deaktiviert werden. Die Daten werden in Übereinstimmung mit Googles <xliff:g id="name" example="Privacy Policy">%s</xliff:g> genutzt.</string>
<string name="location_services_summary">Standortdienste erlauben es Systemapps oder Apps von Drittanbietern Daten, wie z. B. Ihren ungefähren Standort zu bestimmen und zu verwenden. Zum Beispiel könnte eine App Ihren ungefähren Standort verwenden, um Cafés in der Nähe zu finden.</string>
<string name="location_access_summary"><b>Erlaubt Apps, die nach Ihrer Berechtigung gefragt haben,</b> Standortinformationen zu verwenden. Diese können Ihren derzeitigen und vergangenen Standort beinhalten.</string>
<string name="location_gps" product="tablet"><b>Standortgenauigkeit erhöhen</b>, indem Apps erlaubt wird, GPS an Ihrem Tablet zu verwenden.</string>
<string name="location_gps" product="default"><b>Standortgenauigkeit erhöhen</b>, indem Apps erlaubt wird, GPS an Ihrem Telefon zu verwenden.</string>
<string name="location_network"><b>WLAN nutzen</b>, um Apps zu helfen, Ihren Standort zu ermitteln.</string>
<string name="location_network_telephony"><b>WLAN und mobiles Netzwerk aktivieren</b>, um Apps den Standortabruf zu ermöglichen.</string>
<string name="location_network_gms"><b>Googles Standortdienst verwenden</b>, um Apps bei der Bestimmung Ihrer Position zu helfen. Das bedeutet, dass anonymisierte Standortdaten an Google gesendet werden, auch wenn keine App aktiv ist.</string>
<string name="setup_mobile_data">Mobile Daten aktivieren</string>
<string name="setup_mobile_data_no_service">Kein Netz</string>
<string name="setup_mobile_data_emergency_only">Nur Notrufe</string>
@@ -51,9 +54,14 @@
<string name="yes">Ja</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Notruf</string>
<string name="setup_services">Cyanogen-Funktionen</string>
<string name="services_explanation" product="tablet">Diese Dienste werden verwendet, um die Funktionen Ihres Tablets zu erweitern. Die Daten werden in Übereinstimmung mit Cyanogens <xliff:g id="name" example="Privacy Policy">%s</xliff:g> verwendet.</string>
<string name="services_explanation" product="default">Diese Dienste werden verwendet, um die Funktionen Ihres Telefons zu erweitern. Die Daten werden in Übereinstimmung mit Cyanogens <xliff:g id="name" example="Privacy Policy">%s</xliff:g> verwendet.</string>
<string name="services_privacy_policy">Datenschutzbestimmungen</string>
<string name="services_help_improve_cm">Helfen Sie <xliff:g id="name" example="CyanogenMod">%s</xliff:g> zu verbessern</string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> indem Sie automatisch Diagnose- und Nutzungsdaten an CyanogenMod senden. Diese Information können nicht verwendet werden, um Sie zu identifizieren. Es hilft unseren Teams, die an Dingen wie Akkulaufzeit, App-Leistung oder an neuen <xliff:g id="name" example="CyanogenMod">%s</xliff:g>-Funktionen arbeiten.</string>
<string name="services_apply_theme"><xliff:g id="name" example="Material">%s</xliff:g>-Design anwenden</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g>, um spezifische Symbole, Hintergrundbilder und Schriftarten zu aktivieren.</string>
<string name="services_os_nav_keys_label"><b>Bildschirm-Navigationstasten</b> statt Hardwaretasten verwenden.</string>
<string name="services_use_secure_sms">Sichere SMS verwenden</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g>, um SMS-Konversationen mit anderen Nutzern auf einem <xliff:g id="name" example="CyanogenMod">%s</xliff:g>-Gerät zu verschlüsseln.</string>

View File

@@ -54,9 +54,14 @@
<string name="yes">Ναι</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Κλήση έκτακτης ανάγκης</string>
<string name="setup_services">Χαρακτηριστικά Cyanogen</string>
<string name="services_explanation" product="tablet">Οι υπηρεσίες αυτές έχουν σκοπό να επεκτείνουν τις δυνατότητες του tablet σας. Τα δεδομένα θα χρησιμοποιηθούν σύμφωνα με την <xliff:g id="name" example="Privacy Policy">%s</xliff:g> της Cyanogen.</string>
<string name="services_explanation" product="default">Οι υπηρεσίες αυτές έχουν σκοπό να επεκτείνουν τις δυνατότητες του τηλεφώνου σας. Τα δεδομένα θα χρησιμοποιηθούν σύμφωνα με την <xliff:g id="name" example="Privacy Policy">%s</xliff:g> της Cyanogen.</string>
<string name="services_privacy_policy">Πολιτική απορρήτου</string>
<string name="services_help_improve_cm">Βοηθήστε στη βελτίωση του <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> στέλνοντας αυτόματα διαγνωστικά δεδομένα και στατιστικά χρήσης στη Cyanogen. Αυτές οι πληροφορίες δε μπορούν να χρησιμοποιηθούν για να σας αναγνωρίσουν και δίνουν ένα χέρι βοηθείας στις ομάδες που εργάζονται σε θέματα όπως η διάρκεια ζωής μπαταρίας, επιδόσεις εφαρμογών και νέα χαρακτηριστικά του <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>
<string name="services_apply_theme">Εφαρμογή του θέματος <xliff:g id="name" example="Material">%s</xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> ενεργοποιώντας μοναδικά εικονίδια, ταπετσαρίες και γραμματοσειρές.</string>
<string name="services_os_nav_keys_label"><b>Κάντε χρήση των πλήκτρων πλοήγησης της οθόνης</b> αντί των φυσικών πλήκτρων.</string>
<string name="services_use_secure_sms">Κάντε χρήση των ασφαλών SMS</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> για να κρυπτογραφήσετε τις συνομιλίες SMS με άλλους χρήστες που χρησιμοποιούν ασφαλή SMS σε συσκευές <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>

View File

@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<!--
Copyright (C) 2013-2015 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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Setup Wizard</string>
<string name="next">Next</string>
<string name="skip">Skip</string>
<string name="start">Start</string>
<string name="ok">OK</string>
<string name="loading">Just a sec\u2026</string>
<string name="setup_complete">Setup is complete</string>
<string name="setup_welcome">Welcome</string>
<string name="setup_wifi">Select Wi-Fi</string>
<string name="setup_sim_missing">SIM card missing</string>
<string name="setup_choose_data_sim">Choose a SIM for data</string>
<string name="setup_location">Location services</string>
<string name="setup_other">Other services</string>
<string name="setup_datetime">Date &amp; time</string>
<string name="setup_current_date">Current date</string>
<string name="setup_current_time">Current time</string>
<string name="sim_missing_summary" product="tablet">A SIM card has not been detected in your tablet. To insert a SIM card, read the instructions that came with your device.</string>
<string name="sim_missing_summary" product="default">A SIM card has not been detected in your phone. To insert a SIM card, read the instructions that came with your device.</string>
<string name="choose_data_sim_summary" product="tablet">Which SIM do you want to use for data? The selected SIM may incur network charges as it will be used to set up your tablet.</string>
<string name="choose_data_sim_summary" product="default">Which SIM do you want to use for data? The selected SIM may incur network charges as it will be used to set up your phone.</string>
<string name="date_time_summary">Set your time zone and adjust current date and time if needed</string>
<string name="backup_data_summary"><b>Back up</b> app data, Wi-Fi passwords, and other settings to Google servers</string>
<string name="other_services_summary">These services put Google to work for you, and you can turn them on or off at any time. Data will be used in accordance with Google\'s <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="location_services_summary">Location services allows system and third party apps to gather and use data such as your approximate location. For example, an app may use your approximate location to locate nearby coffee shops.</string>
<string name="location_access_summary"><b>Allow apps that have asked your permission</b> to use your location information. This may include your current location and past locations.</string>
<string name="location_gps" product="tablet"><b>Improve location accuracy</b> by allowing apps to use the GPS on your tablet.</string>
<string name="location_gps" product="default"><b>Improve location accuracy</b> by allowing apps to use the GPS on your phone.</string>
<string name="location_network"><b>Use Wi-Fi</b> to help apps determine your location.</string>
<string name="location_network_telephony"><b>Use Wi-Fi and mobile networks</b> to help apps determine your location.</string>
<string name="location_network_gms"><b>Use Google\'s location service</b> to help apps determine your location. This means sending anonymous location data to Google, even when no apps are running.</string>
<string name="setup_mobile_data">Turn on mobile data</string>
<string name="setup_mobile_data_no_service">No service</string>
<string name="setup_mobile_data_emergency_only">Emergency calls only</string>
<string name="enable_mobile_data_summary">Do you want to use mobile data during setup? Turning on mobile data may be subject to data charges.</string>
<string name="no">No</string>
<string name="yes">Yes</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Emergency call</string>
<string name="setup_services">Cyanogen features</string>
<string name="services_explanation" product="tablet">These services work for you to extend the capabilities of your tablet. Data will be used in accordance with Cyanogen\'s <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_explanation" product="default">These services work for you to extend the capabilities of your phone. Data will be used in accordance with Cyanogen\'s <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_privacy_policy">Privacy Policy</string>
<string name="services_help_improve_cm">Help improve <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> by automatically sending diagnostic and usage data to Cyanogen. This information cant be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="CyanogenMod">%s</xliff:g> features.</string>
<string name="services_apply_theme">Apply the <xliff:g id="name" example="Material">%s</xliff:g> theme</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> enabling unique icons, wallpapers, and fonts.</string>
<string name="services_os_nav_keys_label"><b>Use on screen navigation keys</b> instead of hardware keys.</string>
<string name="services_use_secure_sms">Use secure SMS</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> to encrypt SMS conversations with other users using secure SMS on a <xliff:g id="name" example="CyanogenMod">%s</xliff:g> device.</string>
</resources>

View File

@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<!--
Copyright (C) 2013-2015 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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Setup Wizard</string>
<string name="next">Next</string>
<string name="skip">Skip</string>
<string name="start">Start</string>
<string name="ok">OK</string>
<string name="loading">Just a sec\u2026</string>
<string name="setup_complete">Setup is complete</string>
<string name="setup_welcome">Welcome</string>
<string name="setup_wifi">Select Wi-Fi</string>
<string name="setup_sim_missing">SIM card missing</string>
<string name="setup_choose_data_sim">Choose a SIM for data</string>
<string name="setup_location">Location services</string>
<string name="setup_other">Other services</string>
<string name="setup_datetime">Date &amp; time</string>
<string name="setup_current_date">Current date</string>
<string name="setup_current_time">Current time</string>
<string name="sim_missing_summary" product="tablet">A SIM card has not been detected in your tablet. To insert a SIM card, read the instructions that came with your device.</string>
<string name="sim_missing_summary" product="default">A SIM card has not been detected in your phone. To insert a SIM card, read the instructions that came with your device.</string>
<string name="choose_data_sim_summary" product="tablet">Which SIM do you want to use for data? The selected SIM may incur network charges as it will be used to set up your tablet.</string>
<string name="choose_data_sim_summary" product="default">Which SIM do you want to use for data? The selected SIM may incur network charges as it will be used to set up your phone.</string>
<string name="date_time_summary">Set your time zone and adjust current date and time if needed</string>
<string name="backup_data_summary"><b>Back up</b> app data, Wi-Fi passwords, and other settings to Google servers</string>
<string name="other_services_summary">These services put Google to work for you, and you can turn them on or off at any time. Data will be used in accordance with Google\'s <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="location_services_summary">Location services allows system and third party apps to gather and use data such as your approximate location. For example, an app may use your approximate location to locate nearby coffee shops.</string>
<string name="location_access_summary"><b>Allow apps that have asked your permission</b> to use your location information. This may include your current location and past locations.</string>
<string name="location_gps" product="tablet"><b>Improve location accuracy</b> by allowing apps to use the GPS on your tablet.</string>
<string name="location_gps" product="default"><b>Improve location accuracy</b> by allowing apps to use the GPS on your phone.</string>
<string name="location_network"><b>Use Wi-Fi</b> to help apps determine your location.</string>
<string name="location_network_telephony"><b>Use Wi-Fi and mobile networks</b> to help apps determine your location.</string>
<string name="location_network_gms"><b>Use Google\'s location service</b> to help apps determine your location. This means sending anonymous location data to Google, even when no apps are running.</string>
<string name="setup_mobile_data">Turn on mobile data</string>
<string name="setup_mobile_data_no_service">No service</string>
<string name="setup_mobile_data_emergency_only">Emergency calls only</string>
<string name="enable_mobile_data_summary">Do you want to use mobile data during setup? Turning on mobile data may be subject to data charges.</string>
<string name="no">No</string>
<string name="yes">Yes</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Emergency call</string>
<string name="setup_services">Cyanogen features</string>
<string name="services_explanation" product="tablet">These services work for you to extend the capabilities of your tablet. Data will be used in accordance with Cyanogen\'s <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_explanation" product="default">These services work for you to extend the capabilities of your phone. Data will be used in accordance with Cyanogen\'s <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_privacy_policy">Privacy Policy</string>
<string name="services_help_improve_cm">Help improve <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> by automatically sending diagnostic and usage data to Cyanogen. This information cant be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="CyanogenMod">%s</xliff:g> features.</string>
<string name="services_apply_theme">Apply the <xliff:g id="name" example="Material">%s</xliff:g> theme</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> enabling unique icons, wallpapers, and fonts.</string>
<string name="services_os_nav_keys_label"><b>Use on screen navigation keys</b> instead of hardware keys.</string>
<string name="services_use_secure_sms">Use secure SMS</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> to encrypt SMS conversations with other users using secure SMS on a <xliff:g id="name" example="CyanogenMod">%s</xliff:g> device.</string>
</resources>

View File

@@ -27,7 +27,7 @@
<string name="setup_wifi">Selecciona una red Wi-Fi</string>
<string name="setup_sim_missing">Falta la tarjeta SIM</string>
<string name="setup_choose_data_sim">Elige una SIM para datos</string>
<string name="setup_location">Servicios de localizacion</string>
<string name="setup_location">Servicios de ubicación</string>
<string name="setup_other">Otros servicios</string>
<string name="setup_datetime">Fecha y hora</string>
<string name="setup_current_date">Fecha actual</string>
@@ -54,9 +54,14 @@
<string name="yes"></string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Llamada de emergencia</string>
<string name="setup_services">Características de Cyanogen</string>
<string name="services_explanation" product="tablet">Estos servicios sirven para extender las capacidades del tablet. Se utilizarán datos de acuerdo a la <xliff:g id="name" example="Privacy Policy">%s</xliff:g> de Cyanogen.</string>
<string name="services_explanation" product="default">Estos servicios sirven para extender las capacidades del teléfono. Se utilizarán datos de acuerdo a la <xliff:g id="name" example="Privacy Policy">%s</xliff:g> de Cyanogen.</string>
<string name="services_privacy_policy">Política de Privacidad</string>
<string name="services_help_improve_cm">Ayuda a mejorar <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Ayuda a mejorar CyanogenMod">%s</xliff:g> enviando automáticamente datos de diagnóstico y uso a Cyanogen. Esta información no puede utilizarse para identificarte y sirve de ayuda a los equipos que trabajan en aspectos como la duración de la batería, rendimiento de las aplicaciones y nuevas características de <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>
<string name="services_apply_theme">Aplicar el tema <xliff:g id="name" example="Material">%s</xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> habilitando iconos especiales, fondo de pantalla y fuentes.</string>
<string name="services_os_nav_keys_label"><b>Usar las teclas de navegación en pantalla</b> en vez de las teclas físicas.</string>
<string name="services_use_secure_sms">Usar SMS seguros</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Usar SMS seguro">%s</xliff:g> para cifrar conversaciones SMS con otros usuarios usando SMS seguros en tu dispositivo <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<!--
Copyright (C) 2013-2015 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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="backup_data_summary">Aplikazio datuen, Wi-Fi pasahitzen, eta bestelako ezarpenen <b>segurtasun kopia</b> egin Google zerbitzarietan</string>
<string name="other_services_summary">Zerbitzu hauek Google zure mesedetan lanean jartzen dute, edozein unetan piztu edo itzali ditzakezu. Datuak Google <xliff:g id="name" example="Privacy Policy">%s</xliff:g> arabera erabiliko dira.</string>
</resources>

View File

@@ -38,7 +38,7 @@
<string name="choose_data_sim_summary" product="default">Mitä SIM-korttia haluat käyttää mobiilitiedonsiirtoon? Mobiilidatan käyttö voi aiheuttaa tiedonsiirtokuluja.</string>
<string name="date_time_summary">Valitse aikavyöhyke ja määritä aika ja päivämäärä tarvittaessa</string>
<string name="backup_data_summary"><b>Varmuuskopioi</b> sovellusten tiedot, Wi-FI-salasanat ja muut asetukset Googlen palvelimille</string>
<string name="other_services_summary">Tämä ottaa Googlen palvelut käyttöön, ja voit ottaa ne käyttöön tai poistaa käytöstä milloin tahansa. Tietoja käytetään Googlen <xliff:g id="name" example="Privacy Policy">%s</xliff:g>n mukaisesti.</string>
<string name="other_services_summary">Tämä ottaa Googlen palvelut käyttöön, ja voit ottaa ne käyttöön tai poistaa käytöstä milloin tahansa. Tietoja käytetään Googlen <xliff:g id="name" example="Privacy Policy">%s</xliff:g> mukaisesti.</string>
<string name="location_services_summary">Sijaintipalvelut sallii järjestelmän ja muiden sovellusten kerätä ja käyttää tietoja kuten likimääräinen sijaintisi. Esimerkiksi sovellus voi paikantaa sinut ja etsiä lähistöllä olevia kahviloita.</string>
<string name="location_access_summary"><b>Salli sovellusten, jotka ovat kysyneet sinulta lupaa</b> käyttää sijaintitietojasi. Tämä saattaa sisältää nykyisen sijaintisi ja aiemmat sijaintisi.</string>
<string name="location_gps" product="tablet"><b>Paranna paikannuksen tarkkuutta</b> sallimalla sovellusten käyttää GPS:ää tabletissasi.</string>
@@ -54,9 +54,14 @@
<string name="yes">Kyllä</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Hätäpuhelu</string>
<string name="setup_services">Cyanogen-ominaisuudet</string>
<string name="services_explanation" product="tablet">Nämä palvelut toimivat tablettisi ominaisuuksien parantamiseksi. Tietoja käytetään Cyanogenin <xliff:g id="name" example="Privacy Policy">%s</xliff:g> mukaisesti.</string>
<string name="services_explanation" product="default">Nämä palvelut toimivat puhelimesi ominaisuuksien parantamiseksi. Tietoja käytetään Cyanogenin <xliff:g id="name" example="Privacy Policy">%s</xliff:g> mukaisesti.</string>
<string name="services_privacy_policy">Tietosuojakäytännön</string>
<string name="services_help_improve_cm">Auta parantamaan <xliff:g id="name" example="CyanogenMod">%s</xliff:g>ia</string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> lähettämällä vianmääritys- ja käyttötietoja Cyanogenille. Tietoja ei voi käyttää tunnistamiseen. Tiedot auttavat kehittäjiä muun muassa parantamaan akun kestoa, sovellusten suorituskykyä ja kehittämään <xliff:g id="name" example="CyanogenMod">%s</xliff:g>iin uusia ominaisuuksia.</string>
<string name="services_apply_theme">Ota <xliff:g id="name" example="Material">%s</xliff:g>-teema käyttöön</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> käyttääksesi ainutlaatuisia kuvakkeita, taustakuvia ja fontteja.</string>
<string name="services_os_nav_keys_label"><b>Käytä näytön navigointipalkkia</b> fyysisten näppäinten sijaan.</string>
<string name="services_use_secure_sms">Käytä turvallisia tekstiviestejä</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> salataksesi tekstiviestikeskustelut muiden turvallisia tekstiviestejä ja <xliff:g id="name" example="CyanogenMod">%s</xliff:g>ia käyttävien henkilöiden kanssa.</string>

View File

@@ -54,9 +54,14 @@
<string name="yes">Oui</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Appel d\'urgence</string>
<string name="setup_services">Fonctionnalités Cyanogen</string>
<string name="services_explanation" product="tablet">Ces services fonctionnent pour étendre les fonctionnalités de votre tablette. Les données seront utilisées conformément à la <xliff:g id="name" example="Politique de confidentialité">%s</xliff:g> de Cyanogen.</string>
<string name="services_explanation" product="default">Ces services fonctionnent pour étendre les fonctionnalités de votre téléphone. Les données seront utilisées conformément à la <xliff:g id="name" example="Politique de confidentialité">%s</xliff:g> de Cyanogen.</string>
<string name="services_privacy_policy">Politique de confidentialité</string>
<string name="services_help_improve_cm">Aider à améliorer <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> en envoyant automatiquement des données de diagnostics et d\'utilisation à Cyanogen. Ces informations ne peuvent pas être utilisées pour vous identifier et elles pourront aider les équipes qui travaillent sur des choses telles que la durée de vie de la batterie, les performances des applications et les nouvelles fonctionnalités <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>
<string name="services_apply_theme">Appliquer le thème <xliff:g id="name" example="Material">%s</xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Appliquer le thème Material">%s</xliff:g> active les icônes uniques, fonds d\'écran, et polices.</string>
<string name="services_os_nav_keys_label"><b>Utilisation des touches de navigation de l\'écran</b> au lieu des touches physiques.</string>
<string name="services_use_secure_sms">Utiliser les SMS sécurisés</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> pour crypter les conversations SMS avec les autres utilisateurs utilisant les SMS sécurisés sur leurs appareils <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<!--
Copyright (C) 2013-2015 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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="ok">OK</string>
</resources>

68
res/values-hi/strings.xml Normal file
View File

@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<!--
Copyright (C) 2013-2015 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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">सेटअप विज़ार्ड</string>
<string name="next">अगला</string>
<string name="skip">छोड़ें</string>
<string name="start">शुरू करें</string>
<string name="ok">ठीक है</string>
<string name="loading">एक सेकंड\u2026</string>
<string name="setup_complete">सेटअप पूरा हो गया</string>
<string name="setup_welcome">स्वागत</string>
<string name="setup_wifi">वाई-फाई चुनें</string>
<string name="setup_sim_missing">सिम कार्ड नहीं है</string>
<string name="setup_choose_data_sim">डेटा के लिए सिम कार्ड चुनें</string>
<string name="setup_location">स्थान सेवाएँ</string>
<string name="setup_other">अन्य सेवाएँ</string>
<string name="setup_datetime">तिथि और समय</string>
<string name="setup_current_date">वर्तमान तिथि</string>
<string name="setup_current_time">वर्तमान समय</string>
<string name="sim_missing_summary" product="tablet">आपके टैब्लेट के लिए सिम कार्ड पहचाना नहीं जा सका है। सिम कार्ड डालने के लिए अपने उपकरण के साथ आए निर्देशों को देखें।</string>
<string name="sim_missing_summary" product="default">आपके फ़ोन के लिए सिम कार्ड पहचाना नहीं जा सका है। सिम कार्ड डालने के लिए अपने उपकरण के साथ आए निर्देशों को देखें।</string>
<string name="choose_data_sim_summary" product="tablet">डेटा के लिए आप किस सिम का उपयोग करना चाहते हैं? चयनित सिम कार्ड के लिए नेटवर्क शुल्क लग सकते हैं क्योंकि उसका उपयोग आपके टैब्लेट को सेटअप करने के लिए किया जाएगा।</string>
<string name="choose_data_sim_summary" product="default">डेटा के लिए आप किस सिम का उपयोग करना चाहते हैं? चयनित सिम कार्ड के लिए नेटवर्क शुल्क लग सकते हैं क्योंकि उसका उपयोग आपके फ़ोन को सेटअप करने के लिए किया जाएगा।</string>
<string name="date_time_summary">अपना समय क्षेत्र सेटअप करें और यदि आवश्यक हो तो वर्तमान तिथि और समय को समायोजित करें</string>
<string name="backup_data_summary">ऐप डेटा, वाई-फ़ाई पासवर्ड, और अन्य सेटिंगि का गूगल सर्वरों में <b>बैकअप लें</b></string>
<string name="other_services_summary">इन सेवाओं के लिए गूगल से लाभ लिया जाता है, और आप उन्हें किसी भी समय बंद या चालू कर सकते हैं। डेटा का उपयोग गूगल की <xliff:g id="name" example="गोपनीयता नीति">%s</xliff:g> के अनुसार किया जाएगा।</string>
<string name="location_services_summary">स्थान सेवाएँ आपके सिस्टम को तृतीय पक्षीय ऐपों का उपयोग करके डेटा संग्रहण करने और डेटा उपयोग करने देती हैं ताकि आपके स्थान का अंदाज़ा लगाया जा सके। उदाहरण के लिए, कोई ऐप आपके स्थान के अनुमान का उपयोग निकट के कॉफ़ी शॉपों का पता करने के लिए कर सकता है।</string>
<string name="location_access_summary"><b>जिन ऐपों ने आपसे अनुमति ले ली है</b> उन्हें आपके स्थान संबंधी जानकारी का उपयोग करने दें। इस जानकारी में आपका वर्तमान स्थान और पहले के स्थान शामिल हो सकते हैं।</string>
<string name="location_gps" product="tablet">अपने टैब्लेट में ऐपों को जीपीएस का उपयोग करने देकर <b>स्थान सटीकता बढ़ाएँ</b></string>
<string name="location_gps" product="default">अपने फ़ोन में ऐपों को जीपीएस का उपयोग करने देकर <b>स्थान सटीकता बढ़ाएँ</b></string>
<string name="location_network">अपने स्थान को निर्धारित करने में ऐपों की मदद करने के लिए <b>वाई-फ़ाई</b> का उपयोग करें।</string>
<string name="location_network_telephony">ऐपों को आपके स्थान का निर्धारण करने में मदद करने के लिए <b>वाई-फ़ाई और मोबाइल नेटवर्कों का उपयोग करें।</b></string>
<string name="location_network_gms">ऐपों को अपने स्थान का निर्धारण करने में मदद करने के लिए <b>गूगल की स्थान सेवा का उपयोग करें।</b> इसका मतलब है कि गूगल को गुमनाम स्थान डेटा तब भी भेजा जाएगा जब कोई भी ऐप नहीं चल रहा हो।</string>
<string name="setup_mobile_data">मोबाइल डेटा को चालू करें</string>
<string name="setup_mobile_data_no_service">कोई सेवा नहीं है</string>
<string name="setup_mobile_data_emergency_only">केवल आपातकालीन कॉल</string>
<string name="enable_mobile_data_summary">क्या आप सेटअप के दौरान मोबाइल डेटा का उपयोग करना चाहते हैं? मोबाइल डेटा को चालू करने पर डेटा शुल्क लग सकते हैं।</string>
<string name="no">नहीं</string>
<string name="yes">हाँ</string>
<string name="data_sim_name">सिम <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">आपातकालीन कॉल</string>
<string name="setup_services">सियानोजेन सुविधाएँ</string>
<string name="services_explanation" product="tablet">ये सेवाएँ आपके टैब्लेट की क्षमताओं को बढ़ाती हैं। डेटा का उपयोग सियानोजेन की <xliff:g id="name" example="Privacy Policy">%s</xliff:g> के अनुसार किया जाएगा।</string>
<string name="services_explanation" product="default">ये सेवाएँ आपके फ़ोन की क्षमताओं को बढ़ाती हैं। डेटा का उपयोग सियानोजेन की <xliff:g id="name" example="Privacy Policy">%s</xliff:g> के अनुसार किया जाएगा।</string>
<string name="services_privacy_policy">गोपनीयता नीति</string>
<string name="services_help_improve_cm"><xliff:g id="name" example="CyanogenMod">%s</xliff:g> को सुधारने में मदद करें</string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> - सियानोजेन को अपने आप ही निदानात्मक और उपयोग से संबंधित डेटा भेजें। इस जानकारी का उपयोग आपको पहचानने के लिए नहीं हो सकता है। वह केवल बैटरी की आयु, ऐप के निष्पादन और नए <xliff:g id="name" example="CyanogenMod">%s</xliff:g> प्रकार्यों पर काम करने वाली टीमों की मदद के लिए है।</string>
<string name="services_apply_theme"><xliff:g id="name" example="Material">%s</xliff:g> थीम को लागू करें</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> जो अद्वितीय आइकन, वॉलपेपर, और फ़ॉन्टों को सक्षम करता है।</string>
<string name="services_os_nav_keys_label">हार्डवेयर कुंजियों की जगह <b>स्क्रीन पर मौजूद नेविगेशन कुंजियों का उपयोग करें।</b></string>
<string name="services_use_secure_sms">सुरक्षित एसएमएस का उपयोग करें</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> का उपयोग करके सुरक्षित एसएमएस का उपयोग करने वाले अन्य उपयोगकर्ताओं के साथ के एसएमएस वार्तालापों को <xliff:g id="name" example="CyanogenMod">%s</xliff:g> उपकरण में कूटलेखित करें।</string>
</resources>

View File

@@ -54,9 +54,14 @@
<string name="yes">Igen</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Segélyhívás</string>
<string name="setup_services">Cyanogen funkciók</string>
<string name="services_explanation" product="tablet">Ezek a szolgáltatások azon dolgoznak, hogy kibővítsék az Ön táblagépe képességeit. Az adatok felhasználása a Cyanogen <xliff:g id="name" example="Privacy Policy">%s</xliff:g> alapján történik.</string>
<string name="services_explanation" product="default">Ezek a szolgáltatások azon dolgoznak, hogy kibővítsék az Ön telefonja képességeit. Az adatok felhasználása a Cyanogen <xliff:g id="name" example="Privacy Policy">%s</xliff:g> alapján történik.</string>
<string name="services_privacy_policy">Adatvédelmi nyilatkozat</string>
<string name="services_help_improve_cm">Segítsen javítani <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> a Cyanogen részére történő automatikus diagnosztikai és használati adatok küldésével. Ez az információ nem használható az Ön beazonosítására, csupán segítséget nyújt a csapat számára például az akkumulátor használat, alkalmazás teljesítmény, és más új <xliff:g id="name" example="CyanogenMod">%s</xliff:g> funkciók fejlesztésében.</string>
<string name="services_apply_theme"><xliff:g id="name" example="Material">%s</xliff:g> téma alkalmazása</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> lehetővé teszi az egyéni ikonok, háttérképek és betűtípusok használatát.</string>
<string name="services_os_nav_keys_label"><b>A képernyő navigációs gombjainak használata</b> a hardveres gombok helyett.</string>
<string name="services_use_secure_sms">Biztonságos SMS használata</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> az SMS beszélgetések titkosításához más olyan felhasználókkal, akik szintén biztonságos SMS-t használnak <xliff:g id="name" example="CyanogenMod">%s</xliff:g> eszközön.</string>

View File

@@ -30,9 +30,12 @@
<string name="date_time_summary">Atur zona waktu dan sesuaikan tanggal dan waktu jika diperlukan</string>
<string name="location_access_summary"><b>Izinkan aplikasi yang telah meminta izin Anda</b> menggunakan informasi lokasi Anda. Ini mungkin termasuk lokasi Anda saat ini dan lokasi terakhir.</string>
<string name="location_gps" product="default"><b>Meningkatkan akurasi lokasi</b> dengan mengizinkan aplikasi untuk menggunakan GPS pada ponsel Anda.</string>
<string name="setup_mobile_data">Aktifkan data seluler</string>
<string name="setup_mobile_data_no_service">Tidak ada layanan</string>
<string name="setup_mobile_data_emergency_only">Panggilan darurat saja</string>
<string name="enable_mobile_data_summary">Apakah Anda ingin menggunakan mobile data selama setup? Menyalakan mobile data mungkin akan dikenakan biaya data.</string>
<string name="no">Tidak</string>
<string name="yes">Ya</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="services_privacy_policy">Kebijakan privasi</string>
</resources>

View File

@@ -17,30 +17,30 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Installazione guidata</string>
<string name="next">Avanti</string>
<string name="next">Prossimo</string>
<string name="skip">Salta</string>
<string name="start">Cominciamo</string>
<string name="ok">OK</string>
<string name="start">Inizio</string>
<string name="ok">Ok</string>
<string name="loading">Solo un secondo\u2026</string>
<string name="setup_complete">Il setup è completo</string>
<string name="setup_complete">Installazione completata</string>
<string name="setup_welcome">Benvenuto</string>
<string name="setup_wifi">Seleziona Wi-Fi</string>
<string name="setup_sim_missing">Scheda SIM non inserita</string>
<string name="setup_choose_data_sim">Scegli una SIM per la connessione dati</string>
<string name="setup_location">Servizi di localizzazione</string>
<string name="setup_other">Altri servizi</string>
<string name="setup_datetime">Data &amp; Ora</string>
<string name="setup_datetime">Data &amp; ora</string>
<string name="setup_current_date">Data corrente</string>
<string name="setup_current_time">Ora corrente</string>
<string name="sim_missing_summary" product="tablet">Non è stata riconosciuta alcuna scheda SIM nel tuo tablet. Per inserire una scheda SIM, leggi le istruzioni comprese col tuo dispositivo.</string>
<string name="sim_missing_summary" product="default">Non è stata rilevata alcuna scheda SIM nel tuo cellulare. Per inserire una scheda SIM, leggi le istruzioni comprese col tuo dispositivo.</string>
<string name="choose_data_sim_summary" product="tablet">Quale SIM vuoi utilizzare per la connessione dati? La SIM selezionata può incorrere in costi di rete durante la configurazione del dispositivo.</string>
<string name="choose_data_sim_summary" product="default">Quale SIM vuoi utilizzare per la connessione dati? La SIM selezionata può incorrere in costi di rete durante la configurazione del dispositivo.</string>
<string name="date_time_summary">Imposta il fuso orario e se necessario regola ora e data corrente</string>
<string name="date_time_summary">Imposta il fuso orario e se necessario regola data e ora corrente</string>
<string name="backup_data_summary"><b>Esegui il Back-up</b> dei dati delle app, password Wi-Fi e altre impostazioni sui server di Google</string>
<string name="other_services_summary">Questi servizi consentono a Google di lavorare per te, ed è possibile attivarli o disattivarli in qualsiasi momento. I dati saranno utilizzati in conformità con la <xliff:g id="name" example="Privacy Policy">%s</xliff:g> di Google.</string>
<string name="location_services_summary">I servizi di localizzazione permettono a Maps e ad altre applicazioni di raccogliere ed utilizzare dati come la tua posizione. Ad esempio, Maps potrebbe utilizzare la tua posizione per individuare negozi di caffè nelle tue vicinanze.</string>
<string name="location_access_summary"><b>Consenti alle applicazioni che hanno chiesto la tua autorizzazione</b> ad utilizzare informazioni sulla tua posizione. Ciò può includere la tua posizione attuale e quelle precedenti.</string>
<string name="location_access_summary"><b>Consenti alle applicazioni che hanno chiesto la tua autorizzazione</b> di utilizzare informazioni sulla tua posizione. Ciò può includere la tua posizione attuale e quelle precedenti.</string>
<string name="location_gps" product="tablet"><b>Migliora l\'accuratezza della localizzazione</b> consentendo alle app di usare il GPS sul tuo tablet.</string>
<string name="location_gps" product="default"><b>Migliora l\'accuratezza della localizzazione</b> permettendo alle applicazioni di utilizzare il GPS sul tuo telefono.</string>
<string name="location_network"><b>Usa il Wi-Fi</b> per aiutare le app a determinare la tua posizione.</string>
@@ -54,9 +54,14 @@
<string name="yes">Si</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Chiamata di emergenza</string>
<string name="services_privacy_policy">Condizioni sulla Privacy</string>
<string name="setup_services">Funzioni di Cyanogenmod</string>
<string name="services_explanation" product="tablet">Questi servizi funzionano per estendere le funzioni del tablet. I dati saranno utilizzati in accordo con <xliff:g id="name" example="Privacy Policy">%s</xliff:g>di Cyanogen.</string>
<string name="services_explanation" product="default">Questi servizi funzionano per estendere le funzioni del telefono. I dati saranno utilizzati in accordo con <xliff:g id="name" example="Privacy Policy">%s</xliff:g>di Cyanogen.</string>
<string name="services_privacy_policy">Informativa sulla privacy</string>
<string name="services_help_improve_cm">Aiuta a migliorare <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> inviando automaticamente dati di diagnostica e sull\'utilizzo a Cyanogen. Queste informazioni non possono essere utilizzate per identificarti e servono ad aiutare i team che lavorano sulla durata della batteria, sulle prestazioni delle app, e su nuove funzionalità <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>
<string name="services_apply_theme">Applica il tema<xliff:g id="name" example="Material">%s</xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> attiva icone, sfondi e caratteri unici.</string>
<string name="services_os_nav_keys_label"><b>Usa i pulsanti virtuali a schermo</b> invece di quelli fisici.</string>
<string name="services_use_secure_sms">Utilizza SMS sicuri</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> per criptare le conversazioni SMS con altri utenti che utilizzano gli SMS sicuri su un dispositivo <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>

View File

@@ -25,7 +25,7 @@
<string name="setup_complete">ההגדרה הושלמה</string>
<string name="setup_welcome">ברוך הבא</string>
<string name="setup_wifi">בחר רשת Wi-Fi</string>
<string name="setup_sim_missing">חסר כרטיס SIM</string>
<string name="setup_sim_missing">כרטיס SIM חסר</string>
<string name="setup_choose_data_sim">בחר כרטיס SIM עבור נתונים</string>
<string name="setup_location">שירותי מיקום</string>
<string name="setup_other">שירותים אחרים</string>
@@ -35,17 +35,17 @@
<string name="sim_missing_summary" product="tablet">לא זוהה כרטיס SIM בטאבלט שלך. כדי להכניס כרטיס SIM, קרא את הוראות ההפעלה שהגיעו יחד עם מכשירך.</string>
<string name="sim_missing_summary" product="default">לא זוהה כרטיס SIM במכשיר. כדי להכניס כרטיס SIM, קרא את הוראות ההפעלה שהגיעו יחד עם מכשירך.</string>
<string name="choose_data_sim_summary" product="tablet">באיזה כרטיס SIM הנך מעוניין להשתמש עבור אינטרנט סלולרי? יתכן ויחולו חיובי רשת ב-SIM הנבחר בעקבות שימוש באינטרנט במהלך הגדרת הטאבלט שלך.</string>
<string name="choose_data_sim_summary" product="default">באיזה כרטיס SIM הנך מעוניין להשתמש עבור אינטרנט סלולרי? יתכן ויחולו חיובי רשת ב-SIM הנבחר בעקבות שימוש באינטרנט במהלך הגדרת המכשיר.</string>
<string name="choose_data_sim_summary" product="default">באיזה כרטיס SIM הנך מעוניין להשתמש עבור אינטרנט סלולרי? יתכן ויחולו חיובי רשת ב-SIM הנבחר בעקבות שימוש באינטרנט במהלך הגדרת מכשירך.</string>
<string name="date_time_summary">הגדר את אזור הזמן שלך והתאם את התאריך ואת השעה הנוכחיים במידת הצורך</string>
<string name="backup_data_summary"><b>גבה</b> נתוני יישומים, סיסמאות Wi-Fi והגדרות אחרות לשרתי Google</string>
<string name="other_services_summary">שירותים אלו נותנים ל-Google לעבוד בשבילך, ואתה יכול לכבות/להדליק אותם בכל זמן. מידע ישומש בכפוף ל<xliff:g id="name" example="Privacy Policy">%s</xliff:g> של Google.</string>
<string name="location_services_summary">שירותי מיקום מאפשרים ליישום המפות וליישומים אחרים להשתמש במיקומך. לדוגמא, יישום המפות עשוי להשתמש במידע זה על מנת להציג לך בתי קפה הנמצאים בקרבתך.</string>
<string name="location_access_summary"><b>אפשר ליישומים שביקשו את אישורך</b> להשתמש במידע על מיקומך.</string>
<string name="location_gps" product="tablet"><b>שפר דיוק מיקום</b> ע\"י נתינת הרשאה ליישומים להשתמש ב-GPS בטאבלט.</string>
<string name="location_gps" product="default"><b>שפר דיוק מיקום</b> ע\"י נתינת הרשאה ליישומים להשתמש ב-GPS בטלפון.</string>
<string name="location_network"><b>השתמש ב-Wi-Fi</b> כדי לסייע לאפליקציות לקבוע את מיקומך.</string>
<string name="location_network_telephony"><b>השתמש ב-Wi-Fi וברשתות סלולריות</b> כדי לסייע לאפליקציות לקבוע את מיקומך.</string>
<string name="location_network_gms"><b>השתמש בשירותי המיקום של Google</b> כדי לשלוח נתוני מיקום אנונימיים ל-Google, גם כשיישומים לא פועלים.</string>
<string name="location_access_summary"><b>אפשר ליישומים שביקשו את רשותך</b> להשתמש במידע על מיקומך. הדבר עלול לכלול את מיקומך הנוכחי ומיקומים קודמים.</string>
<string name="location_gps" product="tablet"><b>שפר דיוק מיקום</b> על-ידי נתינת הרשאה ליישומים להשתמש ב-GPS בטאבלט.</string>
<string name="location_gps" product="default"><b>שפר דיוק מיקום</b> על-ידי נתינת הרשאה ליישומים להשתמש ב-GPS במכשירך.</string>
<string name="location_network"><b>השתמש ב-Wi-Fi</b> כדי לסייע ליישומים לקבוע את מיקומך.</string>
<string name="location_network_telephony"><b>השתמש ב-Wi-Fi וברשתות סלולריות</b> כדי לסייע ליישומים לקבוע את מיקומך.</string>
<string name="location_network_gms"><b>השתמש בשירותי המיקום של Google</b> כדי לשלוח נתוני מיקום אנונימיים ל-Google, גם כאשר אין יישומים פועלים.</string>
<string name="setup_mobile_data">הפעל נתונים ניידים</string>
<string name="setup_mobile_data_no_service">אין שירות</string>
<string name="setup_mobile_data_emergency_only">שיחות חירום בלבד</string>
@@ -54,9 +54,14 @@
<string name="yes">כן</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">שיחת חירום</string>
<string name="setup_services">תכונות Cyanogen</string>
<string name="services_explanation" product="tablet">שירותים אלה עובדים בשבילך כדי להרחיב את יכולותיו של הטאבלט שלך. מידע ישומש בכפוף ל<xliff:g id="name" example="Privacy Policy">%s</xliff:g> של Cyanogen.</string>
<string name="services_explanation" product="default">שירותים אלה עובדים בשבילך כדי להרחיב את יכולותיו של מכשירך. מידע ישומש בכפוף ל<xliff:g id="name" example="Privacy Policy">%s</xliff:g> של Cyanogen.</string>
<string name="services_privacy_policy">מדיניות הפרטיות</string>
<string name="services_help_improve_cm">עזור לשפר את <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> על ידי שליחת נתוני אבחון ושימוש למפתחים. מידע זה לא יוכל לשמש כדי לזהות אותך והוא תורם לצוותים העובדים על דברים כמו חיי סוללה, ביצועים ותכונות חדשות ל-<xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> על-ידי שליחת נתוני אבחון ושימוש למפתחים. מידע זה לא יוכל לשמש כדי לזהות אותך והוא תורם לצוותים העובדים על דברים כמו חיי סוללה, ביצועים ותכונות חדשות ל-<xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>
<string name="services_apply_theme">החל את ערכת העיצוב <xliff:g id="name" example="Material">%s</xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> הופך לזמין סמלים ייחודיים, טפטים וגופנים.</string>
<string name="services_os_nav_keys_label"><b>השתמש במקשי הניווט במסך</b> במקום במקשים הפיזיים.</string>
<string name="services_use_secure_sms">השתמש ב-SMS מאובטח</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> להצפנת שיחות SMS עם משתמשים אחרים באמצעות SMS מאובטח במכשיר <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>

View File

@@ -54,9 +54,14 @@
<string name="yes">はい</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">緊急通報</string>
<string name="setup_services">Cyanogenの機能</string>
<string name="services_explanation" product="tablet">これらのサービスはタブレットの機能を拡張するために動作します。データはCyanogenの<xliff:g id="name" example="Privacy Policy">%s</xliff:g>にしたがって使用されます。</string>
<string name="services_explanation" product="default">これらのサービスは携帯電話の機能を拡張するために動作します。データはCyanogenの<xliff:g id="name" example="Privacy Policy">%s</xliff:g>にしたがって使用されます。</string>
<string name="services_privacy_policy">プライバシーポリシー</string>
<string name="services_help_improve_cm"><xliff:g id="name" example="CyanogenMod">%s</xliff:g>の改善を支援します</string>
<string name="services_metrics_label">診断と使用状況データを自動的にCyanogenに送信して<xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g>。この情報は個人を特定するために使用されることはなく、電池持ち、アプリのパフォーマンス、<xliff:g id="name" example="CyanogenMod">%s</xliff:g>の新機能などへの取り組みで活用されます。</string>
<string name="services_apply_theme"><xliff:g id="name" example="Material">%s</xliff:g>テーマを適用</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g>すると、テーマ固有のアイコン、壁紙、フォントが有効になります。</string>
<string name="services_os_nav_keys_label">ハードウェアキーのかわりに<b>スクリーンナビゲーションキーを使用します</b></string>
<string name="services_use_secure_sms">セキュアSMSを使用します</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="CyanogenMod">%s</xliff:g>端末でセキュアSMSを使用している他のユーザーとのSMSの会話を自動的に暗号化するために<xliff:g id="name" example="Use secure SMS">%s</xliff:g></string>

View File

@@ -54,9 +54,14 @@
<string name="yes"></string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">긴급 통화</string>
<string name="setup_services">Cyanogen 기능</string>
<string name="services_explanation" product="tablet">이 기능은 태블릿의 성능 향상을 위해 작동합니다. 수집된 데이터는 Cyanogen의 <xliff:g id="name" example="Privacy Policy">%s</xliff:g>에 따라 사용됩니다.</string>
<string name="services_explanation" product="default">이 기능은 휴대전화의 성능 향상을 위해 작동합니다. 수집된 데이터는 Cyanogen의 <xliff:g id="name" example="Privacy Policy">%s</xliff:g>에 따라 사용됩니다.</string>
<string name="services_privacy_policy">개인 정보 보호 정책</string>
<string name="services_help_improve_cm"><xliff:g id="name" example="CyanogenMod">%s</xliff:g>의 개발 지원</string>
<string name="services_metrics_label">진단 및 사용 정보를 Cyanogen에 보내 <xliff:g id="name" example="CyanogenMod 개선을 도와주십시오">%s</xliff:g>. 이 정보는 배터리 수명, 앱 성능과 새 <xliff:g id="name" example="CyanogenMod">%s</xliff:g> 기능과 같이 사용자를 식별할 수 없는 정보입니다.</string>
<string name="services_apply_theme"><xliff:g id="name" example="Material">%s</xliff:g> 테마 적용</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g>은 독특한 아이콘, 배경화면과 폰트를 활성화합니다.</string>
<string name="services_os_nav_keys_label">하드웨어 키 대신 <b>화면 상의 내비게이션 키</b>를 사용합니다.</string>
<string name="services_use_secure_sms">보안 SMS 사용</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="보안 SMS를 사용">%s</xliff:g>하여 <xliff:g id="name" example="CyanogenMod">%s</xliff:g>기기에서 보안 SMS를 사용하는 다른 사용자와의 SMS 대화를 암호화함.</string>

View File

@@ -53,7 +53,9 @@
<string name="yes">Jo</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Noutruff</string>
<string name="setup_services">Cyanogen-Funktiounen</string>
<string name="services_privacy_policy">Dateschutzerklärung</string>
<string name="services_help_improve_cm">Hëllef <xliff:g id="name" example="CyanogenMod">%s</xliff:g> ze verbesseren</string>
<string name="services_apply_theme">Den Design <xliff:g id="name" example="Material">%s</xliff:g> applizéieren</string>
<string name="services_use_secure_sms">Sécher SMSe benotzen</string>
</resources>

View File

@@ -16,7 +16,7 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Sąrankos vedlys</string>
<string name="app_name">Sąrankos vediklis</string>
<string name="next">Kitas</string>
<string name="skip">Praleisti</string>
<string name="start">Pradėti</string>
@@ -45,7 +45,7 @@
<string name="location_gps" product="default"><b>Pagerinti vietos tikslumą</b> leidžiant programoms naudotis GPS jūsų telefone.</string>
<string name="location_network"><b>Naudoti „Wi-Fi“</b> , kad padėti programoms nustatyti jūsų buvimo vietą.</string>
<string name="location_network_telephony"><b>Naudoti „Wi-Fi“ ir mobiliuosius duomenis</b> , kad padėti programoms nustatyti jūsų buvimo vietą.</string>
<string name="location_network_gms"><b>Naudoti „Google“ vietos paslaugą</b>, kad padėtumėte programoms nustatyti jūsų buvimo vietą. Tai reiškia, anoniminių vietos duomenų siuntimą į „Google“, net tada, kai neveikia jokios programos.</string>
<string name="location_network_gms"><b>Naudoti „Google“ vietos paslaugą</b>, kad padėti programoms nustatyti jūsų buvimo vietą. Tai reiškia, anoniminių vietos duomenų siuntimą į „Google“, net tada, kai neveikia jokios programos.</string>
<string name="setup_mobile_data">Įjungti mobiliuosius duomenis</string>
<string name="setup_mobile_data_no_service">Nėra paslaugos</string>
<string name="setup_mobile_data_emergency_only">Tik pagalbos skambučiai</string>
@@ -54,10 +54,15 @@
<string name="yes">Taip</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Pagalbos skambutis</string>
<string name="setup_services">„Cyanogen“ funkcijos</string>
<string name="services_explanation" product="tablet">Šios paslaugos dirba už jus, kad išplėstu jūsų planšetinio kompiuterio galimybes. Duomenys bus naudojami pagal „Cyanogen\'s“ <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_explanation" product="default">Šios paslaugos dirba už jus, kad išplėstu jūsų telefono galimybes. Duomenys bus naudojami pagal „Cyanogen\'s“ <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_privacy_policy">Privatumo politika</string>
<string name="services_help_improve_cm">Padėti tobulinti <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Padėti tobulinti „CyanogenMod">%s</xliff:g> automatiškai siunčiant diagnostikos ir naudojimo duomenis „Cyanogen“. Ši informacija negali būti naudojama jūsų identifikavimui, pateikti duomenys padės komandoms dirbančioms prie akumuliatoriaus ilgaamžiškumo, programų našumo ir naujų <xliff:g id="name" example="CyanogenMod">%s</xliff:g> funkcijų.</string>
<string name="services_help_improve_cm">Padėti tobulinti <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> automatiškai siunčiant diagnostikos ir naudojimo duomenis „Cyanogen“. Ši informacija negali būti naudojama jūsų identifikavimui, pateikti duomenys padės komandoms dirbančioms prie akumuliatoriaus veikimo laiko, programų našumo ir naujų <xliff:g id="name" example="CyanogenMod">%s</xliff:g> funkcijų.</string>
<string name="services_apply_theme">Taikyti <xliff:g id="name" example="Material">%s</xliff:g> temą</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> įgalina unikalias piktogramas, ekrano fonus ir šriftus.</string>
<string name="services_os_nav_keys_label"><b>Naudokite ekrane rodomus naršymo klavišus</b> vietoj aparatūrinių klavišų.</string>
<string name="services_use_secure_sms">Naudoti saugius SMS</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Naudoti saugius SMS">%s</xliff:g>, kad užšifruoti SMS pokalbius su kitais vartotojais, naudojančiais saugius SMS <xliff:g id="name" example="CyanogenMod">%s</xliff:g> įrenginyje.</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g>, kad užšifruoti SMS pokalbius su kitais vartotojais, naudojančiais saugius SMS <xliff:g id="name" example="CyanogenMod">%s</xliff:g> įrenginyje.</string>
</resources>

View File

@@ -54,9 +54,14 @@
<string name="yes">Ja</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d </xliff:g> - <xliff:g id="name">%s </xliff:g></string>
<string name="emergency_call">Nødsamtale</string>
<string name="setup_services">Cyanogen funksjoner</string>
<string name="services_explanation" product="tablet">Disse tjenestene fungerer for deg ved å utvide funksjonaliteten til tableten. Dataene vil bli brukt i samsvar med Cyanogen\'s <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_explanation" product="default">Disse tjenestene fungere for deg ved å utvide funksjonene i telefonen. Dataene vil bli brukt i samsvar med Cyanogen\'s <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_privacy_policy">Personvern</string>
<string name="services_help_improve_cm">Hjelp til med å forbedre <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> ved å automatisk sende diagnose og bruksdata til Cyanogen. Denne informasjonen kan ikke bli brukt til å identifisere deg og du hjelper de som jobber med ting som batteritid, appytelse og nye <xliff:g id="name" example="CyanogenMod">%s</xliff:g> funksjoner.</string>
<string name="services_apply_theme">Bruke <xliff:g id="name" example="Material">%s</xliff:g> temaet</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> aktiverer unike ikoner, bakgrunner og skrifttyper.</string>
<string name="services_os_nav_keys_label"><b>Bruk navigasjonstaster på skjermen </b> istedenfor hardware knapper.</string>
<string name="services_use_secure_sms">Bruk sikker SMS</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> for å kryptere SMS samtaler med andre som også bruker sikker SMS på en <xliff:g id="name" example="CyanogenMod">%s</xliff:g> enhet.</string>

View File

@@ -24,7 +24,7 @@
<string name="loading">Even geduld\u2026</string>
<string name="setup_complete">Instellen voltooid</string>
<string name="setup_welcome">Welkom</string>
<string name="setup_wifi">Selecteer Wi-Fi</string>
<string name="setup_wifi">Wifi selecteren</string>
<string name="setup_sim_missing">Simkaart ontbreekt</string>
<string name="setup_choose_data_sim">Kies een simkaart voor gegevensverbinding</string>
<string name="setup_location">Locatieservices</string>
@@ -32,11 +32,11 @@
<string name="setup_datetime">Datum &amp; tijd</string>
<string name="setup_current_date">Huidige datum</string>
<string name="setup_current_time">Huidige tijd</string>
<string name="sim_missing_summary" product="tablet">Geen simkaart gedetecteerd in uw tablet. Om een simkaart te plaatsen, lees de instructies die bij uw tablet is geleverd.</string>
<string name="sim_missing_summary" product="default">Geen simkaart gedetecteerd in uw telefoon. Om een simkaart te plaatsen, lees de instructies die bij uw telefoon is geleverd.</string>
<string name="sim_missing_summary" product="tablet">Geen simkaart gedetecteerd in uw tablet. Om een simkaart te plaatsen, lees de instructie die bij uw tablet is geleverd.</string>
<string name="sim_missing_summary" product="default">Geen simkaart gedetecteerd in uw telefoon. Om een simkaart te plaatsen, lees de instructie die bij uw telefoon is geleverd.</string>
<string name="choose_data_sim_summary" product="tablet">Welke simkaart wilt u gebruiken voor mobiel internet? Voor deze simkaart kunnen extra kosten in rekening gebracht worden, omdat deze gebruikt wordt om uw tablet in te stellen.</string>
<string name="choose_data_sim_summary" product="default">Welke simkaart wilt u gebruiken voor mobiel internet? Voor deze simkaart kunnen extra kosten in rekening gebracht worden, omdat deze gebruikt wordt om uw telefoon in te stellen.</string>
<string name="date_time_summary">Selecteer uw tijdzone en pas de huidige datum en tijd aan indien nodig.</string>
<string name="date_time_summary">Selecteer uw tijdzone en pas indien nodig de huidige datum en tijd aan.</string>
<string name="backup_data_summary"><b>Back-up maken</b> van app-gegevens, wifi-wachtwoorden en andere instellingen naar de servers van Google</string>
<string name="other_services_summary">Deze diensten laten Google het werk doen en kunnen op elk moment in- of uitgeschakeld worden. De gegevens worden gebruikt conform de <xliff:g id="name" example="Privacy Policy">%s</xliff:g> van Google.</string>
<string name="location_services_summary">Locatieservices stellen systeemapps en apps van derde partijen in staat gegevens zoals uw geschatte locatie te verzamelen en te gebruiken. Zo kan een app uw locatie gebruiken om winkels in de buurt te vinden.</string>
@@ -54,9 +54,14 @@
<string name="yes">Ja</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Noodoproep</string>
<string name="setup_services">Cyanogen-functies</string>
<string name="services_explanation" product="tablet">Deze diensten worden gebruikt om de mogelijkheden van uw tablet uit te breiden. Gegevens worden gebruikt conform de \'<xliff:g id="name" example="Privacy Policy">%s</xliff:g>\' van Cyanogen.</string>
<string name="services_explanation" product="default">Deze diensten worden gebruikt om de mogelijkheden van uw telefoon uit te breiden. Gegevens worden gebruikt conform de \'<xliff:g id="name" example="Privacy Policy">%s</xliff:g>\' van Cyanogen.</string>
<string name="services_privacy_policy">Privacybeleid</string>
<string name="services_help_improve_cm">Help mee met het verbeteren van <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> door automatisch diagnose- en verbruiksgegevens te verzenden naar Cyanogen. Deze informatie kan niet gebruikt worden om u te identificeren en helpt de teams om te werken aan zaken zoals levensduur van de accu, app-prestaties en nieuwe <xliff:g id="name" example="CyanogenMod">%s</xliff:g>-functies.</string>
<string name="services_apply_theme">Thema <xliff:g id="name" example="Material">%s</xliff:g> toepassen</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> voor unieke pictogrammen, achtergronden en lettertypen.</string>
<string name="services_os_nav_keys_label"><b>On-screen navigatieknoppen</b> gebruiken in plaats van de hardwareknoppen.</string>
<string name="services_use_secure_sms">Beveiligde sms-berichten gebruiken</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> om sms-gesprekken te versleutelen met anderen die ook beveiligde sms-berichten gebruiken op een <xliff:g id="name" example="CyanogenMod">%s</xliff:g>-apparaat.</string>

View File

@@ -54,9 +54,14 @@
<string name="yes">Tak</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Połączenie alarmowe</string>
<string name="setup_services">Funkcje Cyanogen</string>
<string name="services_explanation" product="tablet">Te usługi są uruchomione w celu rozszerzenia możliwości twojego tabletu. Dane będą używane zgodnie z Cyanogen <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_explanation" product="default">Te usługi są uruchomione w celu rozszerzenia możliwości twojego telefonu. Dane będą używane zgodnie z Cyanogen <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_privacy_policy">Polityka Prywatności</string>
<string name="services_help_improve_cm">Pomóż ulepszać <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> automatycznie wysyłając dane diagnostyczne do Cyanogen. Te informacje nie będą mogły zostać użyte do identyfikacji i stanowią pomoc dla zespołów pracujących nad, między innymi, czasem pracy na baterii, wydajnością aplikacji oraz nowymi funkcjami <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>
<string name="services_apply_theme">Zastosuj motyw <xliff:g id="name" example="Material">%s</xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> zawiera unikalne ikony, tapety oraz czcionki.</string>
<string name="services_os_nav_keys_label"><b>Użyj ekranowych przycisków nawigacyjnych</b> zamiast klawiszy sprzętowych.</string>
<string name="services_use_secure_sms">Używaj bezpiecznych wiadomości SMS</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g>, aby prowadzić szyfrowane konwersacje z innymi użytkownikami używając bezpiecznych SMS na urządzeniach z <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>

View File

@@ -54,9 +54,14 @@
<string name="yes">Sim</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Chamada de emergência</string>
<string name="setup_services">Recursos do Cyanogen</string>
<string name="services_explanation" product="tablet">Estes serviços trabalham para estender os recursos do seu tablet. Dados serão utilizados em conformidade com a <xliff:g id="name" example="Privacy Policy">%s</xliff:g> do Cyanogen.</string>
<string name="services_explanation" product="default">Estes serviços trabalham para estender os recursos do seu telefone. Dados serão utilizados em conformidade com o <xliff:g id="name" example="Privacy Policy">%s</xliff:g> do Cyanogen.</string>
<string name="services_privacy_policy">Política de Privacidade</string>
<string name="services_help_improve_cm">Ajudar a melhorar a <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> enviando automaticamente relatórios de uso de dados e diagnósticos para a Cyanogen. Esta informação não será usada para lhe identificar, e ajudam as equipes responsáveis pela duração de bateria, desempenho dos aplicativos, e novas funcionalidades do <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>
<string name="services_apply_theme">Aplicar o tema <xliff:g id="name" example="Material">%s</xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> ativando fontes, papéis de parede e ícones exclusivos.</string>
<string name="services_os_nav_keys_label"><b>Use as teclas de navegação na tela</b> em vez de botões físicos.</string>
<string name="services_use_secure_sms">Usar SMS seguro</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> para criptografar conversas SMS com outros usuários que usam o SMS seguro em um dispositivo <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>

View File

@@ -37,7 +37,7 @@
<string name="choose_data_sim_summary" product="tablet">Qual o cartão SIM que quer usar para os dados? O SIM selecionado pode incorrer em custos de rede adicionais, pois será usado para configurar o seu tablet.</string>
<string name="choose_data_sim_summary" product="default">Qual o cartão SIM que quer usar para os dados? O SIM selecionado pode incorrer em custos de rede adicionais, pois será usado para configurar o seu telefone.</string>
<string name="date_time_summary">Defina o fuso horário e ajuste a hora e a data atual, se necessário</string>
<string name="backup_data_summary">Efetuar uma <b>cópia de segurança</b> dos dados das aplicações, senhas de acesso de redes sem fios e outras definições para os servidores da Google</string>
<string name="backup_data_summary">Efetuar uma <b>cópia de segurança</b> dos dados das aplicações, palavras-passe de acesso de redes sem fios e outras definições para os servidores da Google</string>
<string name="other_services_summary">Estes serviços colocam o Google a trabalhar para si, e pode ligá-los ou desligá-los a qualquer momento. Os dados serão utilizados em conformidade com a <xliff:g id="name" example="Privacy Policy">%s</xliff:g> do Google.</string>
<string name="location_services_summary">Os serviços de localização permitem às aplicações de sistema e de terceiros reunir e utilizar dados tais como a sua localização aproximada. Por exemplo, uma aplicação pode usar a sua localização aproximada para localizar cafés ou bares nas proximidades.</string>
<string name="location_access_summary"><b>Permitir às aplicações que pediram a sua permissão</b> para usar as suas informações de localização. Isso pode incluir a sua localização atual bem como localizações anteriores.</string>
@@ -54,9 +54,14 @@
<string name="yes">Sim</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Chamadas de emergência</string>
<string name="setup_services">Recursos Cyanogen</string>
<string name="services_explanation" product="tablet">Estes serviços servem para ampliar os recursos do seu tablet. Os dados serão utilizados em conformidade com a <xliff:g id="name" example="Privacy Policy">%s</xliff:g> da Cyanogen.</string>
<string name="services_explanation" product="default">Estes serviços servem para ampliar os recursos do seu telefone. Os dados serão utilizados em conformidade com a <xliff:g id="name" example="Privacy Policy">%s</xliff:g> da Cyanogen.</string>
<string name="services_privacy_policy">Política de privacidade</string>
<string name="services_help_improve_cm">Ajude a melhorar a <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> enviando automaticamente dados de diagnóstico e utilização para a Cyanogen. Esta informação não pode ser usada para o identificar mas ajudam as equipas de desenvolvimento a melhorar a duração da bateria, desempenho das aplicações e desenvolver novos recursos da <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_apply_theme">Aplicar o tema <xliff:g id="name" example="Material">%s</xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> ativando ícones , imagens de fundo e tipos de letra únicos.</string>
<string name="services_os_nav_keys_label"><b>Usar os botões de navegação no ecrã</b>, em vez dos botões do dispositivo.</string>
<string name="services_use_secure_sms">Usar SMS seguras</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> para encriptar conversações SMS com outros utilizadores que também utilizem este serviço num dispositivo com a <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>

View File

@@ -17,13 +17,20 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Expert de instalare</string>
<string name="skip">Omite</string>
<string name="start">Pornire</string>
<string name="ok">OK</string>
<string name="loading">Doar o secundă\u2026</string>
<string name="setup_complete">Configurarea este completă</string>
<string name="setup_welcome">Bine ați venit</string>
<string name="setup_wifi">Selectaţi Wi-Fi</string>
<string name="setup_sim_missing">Lipsă card SIM</string>
<string name="setup_location">Servicii de localizare</string>
<string name="setup_other">Alte servicii</string>
<string name="setup_datetime">Dată &amp; oră</string>
<string name="setup_current_date">Data curentă</string>
<string name="setup_current_time">Ora curentă</string>
<string name="setup_mobile_data">Porniți datele mobile</string>
<string name="setup_mobile_data_emergency_only">Numai apeluri de urgenţă</string>
<string name="no">Nu</string>
<string name="yes">Da</string>

View File

@@ -54,9 +54,14 @@
<string name="yes">Да</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g><xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Экстренный вызов</string>
<string name="setup_services">Службы Cyanogen</string>
<string name="services_explanation" product="tablet">Эти службы расширяют возможности вашего планшета. Данные будут использоваться в соответствии с <xliff:g id="name" example="Privacy Policy">%s</xliff:g> Cyanogen.</string>
<string name="services_explanation" product="default">Эти службы расширяют возможности вашего телефона. Данные будут использоваться в соответствии с <xliff:g id="name" example="Privacy Policy">%s</xliff:g> Cyanogen.</string>
<string name="services_privacy_policy">политикой конфиденциальности</string>
<string name="services_help_improve_cm">Помочь улучшить <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> автоматической отправкой диагностических и данных об использовании в Cyanogen. Эта информация не может быть использована для идентификации вашей личности и и поможет командам, работающим над оптимизацией расхода батареи, улучшением производительности и новыми функциями в <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>
<string name="services_apply_theme">Применить тему «<xliff:g id="name" example="Material">%s</xliff:g>»</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> и использовать её значки, обои и шрифты.</string>
<string name="services_os_nav_keys_label"><b>Использовать наэкранные навигационные кнопки</b> вместо аппаратных.</string>
<string name="services_use_secure_sms">Использовать безопасные SMS</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> для шифрования SMS с другими пользователями, использующими безопасные SMS на устройстве <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>

View File

@@ -54,9 +54,14 @@
<string name="yes">Áno</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Tiesňový hovor</string>
<string name="setup_services">Funkcie Cyanogen</string>
<string name="services_explanation" product="tablet">Tieto služby sú určené pre vás a rozširujú možnosti vášho tabletu. Údaje sa použijú v súlade s Cyanogen <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_explanation" product="default">Tieto služby sú určené pre vás a rozširujú možnosti vášho telefónu. Údaje sa použijú v súlade s Cyanogen <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_privacy_policy">Ochrana osobných údajov</string>
<string name="services_help_improve_cm">Pomôcť vylepšovať <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> automatickým zasielaním diagnostických údajov a údajov o používaní do Cyanogenu. Tieto informácie sa nepoužijú na vašu identifikáciu, ale pomôžu tímom pracujúcim na výdrži, výkone aplikácií a nových funkciách <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>
<string name="services_apply_theme">Použiť tému <xliff:g id="name" example="Material">%s</xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> umožňuje používanie unikátnych ikon, tapiet a písiem.</string>
<string name="services_os_nav_keys_label"><b>Používajte navigačné tlačidlá na obrazovke</b> namiesto hardvérových tlačidiel.</string>
<string name="services_use_secure_sms">Používajte zabezpečené SMS</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> pre šifrovanie SMS konverzácií s ostatnými používateľmi prostredníctvom zabezpečených SMS na zariadení s <xliff:g id="name" example="CyanogenMod">%s</xliff:g>.</string>

View File

@@ -54,9 +54,14 @@
<string name="yes">Да</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Хитан позив</string>
<string name="setup_services">Cyanogen карактеристике</string>
<string name="services_explanation" product="tablet">Ови сервиси раде за тебе да повећају могућности твог таблета. Подаци ће бити коришћени у сагласности са Cyanogen-овим <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_explanation" product="default">Ови сервиси раде за тебе да повећају могућности твог телефона. Подаци ће бити коришћени у сагласности са Cyanogen-овим <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
<string name="services_privacy_policy">Политика приватности</string>
<string name="services_help_improve_cm">Помозите да побољшамо <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> аутоматским слањем дијагностике и коришћењу података у Cyanogen. Ове информације се неће користити за вашу идентификацију и далазе у руку да тимова који раде на стварима као што су трајање батерије, перформансе апликација, и новим <xliff:g id="name" example="CyanogenMod">%s</xliff:g> карактеристикама.</string>
<string name="services_apply_theme">Примени <xliff:g id="name" example="Material">%s</xliff:g> тему</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> омогућава јединствене иконе, тапете и фонтове.</string>
<string name="services_os_nav_keys_label"><b>Користите навигационе тастере на екрану</b> уместо хардверских тастера.</string>
<string name="services_use_secure_sms">Користи безбедан SMS</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%s</xliff:g> да заштитиш SMS преписку са другим корисницима користећи безбедан SMS на <xliff:g id="name" example="CyanogenMod">%s</xliff:g> уређају.</string>

View File

@@ -16,12 +16,23 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Installationsguide</string>
<string name="next">Nästa</string>
<string name="skip">Hoppa över</string>
<string name="start">Start</string>
<string name="ok">OK</string>
<string name="setup_welcome">Välkommen</string>
<string name="setup_wifi">Välj Wi-Fi</string>
<string name="setup_sim_missing">SIM-kort saknas</string>
<string name="setup_location">Platstjänster</string>
<string name="setup_other">Andra tjänster</string>
<string name="setup_datetime">Datum &amp; tid</string>
<string name="setup_current_date">Aktuellt datum</string>
<string name="setup_current_time">Aktuell tid</string>
<string name="setup_mobile_data_no_service">Ingen service</string>
<string name="setup_mobile_data_emergency_only">Endast nödsamtal</string>
<string name="no">Nej</string>
<string name="yes">Ja</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Nödsamtal</string>
</resources>

View File

@@ -54,9 +54,14 @@
<string name="yes">Evet</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Acil durum çağrısı</string>
<string name="setup_services">Cyanogen özellikleri</string>
<string name="services_explanation" product="tablet">Bu hizmetler tabletinizin yeteneklerini arttırır. Veriler Cyanogen\'in <xliff:g id="name" example="Privacy Policy">%s</xliff:g> ilkelerine uygun olarak kullanılacaktır.</string>
<string name="services_explanation" product="default">Bu hizmetler telefonunuzun yeteneklerini arttırır. Veriler Cyanogen\'in <xliff:g id="name" example="Privacy Policy">%s</xliff:g> ilkelerine uygun olarak kullanılacaktır.</string>
<string name="services_privacy_policy">Gizlilik Politikası</string>
<string name="services_help_improve_cm"><xliff:g id="name" example="CyanogenMod">%s</xliff:g> gelişimine yardım edin</string>
<string name="services_metrics_label">Tanılama ve kullanım verilerini Cyanogen\'e göndererek <xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g>. Bu bilgiler kimliğinizi ifşah edecek şekilde kullanılmaz ancak pil ömrü, uyg. performansı, ve yeni <xliff:g id="name" example="CyanogenMod">%s</xliff:g> özellikleri gibi konularda takımımızın çalışmalarında kullanılır.</string>
<string name="services_apply_theme"><xliff:g id="name" example="Material">%s</xliff:g> temasını uygula</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g>nırken eşsiz simgeler, duvar kağıtları ve yazı tipleri etkinleştiriliyor.</string>
<string name="services_os_nav_keys_label"><b>Donanımsal tuşlar yerine ekran üstü dolaşım tuşlarını kullanın.</b></string>
<string name="services_use_secure_sms">Şifreli SMS kullanın</string>
<string name="services_secure_sms_label"><xliff:g id="name" example="CyanogenMod">%s</xliff:g> cihazında diğer kullanıcılarla olan sohbetlerinizi şifrelemek için <xliff:g id="name" example="Use secure SMS">%s</xliff:g>.</string>

View File

@@ -54,9 +54,14 @@
<string name="yes">Так</string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">Екстрений виклик</string>
<string name="setup_services">Особливості Cyanogen</string>
<string name="services_explanation" product="tablet">Ці послуги створено, щоб розширити можливості Вашого пристрою. Особисті дані буде використано у відповідності до <xliff:g id="name" example="Privacy Policy">%s </xliff:g>.</string>
<string name="services_explanation" product="default">Ці послуги створено, щоб розширити можливості Вашого пристрою. Особисті дані буде використано у відповідності до <xliff:g id="name" example="Privacy Policy">%s </xliff:g>.</string>
<string name="services_privacy_policy">Політика Конфіденційності</string>
<string name="services_help_improve_cm">Допомогти поліпшити <xliff:g id="name" example="CyanogenMod">%s </xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> автоматично надсилаючи дані, щодо використання та диагностики у Cyanogen. Ця інформація не може бути використована для ідентифікації користувача, але дуже допоможе розробникам, що працюють над такими речами, як: час праці батареї, продуктивність додатків і нові функції <xliff:g id="name" example="CyanogenMod"> %s </xliff:g>.</string>
<string name="services_apply_theme">Застосувати тему <xliff:g id="name" example="Material">%s </xliff:g></string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s </xliff:g> дає можливість використовувати унікальні іконки, шпалери і шрифти.</string>
<string name="services_os_nav_keys_label"><b>Використовувати навігаційні кнопки на екрані
</b> замість апаратних.</string>
<string name="services_use_secure_sms">Використовувати безпечні SMS</string>

View File

@@ -54,9 +54,14 @@
<string name="yes"></string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">紧急电话</string>
<string name="setup_services">Cyanogen 功能</string>
<string name="services_explanation" product="tablet">这些服务用于扩展您的平板电脑的功能。数据将根据 Cyanogen 的 <xliff:g id="name" example="Privacy Policy">%s</xliff:g> 使用。</string>
<string name="services_explanation" product="default">这些服务用于扩展您的手机的功能。数据将根据 Cyanogen 的 <xliff:g id="name" example="Privacy Policy">%s</xliff:g> 使用。</string>
<string name="services_privacy_policy">隐私政策</string>
<string name="services_help_improve_cm">帮助完善 <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> 通过自动发送诊断和使用数据给 Cyanogen。这些信息不会被用于识别您的身份而是用于帮助团队致力于诸如电池寿命、应用性能和新 <xliff:g id="name" example="CyanogenMod">%s</xliff:g> 功能。</string>
<string name="services_apply_theme">应用 <xliff:g id="name" example="Material">%s</xliff:g> 主题</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> 启用独特的图标、 壁纸和字体。</string>
<string name="services_os_nav_keys_label"><b>使用虚拟导航键</b>替代实体按键。</string>
<string name="services_use_secure_sms">使用安全短信</string>
<string name="services_secure_sms_label">在您的 <xliff:g id="name" example="CyanogenMod">%s</xliff:g> 设备上<xliff:g id="name" example="Use secure SMS">%s</xliff:g>来加密您与其他用户的短信会话。</string>

View File

@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<!--
Copyright (C) 2013-2015 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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">設定精靈</string>
<string name="next">下一步</string>
<string name="skip">略過</string>
<string name="start">開始</string>
<string name="ok">確定</string>
<string name="loading">請稍候\u2026</string>
<string name="setup_complete">設定已完成</string>
<string name="setup_welcome">歡迎</string>
<string name="setup_wifi">選取 Wi-Fi</string>
<string name="setup_sim_missing">沒有 SIM 卡</string>
<string name="setup_choose_data_sim">選取使用行動數據的 SIM 卡</string>
<string name="setup_location">定位服務</string>
<string name="setup_other">其他服務</string>
<string name="setup_datetime">日期與時間</string>
<string name="setup_current_date">目前日期</string>
<string name="setup_current_time">目前時間</string>
<string name="sim_missing_summary" product="tablet">您的平板電腦中未發現 SIM 卡。若要插入一張 SIM 卡,請查閱您的裝置附贈的說明。</string>
<string name="sim_missing_summary" product="default">您的手機中未發現 SIM 卡。若要插入一張 SIM 卡,請查閱您的裝置附贈的說明。</string>
<string name="choose_data_sim_summary" product="tablet">您想要使用哪一張 SIM 卡作為行動數據? 所選擇的 SIM 卡可能產生費用,因為它將用於設定您的平板電腦。</string>
<string name="choose_data_sim_summary" product="default">您想要使用哪一張 SIM 卡作為行動數據? 所選擇的 SIM 卡可能產生費用,因為它將用於設定您的手機。</string>
<string name="date_time_summary">如果需要的話,請調整您的時區及日期與時間</string>
<string name="backup_data_summary"><b>備份</b>應用程式資料、Wi-Fi 密碼及其他設定到 Google 伺服器</string>
<string name="other_services_summary">啟用這些服務讓 Google 來為您工作,您可以在任何時候開啟或關閉。您的資料將依照 Google 的 <xliff:g id="name" example="Privacy Policy">%s</xliff:g> 來使用。</string>
<string name="location_services_summary">位置服務允許系統和其他應用程式取得及使用您最近的位置。例如,應用程式可能是用您的位置來尋找附近的咖啡店。</string>
<string name="location_access_summary"><b>允許您許可的應用程式</b>使用您的定位資訊。可能包括您目前和過去的位置。</string>
<string name="location_gps" product="tablet">允許應用程式在您的平板電腦上使用 GPS 以<b>改善定位精準度</b></string>
<string name="location_gps" product="default">允許應用程式在您的手機上使用 GPS 以<b>改善定位精準度</b></string>
<string name="location_network"><b>使用 Wi-Fi</b> 來幫助應用程式確定您所在的位置。</string>
<string name="location_network_telephony"><b>使用 Wi-Fi 和行動網路</b>來幫助應用程式確定您所在的位置。</string>
<string name="location_network_gms"><b>使用 Google 的定位服務</b>來幫助應用程式確定您所在的位置。這表示即使應用程式沒有運作,也會發送匿名的位置資料給 Google。</string>
<string name="setup_mobile_data">開啟行動數據</string>
<string name="setup_mobile_data_no_service">沒有服務</string>
<string name="setup_mobile_data_emergency_only">僅可撥打緊急電話</string>
<string name="enable_mobile_data_summary">您想在設定過程中使用行動網路嗎?使用行動網路可能會產生傳輸費用。</string>
<string name="no"></string>
<string name="yes"></string>
<string name="data_sim_name">SIM <xliff:g id="sub">%d</xliff:g> - <xliff:g id="name">%s</xliff:g></string>
<string name="emergency_call">緊急電話</string>
<string name="setup_services">Cyanogen 功能</string>
<string name="services_explanation" product="tablet">這些服務用來增強您的平板電腦的功能。資料將根據 Cyanogen 的 <xliff:g id="name" example="Privacy Policy">%s</xliff:g> 來使用。</string>
<string name="services_explanation" product="default">這些服務用來增強您的手機的功能。資料將根據 Cyanogen 的 <xliff:g id="name" example="Privacy Policy">%s</xliff:g> 來使用。</string>
<string name="services_privacy_policy">隱私權政策</string>
<string name="services_help_improve_cm">協助改善 <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
<string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%s</xliff:g> 通過自動發送診斷及使用資料給 Cyanogen。這些資料不會被用於識別您的身份而是用於幫助團隊致力於諸如電池壽命、應用程式性能和增加 <xliff:g id="name" example="CyanogenMod">%s</xliff:g> 的新功能。</string>
<string name="services_apply_theme">套用 <xliff:g id="name" example="Material">%s</xliff:g> 主題</string>
<string name="services_apply_theme_label"><xliff:g id="name" example="Apply the Material theme">%s</xliff:g> 來使用獨特的圖示、 桌布和字體。</string>
<string name="services_os_nav_keys_label"><b>使用虛擬按鍵</b>替代實體按鍵。</string>
<string name="services_use_secure_sms">使用加密簡訊</string>
<string name="services_secure_sms_label">在您的 <xliff:g id="name" example="CyanogenMod">%s</xliff:g> 裝置上 <xliff:g id="name" example="Use secure SMS">%s</xliff:g> 來加密您與其他人的簡訊。</string>
</resources>

View File

@@ -20,4 +20,5 @@
<!-- The type of sim image to display.
0=default sim image, 1=sim on side, 2=sim on back-->
<integer name="sim_image_type">0</integer>
<bool name="check_custom_theme_by_default">true</bool>
</resources>

View File

@@ -18,12 +18,25 @@
<style name="Theme.Setup" parent="@android:style/Theme.Material.Light">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@color/page_background</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primary</item>
<item name="android:colorAccent">@color/accent</item>
<item name="android:textColorLink">@color/accent</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowAnimationStyle">@style/ActivityAnimations</item>
</style>
<style name="ActivityAnimations" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/translucent_enter</item>
<item name="android:activityOpenExitAnimation">@anim/translucent_exit</item>
<item name="android:activityCloseEnterAnimation">@anim/translucent_enter</item>
<item name="android:activityCloseExitAnimation">@anim/translucent_exit</item>
<item name="android:taskToFrontEnterAnimation">@anim/translucent_enter</item>
<item name="android:taskToFrontExitAnimation">@anim/translucent_exit</item>
<item name="android:taskToBackEnterAnimation">@anim/translucent_enter</item>
<item name="android:taskToBackExitAnimation">@anim/translucent_exit</item>
</style>
<style name="Header">
@@ -32,6 +45,7 @@
<style name="PageContainer">
<item name="android:textColor">@color/primary_text</item>
<item name="android:background">@color/page_background</item>
</style>
<style name="PageContent">

View File

@@ -20,8 +20,12 @@ package com.cyanogenmod.setupwizard;
import android.app.Application;
import android.app.StatusBarManager;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Handler;
import android.provider.Settings;
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
public class SetupWizardApp extends Application {
public static final String TAG = SetupWizardApp.class.getSimpleName();
@@ -44,19 +48,68 @@ public class SetupWizardApp extends Application {
private static final String KEY_DETECT_CAPTIVE_PORTAL = "captive_portal_detection_enabled";
private static final String[] THEME_PACKAGES = {
"org.cyanogenmod.theme.chooser",
"com.cyngn.theme.chooser",
"com.cyngn.themestore"
};
public static final int REQUEST_CODE_SETUP_WIFI = 0;
public static final int REQUEST_CODE_SETUP_GMS= 1;
public static final int REQUEST_CODE_RESTORE_GMS= 2;
public static final int REQUEST_CODE_SETUP_CYANOGEN= 3;
public static final int REQUEST_CODE_SETUP_CAPTIVE_PORTAL= 4;
public static final int RADIO_READY_TIMEOUT = 10 * 1000;
private boolean mIsRadioReady = false;
private StatusBarManager mStatusBarManager;
private final Handler mHandler = new Handler();
private final Runnable mRadioTimeoutRunnable = new Runnable() {
@Override
public void run() {
mIsRadioReady = true;
}
};
@Override
public void onCreate() {
super.onCreate();
disableCaptivePortalDetection();
mStatusBarManager = (StatusBarManager)getSystemService(Context.STATUS_BAR_SERVICE);
try {
// Since this is a new component, we need to disable here if the user
// has already been through setup on a previous version.
final boolean isOwner = SetupWizardUtils.isOwner();
if (!isOwner
|| Settings.Secure.getInt(getContentResolver(),
Settings.Secure.USER_SETUP_COMPLETE) == 1) {
SetupWizardUtils.disableGMSSetupWizard(this);
SetupWizardUtils.disableSetupWizard(this);
if (!isOwner) {
disableThemeComponentsForSecondaryUser();
}
} else {
disableCaptivePortalDetection();
}
} catch (Settings.SettingNotFoundException e) {
// Continue with setup
disableCaptivePortalDetection();
}
mHandler.postDelayed(mRadioTimeoutRunnable, SetupWizardApp.RADIO_READY_TIMEOUT);
}
public boolean isRadioReady() {
return mIsRadioReady;
}
public void setRadioReady(boolean radioReady) {
if (!mIsRadioReady && radioReady) {
mHandler.removeCallbacks(mRadioTimeoutRunnable);
}
mIsRadioReady = radioReady;
}
public void disableStatusBar() {
@@ -76,4 +129,17 @@ public class SetupWizardApp extends Application {
public void enableCaptivePortalDetection() {
Settings.Global.putInt(getContentResolver(), KEY_DETECT_CAPTIVE_PORTAL, 1);
}
private void disableThemeComponentsForSecondaryUser() {
PackageManager pm = getPackageManager();
for(String pkgName : THEME_PACKAGES) {
try {
pm.getApplicationInfo(pkgName, 0);
pm.setApplicationEnabledSetting(pkgName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER, 0);
} catch (PackageManager.NameNotFoundException e) {
// don't care
}
}
}
}

View File

@@ -20,13 +20,15 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.telephony.SubInfoRecord;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import com.android.internal.telephony.TelephonyIntents;
import com.cyanogenmod.setupwizard.ui.SetupWizardActivity;
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
import java.util.ArrayList;
import java.util.List;
public class CMSetupWizardData extends AbstractSetupData {
@@ -45,10 +47,12 @@ public class CMSetupWizardData extends AbstractSetupData {
pages.add(new WelcomePage(mContext, this));
pages.add(new WifiSetupPage(mContext, this));
if (SetupWizardUtils.hasTelephony(mContext)) {
pages.add(new SimCardMissingPage(mContext, this).setHidden(isSimInserted()));
pages.add(new SimCardMissingPage(mContext, this)
.setHidden(isSimInserted()));
}
if (SetupWizardUtils.isMultiSimDevice(mContext) && SetupWizardUtils.isOwner()) {
pages.add(new ChooseDataSimPage(mContext, this).setHidden(!allSimsInserted()));
if (SetupWizardUtils.isMultiSimDevice(mContext)) {
pages.add(new ChooseDataSimPage(mContext, this)
.setHidden(!allSimsInserted()));
}
if (SetupWizardUtils.hasTelephony(mContext)) {
pages.add(new MobileDataPage(mContext, this)
@@ -57,12 +61,10 @@ public class CMSetupWizardData extends AbstractSetupData {
if (SetupWizardUtils.hasGMS(mContext)) {
pages.add(new GmsAccountPage(mContext, this).setHidden(true));
}
if (SetupWizardUtils.isOwner()) {
pages.add(new CyanogenServicesPage(mContext, this).setHidden(true));
pages.add(new CyanogenSettingsPage(mContext, this));
pages.add(new OtherSettingsPage(mContext, this));
pages.add(new DateTimePage(mContext, this));
}
pages.add(new CyanogenServicesPage(mContext, this).setHidden(true));
pages.add(new CyanogenSettingsPage(mContext, this));
pages.add(new OtherSettingsPage(mContext, this));
pages.add(new DateTimePage(mContext, this));
pages.add(new FinishPage(mContext, this));
return new PageList(pages.toArray(new SetupPage[pages.size()]));
}
@@ -71,22 +73,13 @@ public class CMSetupWizardData extends AbstractSetupData {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED)) {
ChooseDataSimPage chooseDataSimPage =
(ChooseDataSimPage) getPage(ChooseDataSimPage.TAG);
if (chooseDataSimPage != null) {
chooseDataSimPage.setHidden(!allSimsInserted());
}
SimCardMissingPage simCardMissingPage =
(SimCardMissingPage) getPage(SimCardMissingPage.TAG);
if (simCardMissingPage != null) {
simCardMissingPage.setHidden(isSimInserted());
if (isCurrentPage(simCardMissingPage)) {
onNextPage();
}
}
showHideDataSimPage();
showHideSimMissingPage();
showHideMobileDataPage();
} else if (intent.getAction()
.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
.equals(ConnectivityManager.CONNECTIVITY_ACTION) ||
intent.getAction()
.equals(ConnectivityManager.CONNECTIVITY_ACTION_IMMEDIATE)) {
showHideAccountPages();
} else if (intent.getAction()
.equals(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED)) {
@@ -117,12 +110,30 @@ public class CMSetupWizardData extends AbstractSetupData {
}
}
private void showHideSimMissingPage() {
SimCardMissingPage simCardMissingPage =
(SimCardMissingPage) getPage(SimCardMissingPage.TAG);
if (simCardMissingPage != null && isSimInserted()) {
simCardMissingPage.setHidden(true);
if (isCurrentPage(simCardMissingPage)) {
onNextPage();
}
}
}
private void showHideDataSimPage() {
ChooseDataSimPage chooseDataSimPage =
(ChooseDataSimPage) getPage(ChooseDataSimPage.TAG);
if (chooseDataSimPage != null) {
chooseDataSimPage.setHidden(!allSimsInserted());
}
}
private void showHideMobileDataPage() {
MobileDataPage mobileDataPage =
(MobileDataPage) getPage(MobileDataPage.TAG);
if (mobileDataPage != null) {
mobileDataPage.setHidden(!isSimInserted() ||
SetupWizardUtils.isMobileDataEnabled(mContext));
mobileDataPage.setHidden(!isSimInserted());
}
}
@@ -139,6 +150,7 @@ public class CMSetupWizardData extends AbstractSetupData {
filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
filter.addAction(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED);
}
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION_IMMEDIATE);
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
filter.addAction(Intent.ACTION_TIME_CHANGED);
@@ -165,13 +177,14 @@ public class CMSetupWizardData extends AbstractSetupData {
private boolean allSimsInserted() {
TelephonyManager tm = TelephonyManager.from(mContext);
int simSlotCount = tm.getSimCount();
List<SubInfoRecord> subInfoRecords = SubscriptionManager.getActiveSubInfoList();
for (int i = 0; i < simSlotCount; i++) {
int state = tm.getSimState(i);
if (state == TelephonyManager.SIM_STATE_ABSENT) {
return false;
}
}
return true;
return simSlotCount == subInfoRecords.size();
}
}

View File

@@ -20,6 +20,7 @@ import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
@@ -31,13 +32,17 @@ import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.cyanogenmod.setupwizard.R;
import com.cyanogenmod.setupwizard.SetupWizardApp;
import com.cyanogenmod.setupwizard.cmstats.SetupStats;
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
import java.util.List;
@@ -76,16 +81,30 @@ public class ChooseDataSimPage extends SetupPage {
public static class ChooseDataSimFragment extends SetupPageFragment {
private ViewGroup mPageView;
private ProgressBar mProgressBar;
private SparseArray<TextView> mNameViews;
private SparseArray<ImageView> mSignalViews;
private SparseArray<CheckBox> mCheckBoxes;
private TelephonyManager mPhone;
private List<SubInfoRecord> mSubInfoRecords;
private SparseArray<SubInfoRecord> mSubInfoRecords;
private SparseArray<SignalStrength> mSignalStrengths;
private SparseArray<ServiceState> mServiceStates;
private SparseArray<PhoneStateListener> mPhoneStateListeners;
private boolean mIsAttached = false;
private Context mContext;
private final Handler mHandler = new Handler();
private final Runnable mRadioReadyRunnable = new Runnable() {
@Override
public void run() {
hideWaitForRadio();
}
};
private View.OnClickListener mSetDataSimClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -100,8 +119,13 @@ public class ChooseDataSimPage extends SetupPage {
@Override
protected void initializePage() {
mPageView = (ViewGroup)mRootView.findViewById(R.id.page_view);
mSubInfoRecords = SubscriptionManager.getActiveSubInfoList();
int simCount = mSubInfoRecords.size();
mProgressBar = (ProgressBar) mRootView.findViewById(R.id.progress);
List<SubInfoRecord> subInfoRecords = SubscriptionManager.getActiveSubInfoList();
int simCount = subInfoRecords.size();
mSubInfoRecords = new SparseArray<SubInfoRecord>(simCount);
for (SubInfoRecord subInfoRecord : subInfoRecords) {
mSubInfoRecords.put(subInfoRecord.slotId, subInfoRecord);
}
mNameViews = new SparseArray<TextView>(simCount);
mSignalViews = new SparseArray<ImageView>(simCount);
mCheckBoxes = new SparseArray<CheckBox>(simCount);
@@ -112,21 +136,19 @@ public class ChooseDataSimPage extends SetupPage {
for (int i = 0; i < simCount; i++) {
View simRow = inflater.inflate(R.layout.data_sim_row, null);
mPageView.addView(simRow);
SubInfoRecord subInfoRecord = mSubInfoRecords.get(i);
SubInfoRecord subInfoRecord = mSubInfoRecords.valueAt(i);
simRow.setTag(subInfoRecord);
simRow.setOnClickListener(mSetDataSimClickListener);
mNameViews.put(i, (TextView) simRow.findViewById(R.id.sim_title));
mSignalViews.put(i, (ImageView) simRow.findViewById(R.id.signal));
mCheckBoxes.put(i, (CheckBox) simRow.findViewById(R.id.enable_check));
mPhoneStateListeners.put(i, createPhoneStateListener(subInfoRecord));
mNameViews.put(subInfoRecord.slotId,
(TextView) simRow.findViewById(R.id.sim_title));
mSignalViews.put(subInfoRecord.slotId,
(ImageView) simRow.findViewById(R.id.signal));
mCheckBoxes.put(subInfoRecord.slotId,
(CheckBox) simRow.findViewById(R.id.enable_check));
mPhoneStateListeners.put(subInfoRecord.slotId,
createPhoneStateListener(subInfoRecord));
mPageView.addView(inflater.inflate(R.layout.divider, null));
}
mPhone = (TelephonyManager)getActivity().getSystemService(Context.TELEPHONY_SERVICE);
for (int i = 0; i < mPhoneStateListeners.size(); i++) {
mPhone.listen(mPhoneStateListeners.get(i),
PhoneStateListener.LISTEN_SERVICE_STATE
| PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
}
updateSignalStrengths();
updateCurrentDataSub();
}
@@ -139,16 +161,31 @@ public class ChooseDataSimPage extends SetupPage {
@Override
public void onResume() {
super.onResume();
mIsAttached = true;
mContext = getActivity().getApplicationContext();
mPhone = (TelephonyManager)getActivity().getSystemService(Context.TELEPHONY_SERVICE);
for (int i = 0; i < mPhoneStateListeners.size(); i++) {
mPhone.listen(mPhoneStateListeners.valueAt(i),
PhoneStateListener.LISTEN_SERVICE_STATE
| PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
}
updateSignalStrengths();
updateCurrentDataSub();
if (SetupWizardUtils.isRadioReady(mContext, null)) {
hideWaitForRadio();
} else if (mTitleView != null) {
mTitleView.setText(R.string.loading);
mHandler.postDelayed(mRadioReadyRunnable, SetupWizardApp.RADIO_READY_TIMEOUT);
}
}
@Override
public void onDetach() {
public void onPause() {
super.onPause();
mIsAttached = false;
for (int i = 0; i < mPhoneStateListeners.size(); i++) {
mPhone.listen(mPhoneStateListeners.get(i), PhoneStateListener.LISTEN_NONE);
mPhone.listen(mPhoneStateListeners.valueAt(i), PhoneStateListener.LISTEN_NONE);
}
super.onDetach();
}
private PhoneStateListener createPhoneStateListener(final SubInfoRecord subInfoRecord) {
@@ -156,98 +193,119 @@ public class ChooseDataSimPage extends SetupPage {
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
if (isDetached()) return;
mSignalStrengths.put(subInfoRecord.slotId, signalStrength);
updateSignalStrength(subInfoRecord);
mSignalStrengths.put(subInfoRecord.slotId, signalStrength);
updateSignalStrength(subInfoRecord);
}
@Override
public void onServiceStateChanged(ServiceState state) {
if (isDetached()) return;
if (SetupWizardUtils.isRadioReady(mContext, state)) {
hideWaitForRadio();
}
mServiceStates.put(subInfoRecord.slotId, state);
updateSignalStrength(subInfoRecord);
}
};
}
private void hideWaitForRadio() {
if (getUserVisibleHint() && mProgressBar.isShown()) {
mHandler.removeCallbacks(mRadioReadyRunnable);
if (mTitleView != null) {
mTitleView.setText(mPage.getTitleResId());
}
mProgressBar.setVisibility(View.GONE);
mPageView.setVisibility(View.VISIBLE);
mPageView.startAnimation(
AnimationUtils.loadAnimation(getActivity(), R.anim.translucent_enter));
}
}
private void updateSignalStrengths() {
if (isDetached()) return;
for (int i = 0; i < mSubInfoRecords.size(); i++) {
updateSignalStrength(mSubInfoRecords.get(i));
if (mIsAttached) {
for (int i = 0; i < mSubInfoRecords.size(); i++) {
updateSignalStrength(mSubInfoRecords.valueAt(i));
}
}
}
private void setDataSubChecked(SubInfoRecord subInfoRecord) {
if (isDetached()) return;
for (int i = 0; i < mCheckBoxes.size(); i++) {
if (subInfoRecord.slotId == i) {
mCheckBoxes.get(i).setChecked(true);
SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
SetupStats.Action.PREFERRED_DATA_SIM,
SetupStats.Label.SLOT, String.valueOf(i + 1));
} else {
mCheckBoxes.get(i).setChecked(false);
}
if (mIsAttached) {
for (int i = 0; i < mCheckBoxes.size(); i++) {
if (subInfoRecord.slotId == i) {
mCheckBoxes.get(subInfoRecord.slotId).setChecked(true);
SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
SetupStats.Action.PREFERRED_DATA_SIM,
SetupStats.Label.SLOT, String.valueOf(subInfoRecord.slotId + 1));
} else {
mCheckBoxes.get(i).setChecked(false);
}
}
}
}
private void updateCurrentDataSub() {
if (isDetached()) return;
for (int i = 0; i < mSubInfoRecords.size(); i++) {
SubInfoRecord subInfoRecord = mSubInfoRecords.get(i);
mCheckBoxes.get(i).setChecked(SubscriptionManager.getDefaultDataSubId()
== subInfoRecord.subId);
if (mIsAttached) {
for (int i = 0; i < mSubInfoRecords.size(); i++) {
SubInfoRecord subInfoRecord = mSubInfoRecords.valueAt(i);
final long defaultDataSubId = SubscriptionManager.getDefaultDataSubId();
mCheckBoxes.get(subInfoRecord.slotId)
.setChecked(defaultDataSubId == subInfoRecord.subId);
}
}
}
private void updateCarrierText(SubInfoRecord subInfoRecord) {
if (isDetached()) return;
String name = mPhone.getNetworkOperatorName(subInfoRecord.subId);
ServiceState serviceState = mServiceStates.get(subInfoRecord.slotId);
if (TextUtils.isEmpty(name)) {
if (serviceState != null && serviceState.isEmergencyOnly()) {
name = getString(R.string.setup_mobile_data_emergency_only);
} else {
name = getString(R.string.setup_mobile_data_no_service);
if (mIsAttached) {
String name = mPhone.getNetworkOperatorName(subInfoRecord.subId);
ServiceState serviceState = mServiceStates.get(subInfoRecord.slotId);
if (TextUtils.isEmpty(name)) {
if (serviceState != null && serviceState.isEmergencyOnly()) {
name = getString(R.string.setup_mobile_data_emergency_only);
} else {
name = getString(R.string.setup_mobile_data_no_service);
}
}
String formattedName =
getString(R.string.data_sim_name, subInfoRecord.slotId + 1, name);
mNameViews.get(subInfoRecord.slotId).setText(formattedName);
}
String formattedName =
getString(R.string.data_sim_name, subInfoRecord.slotId + 1, name);
mNameViews.get(subInfoRecord.slotId).setText(formattedName);
}
private void updateSignalStrength(SubInfoRecord subInfoRecord) {
if (isDetached()) return;
ImageView signalView = mSignalViews.get(subInfoRecord.slotId);
SignalStrength signalStrength = mSignalStrengths.get(subInfoRecord.slotId);
if (!hasService(subInfoRecord)) {
signalView.setImageResource(R.drawable.ic_signal_no_signal);
} else {
if (signalStrength != null) {
int resId;
switch (signalStrength.getLevel()) {
case 4:
resId = R.drawable.ic_signal_4;
break;
case 3:
resId = R.drawable.ic_signal_3;
break;
case 2:
resId = R.drawable.ic_signal_2;
break;
case 1:
resId = R.drawable.ic_signal_1;
break;
default:
resId = R.drawable.ic_signal_0;
break;
if (mIsAttached) {
ImageView signalView = mSignalViews.get(subInfoRecord.slotId);
SignalStrength signalStrength = mSignalStrengths.get(subInfoRecord.slotId);
if (!hasService(subInfoRecord)) {
signalView.setImageResource(R.drawable.ic_signal_no_signal);
} else {
if (signalStrength != null) {
int resId;
switch (signalStrength.getLevel()) {
case 4:
resId = R.drawable.ic_signal_4;
break;
case 3:
resId = R.drawable.ic_signal_3;
break;
case 2:
resId = R.drawable.ic_signal_2;
break;
case 1:
resId = R.drawable.ic_signal_1;
break;
default:
resId = R.drawable.ic_signal_0;
break;
}
signalView.setImageResource(resId);
}
signalView.setImageResource(resId);
}
updateCarrierText(subInfoRecord);
}
updateCarrierText(subInfoRecord);
}
private boolean hasService(SubInfoRecord subInfoRecord) {

View File

@@ -28,6 +28,7 @@ import android.app.FragmentManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import com.cyanogenmod.setupwizard.R;
import com.cyanogenmod.setupwizard.SetupWizardApp;
@@ -83,17 +84,13 @@ public class CyanogenServicesPage extends SetupPage {
if (!SetupWizardUtils.accountExists(mContext,
mContext.getString(R.string.cm_account_type))) {
super.doLoadAction(fragmentManager, action);
launchCyanogenAccountSetup();
} else {
getCallbacks().onNextPage();
}
}
}
@Override
public void onFragmentReady() {
launchCyanogenAccountSetup();
}
@Override
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN) {
@@ -127,6 +124,7 @@ public class CyanogenServicesPage extends SetupPage {
null, new AccountManagerCallback<Bundle>() {
@Override
public void run(AccountManagerFuture<Bundle> future) {
boolean error = false;
try {
Bundle result = future.getResult();
Intent intent = result
@@ -135,24 +133,26 @@ public class CyanogenServicesPage extends SetupPage {
ActivityOptions.makeCustomAnimation(mContext,
android.R.anim.fade_in,
android.R.anim.fade_out);
if (!mFragment.isDetached()) {
SetupStats
.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
SetupStats.Label.PAGE,
SetupStats.Label.CYANOGEN_ACCOUNT);
mFragment.startActivityForResult(intent,
SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN,
options.toBundle());
} else {
if (getCallbacks().
isCurrentPage(CyanogenServicesPage.this)) {
getCallbacks().onNextPage();
}
}
SetupStats
.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
SetupStats.Label.PAGE,
SetupStats.Label.CYANOGEN_ACCOUNT);
mFragment.startActivityForResult(intent,
SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN,
options.toBundle());
} catch (OperationCanceledException e) {
error = true;
} catch (IOException e) {
error = true;
} catch (AuthenticatorException e) {
Log.e(TAG, "Error launching cm account", e);
error = true;
} finally {
if (error && getCallbacks().
isCurrentPage(CyanogenServicesPage.this)) {
getCallbacks().onNextPage();
}
}
}
}, null);

View File

@@ -20,6 +20,8 @@ import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ThemeUtils;
import android.content.res.ThemeConfig;
import android.content.res.ThemeManager;
@@ -62,7 +64,9 @@ public class CyanogenSettingsPage extends SetupPage {
public static final String KEY_APPLY_DEFAULT_THEME = "apply_default_theme";
public static final String SETTING_METRICS = "settings.cyanogen.allow_metrics";
public static final String PRIVACY_POLICY_URI = "https://cyngn.com/legal";
public static final String PRIVACY_POLICY_URI = "https://cyngn.com/oobe-legal?hideHeader=1";
private static final String WHISPERPUSH_PACKAGE = "org.whispersystems.whisperpush";
public CyanogenSettingsPage(Context context, SetupDataCallbacks callbacks) {
super(context, callbacks);
@@ -201,13 +205,21 @@ public class CyanogenSettingsPage extends SetupPage {
private static boolean hideWhisperPush(Context context) {
final int playServicesAvailable = GooglePlayServicesUtil
.isGooglePlayServicesAvailable(context);
try {
PackageInfo pi = context.getPackageManager().getPackageInfo(WHISPERPUSH_PACKAGE, 0);
if (pi == null) {
return true;
}
} catch (PackageManager.NameNotFoundException e) {
return true;
}
return playServicesAvailable != ConnectionResult.SUCCESS
|| !SetupWizardUtils.hasTelephony(context)
|| (SetupWizardUtils.hasTelephony(context) &&
SetupWizardUtils.isSimMissing(context));
}
protected static boolean hideThemeSwitch(Context context) {
private static boolean hideThemeSwitch(Context context) {
return ThemeUtils.getDefaultThemePackageName(context).equals(ThemeConfig.SYSTEM_DEFAULT);
}
@@ -222,6 +234,10 @@ public class CyanogenSettingsPage extends SetupPage {
private CheckBox mNavKeys;
private CheckBox mSecureSms;
private boolean mHideNavKeysRow = false;
private boolean mHideThemeRow = false;
private boolean mHideSmsRow = false;
private View.OnClickListener mMetricsClickListener = new View.OnClickListener() {
@Override
@@ -261,7 +277,6 @@ public class CyanogenSettingsPage extends SetupPage {
@Override
protected void initializePage() {
final Bundle myPageBundle = mPage.getData();
String privacy_policy = getString(R.string.services_privacy_policy);
String policySummary = getString(R.string.services_explanation, privacy_policy);
SpannableString ss = new SpannableString(policySummary);
@@ -292,14 +307,10 @@ public class CyanogenSettingsPage extends SetupPage {
TextView metrics = (TextView) mRootView.findViewById(R.id.enable_metrics_summary);
metrics.setText(metricsSpan);
mMetrics = (CheckBox) mRootView.findViewById(R.id.enable_metrics_checkbox);
boolean metricsChecked =
!myPageBundle.containsKey(KEY_SEND_METRICS) || myPageBundle
.getBoolean(KEY_SEND_METRICS);
mMetrics.setChecked(metricsChecked);
myPageBundle.putBoolean(KEY_SEND_METRICS, metricsChecked);
mDefaultThemeRow = mRootView.findViewById(R.id.theme);
if (hideThemeSwitch(getActivity())) {
mHideThemeRow = hideThemeSwitch(getActivity());
if (mHideThemeRow) {
mDefaultThemeRow.setVisibility(View.GONE);
} else {
mDefaultThemeRow.setOnClickListener(mDefaultThemeClickListener);
@@ -315,11 +326,6 @@ public class CyanogenSettingsPage extends SetupPage {
TextView theme = (TextView) mRootView.findViewById(R.id.enable_theme_summary);
theme.setText(themeSpan);
mDefaultTheme = (CheckBox) mRootView.findViewById(R.id.enable_theme_checkbox);
boolean themesChecked =
!myPageBundle.containsKey(KEY_APPLY_DEFAULT_THEME) || myPageBundle
.getBoolean(KEY_APPLY_DEFAULT_THEME);
mDefaultTheme.setChecked(themesChecked);
myPageBundle.putBoolean(KEY_APPLY_DEFAULT_THEME, themesChecked);
}
mNavKeysRow = mRootView.findViewById(R.id.nav_keys);
@@ -331,7 +337,8 @@ public class CyanogenSettingsPage extends SetupPage {
needsNavBar = windowManager.needsNavigationBar();
} catch (RemoteException e) {
}
if (hideKeyDisabler() || needsNavBar) {
mHideNavKeysRow = hideKeyDisabler();
if (mHideNavKeysRow || needsNavBar) {
mNavKeysRow.setVisibility(View.GONE);
} else {
boolean navKeysDisabled =
@@ -350,15 +357,11 @@ public class CyanogenSettingsPage extends SetupPage {
0, useSecureSms.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView secureSms = (TextView) mRootView.findViewById(R.id.secure_sms_summary);
secureSms.setText(secureSmsSpan);
if (hideWhisperPush(getActivity())) {
mHideSmsRow = hideWhisperPush(getActivity());
if (mHideSmsRow) {
mSecureSmsRow.setVisibility(View.GONE);
}
mSecureSms = (CheckBox) mRootView.findViewById(R.id.secure_sms_checkbox);
boolean smsChecked = myPageBundle.containsKey(KEY_REGISTER_WHISPERPUSH) ?
myPageBundle.getBoolean(KEY_REGISTER_WHISPERPUSH) :
false;
mSecureSms.setChecked(smsChecked);
myPageBundle.putBoolean(KEY_REGISTER_WHISPERPUSH, smsChecked);
}
@Override
@@ -370,15 +373,57 @@ public class CyanogenSettingsPage extends SetupPage {
public void onResume() {
super.onResume();
updateDisableNavkeysOption();
updateMetricsOption();
updateThemeOption();
updateSmsOption();
}
private void updateMetricsOption() {
final Bundle myPageBundle = mPage.getData();
boolean metricsChecked =
!myPageBundle.containsKey(KEY_SEND_METRICS) || myPageBundle
.getBoolean(KEY_SEND_METRICS);
mMetrics.setChecked(metricsChecked);
myPageBundle.putBoolean(KEY_SEND_METRICS, metricsChecked);
}
private void updateThemeOption() {
if (!mHideThemeRow) {
final Bundle myPageBundle = mPage.getData();
boolean themesChecked;
if (myPageBundle.containsKey(KEY_APPLY_DEFAULT_THEME)) {
themesChecked = myPageBundle.getBoolean(KEY_APPLY_DEFAULT_THEME);
} else {
themesChecked = getActivity().getResources().getBoolean(
R.bool.check_custom_theme_by_default);
}
mDefaultTheme.setChecked(themesChecked);
myPageBundle.putBoolean(KEY_APPLY_DEFAULT_THEME, themesChecked);
}
}
private void updateSmsOption() {
if (!mHideSmsRow) {
final Bundle myPageBundle = mPage.getData();
boolean smsChecked = myPageBundle.containsKey(KEY_REGISTER_WHISPERPUSH) ?
myPageBundle.getBoolean(KEY_REGISTER_WHISPERPUSH) :
false;
mSecureSms.setChecked(smsChecked);
myPageBundle.putBoolean(KEY_REGISTER_WHISPERPUSH, smsChecked);
}
}
private void updateDisableNavkeysOption() {
boolean enabled = Settings.Secure.getInt(getActivity().getContentResolver(),
Settings.Secure.DEV_FORCE_SHOW_NAVBAR, 0) != 0;
boolean checked = mPage.getData().containsKey(KEY_ENABLE_NAV_KEYS) ?
mPage.getData().getBoolean(KEY_ENABLE_NAV_KEYS) :
enabled;
mNavKeys.setChecked(checked);
if (!mHideNavKeysRow) {
final Bundle myPageBundle = mPage.getData();
boolean enabled = Settings.Secure.getInt(getActivity().getContentResolver(),
Settings.Secure.DEV_FORCE_SHOW_NAVBAR, 0) != 0;
boolean checked = myPageBundle.containsKey(KEY_ENABLE_NAV_KEYS) ?
myPageBundle.getBoolean(KEY_ENABLE_NAV_KEYS) :
enabled;
mNavKeys.setChecked(checked);
myPageBundle.putBoolean(KEY_ENABLE_NAV_KEYS, checked);
}
}
}

View File

@@ -114,14 +114,10 @@ public class GmsAccountPage extends SetupPage {
getCallbacks().onPreviousPage();
} else {
super.doLoadAction(fragmentManager, action);
launchGmsAccountSetup();
}
}
@Override
public void onFragmentReady() {
launchGmsAccountSetup();
}
@Override
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_GMS) {
@@ -217,6 +213,7 @@ public class GmsAccountPage extends SetupPage {
bundle, null, new AccountManagerCallback<Bundle>() {
@Override
public void run(AccountManagerFuture<Bundle> future) {
boolean error = false;
try {
Bundle result = future.getResult();
Intent intent = result
@@ -225,20 +222,23 @@ public class GmsAccountPage extends SetupPage {
ActivityOptions.makeCustomAnimation(mContext,
android.R.anim.fade_in,
android.R.anim.fade_out);
if (!mFragment.isDetached()) {
SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
SetupStats.Label.PAGE, SetupStats.Label.GMS_ACCOUNT);
mFragment.startActivityForResult(intent,
SetupWizardApp.REQUEST_CODE_SETUP_GMS, options.toBundle());
} else {
if (getCallbacks().isCurrentPage(GmsAccountPage.this)) {
getCallbacks().onNextPage();
}
}
SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
SetupStats.Label.PAGE, SetupStats.Label.GMS_ACCOUNT);
mFragment.startActivityForResult(intent,
SetupWizardApp.REQUEST_CODE_SETUP_GMS, options.toBundle());
} catch (OperationCanceledException e) {
error = true;
} catch (IOException e) {
error = true;
} catch (AuthenticatorException e) {
Log.e(TAG, "Error launching gms account", e);
error = true;
} finally {
if (error && getCallbacks().
isCurrentPage(GmsAccountPage.this)) {
getCallbacks().onNextPage();
}
}
}
}, null);

View File

@@ -16,11 +16,11 @@
package com.cyanogenmod.setupwizard.setup;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
@@ -28,11 +28,15 @@ import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Switch;
import android.widget.TextView;
import com.cyanogenmod.setupwizard.R;
import com.cyanogenmod.setupwizard.SetupWizardApp;
import com.cyanogenmod.setupwizard.cmstats.SetupStats;
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
@@ -70,6 +74,8 @@ public class MobileDataPage extends SetupPage {
public static class MobileDataFragment extends SetupPageFragment {
private ViewGroup mPageView;
private ProgressBar mProgressBar;
private View mEnableDataRow;
private Switch mEnableMobileData;
private ImageView mSignalView;
@@ -79,24 +85,38 @@ public class MobileDataPage extends SetupPage {
private SignalStrength mSignalStrength;
private ServiceState mServiceState;
private boolean mIsAttached = false;
private Context mContext;
private final Handler mHandler = new Handler();
private final Runnable mRadioReadyRunnable = new Runnable() {
@Override
public void run() {
hideWaitForRadio();
}
};
private PhoneStateListener mPhoneStateListener =
new PhoneStateListener(SubscriptionManager.getDefaultDataSubId()) {
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
if (isDetached()) return;
mSignalStrength = signalStrength;
updateSignalStrength();
}
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
mSignalStrength = signalStrength;
updateSignalStrength();
}
@Override
public void onServiceStateChanged(ServiceState state) {
if (isDetached()) return;
mServiceState = state;
updateSignalStrength();
}
@Override
public void onServiceStateChanged(ServiceState state) {
if (SetupWizardUtils.isRadioReady(mContext, state)) {
hideWaitForRadio();
}
mServiceState = state;
updateSignalStrength();
}
};
};
private View.OnClickListener mEnableDataClickListener = new View.OnClickListener() {
@Override
@@ -112,6 +132,8 @@ public class MobileDataPage extends SetupPage {
@Override
protected void initializePage() {
mPageView = (ViewGroup)mRootView.findViewById(R.id.page_view);
mProgressBar = (ProgressBar) mRootView.findViewById(R.id.progress);
mEnableDataRow = mRootView.findViewById(R.id.data);
mEnableDataRow.setOnClickListener(mEnableDataClickListener);
mEnableMobileData = (Switch) mRootView.findViewById(R.id.data_switch);
@@ -129,66 +151,86 @@ public class MobileDataPage extends SetupPage {
@Override
public void onResume() {
super.onResume();
updateDataConnectionStatus();
updateSignalStrength();
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mIsAttached = true;
mContext = getActivity().getApplicationContext();
mPhone = (TelephonyManager)getActivity().getSystemService(Context.TELEPHONY_SERVICE);
mPhone.listen(mPhoneStateListener,
PhoneStateListener.LISTEN_SERVICE_STATE
| PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
updateDataConnectionStatus();
updateSignalStrength();
if (SetupWizardUtils.isRadioReady(mContext, null)) {
hideWaitForRadio();
} else if (mTitleView != null) {
mTitleView.setText(R.string.loading);
mHandler.postDelayed(mRadioReadyRunnable, SetupWizardApp.RADIO_READY_TIMEOUT);
}
}
@Override
public void onDetach() {
public void onPause() {
super.onPause();
mIsAttached = false;
mPhone.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
super.onDetach();
}
private void hideWaitForRadio() {
if (getUserVisibleHint() && mProgressBar.isShown()) {
mHandler.removeCallbacks(mRadioReadyRunnable);
if (mTitleView != null) {
mTitleView.setText(mPage.getTitleResId());
}
mProgressBar.setVisibility(View.GONE);
mPageView.setVisibility(View.VISIBLE);
mPageView.startAnimation(
AnimationUtils.loadAnimation(getActivity(), R.anim.translucent_enter));
}
}
private void updateCarrierText() {
if (isDetached()) return;
String name = mPhone.getNetworkOperatorName(SubscriptionManager.getDefaultDataSubId());
if (TextUtils.isEmpty(name)) {
if (mServiceState != null && mServiceState.isEmergencyOnly()) {
name = getString(R.string.setup_mobile_data_emergency_only);
} else {
name = getString(R.string.setup_mobile_data_no_service);
if (mIsAttached) {
String name =
mPhone.getNetworkOperatorName(SubscriptionManager.getDefaultDataSubId());
if (TextUtils.isEmpty(name)) {
if (mServiceState != null && mServiceState.isEmergencyOnly()) {
name = getString(R.string.setup_mobile_data_emergency_only);
} else {
name = getString(R.string.setup_mobile_data_no_service);
}
}
mNameView.setText(name);
}
mNameView.setText(name);
}
private void updateSignalStrength() {
if (isDetached()) return;
if (!hasService()) {
mSignalView.setImageResource(R.drawable.ic_signal_no_signal);
} else {
if (mSignalStrength != null) {
int resId;
switch (mSignalStrength.getLevel()) {
case 4:
resId = R.drawable.ic_signal_4;
break;
case 3:
resId = R.drawable.ic_signal_3;
break;
case 2:
resId = R.drawable.ic_signal_2;
break;
case 1:
resId = R.drawable.ic_signal_1;
break;
default:
resId = R.drawable.ic_signal_0;
break;
if (mIsAttached) {
if (!hasService()) {
mSignalView.setImageResource(R.drawable.ic_signal_no_signal);
} else {
if (mSignalStrength != null) {
int resId;
switch (mSignalStrength.getLevel()) {
case 4:
resId = R.drawable.ic_signal_4;
break;
case 3:
resId = R.drawable.ic_signal_3;
break;
case 2:
resId = R.drawable.ic_signal_2;
break;
case 1:
resId = R.drawable.ic_signal_1;
break;
default:
resId = R.drawable.ic_signal_0;
break;
}
mSignalView.setImageResource(resId);
}
mSignalView.setImageResource(resId);
}
updateCarrierText();
}
updateCarrierText();
}
private void updateDataConnectionStatus() {

View File

@@ -136,18 +136,13 @@ public class OtherSettingsPage extends SetupPage {
}
};
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mContentResolver = getActivity().getContentResolver();
mBackupManager = IBackupManager.Stub.asInterface(
ServiceManager.getService(Context.BACKUP_SERVICE));
}
@Override
protected void initializePage() {
final boolean hasGms = SetupWizardUtils.hasGMS(getActivity());
final boolean hasTelephony = SetupWizardUtils.hasTelephony(getActivity());
mContentResolver = getActivity().getContentResolver();
mBackupManager = IBackupManager.Stub.asInterface(
ServiceManager.getService(Context.BACKUP_SERVICE));
TextView summaryView = (TextView) mRootView.findViewById(android.R.id.summary);
if (hasGms) {
String privacy_policy = getString(R.string.services_privacy_policy);

View File

@@ -43,7 +43,6 @@ public interface Page {
public boolean doPreviousAction();
public boolean doNextAction();
public void doLoadAction(FragmentManager fragmentManager, int action);
public void onFragmentReady();
public void onFinishSetup();
public boolean onActivityResult(int requestCode, int resultCode, Intent data);
public SetupDataCallbacks getCallbacks();

View File

@@ -96,9 +96,6 @@ public abstract class SetupPage implements Page {
}
}
@Override
public void onFragmentReady(){}
@Override
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
return false;

View File

@@ -136,8 +136,10 @@ public class WifiSetupPage extends SetupPage {
return R.string.loading;
}
@Override
public void onFragmentReady() {
public void doLoadAction(FragmentManager fragmentManager, int action) {
super.doLoadAction(fragmentManager, action);
launchWifiSetup();
}

View File

@@ -16,9 +16,39 @@
package com.cyanogenmod.setupwizard.ui;
import android.content.Intent;
import android.os.Bundle;
import com.cyanogenmod.setupwizard.R;
public class LoadingFragment extends SetupPageFragment {
private StartActivityForResultRunnable mStartActivityForResultRunnable;
@Override
public void startActivityForResult(Intent intent, int requestCode, Bundle options) {
if (isResumed()) {
super.startActivityForResult(intent, requestCode, options);
} else {
mStartActivityForResultRunnable =
new StartActivityForResultRunnable(this, intent, requestCode, options);
}
}
@Override
public void onResume() {
super.onResume();
if (mStartActivityForResultRunnable != null) {
mStartActivityForResultRunnable.run();
}
}
@Override
public void onPause() {
super.onPause();
mStartActivityForResultRunnable = null;
}
@Override
protected void initializePage() {}
@@ -26,4 +56,26 @@ public class LoadingFragment extends SetupPageFragment {
protected int getLayoutResource() {
return R.layout.setup_loading_page;
}
private static class StartActivityForResultRunnable implements Runnable {
private final LoadingFragment mLoadingFragment;
private final Intent mIntent;
private final int mRequestCode;
private final Bundle mOptions;
private StartActivityForResultRunnable(LoadingFragment loadingFragment,
Intent intent, int requestCode, Bundle options) {
mLoadingFragment = loadingFragment;
mIntent = intent;
mRequestCode = requestCode;
mOptions = options;
}
@Override
public void run() {
mLoadingFragment.startActivityForResult(mIntent, mRequestCode, mOptions);
mLoadingFragment.mStartActivityForResultRunnable = null;
}
}
}

View File

@@ -43,11 +43,6 @@ public abstract class SetupPageFragment extends Fragment {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
Bundle args = getArguments();
mKey = args.getString(Page.KEY_PAGE_ARGUMENT);
if (mKey == null) {
throw new IllegalArgumentException("No KEY_PAGE_ARGUMENT given");
}
SetupStats.addEvent(SetupStats.Categories.PAGE_LOAD, SetupStats.Action.PAGE_LOADED,
mKey, String.valueOf(System.currentTimeMillis()));
}
@@ -58,25 +53,18 @@ public abstract class SetupPageFragment extends Fragment {
mRootView = inflater.inflate(getLayoutResource(), container, false);
mTitleView = (TextView) mRootView.findViewById(android.R.id.title);
mHeaderView = (ViewGroup ) mRootView.findViewById(R.id.header);
getActivity().startPostponedEnterTransition();
return mRootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mPage = mCallbacks.getPage(mKey);
if (mTitleView != null) {
mTitleView.setText(mPage.getTitleResId());
}
initializePage();
mPage.onFragmentReady();
mCallbacks.onPageLoaded(mPage);
return mRootView;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
Bundle args = getArguments();
mKey = args.getString(Page.KEY_PAGE_ARGUMENT);
if (mKey == null) {
throw new IllegalArgumentException("No KEY_PAGE_ARGUMENT given");
}
if (!(activity instanceof SetupDataCallbacks)) {
throw new ClassCastException("Activity implement SetupDataCallbacks");
}
@@ -89,8 +77,24 @@ public abstract class SetupPageFragment extends Fragment {
mCallbacks = null;
}
@Override
public void onResume() {
super.onResume();
mPage = mCallbacks.getPage(mKey);
if (mTitleView != null) {
mTitleView.setText(mPage.getTitleResId());
}
mCallbacks.onPageLoaded(mPage);
getActivity().startPostponedEnterTransition();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// On low mem devices, this fragment might get destroyed by
// fragment manager while we are in another activity.
if (mPage == null) {
mPage = mCallbacks.getPage(mKey);
}
mPage.onActivityResult(requestCode, resultCode, data);
}

View File

@@ -51,7 +51,8 @@ import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
import java.util.ArrayList;
public class SetupWizardActivity extends Activity implements SetupDataCallbacks {
public class SetupWizardActivity extends Activity implements SetupDataCallbacks,
ThemeManager.ThemeChangeListener {
private static final String TAG = SetupWizardActivity.class.getSimpleName();
@@ -68,23 +69,18 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks
private final Handler mHandler = new Handler();
private boolean mIsGuestUser = false;
private volatile boolean mIsFinishing = false;
private static long sLaunchTime = 0;
private final ArrayList<Runnable> mFinishRunnables = new ArrayList<Runnable>();
private ThemeManager.ThemeChangeListener mThemeChangeListener;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (sLaunchTime == 0) {
SetupStats.addEvent(SetupStats.Categories.APP_LAUNCH, TAG);
sLaunchTime = System.nanoTime();
}
getWindow().setWindowAnimations(android.R.anim.fade_in);
setContentView(R.layout.setup_main);
mRootView = findViewById(R.id.root);
mReveal = (ImageView)mRootView.findViewById(R.id.reveal);
@@ -127,20 +123,6 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks
return mEnableAccessibilityController.onInterceptTouchEvent(event);
}
});
// Since this is a new component, we need to disable here if the user
// has already been through setup on a previous version.
try {
if (Settings.Secure.getInt(getContentResolver(),
Settings.Secure.USER_SETUP_COMPLETE) == 1) {
finalizeSetup();
}
} catch (Settings.SettingNotFoundException e) {
// Continue with setup
}
mIsGuestUser = SetupWizardUtils.isGuestUser(this);
if (mIsGuestUser) {
finalizeSetup();
}
registerReceiver(mSetupData, mSetupData.getIntentFilter());
}
@@ -278,7 +260,7 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks
@Override
public void onFinish() {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);
Animation fadeOut = AnimationUtils.loadAnimation(this, android.R.anim.fade_out);
mNextButton.startAnimation(fadeOut);
mNextButton.setVisibility(View.INVISIBLE);
@@ -292,48 +274,41 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks
mFinishingProgressBar.setIndeterminate(true);
mFinishingProgressBar.startAnimation(fadeIn);
final ThemeManager tm = (ThemeManager) getSystemService(Context.THEME_SERVICE);
mThemeChangeListener = new ThemeManager.ThemeChangeListener() {
@Override
public void onProgress(int progress) {
if (progress > 0) {
mFinishingProgressBar.setIndeterminate(false);
mFinishingProgressBar.setProgress(progress);
}
}
@Override
public void onFinish(boolean isSuccess) {
finishSetup();
}
};
tm.addClient(mThemeChangeListener);
tm.addClient(this);
mSetupData.finishPages();
SetupStats.addEvent(SetupStats.Categories.APP_FINISHED, TAG,
SetupStats.Label.TOTAL_TIME, String.valueOf(
System.nanoTime() - sLaunchTime));
setupWizardApp.sendStickyBroadcastAsUser(
new Intent(SetupWizardApp.ACTION_FINISHED),
UserHandle.getCallingUserHandle());
}
@Override
public void onFinish(boolean isSuccess) {
finishSetup();
}
@Override
public void onProgress(int progress) {
if (progress > 0) {
mFinishingProgressBar.setIndeterminate(false);
mFinishingProgressBar.setProgress(progress);
}
}
@Override
public void finishSetup() {
if (!mIsFinishing) {
mIsFinishing = true;
mHandler.post(new Runnable() {
@Override
public void run() {
final SetupWizardApp setupWizardApp = (SetupWizardApp)getApplication();
setupWizardApp.sendStickyBroadcastAsUser(
new Intent(SetupWizardApp.ACTION_FINISHED),
UserHandle.getCallingUserHandle());
setupRevealImage();
}
});
setupRevealImage();
}
}
@Override
public void finish() {
super.finish();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
overridePendingTransition(R.anim.translucent_enter, R.anim.translucent_exit);
}
private void setupRevealImage() {
@@ -342,39 +317,26 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks
mFinishingProgressBar.startAnimation(fadeOut);
mFinishingProgressBar.setVisibility(View.INVISIBLE);
final Thread t = new Thread() {
@Override
public void run() {
final Point p = new Point();
getWindowManager().getDefaultDisplay().getRealSize(p);
final WallpaperManager wallpaperManager =
WallpaperManager.getInstance(SetupWizardActivity.this);
wallpaperManager.forgetLoadedWallpaper();
final Bitmap wallpaper = wallpaperManager.getBitmap();
Bitmap cropped = null;
if (wallpaper != null) {
cropped = Bitmap.createBitmap(wallpaper, 0,
0, Math.min(p.x, wallpaper.getWidth()),
Math.min(p.y, wallpaper.getHeight()));
}
final Bitmap croppedWallpaper = cropped;
mHandler.post(new Runnable() {
@Override
public void run() {
if (croppedWallpaper != null) {
mReveal.setScaleType(ImageView.ScaleType.CENTER_CROP);
mReveal.setImageBitmap(croppedWallpaper);
} else {
mReveal.setBackground(wallpaperManager
.getBuiltInDrawable(p.x, p.y, false, 0, 0));
}
animateOut();
}
});
}
};
t.start();
final Point p = new Point();
getWindowManager().getDefaultDisplay().getRealSize(p);
final WallpaperManager wallpaperManager =
WallpaperManager.getInstance(SetupWizardActivity.this);
wallpaperManager.forgetLoadedWallpaper();
final Bitmap wallpaper = wallpaperManager.getBitmap();
Bitmap cropped = null;
if (wallpaper != null) {
cropped = Bitmap.createBitmap(wallpaper, 0,
0, Math.min(p.x, wallpaper.getWidth()),
Math.min(p.y, wallpaper.getHeight()));
}
if (cropped != null) {
mReveal.setScaleType(ImageView.ScaleType.CENTER_CROP);
mReveal.setImageBitmap(cropped);
} else {
mReveal.setBackground(wallpaperManager
.getBuiltInDrawable(p.x, p.y, false, 0, 0));
}
animateOut();
}
private void animateOut() {
@@ -421,7 +383,7 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks
}
final ThemeManager tm =
(ThemeManager) SetupWizardActivity.this.getSystemService(THEME_SERVICE);
tm.removeClient(mThemeChangeListener);
tm.removeClient(SetupWizardActivity.this);
SetupStats.sendEvents(SetupWizardActivity.this);
SetupWizardUtils.disableGMSSetupWizard(SetupWizardActivity.this);
Intent intent = new Intent(Intent.ACTION_MAIN);

View File

@@ -47,8 +47,8 @@ import java.util.List;
public class EnableAccessibilityController {
private static final int SPEAK_WARNING_DELAY_MILLIS = 2000;
private static final int ENABLE_ACCESSIBILITY_DELAY_MILLIS = 6000;
private static final int SPEAK_WARNING_DELAY_MILLIS = 5000;
private static final int ENABLE_ACCESSIBILITY_DELAY_MILLIS = 12000;
public static final int MESSAGE_SPEAK_WARNING = 1;
public static final int MESSAGE_SPEAK_ENABLE_CANCELED = 2;
@@ -91,7 +91,6 @@ public class EnableAccessibilityController {
private final float mTouchSlop;
private boolean mDestroyed;
private boolean mCanceled;
private float mFirstPointerDownX;
private float mFirstPointerDownY;
@@ -177,12 +176,6 @@ public class EnableAccessibilityController {
public boolean onTouchEvent(MotionEvent event) {
final int pointerCount = event.getPointerCount();
final int action = event.getActionMasked();
if (mCanceled) {
if (action == MotionEvent.ACTION_UP) {
mCanceled = false;
}
return true;
}
switch (action) {
case MotionEvent.ACTION_POINTER_DOWN: {
if (pointerCount > 2) {
@@ -210,7 +203,6 @@ public class EnableAccessibilityController {
}
private void cancel() {
mCanceled = true;
if (mHandler.hasMessages(MESSAGE_SPEAK_WARNING)) {
mHandler.removeMessages(MESSAGE_SPEAK_WARNING);
} else if (mHandler.hasMessages(MESSAGE_ENABLE_ACCESSIBILITY)) {
@@ -287,4 +279,4 @@ public class EnableAccessibilityController {
}
}
}
}
}

View File

@@ -27,11 +27,13 @@ import android.net.NetworkInfo;
import android.net.wifi.WifiManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import android.telephony.ServiceState;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;
import com.cyanogenmod.setupwizard.SetupWizardApp;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
@@ -43,11 +45,6 @@ public class SetupWizardUtils {
private SetupWizardUtils(){}
public static boolean isStatsCollectionEnabled(Context context) {
return Settings.Secure.getInt(context.getContentResolver(),
Settings.Secure.STATS_COLLECTION, 1) != 0;
}
public static void tryEnablingWifi(Context context) {
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
if (!wifiManager.isWifiEnabled()) {
@@ -127,6 +124,19 @@ public class SetupWizardUtils {
return true;
}
public static boolean isRadioReady(Context context, ServiceState state) {
final SetupWizardApp setupWizardApp = (SetupWizardApp)context.getApplicationContext();
if (setupWizardApp.isRadioReady()) {
return true;
} else {
final boolean ready = state != null
&& state.getState() != ServiceState.STATE_POWER_OFF;
setupWizardApp.setRadioReady(ready);
return ready;
}
}
public static boolean isGuestUser(Context context) {
UserManager userManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
return userManager.isGuestUser();
@@ -160,7 +170,7 @@ public class SetupWizardUtils {
disableComponentArray(context, packageInfo.services);
disableComponentArray(context, packageInfo.receivers);
} catch (PackageManager.NameNotFoundException e) {
Log.e(TAG, "Enable to disable GMS");
Log.e(TAG, "Unable to disable GMS");
}
}

View File

@@ -30,6 +30,7 @@
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<application android:icon="@drawable/icon">
<uses-library android:name="android.test.runner" />

View File

@@ -18,6 +18,7 @@ package com.cyanogenmod.setupwizard.tests;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -66,6 +67,8 @@ public class ManualTestActivity extends Activity {
pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);
pm.clearApplicationUserData("com.cyanogenmod.setupwizard", null);
ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE);
am.killBackgroundProcesses("com.cyanogenmod.setupwizard");
try {
PackageInfo packageInfo = getPackageManager()
.getPackageInfo("com.google.android.setupwizard",
@@ -110,7 +113,6 @@ public class ManualTestActivity extends Activity {
private void setSetupComplete() {
Settings.Secure.putInt(getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE, 1);
Settings.Global.putInt(getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 0);
Intent intent = new Intent("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
final PackageManager pm = getPackageManager();
@@ -118,6 +120,8 @@ public class ManualTestActivity extends Activity {
"com.cyanogenmod.setupwizard.ui.SetupWizardActivity");
pm.setComponentEnabledSetting(componentName,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE);
am.killBackgroundProcesses("com.cyanogenmod.setupwizard");
try {
PackageInfo packageInfo = this.getPackageManager()
.getPackageInfo("com.google.android.setupwizard",