diff options
232 files changed, 3255 insertions, 3410 deletions
diff --git a/AdvancedDisplay/Android.mk b/AdvancedDisplay/Android.mk index c7ea7d6..3362e95 100644 --- a/AdvancedDisplay/Android.mk +++ b/AdvancedDisplay/Android.mk @@ -9,8 +9,30 @@ LOCAL_PACKAGE_NAME := AdvancedDisplay LOCAL_CERTIFICATE := platform LOCAL_STATIC_JAVA_LIBRARIES := \ + android-support-v14-preference \ + android-support-v7-appcompat \ + android-support-v7-preference \ + android-support-v7-recyclerview \ org.cyanogenmod.platform.internal +LOCAL_PROGUARD_FLAG_FILES := proguard.flags + +LOCAL_RESOURCE_DIR := \ + $(LOCAL_PATH)/res \ + frameworks/support/v14/preference/res \ + frameworks/support/v7/appcompat/res \ + frameworks/support/v7/preference/res \ + frameworks/support/v7/recyclerview/res + +LOCAL_AAPT_FLAGS := \ + --auto-add-overlay \ + --extra-packages android.support.v14.preference \ + --extra-packages android.support.v7.appcompat \ + --extra-packages android.support.v7.preference \ + --extra-packages android.support.v7.recyclerview + +include frameworks/base/packages/SettingsLib/common.mk + include $(BUILD_PACKAGE) include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/AdvancedDisplay/AndroidManifest.xml b/AdvancedDisplay/AndroidManifest.xml index 96798f3..82b1ad3 100644 --- a/AdvancedDisplay/AndroidManifest.xml +++ b/AdvancedDisplay/AndroidManifest.xml @@ -1,21 +1,23 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.cyanogenmod.settings.device" - android:sharedUserId="android.uid.system" > + android:sharedUserId="android.uid.system"> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> - <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> - <application android:label="@string/app_name"> + <application + android:label="@string/app_name"> + <receiver android:name="com.cyanogenmod.settings.device.BootCompletedReceiver"> + <intent-filter> + <action android:name="android.intent.action.BOOT_COMPLETED" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </receiver> + <activity - android:name="com.cyanogenmod.settings.device.DisplaySettings" - android:launchMode="singleTop" - android:icon="@drawable/ic_settings_advanced_display" - android:hardwareAccelerated="true" - android:configChanges="orientation|keyboardHidden|screenSize" + android:name=".AdvancedDisplayActivity" android:label="@string/app_name" - android:theme="@style/Theme.Main" - android:excludeFromRecents="true" > + android:theme="@style/AdvancedDisplay"> <intent-filter> <action android:name="com.android.settings.action.EXTRA_SETTINGS" /> </intent-filter> @@ -26,14 +28,5 @@ android:name="com.android.settings.category" android:value="com.android.settings.category.device" /> </activity> - - <receiver android:name=".Startup"> - <intent-filter android:priority="100"> - <action android:name="android.intent.action.BOOT_COMPLETED" /> - </intent-filter> - </receiver> - - <activity android:name=".ScreenFragmentActivity" /> - </application> </manifest> diff --git a/AdvancedDisplay/proguard.flags b/AdvancedDisplay/proguard.flags new file mode 100644 index 0000000..9f4cf07 --- /dev/null +++ b/AdvancedDisplay/proguard.flags @@ -0,0 +1,5 @@ +-keepclasseswithmembers class * { + public <init>(android.content.Context, android.util.AttributeSet); +} + +-keep class ** extends android.support.v14.preference.PreferenceFragment diff --git a/AdvancedDisplay/res/values-af/arrays.xml b/AdvancedDisplay/res/values-af/arrays.xml index 986e437..69d2113 100644 --- a/AdvancedDisplay/res/values-af/arrays.xml +++ b/AdvancedDisplay/res/values-af/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (standaard)</item> - <item>Gebruikerskoppelvlak Modus</item> - <item>Video Modus</item> - <item>Video Warm Modus</item> - <item>Video Koud Modus</item> - <item>Kamera</item> - <item>Navigasie</item> - <item>Galery</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normaal</item> - <item>Omgekeerde</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>Gebruikerskoppelvlak Modus</item> + <item>Video Modus</item> + <item>Video Warm Modus</item> + <item>Video Koud Modus</item> + <item>Kamera</item> + <item>Navigasie</item> + <item>Galery</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normaal</item> + <item>Omgekeerde</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-af/strings.xml b/AdvancedDisplay/res/values-af/strings.xml index 7f4dac9..5555238 100644 --- a/AdvancedDisplay/res/values-af/strings.xml +++ b/AdvancedDisplay/res/values-af/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Gevorderde skerm</string> - <!-- Screen Preference --> - <string name="category_screen_title">Skerm</string> - <string name="screen_colors_title">Kleure</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenario</string> - <string name="mdnie_scenario_summary_head">Stel die mDNIe scenario</string> - <string name="mdnie_negative_title_head">Negatiewe modus</string> - <string name="mdnie_negative_summary_head">Aktiveer/deaktiveer omgekeerde kleure</string> + <string name="app_name">Gevorderde skerm</string> + <string name="category_screen_title">Skerm</string> + <string name="screen_colors_title">Kleure</string> + <string name="mdnie_scenario_title_head">Scenario</string> + <string name="mdnie_scenario_summary_head">Stel die mDNIe scenario</string> + <string name="mdnie_negative_title_head">Negatiewe modus</string> + <string name="mdnie_negative_summary_head">Aktiveer/deaktiveer omgekeerde kleure</string> </resources> diff --git a/AdvancedDisplay/res/values-ar/arrays.xml b/AdvancedDisplay/res/values-ar/arrays.xml index 37772ea..910acc7 100644 --- a/AdvancedDisplay/res/values-ar/arrays.xml +++ b/AdvancedDisplay/res/values-ar/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (الإفتراضي)</item> - <item>واجهة المستخدم</item> - <item>فيديو</item> - <item>فيديو سريع</item> - <item>فيديو بطيء</item> - <item>الكاميرا</item> - <item>التنقل</item> - <item>معرض</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>عادي</item> - <item>معكوس</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>واجهة المستخدم</item> + <item>فيديو</item> + <item>فيديو سريع</item> + <item>فيديو بطيء</item> + <item>الكاميرا</item> + <item>التنقل</item> + <item>معرض</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>عادي</item> + <item>معكوس</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-ar/strings.xml b/AdvancedDisplay/res/values-ar/strings.xml index 6f69849..27dcd90 100644 --- a/AdvancedDisplay/res/values-ar/strings.xml +++ b/AdvancedDisplay/res/values-ar/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">عرض متقدم</string> - <!-- Screen Preference --> - <string name="category_screen_title">الشاشة</string> - <string name="screen_colors_title">الألوان</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">السيناريو</string> - <string name="mdnie_scenario_summary_head">تعيين السيناريو mDNIe</string> - <string name="mdnie_negative_title_head">وضع سلبي</string> - <string name="mdnie_negative_summary_head">تمكين/تعطيل ألوان معكوسة</string> + <string name="app_name">عرض متقدم</string> + <string name="category_screen_title">الشاشة</string> + <string name="screen_colors_title">الألوان</string> + <string name="mdnie_scenario_title_head">السيناريو</string> + <string name="mdnie_scenario_summary_head">تعيين السيناريو mDNIe</string> + <string name="mdnie_negative_title_head">وضع سلبي</string> + <string name="mdnie_negative_summary_head">تمكين/تعطيل ألوان معكوسة</string> </resources> diff --git a/AdvancedDisplay/res/values-as-rIN/arrays.xml b/AdvancedDisplay/res/values-as-rIN/arrays.xml index a6b30f1..9102152 100644 --- a/AdvancedDisplay/res/values-as-rIN/arrays.xml +++ b/AdvancedDisplay/res/values-as-rIN/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (ডিফ\'ল্ট)</item> - <item>UI</item> - <item>ভিডিঅ’</item> - <item>ভিডিঅ\' ৱাৰ্ম</item> - <item>ভিডিঅ\' কোল্ড</item> - <item>কেমেৰা</item> - <item>নেভিগেশ্যন</item> - <item>গেলাৰী</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>সাধাৰণ</item> - <item>বিপৰীত</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>ভিডিঅ’</item> + <item>ভিডিঅ\' ৱাৰ্ম</item> + <item>ভিডিঅ\' কোল্ড</item> + <item>কেমেৰা</item> + <item>নেভিগেশ্যন</item> + <item>গেলাৰী</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>সাধাৰণ</item> + <item>বিপৰীত</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-as-rIN/strings.xml b/AdvancedDisplay/res/values-as-rIN/strings.xml index d0b9b15..a599dff 100644 --- a/AdvancedDisplay/res/values-as-rIN/strings.xml +++ b/AdvancedDisplay/res/values-as-rIN/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">উন্নত প্রদর্শন</string> - <!-- Screen Preference --> - <string name="category_screen_title">স্ক্ৰীণ</string> - <string name="screen_colors_title">ৰংসমূহ</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">দৃশ্যপট</string> - <string name="mdnie_scenario_summary_head">mDNIe দৃশ্যপট ছেট কৰক</string> - <string name="mdnie_negative_title_head">নেগেটিভ মোড</string> - <string name="mdnie_negative_summary_head">বিপৰীত ৰংবোৰ সক্ষম/অক্ষম কৰক</string> + <string name="app_name">উন্নত প্রদর্শন</string> + <string name="category_screen_title">স্ক্ৰীণ</string> + <string name="screen_colors_title">ৰংসমূহ</string> + <string name="mdnie_scenario_title_head">দৃশ্যপট</string> + <string name="mdnie_scenario_summary_head">mDNIe দৃশ্যপট ছেট কৰক</string> + <string name="mdnie_negative_title_head">নেগেটিভ মোড</string> + <string name="mdnie_negative_summary_head">বিপৰীত ৰংবোৰ সক্ষম/অক্ষম কৰক</string> </resources> diff --git a/AdvancedDisplay/res/values-ast-rES/arrays.xml b/AdvancedDisplay/res/values-ast-rES/arrays.xml index f2b4685..bfb56c7 100644 --- a/AdvancedDisplay/res/values-ast-rES/arrays.xml +++ b/AdvancedDisplay/res/values-ast-rES/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (por defeutu)</item> - <item>IU</item> - <item>Videu</item> - <item>Videu caldiu</item> - <item>Videu fríu</item> - <item>Cámara</item> - <item>Navegación</item> - <item>Galería</item> - <item>Videollamada</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Invertíu</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>IU</item> + <item>Videu</item> + <item>Videu caldiu</item> + <item>Videu fríu</item> + <item>Cámara</item> + <item>Navegación</item> + <item>Galería</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Invertío</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-ast-rES/strings.xml b/AdvancedDisplay/res/values-ast-rES/strings.xml index 431285c..4c1edb2 100644 --- a/AdvancedDisplay/res/values-ast-rES/strings.xml +++ b/AdvancedDisplay/res/values-ast-rES/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Axustes avanzaos</string> - <!-- Screen Preference --> - <string name="category_screen_title">Pantalla</string> - <string name="screen_colors_title">Colores</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Escenariu</string> - <string name="mdnie_scenario_summary_head">Definir l\'escenariu mDNIe</string> - <string name="mdnie_negative_title_head">Mou negativu</string> - <string name="mdnie_negative_summary_head">Activar/desactivar los colores invertíos</string> + <string name="app_name">Visualización avanzada</string> + <string name="category_screen_title">Pantalla</string> + <string name="screen_colors_title">Colores</string> + <string name="mdnie_scenario_title_head">Escenariu</string> + <string name="mdnie_scenario_summary_head">Afita l\'escenariu mDNIe</string> + <string name="mdnie_negative_title_head">Mou negativu</string> + <string name="mdnie_negative_summary_head">Des/habilita los colores invertíos</string> </resources> diff --git a/AdvancedDisplay/res/values-az-rAZ/arrays.xml b/AdvancedDisplay/res/values-az-rAZ/arrays.xml index 322119c..ae96d72 100644 --- a/AdvancedDisplay/res/values-az-rAZ/arrays.xml +++ b/AdvancedDisplay/res/values-az-rAZ/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (ilkin)</item> - <item>İstifadәçi İnterfeysi</item> - <item>Video</item> - <item>Video - isti</item> - <item>Video - soyuq</item> - <item>Kamera</item> - <item>Hərəkət</item> - <item>Qalereya</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Tərsinə çevrilmiş</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (ilkin)</item> + <item>İstifadәçi İnterfeysi</item> + <item>Video</item> + <item>Video - isti</item> + <item>Video - soyuq</item> + <item>Kamera</item> + <item>Hərəkət</item> + <item>Qalereya</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Tərsinə çevrilmiş</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-az-rAZ/strings.xml b/AdvancedDisplay/res/values-az-rAZ/strings.xml index 5a32a8a..74e177c 100644 --- a/AdvancedDisplay/res/values-az-rAZ/strings.xml +++ b/AdvancedDisplay/res/values-az-rAZ/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Qabaqcıl ekran</string> - <!-- Screen Preference --> - <string name="category_screen_title">Ekran</string> - <string name="screen_colors_title">Rənglər</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Ekran rejimi</string> - <string name="mdnie_scenario_summary_head">mDNle ssenarisini tənzimlə</string> - <string name="mdnie_negative_title_head">Neqativ rejim</string> - <string name="mdnie_negative_summary_head">Tərs rәnglәri aç/bağla</string> + <string name="app_name">Qabaqcıl ekran</string> + <string name="category_screen_title">Ekran</string> + <string name="screen_colors_title">Rənglər</string> + <string name="mdnie_scenario_title_head">Ekran rejimi</string> + <string name="mdnie_scenario_summary_head">mDNle ssenarisini tənzimlə</string> + <string name="mdnie_negative_title_head">Neqativ rejim</string> + <string name="mdnie_negative_summary_head">Tərs rәnglәri fəallaşdır/sıradan çıxart</string> </resources> diff --git a/AdvancedDisplay/res/values-be-rBY/arrays.xml b/AdvancedDisplay/res/values-be-rBY/arrays.xml index 0df9697..51ed9f4 100644 --- a/AdvancedDisplay/res/values-be-rBY/arrays.xml +++ b/AdvancedDisplay/res/values-be-rBY/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (па змаўчанні)</item> - <item>Рэжым UIitem</item> - <item>Фільм</item> - <item>Фільм — цёплыя таны</item> - <item>Фільм — лядоўні тону</item> - <item>Камера</item> - <item>Панэль навігацыі</item> - <item>Галерэя</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Звычайны</item> - <item>Інверсія</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>Рэжым UIitem</item> + <item>Фільм</item> + <item>Фільм — цёплыя таны</item> + <item>Фільм — лядоўні тону</item> + <item>Камера</item> + <item>Панэль навігацыі</item> + <item>Галерэя</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Звычайны</item> + <item>Інверсія</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-be-rBY/strings.xml b/AdvancedDisplay/res/values-be-rBY/strings.xml index a8401ae..dd74ade 100644 --- a/AdvancedDisplay/res/values-be-rBY/strings.xml +++ b/AdvancedDisplay/res/values-be-rBY/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Налады экрана</string> - <!-- Screen Preference --> - <string name="category_screen_title">Экран</string> - <string name="screen_colors_title">Колеры</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Сцэнар</string> - <string name="mdnie_scenario_summary_head">Усталёўка сцэнара mDNIe</string> - <string name="mdnie_negative_title_head">Негатыў</string> - <string name="mdnie_negative_summary_head">Укл./выкл. інверсіі колераў</string> + <string name="app_name">Налады экрана</string> + <string name="category_screen_title">Экран</string> + <string name="screen_colors_title">Колеры</string> + <string name="mdnie_scenario_title_head">Сцэнар</string> + <string name="mdnie_scenario_summary_head">Усталёўка сцэнара mDNIe</string> + <string name="mdnie_negative_title_head">Негатыў</string> + <string name="mdnie_negative_summary_head">Укл./выкл. інверсіі колераў</string> </resources> diff --git a/AdvancedDisplay/res/values-be/arrays.xml b/AdvancedDisplay/res/values-be/arrays.xml deleted file mode 100644 index 0df9697..0000000 --- a/AdvancedDisplay/res/values-be/arrays.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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-array name="mdnie_scenario_entries"> - <item>CyanogenMod (па змаўчанні)</item> - <item>Рэжым UIitem</item> - <item>Фільм</item> - <item>Фільм — цёплыя таны</item> - <item>Фільм — лядоўні тону</item> - <item>Камера</item> - <item>Панэль навігацыі</item> - <item>Галерэя</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Звычайны</item> - <item>Інверсія</item> - </string-array> -</resources> diff --git a/AdvancedDisplay/res/values-be/strings.xml b/AdvancedDisplay/res/values-be/strings.xml deleted file mode 100644 index a8401ae..0000000 --- a/AdvancedDisplay/res/values-be/strings.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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> - <!-- Screen Preference --> - <string name="category_screen_title">Экран</string> - <string name="screen_colors_title">Колеры</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Сцэнар</string> - <string name="mdnie_scenario_summary_head">Усталёўка сцэнара mDNIe</string> - <string name="mdnie_negative_title_head">Негатыў</string> - <string name="mdnie_negative_summary_head">Укл./выкл. інверсіі колераў</string> -</resources> diff --git a/AdvancedDisplay/res/values-bg/arrays.xml b/AdvancedDisplay/res/values-bg/arrays.xml index adc51e0..7c308a4 100644 --- a/AdvancedDisplay/res/values-bg/arrays.xml +++ b/AdvancedDisplay/res/values-bg/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (по подразбиране)</item> - <item>ПОТРЕБИТЕЛСКИ ИНТЕРФЕЙС</item> - <item>Видео</item> - <item>Видео топло</item> - <item>Видео студено</item> - <item>Камера</item> - <item>Навигация</item> - <item>Галерия</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Нормално</item> - <item>Обърнати</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (по подразбиране)</item> + <item>ПОТРЕБИТЕЛСКИ ИНТЕРФЕЙС</item> + <item>Видео</item> + <item>Видео топло</item> + <item>Видео студено</item> + <item>Камера</item> + <item>Навигация</item> + <item>Галерия</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Нормално</item> + <item>Обърнати</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-bg/strings.xml b/AdvancedDisplay/res/values-bg/strings.xml index 7efb116..4b2bfc2 100644 --- a/AdvancedDisplay/res/values-bg/strings.xml +++ b/AdvancedDisplay/res/values-bg/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Настройки на дисплея</string> - <!-- Screen Preference --> - <string name="category_screen_title">Екран</string> - <string name="screen_colors_title">Цветове</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Сценарий</string> - <string name="mdnie_scenario_summary_head">Избор на сценария mDNIe</string> - <string name="mdnie_negative_title_head">Негативен режим</string> - <string name="mdnie_negative_summary_head">Включи/изключи инверсия на цветовете</string> + <string name="app_name">Настройки на дисплея</string> + <string name="category_screen_title">Екран</string> + <string name="screen_colors_title">Цветове</string> + <string name="mdnie_scenario_title_head">Сценарий</string> + <string name="mdnie_scenario_summary_head">Избор на сценария mDNIe</string> + <string name="mdnie_negative_title_head">Негативен режим</string> + <string name="mdnie_negative_summary_head">Включи/изключи инверсия на цветовете</string> </resources> diff --git a/AdvancedDisplay/res/values-bs-rBA/arrays.xml b/AdvancedDisplay/res/values-bs-rBA/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-bs-rBA/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-ca/arrays.xml b/AdvancedDisplay/res/values-ca/arrays.xml index 7489c26..0fbaee9 100644 --- a/AdvancedDisplay/res/values-ca/arrays.xml +++ b/AdvancedDisplay/res/values-ca/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (per defecte)</item> - <item>IU</item> - <item>Vídeo</item> - <item>Video càlid</item> - <item>Vídeo fred</item> - <item>Càmera</item> - <item>Navegació</item> - <item>Galeria</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Invertit</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (per defecte)</item> + <item>IU</item> + <item>Vídeo</item> + <item>Video càlid</item> + <item>Vídeo fred</item> + <item>Càmera</item> + <item>Navegació</item> + <item>Galeria</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Invertit</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-ca/strings.xml b/AdvancedDisplay/res/values-ca/strings.xml index 7bca716..e7a3fa7 100644 --- a/AdvancedDisplay/res/values-ca/strings.xml +++ b/AdvancedDisplay/res/values-ca/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Pantalla avançada</string> - <!-- Screen Preference --> - <string name="category_screen_title">Pantalla</string> - <string name="screen_colors_title">Colors</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Escenari</string> - <string name="mdnie_scenario_summary_head">Estableix l\'escenari de mDNIe</string> - <string name="mdnie_negative_title_head">Mode negatiu</string> - <string name="mdnie_negative_summary_head">Habilita/inhabilita els colors invertits</string> + <string name="app_name">Pantalla avançada</string> + <string name="category_screen_title">Pantalla</string> + <string name="screen_colors_title">Colors</string> + <string name="mdnie_scenario_title_head">Escenari</string> + <string name="mdnie_scenario_summary_head">Estableix l\'escenari de mDNIe</string> + <string name="mdnie_negative_title_head">Mode negatiu</string> + <string name="mdnie_negative_summary_head">Habilita/inhabilita els colors invertits</string> </resources> diff --git a/AdvancedDisplay/res/values-cs/arrays.xml b/AdvancedDisplay/res/values-cs/arrays.xml index 3d50b8d..1553f71 100644 --- a/AdvancedDisplay/res/values-cs/arrays.xml +++ b/AdvancedDisplay/res/values-cs/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (výchozí)</item> - <item>Režim UI</item> - <item>Kamera</item> - <item>Režim teplých barev</item> - <item>Režim studených barev</item> - <item>Fotoaparát</item> - <item>Navigace</item> - <item>Galerie</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normální</item> - <item>Inverzní</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (výchozí)</item> + <item>Režim UI</item> + <item>Kamera</item> + <item>Režim teplých barev</item> + <item>Režim studených barev</item> + <item>Fotoaparát</item> + <item>Navigace</item> + <item>Galerie</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normální</item> + <item>Inverzní</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-cs/strings.xml b/AdvancedDisplay/res/values-cs/strings.xml index 9247c50..3d1e532 100644 --- a/AdvancedDisplay/res/values-cs/strings.xml +++ b/AdvancedDisplay/res/values-cs/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Rozšířené zobrazení</string> - <!-- Screen Preference --> - <string name="category_screen_title">Obrazovka</string> - <string name="screen_colors_title">Barvy</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scénář</string> - <string name="mdnie_scenario_summary_head">Nastavit scénář pro mDNIe</string> - <string name="mdnie_negative_title_head">Inverzní režim</string> - <string name="mdnie_negative_summary_head">Použít invertování barev</string> + <string name="app_name">Rozšířené zobrazení</string> + <string name="category_screen_title">Obrazovka</string> + <string name="screen_colors_title">Barvy</string> + <string name="mdnie_scenario_title_head">Scénář</string> + <string name="mdnie_scenario_summary_head">Nastavit scénář pro mDNIe</string> + <string name="mdnie_negative_title_head">Inverzní režim</string> + <string name="mdnie_negative_summary_head">Použít invertování barev</string> </resources> diff --git a/AdvancedDisplay/res/values-cy/arrays.xml b/AdvancedDisplay/res/values-cy/arrays.xml index dbbee7c..824b383 100644 --- a/AdvancedDisplay/res/values-cy/arrays.xml +++ b/AdvancedDisplay/res/values-cy/arrays.xml @@ -15,4 +15,20 @@ 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"></resources> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (rhagosodiad)</item> + <item>Rhyngwyneb</item> + <item>Fideo</item> + <item>Fideo cynnes</item> + <item>Fideo oer</item> + <item>Camera</item> + <item>Llywio</item> + <item>Oriel</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Arferol</item> + <item>Wedi\'i wrthdroi</item> + </string-array> +</resources> diff --git a/AdvancedDisplay/res/values-cy/strings.xml b/AdvancedDisplay/res/values-cy/strings.xml index f5df7fe..c869811 100644 --- a/AdvancedDisplay/res/values-cy/strings.xml +++ b/AdvancedDisplay/res/values-cy/strings.xml @@ -16,6 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Screen Preference --> - <!-- mDNIe --> + <string name="app_name">Dangosydd uwch</string> + <string name="category_screen_title">Sgrin</string> + <string name="screen_colors_title">Lliwiau</string> + <string name="mdnie_scenario_title_head">Senario</string> + <string name="mdnie_scenario_summary_head">Gosod y senario mDNIe</string> + <string name="mdnie_negative_title_head">Modd negyddol</string> + <string name="mdnie_negative_summary_head">Galluogi/analluogi gwrthdroi lliwiau</string> </resources> diff --git a/AdvancedDisplay/res/values-da/arrays.xml b/AdvancedDisplay/res/values-da/arrays.xml index 5b2cd18..a361315 100644 --- a/AdvancedDisplay/res/values-da/arrays.xml +++ b/AdvancedDisplay/res/values-da/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (standard)</item> - <item>UI</item> - <item>Video</item> - <item>Varm video</item> - <item>Kold video</item> - <item>Kamera</item> - <item>Navigation</item> - <item>Galleri</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Inverteret</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (standard)</item> + <item>Brugerflade</item> + <item>Video</item> + <item>Video varm</item> + <item>Video kold</item> + <item>Kamera</item> + <item>Navigation</item> + <item>Galleri</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Inverteret</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-da/strings.xml b/AdvancedDisplay/res/values-da/strings.xml index 1b66f58..c19b71c 100644 --- a/AdvancedDisplay/res/values-da/strings.xml +++ b/AdvancedDisplay/res/values-da/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Avancerede skærmindstillinger</string> - <!-- Screen Preference --> - <string name="category_screen_title">Skærm</string> - <string name="screen_colors_title">Farver</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenarie</string> - <string name="mdnie_scenario_summary_head">Angiv mDNIe-scenariet</string> - <string name="mdnie_negative_title_head">Negativ tilstand</string> - <string name="mdnie_negative_summary_head">Aktivér/deaktivér inverteret farver</string> + <string name="app_name">Avanceret display</string> + <string name="category_screen_title">Skærm</string> + <string name="screen_colors_title">Farver</string> + <string name="mdnie_scenario_title_head">Scenarie</string> + <string name="mdnie_scenario_summary_head">Angiv mDNIe-scenariet</string> + <string name="mdnie_negative_title_head">Negativ-tilstand</string> + <string name="mdnie_negative_summary_head">Aktivér/deaktivér inverterede farver</string> </resources> diff --git a/AdvancedDisplay/res/values-de/arrays.xml b/AdvancedDisplay/res/values-de/arrays.xml index 3b54c86..bb5a015 100644 --- a/AdvancedDisplay/res/values-de/arrays.xml +++ b/AdvancedDisplay/res/values-de/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (Standard)</item> - <item>UI-Modus</item> - <item>Videomodus</item> - <item>Videomodus (warm)</item> - <item>Videomodus (kalt)</item> - <item>Kamera</item> - <item>Navigation</item> - <item>Galerie</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Invertiert</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (Standard)</item> + <item>UI-Modus</item> + <item>Videomodus</item> + <item>Videomodus (warm)</item> + <item>Videomodus (kalt)</item> + <item>Kamera</item> + <item>Navigation</item> + <item>Galerie</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Invertiert</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-de/strings.xml b/AdvancedDisplay/res/values-de/strings.xml index 70bdb41..7b2a219 100644 --- a/AdvancedDisplay/res/values-de/strings.xml +++ b/AdvancedDisplay/res/values-de/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Erweiterte Display-Einstellungen</string> - <!-- Screen Preference --> - <string name="category_screen_title">Bildschirm</string> - <string name="screen_colors_title">Farben</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Szenario</string> - <string name="mdnie_scenario_summary_head">Wählen Sie das mDNIe-Szenario</string> - <string name="mdnie_negative_title_head">Negativmodus</string> - <string name="mdnie_negative_summary_head">Invertierte Farben ein-/ausschalten</string> + <string name="app_name">Erweiterte Anzeige-Einstellungen</string> + <string name="category_screen_title">Bildschirm</string> + <string name="screen_colors_title">Farben</string> + <string name="mdnie_scenario_title_head">Szenario</string> + <string name="mdnie_scenario_summary_head">Wählen Sie das mDNIe-Szenario</string> + <string name="mdnie_negative_title_head">Negativmodus</string> + <string name="mdnie_negative_summary_head">Invertierte Farben ein-/ausschalten</string> </resources> diff --git a/AdvancedDisplay/res/values-el/arrays.xml b/AdvancedDisplay/res/values-el/arrays.xml index e170ee6..391eb3e 100644 --- a/AdvancedDisplay/res/values-el/arrays.xml +++ b/AdvancedDisplay/res/values-el/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (προεπιλογή)</item> - <item>UI</item> - <item>Βίντεο</item> - <item>Θερμό βίντεο</item> - <item>Ψυχρό βίντεο</item> - <item>Φωτογρ. μηχανή</item> - <item>Πλοήγηση</item> - <item>Συλλογή</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Κανονική</item> - <item>Ανεστραμμένη</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Βίντεο</item> + <item>Θερμό βίντεο</item> + <item>Ψυχρό βίντεο</item> + <item>Φωτογρ. μηχανή</item> + <item>Πλοήγηση</item> + <item>Συλλογή</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Κανονική</item> + <item>Ανεστραμμένη</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-el/strings.xml b/AdvancedDisplay/res/values-el/strings.xml index 37c4c74..b3fbf5c 100644 --- a/AdvancedDisplay/res/values-el/strings.xml +++ b/AdvancedDisplay/res/values-el/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Ρυθμίσεις οθόνης για προχωρημένους</string> - <!-- Screen Preference --> - <string name="category_screen_title">Οθόνη</string> - <string name="screen_colors_title">Χρώματα</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Σενάριο</string> - <string name="mdnie_scenario_summary_head">Ορίστε το σενάριο mDNIe</string> - <string name="mdnie_negative_title_head">Αρνητική λειτουργία</string> - <string name="mdnie_negative_summary_head">Ενεργοποίηση/απενεργοποίηση αντεστραμμένων χρωμάτων</string> + <string name="app_name">Ρυθμίσεις οθόνης για προχωρημένους</string> + <string name="category_screen_title">Οθόνη</string> + <string name="screen_colors_title">Χρώματα</string> + <string name="mdnie_scenario_title_head">Σενάριο</string> + <string name="mdnie_scenario_summary_head">Ορίστε το σενάριο mDNIe</string> + <string name="mdnie_negative_title_head">Αρνητική λειτουργία</string> + <string name="mdnie_negative_summary_head">Ενεργοποίηση/απενεργοποίηση αντεστραμμένων χρωμάτων</string> </resources> diff --git a/AdvancedDisplay/res/values-en-rAU/arrays.xml b/AdvancedDisplay/res/values-en-rAU/arrays.xml index dbbee7c..027c4e6 100644 --- a/AdvancedDisplay/res/values-en-rAU/arrays.xml +++ b/AdvancedDisplay/res/values-en-rAU/arrays.xml @@ -15,4 +15,20 @@ 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"></resources> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Video</item> + <item>Video warm</item> + <item>Video cold</item> + <item>Camera</item> + <item>Navigation</item> + <item>Gallery</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Inverted</item> + </string-array> +</resources> diff --git a/AdvancedDisplay/res/values-en-rAU/strings.xml b/AdvancedDisplay/res/values-en-rAU/strings.xml index f5df7fe..64ec585 100644 --- a/AdvancedDisplay/res/values-en-rAU/strings.xml +++ b/AdvancedDisplay/res/values-en-rAU/strings.xml @@ -16,6 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Screen Preference --> - <!-- mDNIe --> + <string name="app_name">Advanced display</string> + <string name="category_screen_title">Screen</string> + <string name="screen_colors_title">Colours</string> + <string name="mdnie_scenario_title_head">Scenario</string> + <string name="mdnie_scenario_summary_head">Set the mDNIe scenario</string> + <string name="mdnie_negative_title_head">Negative mode</string> + <string name="mdnie_negative_summary_head">Enable/disable inverted colours</string> </resources> diff --git a/AdvancedDisplay/res/values-am/arrays.xml b/AdvancedDisplay/res/values-en-rCA/arrays.xml index dbbee7c..dbbee7c 100644 --- a/AdvancedDisplay/res/values-am/arrays.xml +++ b/AdvancedDisplay/res/values-en-rCA/arrays.xml diff --git a/AdvancedDisplay/res/values-am/strings.xml b/AdvancedDisplay/res/values-en-rCA/strings.xml index f5df7fe..f5df7fe 100644 --- a/AdvancedDisplay/res/values-am/strings.xml +++ b/AdvancedDisplay/res/values-en-rCA/strings.xml diff --git a/AdvancedDisplay/res/values-en-rGB/arrays.xml b/AdvancedDisplay/res/values-en-rGB/arrays.xml index a3d4207..027c4e6 100644 --- a/AdvancedDisplay/res/values-en-rGB/arrays.xml +++ b/AdvancedDisplay/res/values-en-rGB/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (default)</item> - <item>UI</item> - <item>Video</item> - <item>Video warm</item> - <item>Video cold</item> - <item>Camera</item> - <item>Navigation</item> - <item>Gallery</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Inverted</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Video</item> + <item>Video warm</item> + <item>Video cold</item> + <item>Camera</item> + <item>Navigation</item> + <item>Gallery</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Inverted</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-en-rGB/strings.xml b/AdvancedDisplay/res/values-en-rGB/strings.xml index b028f55..64ec585 100644 --- a/AdvancedDisplay/res/values-en-rGB/strings.xml +++ b/AdvancedDisplay/res/values-en-rGB/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Advanced display</string> - <!-- Screen Preference --> - <string name="category_screen_title">Screen</string> - <string name="screen_colors_title">Colours</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenario</string> - <string name="mdnie_scenario_summary_head">Set the mDNIe scenario</string> - <string name="mdnie_negative_title_head">Negative mode</string> - <string name="mdnie_negative_summary_head">Enable/disable inverted colours</string> + <string name="app_name">Advanced display</string> + <string name="category_screen_title">Screen</string> + <string name="screen_colors_title">Colours</string> + <string name="mdnie_scenario_title_head">Scenario</string> + <string name="mdnie_scenario_summary_head">Set the mDNIe scenario</string> + <string name="mdnie_negative_title_head">Negative mode</string> + <string name="mdnie_negative_summary_head">Enable/disable inverted colours</string> </resources> diff --git a/AdvancedDisplay/res/values-en-rIN/arrays.xml b/AdvancedDisplay/res/values-en-rIN/arrays.xml index a3d4207..027c4e6 100644 --- a/AdvancedDisplay/res/values-en-rIN/arrays.xml +++ b/AdvancedDisplay/res/values-en-rIN/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (default)</item> - <item>UI</item> - <item>Video</item> - <item>Video warm</item> - <item>Video cold</item> - <item>Camera</item> - <item>Navigation</item> - <item>Gallery</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Inverted</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Video</item> + <item>Video warm</item> + <item>Video cold</item> + <item>Camera</item> + <item>Navigation</item> + <item>Gallery</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Inverted</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-en-rIN/strings.xml b/AdvancedDisplay/res/values-en-rIN/strings.xml index 6e98711..64ec585 100644 --- a/AdvancedDisplay/res/values-en-rIN/strings.xml +++ b/AdvancedDisplay/res/values-en-rIN/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Advanced display</string> - <!-- Screen Preference --> - <string name="category_screen_title">Screen</string> - <string name="screen_colors_title">Colors</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenario</string> - <string name="mdnie_scenario_summary_head">Set the mDNIe scenario</string> - <string name="mdnie_negative_title_head">Negative mode</string> - <string name="mdnie_negative_summary_head">Enable/disable inverted colours</string> + <string name="app_name">Advanced display</string> + <string name="category_screen_title">Screen</string> + <string name="screen_colors_title">Colours</string> + <string name="mdnie_scenario_title_head">Scenario</string> + <string name="mdnie_scenario_summary_head">Set the mDNIe scenario</string> + <string name="mdnie_negative_title_head">Negative mode</string> + <string name="mdnie_negative_summary_head">Enable/disable inverted colours</string> </resources> diff --git a/AdvancedDisplay/res/values-en-rPT/arrays.xml b/AdvancedDisplay/res/values-en-rPT/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-en-rPT/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-eo/arrays.xml b/AdvancedDisplay/res/values-eo/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-eo/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-eo/strings.xml b/AdvancedDisplay/res/values-eo/strings.xml index ba5b71b..ed4c064 100644 --- a/AdvancedDisplay/res/values-eo/strings.xml +++ b/AdvancedDisplay/res/values-eo/strings.xml @@ -16,7 +16,5 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Screen Preference --> - <string name="screen_colors_title">Koloroj</string> - <!-- mDNIe --> + <string name="screen_colors_title">Koloroj</string> </resources> diff --git a/AdvancedDisplay/res/values-es-rMX/arrays.xml b/AdvancedDisplay/res/values-es-rMX/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-es-rMX/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-es-rMX/strings.xml b/AdvancedDisplay/res/values-es-rMX/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-es-rMX/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-es-rUS/arrays.xml b/AdvancedDisplay/res/values-es-rUS/arrays.xml index 958d6fc..a5ef196 100644 --- a/AdvancedDisplay/res/values-es-rUS/arrays.xml +++ b/AdvancedDisplay/res/values-es-rUS/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (predeterminado)</item> - <item>UI</item> - <item>Video</item> - <item>Video cálido</item> - <item>Video frío</item> - <item>Cámara</item> - <item>Navegación</item> - <item>Galería</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Invertido</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (predefinido)</item> + <item>UI</item> + <item>Video</item> + <item>Video cálido</item> + <item>Video frío</item> + <item>Cámara</item> + <item>Navegación</item> + <item>Galería</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Invertido</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-es-rUS/strings.xml b/AdvancedDisplay/res/values-es-rUS/strings.xml index 9afda3b..9dbea5e 100644 --- a/AdvancedDisplay/res/values-es-rUS/strings.xml +++ b/AdvancedDisplay/res/values-es-rUS/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Ajustes avanzados</string> - <!-- Screen Preference --> - <string name="category_screen_title">Pantalla</string> - <string name="screen_colors_title">Colores</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Escenario</string> - <string name="mdnie_scenario_summary_head">Establecer escenario mDNIe</string> - <string name="mdnie_negative_title_head">Modo negativo</string> - <string name="mdnie_negative_summary_head">Activar/desactivar colores invertidos</string> + <string name="app_name">Pantalla avanzada</string> + <string name="category_screen_title">Pantalla</string> + <string name="screen_colors_title">Colores</string> + <string name="mdnie_scenario_title_head">Escenario</string> + <string name="mdnie_scenario_summary_head">Establecer escenario mDNIe</string> + <string name="mdnie_negative_title_head">Modo negativo</string> + <string name="mdnie_negative_summary_head">Activar/desactivar colores invertidos</string> </resources> diff --git a/AdvancedDisplay/res/values-es/arrays.xml b/AdvancedDisplay/res/values-es/arrays.xml index a3021b6..6961d63 100644 --- a/AdvancedDisplay/res/values-es/arrays.xml +++ b/AdvancedDisplay/res/values-es/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (por defecto)</item> - <item>Interfaz de usuario</item> - <item>Vídeo</item> - <item>Video calido</item> - <item>Vídeo frío</item> - <item>Cámara</item> - <item>Navegación</item> - <item>Galería</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Invertido</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>Interfaz de usuario</item> + <item>Vídeo</item> + <item>Video calido</item> + <item>Vídeo frío</item> + <item>Cámara</item> + <item>Navegación</item> + <item>Galería</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Invertido</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-es/strings.xml b/AdvancedDisplay/res/values-es/strings.xml index 402d6f5..f0f25c7 100644 --- a/AdvancedDisplay/res/values-es/strings.xml +++ b/AdvancedDisplay/res/values-es/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Pantalla avanzada</string> - <!-- Screen Preference --> - <string name="category_screen_title">Pantalla</string> - <string name="screen_colors_title">Colores</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Escenario</string> - <string name="mdnie_scenario_summary_head">Establecer el escenario mDNIe</string> - <string name="mdnie_negative_title_head">Modo negativo</string> - <string name="mdnie_negative_summary_head">Activar/desactivar colores invertidos</string> + <string name="app_name">Pantalla avanzada</string> + <string name="category_screen_title">Pantalla</string> + <string name="screen_colors_title">Colores</string> + <string name="mdnie_scenario_title_head">Escenario</string> + <string name="mdnie_scenario_summary_head">Establecer el escenario mDNIe</string> + <string name="mdnie_negative_title_head">Modo negativo</string> + <string name="mdnie_negative_summary_head">Activar/desactivar colores invertidos</string> </resources> diff --git a/AdvancedDisplay/res/values-et-rEE/arrays.xml b/AdvancedDisplay/res/values-et-rEE/arrays.xml index 57053af..31f739d 100644 --- a/AdvancedDisplay/res/values-et-rEE/arrays.xml +++ b/AdvancedDisplay/res/values-et-rEE/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (vaikimisi)</item> - <item>UI</item> - <item>Video</item> - <item>Video soe</item> - <item>Video külm</item> - <item>Kaamera</item> - <item>Navigeerimine</item> - <item>Galerii</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normaalne</item> - <item>Negatiivne</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Video</item> + <item>Video soe</item> + <item>Video külm</item> + <item>Kaamera</item> + <item>Navigeerimine</item> + <item>Galerii</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normaalne</item> + <item>Negatiivne</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-et-rEE/strings.xml b/AdvancedDisplay/res/values-et-rEE/strings.xml index 0601646..2ba06fe 100644 --- a/AdvancedDisplay/res/values-et-rEE/strings.xml +++ b/AdvancedDisplay/res/values-et-rEE/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Täpsem displei</string> - <!-- Screen Preference --> - <string name="category_screen_title">Ekraan</string> - <string name="screen_colors_title">Värvid</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Stsenaarium</string> - <string name="mdnie_scenario_summary_head">Seadke mDNIe stsenaarium</string> - <string name="mdnie_negative_title_head">Negatiivne režiim</string> - <string name="mdnie_negative_summary_head">Luba/keela negatiivsed värvid</string> + <string name="app_name">Täpsem displei</string> + <string name="category_screen_title">Ekraan</string> + <string name="screen_colors_title">Värvid</string> + <string name="mdnie_scenario_title_head">Stsenaarium</string> + <string name="mdnie_scenario_summary_head">Seadke mDNIe stsenaarium</string> + <string name="mdnie_negative_title_head">Negatiivne režiim</string> + <string name="mdnie_negative_summary_head">Luba/keela negatiivsed värvid</string> </resources> diff --git a/AdvancedDisplay/res/values-eu-rES/arrays.xml b/AdvancedDisplay/res/values-eu-rES/arrays.xml index 6163281..e55f9ff 100644 --- a/AdvancedDisplay/res/values-eu-rES/arrays.xml +++ b/AdvancedDisplay/res/values-eu-rES/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (lehenetsia)</item> - <item>UI</item> - <item>Bideoa</item> - <item>Bideo epela</item> - <item>Bideo hotza</item> - <item>Kamera</item> - <item>Nabigazioa</item> - <item>Galeria</item> - <item>Bideodeia</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Arrunta</item> - <item>Alderantzikatua</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Bideoa</item> + <item>Bideo epela</item> + <item>Bideo hotza</item> + <item>Kamera</item> + <item>Nabigazioa</item> + <item>Galeria</item> + <item>Bideodeia</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Arrunta</item> + <item>Alderantzikatua</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-eu-rES/strings.xml b/AdvancedDisplay/res/values-eu-rES/strings.xml index ea6b21d..a945448 100644 --- a/AdvancedDisplay/res/values-eu-rES/strings.xml +++ b/AdvancedDisplay/res/values-eu-rES/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Pantaila aurreratua</string> - <!-- Screen Preference --> - <string name="category_screen_title">Pantaila</string> - <string name="screen_colors_title">Koloreak</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Eszenatokia</string> - <string name="mdnie_scenario_summary_head">mDNIe eszenatokia ezarri</string> - <string name="mdnie_negative_title_head">Modu negatiboa</string> - <string name="mdnie_negative_summary_head">Gaitu/ezgaitu kolore alderantzikatuak</string> + <string name="app_name">Pantaila aurreratua</string> + <string name="category_screen_title">Pantaila</string> + <string name="screen_colors_title">Koloreak</string> + <string name="mdnie_scenario_title_head">Eszenatokia</string> + <string name="mdnie_scenario_summary_head">mDNIe eszenatokia ezarri</string> + <string name="mdnie_negative_title_head">Modu negatiboa</string> + <string name="mdnie_negative_summary_head">Gaitu/ezgaitu kolore alderantzikatuak</string> </resources> diff --git a/AdvancedDisplay/res/values-fa/arrays.xml b/AdvancedDisplay/res/values-fa/arrays.xml index 3a178a6..21e1e39 100644 --- a/AdvancedDisplay/res/values-fa/arrays.xml +++ b/AdvancedDisplay/res/values-fa/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>سایانوژنمود (پیشفرض)</item> - <item>رابط کاربر</item> - <item>ویدیو</item> - <item>تصویری گرم</item> - <item>تصویری سرد</item> - <item>دوربین</item> - <item>پیمایش</item> - <item>گالری</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>عادی</item> - <item>معکوس</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>رابط کاربر</item> + <item>ویدیو</item> + <item>تصویری گرم</item> + <item>تصویری سرد</item> + <item>دوربین</item> + <item>پیمایش</item> + <item>گالری</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>عادی</item> + <item>معکوس</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-fa/strings.xml b/AdvancedDisplay/res/values-fa/strings.xml index 51df1dd..8bb0289 100644 --- a/AdvancedDisplay/res/values-fa/strings.xml +++ b/AdvancedDisplay/res/values-fa/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">نمایش پیشرفته</string> - <!-- Screen Preference --> - <string name="category_screen_title">صفحه نمایش</string> - <string name="screen_colors_title">رنگها</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">خط مشی</string> - <string name="mdnie_scenario_summary_head">تنظیم خط مشی mDNIe</string> - <string name="mdnie_negative_title_head">حالت معکوس رنگها</string> - <string name="mdnie_negative_summary_head">فعال/غیرفعال کردن رنگهای معکوس</string> + <string name="app_name">نمایش پیشرفته</string> + <string name="category_screen_title">صفحه نمایش</string> + <string name="screen_colors_title">رنگها</string> + <string name="mdnie_scenario_title_head">خط مشی</string> + <string name="mdnie_scenario_summary_head">تنظیم خط مشی mDNIe</string> + <string name="mdnie_negative_title_head">حالت معکوس رنگها</string> + <string name="mdnie_negative_summary_head">فعال/غیرفعال کردن رنگهای معکوس</string> </resources> diff --git a/AdvancedDisplay/res/values-fi/arrays.xml b/AdvancedDisplay/res/values-fi/arrays.xml index d2d7701..58011aa 100644 --- a/AdvancedDisplay/res/values-fi/arrays.xml +++ b/AdvancedDisplay/res/values-fi/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (oletus)</item> - <item>Käyttöliittymä</item> - <item>Video</item> - <item>Video (lämmin)</item> - <item>Video (kylmä)</item> - <item>Kamera</item> - <item>Navigointi</item> - <item>Galleria</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normaali</item> - <item>Käänteinen</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (oletus)</item> + <item>Käyttöliittymä</item> + <item>Video</item> + <item>Video (lämmin)</item> + <item>Video (kylmä)</item> + <item>Kamera</item> + <item>Navigointi</item> + <item>Galleria</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normaali</item> + <item>Käänteinen</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-fi/strings.xml b/AdvancedDisplay/res/values-fi/strings.xml index 1d1f4bb..ecfb279 100644 --- a/AdvancedDisplay/res/values-fi/strings.xml +++ b/AdvancedDisplay/res/values-fi/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Näytön lisäasetukset</string> - <!-- Screen Preference --> - <string name="category_screen_title">Näyttö</string> - <string name="screen_colors_title">Värit</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Skenaario</string> - <string name="mdnie_scenario_summary_head">Aseta mDNIe-skenaario</string> - <string name="mdnie_negative_title_head">Negatiivitila</string> - <string name="mdnie_negative_summary_head">Käytä käänteisiä värejä</string> + <string name="app_name">Näytön lisäasetukset</string> + <string name="category_screen_title">Näyttö</string> + <string name="screen_colors_title">Värit</string> + <string name="mdnie_scenario_title_head">Skenaario</string> + <string name="mdnie_scenario_summary_head">Aseta mDNIe-skenaario</string> + <string name="mdnie_negative_title_head">Negatiivitila</string> + <string name="mdnie_negative_summary_head">Käytä käänteisiä värejä</string> </resources> diff --git a/AdvancedDisplay/res/values-fr-rCA/arrays.xml b/AdvancedDisplay/res/values-fr-rCA/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-fr-rCA/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-fr-rCA/strings.xml b/AdvancedDisplay/res/values-fr-rCA/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-fr-rCA/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-fr/arrays.xml b/AdvancedDisplay/res/values-fr/arrays.xml index 3d7a75f..9922e64 100644 --- a/AdvancedDisplay/res/values-fr/arrays.xml +++ b/AdvancedDisplay/res/values-fr/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (par défaut)</item> - <item>IU</item> - <item>Vidéo</item> - <item>Vidéo chaude</item> - <item>Vidéo froide</item> - <item>Appareil photo</item> - <item>Navigation</item> - <item>Galerie</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Inversé</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>IU</item> + <item>Vidéo</item> + <item>Vidéo chaude</item> + <item>Vidéo froide</item> + <item>Appareil photo</item> + <item>Navigation</item> + <item>Galerie</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Inversé</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-fr/strings.xml b/AdvancedDisplay/res/values-fr/strings.xml index 9b9bca8..0fdb9f2 100644 --- a/AdvancedDisplay/res/values-fr/strings.xml +++ b/AdvancedDisplay/res/values-fr/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Affichage avancé</string> - <!-- Screen Preference --> - <string name="category_screen_title">Écran</string> - <string name="screen_colors_title">Couleurs</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scénario</string> - <string name="mdnie_scenario_summary_head">Définir le scénario mDNIe</string> - <string name="mdnie_negative_title_head">Mode négatif</string> - <string name="mdnie_negative_summary_head">Activer/désactiver les couleurs inversées</string> + <string name="app_name">Affichage avancé</string> + <string name="category_screen_title">Écran</string> + <string name="screen_colors_title">Couleurs</string> + <string name="mdnie_scenario_title_head">Scénario</string> + <string name="mdnie_scenario_summary_head">Définir le scénario mDNIe</string> + <string name="mdnie_negative_title_head">Mode négatif</string> + <string name="mdnie_negative_summary_head">Activer/désactiver les couleurs inversées</string> </resources> diff --git a/AdvancedDisplay/res/values-fy-rNL/arrays.xml b/AdvancedDisplay/res/values-fy-rNL/arrays.xml index dbbee7c..c0d51eb 100644 --- a/AdvancedDisplay/res/values-fy-rNL/arrays.xml +++ b/AdvancedDisplay/res/values-fy-rNL/arrays.xml @@ -15,4 +15,20 @@ 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"></resources> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (standert)</item> + <item>Brûkersomjouwing</item> + <item>Fideo</item> + <item>Fideo (waarm)</item> + <item>Fideo (kâld)</item> + <item>Kamera</item> + <item>Navigaasje</item> + <item>Galery</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normaal</item> + <item>Omkeard</item> + </string-array> +</resources> diff --git a/AdvancedDisplay/res/values-fy-rNL/strings.xml b/AdvancedDisplay/res/values-fy-rNL/strings.xml index f5df7fe..a1dea50 100644 --- a/AdvancedDisplay/res/values-fy-rNL/strings.xml +++ b/AdvancedDisplay/res/values-fy-rNL/strings.xml @@ -16,6 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Screen Preference --> - <!-- mDNIe --> + <string name="app_name">Avansearre ynstellingen</string> + <string name="category_screen_title">Skerm</string> + <string name="screen_colors_title">Kleuren</string> + <string name="mdnie_scenario_title_head">Senario</string> + <string name="mdnie_scenario_summary_head">mDNIe-senario ynstelle</string> + <string name="mdnie_negative_title_head">Negative modus</string> + <string name="mdnie_negative_summary_head">Negative kleuren yn-/útskeakelje</string> </resources> diff --git a/AdvancedDisplay/res/values-gl-rES/arrays.xml b/AdvancedDisplay/res/values-gl-rES/arrays.xml index d6c7d5c..64639b8 100644 --- a/AdvancedDisplay/res/values-gl-rES/arrays.xml +++ b/AdvancedDisplay/res/values-gl-rES/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (predeterminado)</item> - <item>IU</item> - <item>Vídeo</item> - <item>Vídeo cálido</item> - <item>Vídeo frío</item> - <item>Cámara</item> - <item>Navegación</item> - <item>Galería</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Invertido</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (predefiniso)</item> + <item>IU</item> + <item>Vídeo</item> + <item>Vídeo cálido</item> + <item>Vídeo frío</item> + <item>Cámara</item> + <item>Navegación</item> + <item>Galería</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Invertido</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-gl-rES/strings.xml b/AdvancedDisplay/res/values-gl-rES/strings.xml index 592ab46..84697f8 100644 --- a/AdvancedDisplay/res/values-gl-rES/strings.xml +++ b/AdvancedDisplay/res/values-gl-rES/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Visualización avanzada</string> - <!-- Screen Preference --> - <string name="category_screen_title">Pantalla</string> - <string name="screen_colors_title">Cores</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Escenario</string> - <string name="mdnie_scenario_summary_head">Estabelecer o escenario mDNIe</string> - <string name="mdnie_negative_title_head">Modo negativo</string> - <string name="mdnie_negative_summary_head">Activar/desactivar cores invertidas</string> + <string name="app_name">Visualización avanzada</string> + <string name="category_screen_title">Pantalla</string> + <string name="screen_colors_title">Cores</string> + <string name="mdnie_scenario_title_head">Escenario</string> + <string name="mdnie_scenario_summary_head">Estabelecer o escenario mDNIe</string> + <string name="mdnie_negative_title_head">Modo negativo</string> + <string name="mdnie_negative_summary_head">Activar/desactivar cores invertidas</string> </resources> diff --git a/AdvancedDisplay/res/values-gu-rIN/arrays.xml b/AdvancedDisplay/res/values-gu-rIN/arrays.xml index 520239d..6b9b42c 100644 --- a/AdvancedDisplay/res/values-gu-rIN/arrays.xml +++ b/AdvancedDisplay/res/values-gu-rIN/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (ડિફૉલ્ટ)</item> - <item>UI</item> - <item>વિડિઓ</item> - <item>વિડિઓ વૉર્મ</item> - <item>વિડિઓ કોલ્ડ</item> - <item>કૅમેરો</item> - <item>નાવિક વિદ્યા</item> - <item>ગેલેરી</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>સામાન્ય</item> - <item>ઉલટાવેલ</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>વિડિઓ</item> + <item>વિડિઓ વૉર્મ</item> + <item>વિડિઓ કોલ્ડ</item> + <item>કૅમેરો</item> + <item>નાવિક વિદ્યા</item> + <item>ગેલેરી</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>સામાન્ય</item> + <item>ઉલટાવેલ</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-gu-rIN/strings.xml b/AdvancedDisplay/res/values-gu-rIN/strings.xml index 47e405d..10e061e 100644 --- a/AdvancedDisplay/res/values-gu-rIN/strings.xml +++ b/AdvancedDisplay/res/values-gu-rIN/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">ઍડવાન્સ્ડ ડિસ્પ્લે</string> - <!-- Screen Preference --> - <string name="category_screen_title">સ્ક્રીન</string> - <string name="screen_colors_title">રંગો</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">દ્રશ્ય</string> - <string name="mdnie_scenario_summary_head">mDNIe દ્રશ્ય સેટ કરો</string> - <string name="mdnie_negative_title_head">નૅવિગેશન મોડ</string> - <string name="mdnie_negative_summary_head">વિપરીત રંગો સક્ષમ/અક્ષમ કરો</string> + <string name="app_name">ઍડવાન્સ્ડ ડિસ્પ્લે</string> + <string name="category_screen_title">સ્ક્રીન</string> + <string name="screen_colors_title">રંગો</string> + <string name="mdnie_scenario_title_head">દ્રશ્ય</string> + <string name="mdnie_scenario_summary_head">mDNIe દ્રશ્ય સેટ કરો</string> + <string name="mdnie_negative_title_head">નૅવિગેશન મોડ</string> + <string name="mdnie_negative_summary_head">વિપરીત રંગો સક્ષમ/અક્ષમ કરો</string> </resources> diff --git a/AdvancedDisplay/res/values-hi/arrays.xml b/AdvancedDisplay/res/values-hi/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-hi/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-hi/strings.xml b/AdvancedDisplay/res/values-hi/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-hi/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-hr/arrays.xml b/AdvancedDisplay/res/values-hr/arrays.xml index 1c4370a..b297c95 100644 --- a/AdvancedDisplay/res/values-hr/arrays.xml +++ b/AdvancedDisplay/res/values-hr/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (zadano)</item> - <item>Korisničko sučelje</item> - <item>Video</item> - <item>Video toplo</item> - <item>Video hladno</item> - <item>Fotoaparat</item> - <item>Navigacija</item> - <item>Galerija</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normalan</item> - <item>Preokrenuto</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>Korisničko sučelje</item> + <item>Video</item> + <item>Video toplo</item> + <item>Video hladno</item> + <item>Fotoaparat</item> + <item>Navigacija</item> + <item>Galerija</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normalan</item> + <item>Preokrenuto</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-hr/strings.xml b/AdvancedDisplay/res/values-hr/strings.xml index 0514418..33eae06 100644 --- a/AdvancedDisplay/res/values-hr/strings.xml +++ b/AdvancedDisplay/res/values-hr/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Napredni zaslon</string> - <!-- Screen Preference --> - <string name="category_screen_title">Zaslon</string> - <string name="screen_colors_title">Boje</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenarij</string> - <string name="mdnie_scenario_summary_head">Podesite mDNIe scenarij</string> - <string name="mdnie_negative_title_head">Negativni način</string> - <string name="mdnie_negative_summary_head">Uključite/isključite obrnute boje</string> + <string name="app_name">Napredni zaslon</string> + <string name="category_screen_title">Zaslon</string> + <string name="screen_colors_title">Boje</string> + <string name="mdnie_scenario_title_head">Scenarij</string> + <string name="mdnie_scenario_summary_head">Podesite mDNIe scenarij</string> + <string name="mdnie_negative_title_head">Negativni način</string> + <string name="mdnie_negative_summary_head">Uključite/isključite obrnute boje</string> </resources> diff --git a/AdvancedDisplay/res/values-hu/arrays.xml b/AdvancedDisplay/res/values-hu/arrays.xml index 9531908..5d175b5 100644 --- a/AdvancedDisplay/res/values-hu/arrays.xml +++ b/AdvancedDisplay/res/values-hu/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (alapbeállítás)</item> - <item>Felhasználói felület</item> - <item>Videó</item> - <item>Videó (Meleg árnyalat)</item> - <item>Videó (Hideg árnyalat)</item> - <item>Kamera</item> - <item>Navigáció</item> - <item>Galéria</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normál</item> - <item>Fordított</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>Felhasználói felület</item> + <item>Videó</item> + <item>Videó (Meleg árnyalat)</item> + <item>Videó (Hideg árnyalat)</item> + <item>Kamera</item> + <item>Navigáció</item> + <item>Galéria</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normál</item> + <item>Fordított</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-hu/strings.xml b/AdvancedDisplay/res/values-hu/strings.xml index 65fd842..016b6d5 100644 --- a/AdvancedDisplay/res/values-hu/strings.xml +++ b/AdvancedDisplay/res/values-hu/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Speciális kijelző</string> - <!-- Screen Preference --> - <string name="category_screen_title">Kijelző</string> - <string name="screen_colors_title">Színek</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Megjelenítés</string> - <string name="mdnie_scenario_summary_head">mDNIe megjelenítési beállítások</string> - <string name="mdnie_negative_title_head">Negatív üzemmód</string> - <string name="mdnie_negative_summary_head">Fordított színek ki/be</string> + <string name="app_name">Speciális kijelző</string> + <string name="category_screen_title">Kijelző</string> + <string name="screen_colors_title">Színek</string> + <string name="mdnie_scenario_title_head">Megjelenítés</string> + <string name="mdnie_scenario_summary_head">mDNIe megjelenítési beállítások</string> + <string name="mdnie_negative_title_head">Negatív üzemmód</string> + <string name="mdnie_negative_summary_head">Fordított színek ki/be</string> </resources> diff --git a/AdvancedDisplay/res/values-hy-rAM/arrays.xml b/AdvancedDisplay/res/values-hy-rAM/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-hy-rAM/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-hy-rAM/strings.xml b/AdvancedDisplay/res/values-hy-rAM/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-hy-rAM/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-in/arrays.xml b/AdvancedDisplay/res/values-in/arrays.xml index 3965a17..81aba4d 100644 --- a/AdvancedDisplay/res/values-in/arrays.xml +++ b/AdvancedDisplay/res/values-in/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (standar)</item> - <item>UI</item> - <item>Video</item> - <item>Video (warna hangat)</item> - <item>Video (warna sejuk)</item> - <item>Kamera</item> - <item>Navigasi</item> - <item>Galeri</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Terbalik</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Video</item> + <item>Video (warna hangat)</item> + <item>Video (warna sejuk)</item> + <item>Kamera</item> + <item>Navigasi</item> + <item>Galeri</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Terbalik</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-in/strings.xml b/AdvancedDisplay/res/values-in/strings.xml index a874913..b2e507f 100644 --- a/AdvancedDisplay/res/values-in/strings.xml +++ b/AdvancedDisplay/res/values-in/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Tampilan lanjutan</string> - <!-- Screen Preference --> - <string name="category_screen_title">Layar</string> - <string name="screen_colors_title">Warna</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Skenario</string> - <string name="mdnie_scenario_summary_head">Setel skenario mDNIe</string> - <string name="mdnie_negative_title_head">Mode negatif</string> - <string name="mdnie_negative_summary_head">Hidup/Matikan warna terbalik</string> + <string name="app_name">Tampilan lanjutan</string> + <string name="category_screen_title">Layar</string> + <string name="screen_colors_title">Warna</string> + <string name="mdnie_scenario_title_head">Skenario</string> + <string name="mdnie_scenario_summary_head">Setel skenario mDNIe</string> + <string name="mdnie_negative_title_head">Mode negatif</string> + <string name="mdnie_negative_summary_head">Hidup/Matikan warna terbalik</string> </resources> diff --git a/AdvancedDisplay/res/values-is-rIS/arrays.xml b/AdvancedDisplay/res/values-is-rIS/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-is-rIS/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-is-rIS/strings.xml b/AdvancedDisplay/res/values-is-rIS/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-is-rIS/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-it/arrays.xml b/AdvancedDisplay/res/values-it/arrays.xml index cb7e82d..1db7781 100644 --- a/AdvancedDisplay/res/values-it/arrays.xml +++ b/AdvancedDisplay/res/values-it/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (predefinito)</item> - <item>UI</item> - <item>Video</item> - <item>Toni caldi</item> - <item>Toni freddi</item> - <item>Fotocamera</item> - <item>Navigazione</item> - <item>Galleria</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normale</item> - <item>Invertito</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Video</item> + <item>Toni caldi</item> + <item>Toni freddi</item> + <item>Fotocamera</item> + <item>Navigazione</item> + <item>Galleria</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normale</item> + <item>Invertito</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-it/strings.xml b/AdvancedDisplay/res/values-it/strings.xml index 1f3325b..6820097 100644 --- a/AdvancedDisplay/res/values-it/strings.xml +++ b/AdvancedDisplay/res/values-it/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Schermo avanzato</string> - <!-- Screen Preference --> - <string name="category_screen_title">Display</string> - <string name="screen_colors_title">Colori</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenario</string> - <string name="mdnie_scenario_summary_head">Imposta scenario mDNle</string> - <string name="mdnie_negative_title_head">Modalità negativo</string> - <string name="mdnie_negative_summary_head">Attiva/Disattiva colori invertiti</string> + <string name="app_name">Schermo avanzato</string> + <string name="category_screen_title">Display</string> + <string name="screen_colors_title">Colori</string> + <string name="mdnie_scenario_title_head">Scenario</string> + <string name="mdnie_scenario_summary_head">Imposta scenario mDNle</string> + <string name="mdnie_negative_title_head">Modalità negativo</string> + <string name="mdnie_negative_summary_head">Attiva/Disattiva colori invertiti</string> </resources> diff --git a/AdvancedDisplay/res/values-iw/arrays.xml b/AdvancedDisplay/res/values-iw/arrays.xml index 7867f03..0f80351 100644 --- a/AdvancedDisplay/res/values-iw/arrays.xml +++ b/AdvancedDisplay/res/values-iw/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (ברירת מחדל)</item> - <item>ממשק משתמש</item> - <item>וידאו</item> - <item>וידאו חם</item> - <item>וידאו קר</item> - <item>מצלמה</item> - <item>ניווט</item> - <item>גלריה</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>רגיל</item> - <item>הפוך</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (ברירת מחדל)</item> + <item>ממשק משתמש</item> + <item>וידאו</item> + <item>וידאו חם</item> + <item>וידאו קר</item> + <item>מצלמה</item> + <item>ניווט</item> + <item>גלריה</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>רגיל</item> + <item>הפוך</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-iw/strings.xml b/AdvancedDisplay/res/values-iw/strings.xml index ed5cbf8..122fc2a 100644 --- a/AdvancedDisplay/res/values-iw/strings.xml +++ b/AdvancedDisplay/res/values-iw/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">תצוגה מתקדמת</string> - <!-- Screen Preference --> - <string name="category_screen_title">מסך</string> - <string name="screen_colors_title">צבעים</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">תרחיש</string> - <string name="mdnie_scenario_summary_head">הגדר תרחיש mDNIe</string> - <string name="mdnie_negative_title_head">מצב שלילי (נגטיב)</string> - <string name="mdnie_negative_summary_head">הפעל/השבת צבעים הפוכים</string> + <string name="app_name">תצוגה מתקדמת</string> + <string name="category_screen_title">מסך</string> + <string name="screen_colors_title">צבעים</string> + <string name="mdnie_scenario_title_head">תרחיש</string> + <string name="mdnie_scenario_summary_head">הגדר תרחיש mDNIe</string> + <string name="mdnie_negative_title_head">מצב שלילי (נגטיב)</string> + <string name="mdnie_negative_summary_head">הפעל/השבת צבעים הפוכים</string> </resources> diff --git a/AdvancedDisplay/res/values-ja/arrays.xml b/AdvancedDisplay/res/values-ja/arrays.xml index 08e9b89..c84ea50 100644 --- a/AdvancedDisplay/res/values-ja/arrays.xml +++ b/AdvancedDisplay/res/values-ja/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>LineageOS(デフォルト)</item> - <item>UI</item> - <item>ビデオ</item> - <item>ビデオ暖色</item> - <item>ビデオ寒色</item> - <item>カメラ</item> - <item>ナビゲーション</item> - <item>ギャラリー</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>標準</item> - <item>反転</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS(デフォルト)</item> + <item>UI</item> + <item>ビデオ</item> + <item>ビデオ暖色</item> + <item>ビデオ寒色</item> + <item>カメラ</item> + <item>ナビゲーション</item> + <item>ギャラリー</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>標準</item> + <item>反転</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-ja/strings.xml b/AdvancedDisplay/res/values-ja/strings.xml index 18abf95..9ec0410 100644 --- a/AdvancedDisplay/res/values-ja/strings.xml +++ b/AdvancedDisplay/res/values-ja/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">ディスプレイの詳細設定</string> - <!-- Screen Preference --> - <string name="category_screen_title">画面</string> - <string name="screen_colors_title">色</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">シナリオ</string> - <string name="mdnie_scenario_summary_head">mDNIeシナリオを設定する</string> - <string name="mdnie_negative_title_head">ネガモード</string> - <string name="mdnie_negative_summary_head">色の反転を有効/無効にする</string> + <string name="app_name">ディスプレイの詳細設定</string> + <string name="category_screen_title">画面</string> + <string name="screen_colors_title">色</string> + <string name="mdnie_scenario_title_head">シナリオ</string> + <string name="mdnie_scenario_summary_head">mDNIeシナリオを設定する</string> + <string name="mdnie_negative_title_head">ネガモード</string> + <string name="mdnie_negative_summary_head">色の反転を有効/無効にする</string> </resources> diff --git a/AdvancedDisplay/res/values-ka-rGE/arrays.xml b/AdvancedDisplay/res/values-ka-rGE/arrays.xml index dbbee7c..020dd4e 100644 --- a/AdvancedDisplay/res/values-ka-rGE/arrays.xml +++ b/AdvancedDisplay/res/values-ka-rGE/arrays.xml @@ -15,4 +15,20 @@ 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"></resources> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>ვიდეო</item> + <item>Video warm</item> + <item>Video cold</item> + <item>Camera</item> + <item>Navigation</item> + <item>გალერეა</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>ჩვეულებრივი</item> + <item>Inverted</item> + </string-array> +</resources> diff --git a/AdvancedDisplay/res/values-ka-rGE/strings.xml b/AdvancedDisplay/res/values-ka-rGE/strings.xml index f5df7fe..3d7d1bd 100644 --- a/AdvancedDisplay/res/values-ka-rGE/strings.xml +++ b/AdvancedDisplay/res/values-ka-rGE/strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Screen Preference --> - <!-- mDNIe --> + <string name="category_screen_title">ეკრანი</string> + <string name="screen_colors_title">ფერები</string> </resources> diff --git a/AdvancedDisplay/res/values-kk-rKZ/arrays.xml b/AdvancedDisplay/res/values-kk-rKZ/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-kk-rKZ/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-kk-rKZ/strings.xml b/AdvancedDisplay/res/values-kk-rKZ/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-kk-rKZ/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-km-rKH/arrays.xml b/AdvancedDisplay/res/values-km-rKH/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-km-rKH/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-km-rKH/strings.xml b/AdvancedDisplay/res/values-km-rKH/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-km-rKH/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-kn-rIN/arrays.xml b/AdvancedDisplay/res/values-kn-rIN/arrays.xml index 4b5f414..7f6708b 100644 --- a/AdvancedDisplay/res/values-kn-rIN/arrays.xml +++ b/AdvancedDisplay/res/values-kn-rIN/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (ಡೀಫಾಲ್ಟ್)</item> - <item>UI</item> - <item>ವೀಡಿಯೋ</item> - <item>ವೀಡಿಯೋ ಬೆಚ್ಚನೆ</item> - <item>ವೀಡಿಯೋ ತಣ್ಣನೆ</item> - <item>ಕ್ಯಾಮೆರಾ</item> - <item>ನಾವಿಗೇಶನ್</item> - <item>ಗ್ಯಾಲರಿ</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>ಸಾಧಾರಣ</item> - <item>ಇನ್ವರ್ಟೆಡ್</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>ವೀಡಿಯೋ</item> + <item>ವೀಡಿಯೋ ಬೆಚ್ಚನೆ</item> + <item>ವೀಡಿಯೋ ತಣ್ಣನೆ</item> + <item>ಕ್ಯಾಮೆರಾ</item> + <item>ನಾವಿಗೇಶನ್</item> + <item>ಗ್ಯಾಲರಿ</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>ಸಾಧಾರಣ</item> + <item>ಇನ್ವರ್ಟೆಡ್</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-kn-rIN/strings.xml b/AdvancedDisplay/res/values-kn-rIN/strings.xml index 348038c..1317a28 100644 --- a/AdvancedDisplay/res/values-kn-rIN/strings.xml +++ b/AdvancedDisplay/res/values-kn-rIN/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">ಸುಧಾರಿತ ಪ್ರದರ್ಶನ</string> - <!-- Screen Preference --> - <string name="category_screen_title">ಪರದೆ</string> - <string name="screen_colors_title">ಬಣ್ಣಗಳು</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">ಸನ್ನಿವೇಶ</string> - <string name="mdnie_scenario_summary_head">mDNIe ಸನ್ನಿವೇಶವನ್ನು ಹೊಂದಿಸಿ</string> - <string name="mdnie_negative_title_head">ನೆಗೆಟಿವ್ ಮೋಡ್</string> - <string name="mdnie_negative_summary_head">ಇನ್ವರ್ಟೆಡ್ ಬಣ್ಣಗಳನ್ನು ಸಕ್ರಿಯ/ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ</string> + <string name="app_name">ಸುಧಾರಿತ ಪ್ರದರ್ಶನ</string> + <string name="category_screen_title">ಪರದೆ</string> + <string name="screen_colors_title">ಬಣ್ಣಗಳು</string> + <string name="mdnie_scenario_title_head">ಸನ್ನಿವೇಶ</string> + <string name="mdnie_scenario_summary_head">mDNIe ಸನ್ನಿವೇಶವನ್ನು ಹೊಂದಿಸಿ</string> + <string name="mdnie_negative_title_head">ನೆಗೆಟಿವ್ ಮೋಡ್</string> + <string name="mdnie_negative_summary_head">ಇನ್ವರ್ಟೆಡ್ ಬಣ್ಣಗಳನ್ನು ಸಕ್ರಿಯ/ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ</string> </resources> diff --git a/AdvancedDisplay/res/values-ko/arrays.xml b/AdvancedDisplay/res/values-ko/arrays.xml index e3fbeb9..bd2c656 100644 --- a/AdvancedDisplay/res/values-ko/arrays.xml +++ b/AdvancedDisplay/res/values-ko/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (기본값)</item> - <item>UI</item> - <item>비디오</item> - <item>비디오 (따뜻한 색)</item> - <item>비디오 (차가운 색)</item> - <item>카메라</item> - <item>내비게이션</item> - <item>갤러리</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>보통</item> - <item>반전</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (기본값)</item> + <item>UI</item> + <item>비디오</item> + <item>비디오 (따뜻한 색)</item> + <item>비디오 (차가운 색)</item> + <item>카메라</item> + <item>내비게이션</item> + <item>갤러리</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>보통</item> + <item>반전</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-ko/strings.xml b/AdvancedDisplay/res/values-ko/strings.xml index c607226..88cec73 100644 --- a/AdvancedDisplay/res/values-ko/strings.xml +++ b/AdvancedDisplay/res/values-ko/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">고급 디스플레이</string> - <!-- Screen Preference --> - <string name="category_screen_title">화면</string> - <string name="screen_colors_title">색상</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">시나리오</string> - <string name="mdnie_scenario_summary_head">mDNIe 시나리오 설정</string> - <string name="mdnie_negative_title_head">반전 모드</string> - <string name="mdnie_negative_summary_head">반전된 색상 사용/사용 안 함</string> + <string name="app_name">고급 디스플레이</string> + <string name="category_screen_title">화면</string> + <string name="screen_colors_title">색상</string> + <string name="mdnie_scenario_title_head">시나리오</string> + <string name="mdnie_scenario_summary_head">mDNIe 시나리오 설정</string> + <string name="mdnie_negative_title_head">반전 모드</string> + <string name="mdnie_negative_summary_head">반전된 색상 사용/사용 안 함</string> </resources> diff --git a/AdvancedDisplay/res/values-ku/arrays.xml b/AdvancedDisplay/res/values-ku/arrays.xml index b541ace..4f2a583 100644 --- a/AdvancedDisplay/res/values-ku/arrays.xml +++ b/AdvancedDisplay/res/values-ku/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>سیانۆجین مۆد (سەرەکی)</item> - <item>UI</item> - <item>ڤیدیۆ</item> - <item>ڤیدیۆی گەرم</item> - <item>ڤیدیۆی سارد</item> - <item>کامێرا</item> - <item>ئاڕاستە</item> - <item>گەلەری</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>ئاسایی</item> - <item>پێچەوانە</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>ڤیدیۆ</item> + <item>ڤیدیۆی گەرم</item> + <item>ڤیدیۆی سارد</item> + <item>کامێرا</item> + <item>ئاڕاستە</item> + <item>گەلەری</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>ئاسایی</item> + <item>پێچەوانە</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-ku/strings.xml b/AdvancedDisplay/res/values-ku/strings.xml index d5ca49b..1190f94 100644 --- a/AdvancedDisplay/res/values-ku/strings.xml +++ b/AdvancedDisplay/res/values-ku/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">پیشاندانی پێشکهوتوو</string> - <!-- Screen Preference --> - <string name="category_screen_title">شاشە</string> - <string name="screen_colors_title">ڕهنگهکان</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">سیناریۆ</string> - <string name="mdnie_scenario_summary_head">دانانی دۆخی mDNIe سیناریۆ</string> - <string name="mdnie_negative_title_head">دۆخی نەرێنی</string> - <string name="mdnie_negative_summary_head">چالاککردن/ناچالاککردنی ڕهنگهکان گۆڕاوەکان</string> + <string name="app_name">پیشاندانی پێشکهوتوو</string> + <string name="category_screen_title">شاشە</string> + <string name="screen_colors_title">ڕهنگهکان</string> + <string name="mdnie_scenario_title_head">سیناریۆ</string> + <string name="mdnie_scenario_summary_head">دانانی دۆخی mDNIe سیناریۆ</string> + <string name="mdnie_negative_title_head">دۆخی نەرێنی</string> + <string name="mdnie_negative_summary_head">چالاککردن/ناچالاککردنی ڕهنگهکان گۆڕاوەکان</string> </resources> diff --git a/AdvancedDisplay/res/values-ky-rKG/arrays.xml b/AdvancedDisplay/res/values-ky-rKG/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-ky-rKG/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-ky-rKG/strings.xml b/AdvancedDisplay/res/values-ky-rKG/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-ky-rKG/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-lb/arrays.xml b/AdvancedDisplay/res/values-lb/arrays.xml index b01294b..47b9e3e 100644 --- a/AdvancedDisplay/res/values-lb/arrays.xml +++ b/AdvancedDisplay/res/values-lb/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (Standard)</item> - <item>UI</item> - <item>Video</item> - <item>Video (waarm)</item> - <item>Video (kal)</item> - <item>Kamera</item> - <item>Navigatioun</item> - <item>Galerie</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Invertéiert</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Video</item> + <item>Video (waarm)</item> + <item>Video (kal)</item> + <item>Kamera</item> + <item>Navigatioun</item> + <item>Galerie</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Invertéiert</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-lb/strings.xml b/AdvancedDisplay/res/values-lb/strings.xml index 1b8489d..461d6a8 100644 --- a/AdvancedDisplay/res/values-lb/strings.xml +++ b/AdvancedDisplay/res/values-lb/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Erweiderte Schierm</string> - <!-- Screen Preference --> - <string name="category_screen_title">Schierm</string> - <string name="screen_colors_title">Faarwen</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Zeenario</string> - <string name="mdnie_scenario_summary_head">mDNIe-Zeenario auswielen</string> - <string name="mdnie_negative_title_head">Negativ-Modus</string> - <string name="mdnie_negative_summary_head">Aktivéier/desaktivéier invertéiert Faarwen</string> + <string name="app_name">Erweiderte Schierm</string> + <string name="category_screen_title">Schierm</string> + <string name="screen_colors_title">Faarwen</string> + <string name="mdnie_scenario_title_head">Zeenario</string> + <string name="mdnie_scenario_summary_head">mDNIe-Zeenario auswielen</string> + <string name="mdnie_negative_title_head">Negativ-Modus</string> + <string name="mdnie_negative_summary_head">Aktivéier/desaktivéier invertéiert Faarwen</string> </resources> diff --git a/AdvancedDisplay/res/values-lo-rLA/arrays.xml b/AdvancedDisplay/res/values-lo-rLA/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-lo-rLA/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-lo-rLA/strings.xml b/AdvancedDisplay/res/values-lo-rLA/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-lo-rLA/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-lt/arrays.xml b/AdvancedDisplay/res/values-lt/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-lt/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-lt/strings.xml b/AdvancedDisplay/res/values-lt/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-lt/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-lv/arrays.xml b/AdvancedDisplay/res/values-lv/arrays.xml index c976f61..bee845b 100644 --- a/AdvancedDisplay/res/values-lv/arrays.xml +++ b/AdvancedDisplay/res/values-lv/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (noklusētais)</item> - <item>Lietotāja saskarne</item> - <item>Video</item> - <item>Silts video</item> - <item>Auksts video</item> - <item>Kamera</item> - <item>Navigācija</item> - <item>Galerija</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Parasts</item> - <item>Invertēts</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>Lietotāja saskarne</item> + <item>Video</item> + <item>Silts video</item> + <item>Auksts video</item> + <item>Kamera</item> + <item>Navigācija</item> + <item>Galerija</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Parasts</item> + <item>Invertēts</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-lv/strings.xml b/AdvancedDisplay/res/values-lv/strings.xml index a309493..f8e9531 100644 --- a/AdvancedDisplay/res/values-lv/strings.xml +++ b/AdvancedDisplay/res/values-lv/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Papildu displejs</string> - <!-- Screen Preference --> - <string name="category_screen_title">Ekrāns</string> - <string name="screen_colors_title">Krāsas</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenārijs</string> - <string name="mdnie_scenario_summary_head">Uzstādīt mDNIe scenāriju</string> - <string name="mdnie_negative_title_head">Negatīvs režīms</string> - <string name="mdnie_negative_summary_head">Ieslēgt/izslēgt apvērstās krāsas</string> + <string name="app_name">Papildu displejs</string> + <string name="category_screen_title">Ekrāns</string> + <string name="screen_colors_title">Krāsas</string> + <string name="mdnie_scenario_title_head">Scenārijs</string> + <string name="mdnie_scenario_summary_head">Uzstādīt mDNIe scenāriju</string> + <string name="mdnie_negative_title_head">Negatīvs režīms</string> + <string name="mdnie_negative_summary_head">Ieslēgt/izslēgt apvērstās krāsas</string> </resources> diff --git a/AdvancedDisplay/res/values-mk-rMK/arrays.xml b/AdvancedDisplay/res/values-mk-rMK/arrays.xml index dbbee7c..c53d673 100644 --- a/AdvancedDisplay/res/values-mk-rMK/arrays.xml +++ b/AdvancedDisplay/res/values-mk-rMK/arrays.xml @@ -15,4 +15,16 @@ 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"></resources> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (стандардно)</item> + <item>UI</item> + <item>Video</item> + <item>Video warm</item> + <item>Video cold</item> + <item>Camera</item> + <item>Navigation</item> + <item>Gallery</item> + <item>VT</item> + </string-array> +</resources> diff --git a/AdvancedDisplay/res/values-mk-rMK/strings.xml b/AdvancedDisplay/res/values-mk-rMK/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-mk-rMK/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-ml-rIN/arrays.xml b/AdvancedDisplay/res/values-ml-rIN/arrays.xml index de45c84..1a47d04 100644 --- a/AdvancedDisplay/res/values-ml-rIN/arrays.xml +++ b/AdvancedDisplay/res/values-ml-rIN/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (default)</item> - <item>UI</item> - <item>വീഡിയോ</item> - <item>ഊഷ്മള നിറങ്ങൾ</item> - <item>തണുത്ത നിറങ്ങൾ</item> - <item>ക്യാമറ</item> - <item>വഴികാട്ടി</item> - <item>ഗാലറി</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>സാധാരണം</item> - <item>വിപരീതദിശയിലാക്കി</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>വീഡിയോ</item> + <item>ഊഷ്മള നിറങ്ങൾ</item> + <item>തണുത്ത നിറങ്ങൾ</item> + <item>ക്യാമറ</item> + <item>വഴികാട്ടി</item> + <item>ഗാലറി</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>സാധാരണം</item> + <item>വിപരീതദിശയിലാക്കി</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-ml-rIN/strings.xml b/AdvancedDisplay/res/values-ml-rIN/strings.xml index fd22b3d..e3b275b 100644 --- a/AdvancedDisplay/res/values-ml-rIN/strings.xml +++ b/AdvancedDisplay/res/values-ml-rIN/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">വികസിത ഡിസ്പ്ലേ</string> - <!-- Screen Preference --> - <string name="category_screen_title">സ്ക്രീൻ</string> - <string name="screen_colors_title">നിറങ്ങൾ</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">അവസ്ഥ</string> - <string name="mdnie_scenario_summary_head">mDNle അവസ്ഥ സജ്ജമാക്കാൻ</string> - <string name="mdnie_negative_title_head">നെഗറ്റീവ് മോഡ്</string> - <string name="mdnie_negative_summary_head">വിപരീതം നിറങ്ങൾ ഓൺ-ഓഫ് ചെയ്യുക</string> + <string name="app_name">വികസിത ഡിസ്പ്ലേ</string> + <string name="category_screen_title">സ്ക്രീൻ</string> + <string name="screen_colors_title">നിറങ്ങൾ</string> + <string name="mdnie_scenario_title_head">അവസ്ഥ</string> + <string name="mdnie_scenario_summary_head">mDNle അവസ്ഥ സജ്ജമാക്കാൻ</string> + <string name="mdnie_negative_title_head">നെഗറ്റീവ് മോഡ്</string> + <string name="mdnie_negative_summary_head">വിപരീതം നിറങ്ങൾ ഓൺ-ഓഫ് ചെയ്യുക</string> </resources> diff --git a/AdvancedDisplay/res/values-mn-rMN/arrays.xml b/AdvancedDisplay/res/values-mn-rMN/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-mn-rMN/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-mn-rMN/strings.xml b/AdvancedDisplay/res/values-mn-rMN/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-mn-rMN/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-mr-rIN/arrays.xml b/AdvancedDisplay/res/values-mr-rIN/arrays.xml index 81d0356..a465394 100644 --- a/AdvancedDisplay/res/values-mr-rIN/arrays.xml +++ b/AdvancedDisplay/res/values-mr-rIN/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (डिफॉल्ट)</item> - <item>युआय</item> - <item>व्हिडिओ</item> - <item>व्हिडिओ वॉर्म</item> - <item>व्हिडिओ कोल्ड</item> - <item>कॅमेरा</item> - <item>नॅव्हिगेशन</item> - <item>गॅलरी</item> - <item>व्हीटी</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>सामान्य</item> - <item>अधोमुख</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>युआय</item> + <item>व्हिडिओ</item> + <item>व्हिडिओ वॉर्म</item> + <item>व्हिडिओ कोल्ड</item> + <item>कॅमेरा</item> + <item>नॅव्हिगेशन</item> + <item>गॅलरी</item> + <item>व्हीटी</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>सामान्य</item> + <item>अधोमुख</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-mr-rIN/strings.xml b/AdvancedDisplay/res/values-mr-rIN/strings.xml index 35b355e..bb935f8 100644 --- a/AdvancedDisplay/res/values-mr-rIN/strings.xml +++ b/AdvancedDisplay/res/values-mr-rIN/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">प्रगत प्रदर्शन</string> - <!-- Screen Preference --> - <string name="category_screen_title">स्क्रीन</string> - <string name="screen_colors_title">रंग</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">परिस्थिती</string> - <string name="mdnie_scenario_summary_head">mDNIe परिस्थिती सेट करा</string> - <string name="mdnie_negative_title_head">नकारात्मक मोड</string> - <string name="mdnie_negative_summary_head">अधोमुख रंग सक्षम करा/अक्षम करा</string> + <string name="app_name">प्रगत प्रदर्शन</string> + <string name="category_screen_title">स्क्रीन</string> + <string name="screen_colors_title">रंग</string> + <string name="mdnie_scenario_title_head">परिस्थिती</string> + <string name="mdnie_scenario_summary_head">mDNIe परिस्थिती सेट करा</string> + <string name="mdnie_negative_title_head">नकारात्मक मोड</string> + <string name="mdnie_negative_summary_head">अधोमुख रंग सक्षम करा/अक्षम करा</string> </resources> diff --git a/AdvancedDisplay/res/values-ms-rMY/arrays.xml b/AdvancedDisplay/res/values-ms-rMY/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-ms-rMY/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-ms-rMY/strings.xml b/AdvancedDisplay/res/values-ms-rMY/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-ms-rMY/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-my-rMM/arrays.xml b/AdvancedDisplay/res/values-my-rMM/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-my-rMM/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-my-rMM/strings.xml b/AdvancedDisplay/res/values-my-rMM/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-my-rMM/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-nb/arrays.xml b/AdvancedDisplay/res/values-nb/arrays.xml index 23e3cfc..b6efac4 100644 --- a/AdvancedDisplay/res/values-nb/arrays.xml +++ b/AdvancedDisplay/res/values-nb/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (standard)</item> - <item>UI</item> - <item>Video</item> - <item>Video varme</item> - <item>Video kulde</item> - <item>Kamera</item> - <item>Navigasjon</item> - <item>Galleri</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Invertert</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Video</item> + <item>Video varme</item> + <item>Video kulde</item> + <item>Kamera</item> + <item>Navigasjon</item> + <item>Galleri</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Invertert</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-nb/strings.xml b/AdvancedDisplay/res/values-nb/strings.xml index 6a80855..989fa47 100644 --- a/AdvancedDisplay/res/values-nb/strings.xml +++ b/AdvancedDisplay/res/values-nb/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Avansert visning</string> - <!-- Screen Preference --> - <string name="category_screen_title">Skjerm</string> - <string name="screen_colors_title">Farger</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenario</string> - <string name="mdnie_scenario_summary_head">Angi mDNIe scenariet</string> - <string name="mdnie_negative_title_head">Negativ modus</string> - <string name="mdnie_negative_summary_head">Aktiver/deaktiver inverterte farger</string> + <string name="app_name">Avansert visning</string> + <string name="category_screen_title">Skjerm</string> + <string name="screen_colors_title">Farger</string> + <string name="mdnie_scenario_title_head">Scenario</string> + <string name="mdnie_scenario_summary_head">Angi mDNIe scenariet</string> + <string name="mdnie_negative_title_head">Negativ modus</string> + <string name="mdnie_negative_summary_head">Aktiver/deaktiver inverterte farger</string> </resources> diff --git a/AdvancedDisplay/res/values-ne-rNP/arrays.xml b/AdvancedDisplay/res/values-ne-rNP/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-ne-rNP/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-ne-rNP/strings.xml b/AdvancedDisplay/res/values-ne-rNP/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-ne-rNP/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-nl/arrays.xml b/AdvancedDisplay/res/values-nl/arrays.xml index a07d1d4..cce9df2 100644 --- a/AdvancedDisplay/res/values-nl/arrays.xml +++ b/AdvancedDisplay/res/values-nl/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>LineageOS (standaard)</item> - <item>Gebruikersomgeving</item> - <item>Video</item> - <item>Video (warm)</item> - <item>Video (koud)</item> - <item>Camera</item> - <item>Navigatie</item> - <item>Galerij</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normaal</item> - <item>Omgedraaid</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (standaard)</item> + <item>Gebruikersomgeving</item> + <item>Video</item> + <item>Video (warm)</item> + <item>Video (koud)</item> + <item>Camera</item> + <item>Navigatie</item> + <item>Galerij</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normaal</item> + <item>Omgedraaid</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-nl/strings.xml b/AdvancedDisplay/res/values-nl/strings.xml index 1be5713..715fe80 100644 --- a/AdvancedDisplay/res/values-nl/strings.xml +++ b/AdvancedDisplay/res/values-nl/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Geavanceerde instellingen</string> - <!-- Screen Preference --> - <string name="category_screen_title">Scherm</string> - <string name="screen_colors_title">Kleuren</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenario</string> - <string name="mdnie_scenario_summary_head">mDNIe-scenario instellen</string> - <string name="mdnie_negative_title_head">Negatieve modus</string> - <string name="mdnie_negative_summary_head">Negatieve kleuren in-/uitschakelen</string> + <string name="app_name">Geavanceerde instellingen</string> + <string name="category_screen_title">Scherm</string> + <string name="screen_colors_title">Kleuren</string> + <string name="mdnie_scenario_title_head">Scenario</string> + <string name="mdnie_scenario_summary_head">mDNIe-scenario instellen</string> + <string name="mdnie_negative_title_head">Negatieve modus</string> + <string name="mdnie_negative_summary_head">Negatieve kleuren in-/uitschakelen</string> </resources> diff --git a/AdvancedDisplay/res/values-or-rIN/arrays.xml b/AdvancedDisplay/res/values-or-rIN/arrays.xml index 5c9ce8c..a45371b 100644 --- a/AdvancedDisplay/res/values-or-rIN/arrays.xml +++ b/AdvancedDisplay/res/values-or-rIN/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>ସାଇନୋଜେନ୍ ମୋଡ୍ (ଡିଫଲ୍ଟ)</item> - <item>UI</item> - <item>ଭିଡିଓ</item> - <item>ଭିଡିଓ ୱାର୍ମ୍</item> - <item>ଭିଡିଓ କୋଲ୍ଡ</item> - <item>କ୍ୟାମେରା</item> - <item>ନେଭିଗେସନ୍</item> - <item>ଗ୍ୟାଲେରୀ</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>ସାଧାରଣ</item> - <item>ଓଲଟା</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>ଭିଡିଓ</item> + <item>ଭିଡିଓ ୱାର୍ମ୍</item> + <item>ଭିଡିଓ କୋଲ୍ଡ</item> + <item>କ୍ୟାମେରା</item> + <item>ନେଭିଗେସନ୍</item> + <item>ଗ୍ୟାଲେରୀ</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>ସାଧାରଣ</item> + <item>ଓଲଟା</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-or-rIN/strings.xml b/AdvancedDisplay/res/values-or-rIN/strings.xml index c6a0d9c..b0f5457 100644 --- a/AdvancedDisplay/res/values-or-rIN/strings.xml +++ b/AdvancedDisplay/res/values-or-rIN/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">ଉନ୍ନତ ଡିସ୍ପ୍ଲେ</string> - <!-- Screen Preference --> - <string name="category_screen_title">ସ୍କ୍ରିନ୍</string> - <string name="screen_colors_title">ରଙ୍ଗଗୁଡିକ</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">ଦୃଶ୍ୟପଟ</string> - <string name="mdnie_scenario_summary_head">mDNIe ଦୃଶ୍ୟପଟ ସେଟ୍ କରନ୍ତୁ</string> - <string name="mdnie_negative_title_head">ନେଗେଟିଭ୍ ମୋଡ୍</string> - <string name="mdnie_negative_summary_head">ଇନ୍ଭର୍ଟେଡ ରଙ୍ଗ ସଷମ/ଅଷମ କରନ୍ତୁ</string> + <string name="app_name">ଉନ୍ନତ ଡିସ୍ପ୍ଲେ</string> + <string name="category_screen_title">ସ୍କ୍ରିନ୍</string> + <string name="screen_colors_title">ରଙ୍ଗଗୁଡିକ</string> + <string name="mdnie_scenario_title_head">ଦୃଶ୍ୟପଟ</string> + <string name="mdnie_scenario_summary_head">mDNIe ଦୃଶ୍ୟପଟ ସେଟ୍ କରନ୍ତୁ</string> + <string name="mdnie_negative_title_head">ନେଗେଟିଭ୍ ମୋଡ୍</string> + <string name="mdnie_negative_summary_head">ଇନ୍ଭର୍ଟେଡ ରଙ୍ଗ ସଷମ/ଅଷମ କରନ୍ତୁ</string> </resources> diff --git a/AdvancedDisplay/res/values-pa-rIN/arrays.xml b/AdvancedDisplay/res/values-pa-rIN/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-pa-rIN/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-pa-rIN/strings.xml b/AdvancedDisplay/res/values-pa-rIN/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-pa-rIN/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-pl/arrays.xml b/AdvancedDisplay/res/values-pl/arrays.xml index f78f45b..b857e94 100644 --- a/AdvancedDisplay/res/values-pl/arrays.xml +++ b/AdvancedDisplay/res/values-pl/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (domyślnie)</item> - <item>UI</item> - <item>Wideo</item> - <item>Ciepły film</item> - <item>Zimny film</item> - <item>Aparat</item> - <item>Nawigacja</item> - <item>Galeria</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normalny</item> - <item>Odwrócony</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (domyślnie)</item> + <item>UI</item> + <item>Wideo</item> + <item>Ciepły film</item> + <item>Zimny film</item> + <item>Aparat</item> + <item>Nawigacja</item> + <item>Galeria</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normalny</item> + <item>Odwrócony</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-pl/strings.xml b/AdvancedDisplay/res/values-pl/strings.xml index c746a26..04c7a73 100644 --- a/AdvancedDisplay/res/values-pl/strings.xml +++ b/AdvancedDisplay/res/values-pl/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Zaawansowane ustawienia ekranu</string> - <!-- Screen Preference --> - <string name="category_screen_title">Ekran</string> - <string name="screen_colors_title">Kolory</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenerie</string> - <string name="mdnie_scenario_summary_head">Ustaw scenariusz mDNIe</string> - <string name="mdnie_negative_title_head">Tryb negatywu</string> - <string name="mdnie_negative_summary_head">Włącz/wyłącz odwrócone kolory</string> + <string name="app_name">Zaawansowane ustawienia ekranu</string> + <string name="category_screen_title">Ekran</string> + <string name="screen_colors_title">Kolory</string> + <string name="mdnie_scenario_title_head">Scenerie</string> + <string name="mdnie_scenario_summary_head">Ustaw scenariusz mDNIe</string> + <string name="mdnie_negative_title_head">Tryb negatywu</string> + <string name="mdnie_negative_summary_head">Włącz/wyłącz odwrócone kolory</string> </resources> diff --git a/AdvancedDisplay/res/values-pt-rBR/arrays.xml b/AdvancedDisplay/res/values-pt-rBR/arrays.xml index 88525ab..e8fe7e9 100644 --- a/AdvancedDisplay/res/values-pt-rBR/arrays.xml +++ b/AdvancedDisplay/res/values-pt-rBR/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (padrão)</item> - <item>IU</item> - <item>Vídeo</item> - <item>Vídeo quente</item> - <item>Vídeo frio</item> - <item>Câmera</item> - <item>Navegação</item> - <item>Galeria</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Invertido</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (padrão)</item> + <item>IU</item> + <item>Vídeo</item> + <item>Vídeo quente</item> + <item>Vídeo frio</item> + <item>Câmera</item> + <item>Navegação</item> + <item>Galeria</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Invertido</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-pt-rBR/strings.xml b/AdvancedDisplay/res/values-pt-rBR/strings.xml index 68708f1..32d1ca9 100644 --- a/AdvancedDisplay/res/values-pt-rBR/strings.xml +++ b/AdvancedDisplay/res/values-pt-rBR/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Display avançado</string> - <!-- Screen Preference --> - <string name="category_screen_title">Tela</string> - <string name="screen_colors_title">Cores</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Cenário</string> - <string name="mdnie_scenario_summary_head">Define o cenário mDNIe</string> - <string name="mdnie_negative_title_head">Modo negativo</string> - <string name="mdnie_negative_summary_head">Ativar/desativar cores invertidas</string> + <string name="app_name">Display avançado</string> + <string name="category_screen_title">Tela</string> + <string name="screen_colors_title">Cores</string> + <string name="mdnie_scenario_title_head">Cenário</string> + <string name="mdnie_scenario_summary_head">Define o cenário mDNIe</string> + <string name="mdnie_negative_title_head">Modo negativo</string> + <string name="mdnie_negative_summary_head">Ativar/desativar cores invertidas</string> </resources> diff --git a/AdvancedDisplay/res/values-pt-rPT/arrays.xml b/AdvancedDisplay/res/values-pt-rPT/arrays.xml index 83367aa..eca28e5 100644 --- a/AdvancedDisplay/res/values-pt-rPT/arrays.xml +++ b/AdvancedDisplay/res/values-pt-rPT/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>LineageOS (padrão)</item> - <item>Interface do Utilizador</item> - <item>Vídeo</item> - <item>Modo vídeo quente</item> - <item>Modo vídeo frio</item> - <item>Câmara</item> - <item>Navegação</item> - <item>Galeria</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Invertido</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (padrão)</item> + <item>Interface do Utilizador</item> + <item>Vídeo</item> + <item>Modo vídeo quente</item> + <item>Modo vídeo frio</item> + <item>Câmara</item> + <item>Navegação</item> + <item>Galeria</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Invertido</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-pt-rPT/strings.xml b/AdvancedDisplay/res/values-pt-rPT/strings.xml index fdcabb5..78b246a 100644 --- a/AdvancedDisplay/res/values-pt-rPT/strings.xml +++ b/AdvancedDisplay/res/values-pt-rPT/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Visualização avançada</string> - <!-- Screen Preference --> - <string name="category_screen_title">Ecrã</string> - <string name="screen_colors_title">Cores</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Cenário</string> - <string name="mdnie_scenario_summary_head">Definir o cenário mDNIe</string> - <string name="mdnie_negative_title_head">Modo negativo</string> - <string name="mdnie_negative_summary_head">Ativar/desativar cores invertidas</string> + <string name="app_name">Visualização avançada</string> + <string name="category_screen_title">Ecrã</string> + <string name="screen_colors_title">Cores</string> + <string name="mdnie_scenario_title_head">Cenário</string> + <string name="mdnie_scenario_summary_head">Definir o cenário mDNIe</string> + <string name="mdnie_negative_title_head">Modo negativo</string> + <string name="mdnie_negative_summary_head">Ativar/desativar cores invertidas</string> </resources> diff --git a/AdvancedDisplay/res/values-rm/arrays.xml b/AdvancedDisplay/res/values-rm/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-rm/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-rm/strings.xml b/AdvancedDisplay/res/values-rm/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-rm/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-ro/arrays.xml b/AdvancedDisplay/res/values-ro/arrays.xml index 4acc6fd..7faaee7 100644 --- a/AdvancedDisplay/res/values-ro/arrays.xml +++ b/AdvancedDisplay/res/values-ro/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (implicit)</item> - <item>Mod UI</item> - <item>Mod Video</item> - <item>Mod Video Cald</item> - <item>Mod Video Rece</item> - <item>Cameră</item> - <item>Navigare</item> - <item>Galerie</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Inversat</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (implicit)</item> + <item>Mod UI</item> + <item>Mod Video</item> + <item>Mod Video Cald</item> + <item>Mod Video Rece</item> + <item>Cameră</item> + <item>Navigare</item> + <item>Galerie</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Inversat</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-ro/strings.xml b/AdvancedDisplay/res/values-ro/strings.xml index 1c5e86b..5ca30b2 100644 --- a/AdvancedDisplay/res/values-ro/strings.xml +++ b/AdvancedDisplay/res/values-ro/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Setări avansate de afișare</string> - <!-- Screen Preference --> - <string name="category_screen_title">Ecran</string> - <string name="screen_colors_title">Culori</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenariu</string> - <string name="mdnie_scenario_summary_head">Setează scenariul mDNIe</string> - <string name="mdnie_negative_title_head">Mod culori negative</string> - <string name="mdnie_negative_summary_head">Activează/dezactivează culori inversate</string> + <string name="app_name">Setări avansate de afișare</string> + <string name="category_screen_title">Ecran</string> + <string name="screen_colors_title">Culori</string> + <string name="mdnie_scenario_title_head">Scenariu</string> + <string name="mdnie_scenario_summary_head">Setează scenariul mDNIe</string> + <string name="mdnie_negative_title_head">Mod culori negative</string> + <string name="mdnie_negative_summary_head">Activează/dezactivează culori inversate</string> </resources> diff --git a/AdvancedDisplay/res/values-ru/arrays.xml b/AdvancedDisplay/res/values-ru/arrays.xml index 60fc79a..746df01 100644 --- a/AdvancedDisplay/res/values-ru/arrays.xml +++ b/AdvancedDisplay/res/values-ru/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (по умолчанию)</item> - <item>Интерфейс</item> - <item>Фильм</item> - <item>Фильм — тёплые тона</item> - <item>Фильм — холодные тона</item> - <item>Камера</item> - <item>Навигация</item> - <item>Галерея</item> - <item>Видеосвязь</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Обычный</item> - <item>Инверсия</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (по умолчанию)</item> + <item>Интерфейс</item> + <item>Фильм</item> + <item>Фильм — теплые тона</item> + <item>Фильм — холодные тона</item> + <item>Камера</item> + <item>Навигация</item> + <item>Галерея</item> + <item>Видеосвязь</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Обычный</item> + <item>Инверсия</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-ru/strings.xml b/AdvancedDisplay/res/values-ru/strings.xml index fca183f..bb39251 100644 --- a/AdvancedDisplay/res/values-ru/strings.xml +++ b/AdvancedDisplay/res/values-ru/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Настройки экрана</string> - <!-- Screen Preference --> - <string name="category_screen_title">Экран</string> - <string name="screen_colors_title">Цвета</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Сценарий</string> - <string name="mdnie_scenario_summary_head">Установка сценария mDNIe</string> - <string name="mdnie_negative_title_head">Негатив</string> - <string name="mdnie_negative_summary_head">Включить инверсию цвета</string> + <string name="app_name">Настройки экрана</string> + <string name="category_screen_title">Экран</string> + <string name="screen_colors_title">Цвета</string> + <string name="mdnie_scenario_title_head">Сценарий</string> + <string name="mdnie_scenario_summary_head">Установка сценария mDNIe</string> + <string name="mdnie_negative_title_head">Негатив</string> + <string name="mdnie_negative_summary_head">Включить инверсию цвета</string> </resources> diff --git a/AdvancedDisplay/res/values-en-rPT/strings.xml b/AdvancedDisplay/res/values-sc-rIT/arrays.xml index f5df7fe..d4a223f 100644 --- a/AdvancedDisplay/res/values-en-rPT/strings.xml +++ b/AdvancedDisplay/res/values-sc-rIT/arrays.xml @@ -16,6 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Screen Preference --> - <!-- mDNIe --> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (predefinidu)</item> + <item>UI</item> + <item>Vìdeu</item> + <item>Video warm</item> + <item>Video cold</item> + <item>Fotocàmera</item> + <item>Navigatzione</item> + <item>Galleria</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normale</item> + <item>Inverted</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-bs-rBA/strings.xml b/AdvancedDisplay/res/values-sc-rIT/strings.xml index f5df7fe..ba65d04 100644 --- a/AdvancedDisplay/res/values-bs-rBA/strings.xml +++ b/AdvancedDisplay/res/values-sc-rIT/strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Screen Preference --> - <!-- mDNIe --> + <string name="category_screen_title">Ischermu</string> + <string name="screen_colors_title">Colores</string> </resources> diff --git a/AdvancedDisplay/res/values-si-rLK/arrays.xml b/AdvancedDisplay/res/values-si-rLK/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-si-rLK/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-si-rLK/strings.xml b/AdvancedDisplay/res/values-si-rLK/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-si-rLK/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-sk/arrays.xml b/AdvancedDisplay/res/values-sk/arrays.xml index 0c805cb..0aacc07 100644 --- a/AdvancedDisplay/res/values-sk/arrays.xml +++ b/AdvancedDisplay/res/values-sk/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (predvolené)</item> - <item>Používateľské rozhranie</item> - <item>Video</item> - <item>Teplé video</item> - <item>Chladné video</item> - <item>Fotoaparát</item> - <item>Navigácia</item> - <item>Galéria</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normálne</item> - <item>Obrátené</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (predvolené)</item> + <item>Používateľské rozhranie</item> + <item>Video</item> + <item>Teplé video</item> + <item>Chladné video</item> + <item>Fotoaparát</item> + <item>Navigácia</item> + <item>Galéria</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normálne</item> + <item>Obrátené</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-sk/strings.xml b/AdvancedDisplay/res/values-sk/strings.xml index 340001c..0626637 100644 --- a/AdvancedDisplay/res/values-sk/strings.xml +++ b/AdvancedDisplay/res/values-sk/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Pokročilé zobrazenie</string> - <!-- Screen Preference --> - <string name="category_screen_title">Obrazovka</string> - <string name="screen_colors_title">Farby</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenár</string> - <string name="mdnie_scenario_summary_head">Nastaviť scenár mDNIe</string> - <string name="mdnie_negative_title_head">Inverzný režim</string> - <string name="mdnie_negative_summary_head">Povoliť/zakázať obrátené farby</string> + <string name="app_name">Pokročilé zobrazenie</string> + <string name="category_screen_title">Obrazovka</string> + <string name="screen_colors_title">Farby</string> + <string name="mdnie_scenario_title_head">Scenár</string> + <string name="mdnie_scenario_summary_head">Nastaviť scenár mDNIe</string> + <string name="mdnie_negative_title_head">Inverzný režim</string> + <string name="mdnie_negative_summary_head">Povoliť/zakázať obrátené farby</string> </resources> diff --git a/AdvancedDisplay/res/values-sl/arrays.xml b/AdvancedDisplay/res/values-sl/arrays.xml index ebd75ff..3df1d78 100644 --- a/AdvancedDisplay/res/values-sl/arrays.xml +++ b/AdvancedDisplay/res/values-sl/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (privzeti)</item> - <item>UI</item> - <item>Videopos.</item> - <item>Topel videoposnetek</item> - <item>Hladen videoposnetek</item> - <item>Fotoaparat</item> - <item>Navigacija</item> - <item>Galerija</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Običajno</item> - <item>Obrnjeno</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (privzeto)</item> + <item>UI</item> + <item>Videopos.</item> + <item>Topel videoposnetek</item> + <item>Hladen videoposnetek</item> + <item>Fotoaparat</item> + <item>Navigacija</item> + <item>Galerija</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Običajno</item> + <item>Obrnjeno</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-sl/strings.xml b/AdvancedDisplay/res/values-sl/strings.xml index 87651d1..fa00e7c 100644 --- a/AdvancedDisplay/res/values-sl/strings.xml +++ b/AdvancedDisplay/res/values-sl/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Napreden zaslon</string> - <!-- Screen Preference --> - <string name="category_screen_title">Zaslon</string> - <string name="screen_colors_title">Barve</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenarij</string> - <string name="mdnie_scenario_summary_head">Nastavite scenarij mDNIe</string> - <string name="mdnie_negative_title_head">Način negativa</string> - <string name="mdnie_negative_summary_head">Omogoči/Onemogoči obrnjene barve</string> + <string name="app_name">Napreden zaslon</string> + <string name="category_screen_title">Zaslon</string> + <string name="screen_colors_title">Barve</string> + <string name="mdnie_scenario_title_head">Scenarij</string> + <string name="mdnie_scenario_summary_head">Nastavite scenarij mDNIe</string> + <string name="mdnie_negative_title_head">Način negativa</string> + <string name="mdnie_negative_summary_head">Omogoči/Onemogoči obrnjene barve</string> </resources> diff --git a/AdvancedDisplay/res/values-sq-rAL/arrays.xml b/AdvancedDisplay/res/values-sq-rAL/arrays.xml index dbbee7c..6aa4829 100644 --- a/AdvancedDisplay/res/values-sq-rAL/arrays.xml +++ b/AdvancedDisplay/res/values-sq-rAL/arrays.xml @@ -15,4 +15,20 @@ 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"></resources> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Video</item> + <item>Video e ngrohtë</item> + <item>Video e ftohtë</item> + <item>Kamera</item> + <item>Lundrimi</item> + <item>Galeria</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Negativi</item> + </string-array> +</resources> diff --git a/AdvancedDisplay/res/values-sq-rAL/strings.xml b/AdvancedDisplay/res/values-sq-rAL/strings.xml index f5df7fe..9e0010f 100644 --- a/AdvancedDisplay/res/values-sq-rAL/strings.xml +++ b/AdvancedDisplay/res/values-sq-rAL/strings.xml @@ -16,6 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Screen Preference --> - <!-- mDNIe --> + <string name="app_name">Ekran i përparuar</string> + <string name="category_screen_title">Ekrani</string> + <string name="screen_colors_title">Ngjyrat</string> + <string name="mdnie_scenario_title_head">Skenari</string> + <string name="mdnie_scenario_summary_head">Vendos skenarin mDNIe</string> + <string name="mdnie_negative_title_head">Profili negativ</string> + <string name="mdnie_negative_summary_head">Aktivizo/çaktivizo ngjyrat inverse</string> </resources> diff --git a/AdvancedDisplay/res/values-sr/arrays.xml b/AdvancedDisplay/res/values-sr/arrays.xml index 4692e3f..06a8369 100644 --- a/AdvancedDisplay/res/values-sr/arrays.xml +++ b/AdvancedDisplay/res/values-sr/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (подразумевано)</item> - <item>Кориснички интерфејс</item> - <item>Видео</item> - <item>Видео топло</item> - <item>Видео хладно</item> - <item>Камера</item> - <item>Навигација</item> - <item>Галерија</item> - <item>ВТ</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Нормално</item> - <item>Обрнуто</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (подразумевано)</item> + <item>Интерфејс</item> + <item>Филм</item> + <item>Филм — топли тонови</item> + <item>Филм — хладни тонови</item> + <item>Камера</item> + <item>Навигација</item> + <item>Галерија</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Нормално</item> + <item>Обрнуто</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-sr/strings.xml b/AdvancedDisplay/res/values-sr/strings.xml index 6115b90..1ddca5a 100644 --- a/AdvancedDisplay/res/values-sr/strings.xml +++ b/AdvancedDisplay/res/values-sr/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Напредни екран</string> - <!-- Screen Preference --> - <string name="category_screen_title">Екран</string> - <string name="screen_colors_title">Боје</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Сценарио</string> - <string name="mdnie_scenario_summary_head">Постави mDNIe сценарио</string> - <string name="mdnie_negative_title_head">Негативни режим</string> - <string name="mdnie_negative_summary_head">Омогући/онемогући обрнуте боје</string> + <string name="app_name">Напредни екран</string> + <string name="category_screen_title">Екран</string> + <string name="screen_colors_title">Боје</string> + <string name="mdnie_scenario_title_head">Сценарио</string> + <string name="mdnie_scenario_summary_head">Постави mDNIe сценарио</string> + <string name="mdnie_negative_title_head">Негативни режим</string> + <string name="mdnie_negative_summary_head">Омогући/онемогући обрнуте боје</string> </resources> diff --git a/AdvancedDisplay/res/values-sv/arrays.xml b/AdvancedDisplay/res/values-sv/arrays.xml index 6916ed9..c17d782 100644 --- a/AdvancedDisplay/res/values-sv/arrays.xml +++ b/AdvancedDisplay/res/values-sv/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (standard)</item> - <item>UI</item> - <item>Video</item> - <item>Varm video</item> - <item>Kall video</item> - <item>Kamera</item> - <item>Navigering</item> - <item>Galleri</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Inverterad</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (standard)</item> + <item>UI</item> + <item>Video</item> + <item>Varm video</item> + <item>Kall video</item> + <item>Kamera</item> + <item>Navigering</item> + <item>Galleri</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Inverterad</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-sv/strings.xml b/AdvancedDisplay/res/values-sv/strings.xml index ec522df..050c073 100644 --- a/AdvancedDisplay/res/values-sv/strings.xml +++ b/AdvancedDisplay/res/values-sv/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Avancerad visning</string> - <!-- Screen Preference --> - <string name="category_screen_title">Skärm</string> - <string name="screen_colors_title">Färger</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Scenario</string> - <string name="mdnie_scenario_summary_head">Ställ in mDNIe-scenario</string> - <string name="mdnie_negative_title_head">Negativt läge</string> - <string name="mdnie_negative_summary_head">Aktivera/inaktivera inverterade färger</string> + <string name="app_name">Avancerad visning</string> + <string name="category_screen_title">Skärm</string> + <string name="screen_colors_title">Färger</string> + <string name="mdnie_scenario_title_head">Scenario</string> + <string name="mdnie_scenario_summary_head">Ställ in mDNIe-scenario</string> + <string name="mdnie_negative_title_head">Negativt läge</string> + <string name="mdnie_negative_summary_head">Aktivera/inaktivera inverterade färger</string> </resources> diff --git a/AdvancedDisplay/res/values-sw/arrays.xml b/AdvancedDisplay/res/values-sw/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-sw/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-sw/strings.xml b/AdvancedDisplay/res/values-sw/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-sw/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-ta-rIN/arrays.xml b/AdvancedDisplay/res/values-ta-rIN/arrays.xml index 197fb05..9561637 100644 --- a/AdvancedDisplay/res/values-ta-rIN/arrays.xml +++ b/AdvancedDisplay/res/values-ta-rIN/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (default)</item> - <item>UI</item> - <item>வீடியோ</item> - <item>வீடியோ கதகதப்பு</item> - <item>வீடியோ குளிர்</item> - <item>கேமரா</item> - <item>வழிச்செல்லுதல்</item> - <item>படத்தொகுப்பு</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>இயல்பு</item> - <item>திருப்பிவிடப்பட்ட</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>வீடியோ</item> + <item>வீடியோ கதகதப்பு</item> + <item>வீடியோ குளிர்</item> + <item>கேமரா</item> + <item>வழிச்செல்லுதல்</item> + <item>படத்தொகுப்பு</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>இயல்பு</item> + <item>திருப்பிவிடப்பட்ட</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-ta-rIN/strings.xml b/AdvancedDisplay/res/values-ta-rIN/strings.xml index ab05537..771f7e0 100644 --- a/AdvancedDisplay/res/values-ta-rIN/strings.xml +++ b/AdvancedDisplay/res/values-ta-rIN/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">மேம்பட்ட காட்சி</string> - <!-- Screen Preference --> - <string name="category_screen_title">திரை</string> - <string name="screen_colors_title">நிறங்கள்</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">சூழ்நிலை</string> - <string name="mdnie_scenario_summary_head">mDNIe சூழ்நிலையை அமை</string> - <string name="mdnie_negative_title_head">எதிர்மறை பயன்முறை</string> - <string name="mdnie_negative_summary_head">இன்வர்டடு வண்னங்களை செயல்படுத்து/முடக்கு</string> + <string name="app_name">மேம்பட்ட காட்சி</string> + <string name="category_screen_title">திரை</string> + <string name="screen_colors_title">நிறங்கள்</string> + <string name="mdnie_scenario_title_head">சூழ்நிலை</string> + <string name="mdnie_scenario_summary_head">mDNIe சூழ்நிலையை அமை</string> + <string name="mdnie_negative_title_head">எதிர்மறை பயன்முறை</string> + <string name="mdnie_negative_summary_head">இன்வர்டடு வண்னங்களை செயல்படுத்து/முடக்கு</string> </resources> diff --git a/AdvancedDisplay/res/values-te-rIN/arrays.xml b/AdvancedDisplay/res/values-te-rIN/arrays.xml index 5cc54fe..cdeb246 100644 --- a/AdvancedDisplay/res/values-te-rIN/arrays.xml +++ b/AdvancedDisplay/res/values-te-rIN/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>సయనోజెన్ మోడ్ (స్వయంసిద్ధం)</item> - <item>UI</item> - <item>వీడియో</item> - <item>వీడియో వేడి</item> - <item>వీడియో చల్లదనం</item> - <item>కెమెరా</item> - <item>నావిగేషన్</item> - <item>గ్యాలరీ</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>సాధారణం</item> - <item>తిరగబడిన</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>వీడియో</item> + <item>వీడియో వేడి</item> + <item>వీడియో చల్లదనం</item> + <item>కెమెరా</item> + <item>నావిగేషన్</item> + <item>గ్యాలరీ</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>సాధారణం</item> + <item>తిరగబడిన</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-te-rIN/strings.xml b/AdvancedDisplay/res/values-te-rIN/strings.xml index f439727..74a745a 100644 --- a/AdvancedDisplay/res/values-te-rIN/strings.xml +++ b/AdvancedDisplay/res/values-te-rIN/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">అధునాతన ప్రదర్శన</string> - <!-- Screen Preference --> - <string name="category_screen_title">స్క్రీన్</string> - <string name="screen_colors_title">రంగులు</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">దృశ్యవివరణ</string> - <string name="mdnie_scenario_summary_head">mDNIe దృశ్యవివరణను సెట్ చేయుము</string> - <string name="mdnie_negative_title_head">వ్యతిరేక రీతి</string> - <string name="mdnie_negative_summary_head">విలోమ రంగులను అమలు చెయ్యి/నిలిపివెయ్యి</string> + <string name="app_name">అధునాతన ప్రదర్శన</string> + <string name="category_screen_title">స్క్రీన్</string> + <string name="screen_colors_title">రంగులు</string> + <string name="mdnie_scenario_title_head">దృశ్యవివరణ</string> + <string name="mdnie_scenario_summary_head">mDNIe దృశ్యవివరణను సెట్ చేయుము</string> + <string name="mdnie_negative_title_head">వ్యతిరేక రీతి</string> + <string name="mdnie_negative_summary_head">విలోమ రంగులను అమలు చెయ్యి/నిలిపివెయ్యి</string> </resources> diff --git a/AdvancedDisplay/res/values-th/arrays.xml b/AdvancedDisplay/res/values-th/arrays.xml index 4f0b57a..db115d1 100644 --- a/AdvancedDisplay/res/values-th/arrays.xml +++ b/AdvancedDisplay/res/values-th/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (เริ่มต้น)</item> - <item>UI</item> - <item>วิดีโอ</item> - <item>วิดีโออบอุ่น</item> - <item>วิดีโอเย็น</item> - <item>กล้องถ่ายรูป</item> - <item>การนำทาง</item> - <item>แกลเลอรี</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>ปกติ</item> - <item>กลับแล้ว</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>วิดีโอ</item> + <item>วิดีโออบอุ่น</item> + <item>วิดีโอเย็น</item> + <item>กล้องถ่ายรูป</item> + <item>การนำทาง</item> + <item>แกลเลอรี</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>ปกติ</item> + <item>กลับแล้ว</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-th/strings.xml b/AdvancedDisplay/res/values-th/strings.xml index 597722f..3b192f9 100644 --- a/AdvancedDisplay/res/values-th/strings.xml +++ b/AdvancedDisplay/res/values-th/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">หน้าจอขั้นสูง</string> - <!-- Screen Preference --> - <string name="category_screen_title">หน้าจอ</string> - <string name="screen_colors_title">สี</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">สถานการณ์</string> - <string name="mdnie_scenario_summary_head">กำหนดสถานการณ์ mDNIe</string> - <string name="mdnie_negative_title_head">รูปแบบกลับสี</string> - <string name="mdnie_negative_summary_head">เปิด/ปิดสีที่สลับ</string> + <string name="app_name">หน้าจอขั้นสูง</string> + <string name="category_screen_title">หน้าจอ</string> + <string name="screen_colors_title">สี</string> + <string name="mdnie_scenario_title_head">สถานการณ์</string> + <string name="mdnie_scenario_summary_head">กำหนดสถานการณ์ mDNIe</string> + <string name="mdnie_negative_title_head">รูปแบบกลับสี</string> + <string name="mdnie_negative_summary_head">เปิด/ปิดสีที่สลับ</string> </resources> diff --git a/AdvancedDisplay/res/values-tr/arrays.xml b/AdvancedDisplay/res/values-tr/arrays.xml index 0eb5352..7a6d63a 100644 --- a/AdvancedDisplay/res/values-tr/arrays.xml +++ b/AdvancedDisplay/res/values-tr/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (varsayılan)</item> - <item>Arayüz</item> - <item>Video</item> - <item>Video sıcak</item> - <item>Video soğuk</item> - <item>Kamera</item> - <item>Dolaşım</item> - <item>Galeri</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Normal</item> - <item>Ters çevrilmiş</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>Arayüz</item> + <item>Video</item> + <item>Video sıcak</item> + <item>Video soğuk</item> + <item>Kamera</item> + <item>Dolaşım</item> + <item>Galeri</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Normal</item> + <item>Ters çevrilmiş</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-tr/strings.xml b/AdvancedDisplay/res/values-tr/strings.xml index aa2bac5..e259ab7 100644 --- a/AdvancedDisplay/res/values-tr/strings.xml +++ b/AdvancedDisplay/res/values-tr/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Gelişmiş ekran</string> - <!-- Screen Preference --> - <string name="category_screen_title">Ekran</string> - <string name="screen_colors_title">Renkler</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Ekran Modu</string> - <string name="mdnie_scenario_summary_head">mDNIe senaryosunu ayarla</string> - <string name="mdnie_negative_title_head">Negatif modu</string> - <string name="mdnie_negative_summary_head">Ters renkleri aç/kapat</string> + <string name="app_name">Gelişmiş ekran</string> + <string name="category_screen_title">Ekran</string> + <string name="screen_colors_title">Renkler</string> + <string name="mdnie_scenario_title_head">Ekran Modu</string> + <string name="mdnie_scenario_summary_head">mDNIe senaryosunu ayarla</string> + <string name="mdnie_negative_title_head">Negatif modu</string> + <string name="mdnie_negative_summary_head">Ters renkleri aç/kapat</string> </resources> diff --git a/AdvancedDisplay/res/values-ug/arrays.xml b/AdvancedDisplay/res/values-ug/arrays.xml index 9390a95..ed0f609 100644 --- a/AdvancedDisplay/res/values-ug/arrays.xml +++ b/AdvancedDisplay/res/values-ug/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (كۆڭۈلدىكى)</item> - <item>ئارايۈز</item> - <item>سىن</item> - <item>قىزىق سىن</item> - <item>سوغۇق سىن</item> - <item>كامېرا</item> - <item>يولباشچى</item> - <item>ئالبۇم</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>نورمال</item> - <item>ئەكسىچە</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>ئارايۈز</item> + <item>سىن</item> + <item>قىزىق سىن</item> + <item>سوغۇق سىن</item> + <item>كامېرا</item> + <item>يولباشچى</item> + <item>ئالبۇم</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>نورمال</item> + <item>ئەكسىچە</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-ug/strings.xml b/AdvancedDisplay/res/values-ug/strings.xml index 8a757f6..c0fb3fa 100644 --- a/AdvancedDisplay/res/values-ug/strings.xml +++ b/AdvancedDisplay/res/values-ug/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">ئالىي ئېكران</string> - <!-- Screen Preference --> - <string name="category_screen_title">ئېكران</string> - <string name="screen_colors_title">رەڭلەر</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">كۆرۈنۈش</string> - <string name="mdnie_scenario_summary_head">mDNIe لايىھە تەڭشىكى</string> - <string name="mdnie_negative_title_head">مەنپىي ھالەت</string> - <string name="mdnie_negative_summary_head">ئەكسىچە رەڭنى قوزغىتىش/چەكلەش</string> + <string name="app_name">ئالىي ئېكران</string> + <string name="category_screen_title">ئېكران</string> + <string name="screen_colors_title">رەڭلەر</string> + <string name="mdnie_scenario_title_head">كۆرۈنۈش</string> + <string name="mdnie_scenario_summary_head">mDNIe لايىھە تەڭشىكى</string> + <string name="mdnie_negative_title_head">مەنپىي ھالەت</string> + <string name="mdnie_negative_summary_head">ئەكسىچە رەڭنى قوزغىتىش/چەكلەش</string> </resources> diff --git a/AdvancedDisplay/res/values-uk/arrays.xml b/AdvancedDisplay/res/values-uk/arrays.xml index f33fcf8..d3f8038 100644 --- a/AdvancedDisplay/res/values-uk/arrays.xml +++ b/AdvancedDisplay/res/values-uk/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (типово)</item> - <item>Інтерфейс користувача</item> - <item>Відео</item> - <item>Відео теплий</item> - <item>Відео холодний</item> - <item>Камера</item> - <item>Навігація</item> - <item>Галерея</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Звичайний</item> - <item>Негатив</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (типово)</item> + <item>Інтерфейс користувача</item> + <item>Відео</item> + <item>Відео теплий</item> + <item>Відео — холодні тони</item> + <item>Камера</item> + <item>Навігація</item> + <item>Галерея</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Звичайний</item> + <item>Негатив</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-uk/strings.xml b/AdvancedDisplay/res/values-uk/strings.xml index 5986179..e366710 100644 --- a/AdvancedDisplay/res/values-uk/strings.xml +++ b/AdvancedDisplay/res/values-uk/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Додаткові налаштування екрану</string> - <!-- Screen Preference --> - <string name="category_screen_title">Екран</string> - <string name="screen_colors_title">Кольори</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Сценарій</string> - <string name="mdnie_scenario_summary_head">Встановити сценарій mDNIe</string> - <string name="mdnie_negative_title_head">Режим негатив</string> - <string name="mdnie_negative_summary_head">Увімкнути/вимкнути інвертовані кольори</string> + <string name="app_name">Додаткові налаштування екрану</string> + <string name="category_screen_title">Екран</string> + <string name="screen_colors_title">Кольори</string> + <string name="mdnie_scenario_title_head">Сценарій</string> + <string name="mdnie_scenario_summary_head">Встановити сценарій mDNIe</string> + <string name="mdnie_negative_title_head">Режим негатив</string> + <string name="mdnie_negative_summary_head">Увімкнути/вимкнути інвертовані кольори</string> </resources> diff --git a/AdvancedDisplay/res/values-ur-rPK/arrays.xml b/AdvancedDisplay/res/values-ur-rPK/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-ur-rPK/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-ur-rPK/strings.xml b/AdvancedDisplay/res/values-ur-rPK/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-ur-rPK/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-uz-rUZ/arrays.xml b/AdvancedDisplay/res/values-uz-rUZ/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-uz-rUZ/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-uz-rUZ/strings.xml b/AdvancedDisplay/res/values-uz-rUZ/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-uz-rUZ/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values-bn-rBD/arrays.xml b/AdvancedDisplay/res/values-vec-rIT/arrays.xml index dbbee7c..dbbee7c 100644 --- a/AdvancedDisplay/res/values-bn-rBD/arrays.xml +++ b/AdvancedDisplay/res/values-vec-rIT/arrays.xml diff --git a/AdvancedDisplay/res/values-bn-rBD/strings.xml b/AdvancedDisplay/res/values-vec-rIT/strings.xml index f5df7fe..f5df7fe 100644 --- a/AdvancedDisplay/res/values-bn-rBD/strings.xml +++ b/AdvancedDisplay/res/values-vec-rIT/strings.xml diff --git a/AdvancedDisplay/res/values-vi/arrays.xml b/AdvancedDisplay/res/values-vi/arrays.xml index 0a49898..be24c5c 100644 --- a/AdvancedDisplay/res/values-vi/arrays.xml +++ b/AdvancedDisplay/res/values-vi/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (mặc định)</item> - <item>Giao diện người dùng</item> - <item>Video</item> - <item>Video ấm</item> - <item>Video lạnh</item> - <item>Máy ảnh</item> - <item>Điều hướng</item> - <item>Thư viện</item> - <item>Công nghệ ảo hóa</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>Thông thường</item> - <item>Đảo ngược</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>Giao diện người dùng</item> + <item>Video</item> + <item>Video ấm</item> + <item>Video lạnh</item> + <item>Máy ảnh</item> + <item>Điều hướng</item> + <item>Thư viện</item> + <item>Công nghệ ảo hóa</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>Thông thường</item> + <item>Đảo ngược</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-vi/strings.xml b/AdvancedDisplay/res/values-vi/strings.xml index a8d2dc0..4146821 100644 --- a/AdvancedDisplay/res/values-vi/strings.xml +++ b/AdvancedDisplay/res/values-vi/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">Hiển thị nâng cao</string> - <!-- Screen Preference --> - <string name="category_screen_title">Màn hình</string> - <string name="screen_colors_title">Màu</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">Tình huống</string> - <string name="mdnie_scenario_summary_head">Đặt tình huống cho mDNIe</string> - <string name="mdnie_negative_title_head">Chế độ màu âm bản</string> - <string name="mdnie_negative_summary_head">Bật/tắt đảo ngược màu sắc</string> + <string name="app_name">Hiển thị nâng cao</string> + <string name="category_screen_title">Màn hình</string> + <string name="screen_colors_title">Màu</string> + <string name="mdnie_scenario_title_head">Tình huống</string> + <string name="mdnie_scenario_summary_head">Đặt tình huống cho mDNIe</string> + <string name="mdnie_negative_title_head">Chế độ màu âm bản</string> + <string name="mdnie_negative_summary_head">Bật/tắt đảo ngược màu sắc</string> </resources> diff --git a/AdvancedDisplay/res/values-zh-rCN/arrays.xml b/AdvancedDisplay/res/values-zh-rCN/arrays.xml index f018066..1865f03 100644 --- a/AdvancedDisplay/res/values-zh-rCN/arrays.xml +++ b/AdvancedDisplay/res/values-zh-rCN/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (默认)</item> - <item>UI</item> - <item>影像模式</item> - <item>影像模式 (温)</item> - <item>影像模式 (冷)</item> - <item>相机</item> - <item>导航</item> - <item>图库</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>正常</item> - <item>反色</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (默认)</item> + <item>UI</item> + <item>影像模式</item> + <item>影像模式 (温)</item> + <item>影像模式 (冷)</item> + <item>相机</item> + <item>导航</item> + <item>图库</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>正常</item> + <item>反色</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-zh-rCN/strings.xml b/AdvancedDisplay/res/values-zh-rCN/strings.xml index 7133e6b..a1aa5aa 100644 --- a/AdvancedDisplay/res/values-zh-rCN/strings.xml +++ b/AdvancedDisplay/res/values-zh-rCN/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">高级显示</string> - <!-- Screen Preference --> - <string name="category_screen_title">屏幕</string> - <string name="screen_colors_title">颜色</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">场景</string> - <string name="mdnie_scenario_summary_head">设置 mDNIe 场景</string> - <string name="mdnie_negative_title_head">负极模式</string> - <string name="mdnie_negative_summary_head">启用/禁用反色</string> + <string name="app_name">高级显示</string> + <string name="category_screen_title">屏幕</string> + <string name="screen_colors_title">颜色</string> + <string name="mdnie_scenario_title_head">场景</string> + <string name="mdnie_scenario_summary_head">设置 mDNIe 场景</string> + <string name="mdnie_negative_title_head">负极模式</string> + <string name="mdnie_negative_summary_head">启用/禁用反色</string> </resources> diff --git a/AdvancedDisplay/res/values-zh-rHK/arrays.xml b/AdvancedDisplay/res/values-zh-rHK/arrays.xml index 6b13ec4..d03857e 100644 --- a/AdvancedDisplay/res/values-zh-rHK/arrays.xml +++ b/AdvancedDisplay/res/values-zh-rHK/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (default)</item> - <item>UI</item> - <item>Video</item> - <item>影片(暖色)</item> - <item>影片(冷色)</item> - <item>Camera</item> - <item>導覽</item> - <item>圖片庫</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>適中</item> - <item>反向</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (default)</item> + <item>UI</item> + <item>Video</item> + <item>影片(暖色)</item> + <item>影片(冷色)</item> + <item>Camera</item> + <item>導覽</item> + <item>圖片庫</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>適中</item> + <item>反向</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-zh-rHK/strings.xml b/AdvancedDisplay/res/values-zh-rHK/strings.xml index 45f5c42..b2b495f 100644 --- a/AdvancedDisplay/res/values-zh-rHK/strings.xml +++ b/AdvancedDisplay/res/values-zh-rHK/strings.xml @@ -16,11 +16,9 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Screen Preference --> - <string name="category_screen_title">螢幕</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">場景</string> - <string name="mdnie_scenario_summary_head">設定 mDNIe 場景</string> - <string name="mdnie_negative_title_head">負片模式</string> - <string name="mdnie_negative_summary_head">啟用/停用反向顏色</string> + <string name="category_screen_title">螢幕</string> + <string name="mdnie_scenario_title_head">場景</string> + <string name="mdnie_scenario_summary_head">設定 mDNIe 場景</string> + <string name="mdnie_negative_title_head">負片模式</string> + <string name="mdnie_negative_summary_head">啟用/停用反向顏色</string> </resources> diff --git a/AdvancedDisplay/res/values-zh-rTW/arrays.xml b/AdvancedDisplay/res/values-zh-rTW/arrays.xml index e146fb8..2ebe223 100644 --- a/AdvancedDisplay/res/values-zh-rTW/arrays.xml +++ b/AdvancedDisplay/res/values-zh-rTW/arrays.xml @@ -16,19 +16,19 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (預設)</item> - <item>使用者介面</item> - <item>影片</item> - <item>影片 (暖色)</item> - <item>影片 (冷色)</item> - <item>相機</item> - <item>導覽</item> - <item>圖片庫</item> - <item>VT</item> - </string-array> - <string-array name="mdnie_negative_entries"> - <item>適中</item> - <item>負片</item> - </string-array> + <string-array name="mdnie_scenario_entries"> + <item>LineageOS (預設)</item> + <item>使用者介面</item> + <item>影片</item> + <item>影片 (暖色)</item> + <item>影片 (冷色)</item> + <item>相機</item> + <item>導覽</item> + <item>圖片庫</item> + <item>VT</item> + </string-array> + <string-array name="mdnie_negative_entries"> + <item>適中</item> + <item>負片</item> + </string-array> </resources> diff --git a/AdvancedDisplay/res/values-zh-rTW/strings.xml b/AdvancedDisplay/res/values-zh-rTW/strings.xml index 0c0dac7..fe1e366 100644 --- a/AdvancedDisplay/res/values-zh-rTW/strings.xml +++ b/AdvancedDisplay/res/values-zh-rTW/strings.xml @@ -16,13 +16,11 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name">進階顯示</string> - <!-- Screen Preference --> - <string name="category_screen_title">螢幕</string> - <string name="screen_colors_title">色彩</string> - <!-- mDNIe --> - <string name="mdnie_scenario_title_head">場景</string> - <string name="mdnie_scenario_summary_head">設定 mDNIe 場景</string> - <string name="mdnie_negative_title_head">負片模式</string> - <string name="mdnie_negative_summary_head">啟用/停用反轉顏色</string> + <string name="app_name">進階顯示</string> + <string name="category_screen_title">螢幕</string> + <string name="screen_colors_title">色彩</string> + <string name="mdnie_scenario_title_head">場景</string> + <string name="mdnie_scenario_summary_head">設定 mDNIe 場景</string> + <string name="mdnie_negative_title_head">負片模式</string> + <string name="mdnie_negative_summary_head">啟用/停用反轉顏色</string> </resources> diff --git a/AdvancedDisplay/res/values-zu/arrays.xml b/AdvancedDisplay/res/values-zu/arrays.xml deleted file mode 100644 index dbbee7c..0000000 --- a/AdvancedDisplay/res/values-zu/arrays.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"></resources> diff --git a/AdvancedDisplay/res/values-zu/strings.xml b/AdvancedDisplay/res/values-zu/strings.xml deleted file mode 100644 index f5df7fe..0000000 --- a/AdvancedDisplay/res/values-zu/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2012-2014 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"> - <!-- Screen Preference --> - <!-- mDNIe --> -</resources> diff --git a/AdvancedDisplay/res/values/arrays.xml b/AdvancedDisplay/res/values/arrays.xml index bfa29e6..a96bcd0 100644 --- a/AdvancedDisplay/res/values/arrays.xml +++ b/AdvancedDisplay/res/values/arrays.xml @@ -16,7 +16,7 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="mdnie_scenario_entries"> - <item>CyanogenMod (default)</item> + <item>LineageOS (default)</item> <item>UI</item> <item>Video</item> <item>Video warm</item> diff --git a/AdvancedDisplay/res/values/colors.xml b/AdvancedDisplay/res/values/colors.xml deleted file mode 100644 index 2a95ee2..0000000 --- a/AdvancedDisplay/res/values/colors.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources> - <!-- Palette colors referenced by top-level themes. --> - <color name="theme_primary">#ff263238</color> - <color name="theme_primary_dark">#ff21272b</color> - <color name="theme_accent">#ff009688</color> -</resources> diff --git a/AdvancedDisplay/res/values/styles.xml b/AdvancedDisplay/res/values/styles.xml index af83c00..ee2d0a5 100644 --- a/AdvancedDisplay/res/values/styles.xml +++ b/AdvancedDisplay/res/values/styles.xml @@ -1,8 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2016 The CyanogenMod Project + 2017 The LineageOS Project - Licensed under the Apache License, Version 2.0 (the "License" + 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 @@ -14,16 +15,8 @@ See the License for the specific language governing permissions and limitations under the License. --> -<resources> - <style name="Theme.Main" parent="@android:style/Theme.Material.Light.DarkActionBar"> - <item name="android:colorPrimary">@color/theme_primary</item> - <item name="android:colorPrimaryDark">@color/theme_primary_dark</item> - <item name="android:colorAccent">@color/theme_accent</item> - <!-- Redefine the ActionBar style for contentInsetStart --> - <item name="android:actionBarStyle">@style/Theme.ActionBar.SubSettings</item> - </style> - - <style name="Theme.ActionBar.SubSettings" parent="@android:style/Widget.Material.Light.ActionBar.Solid"> - <item name="android:contentInsetStart">@dimen/actionbar_subsettings_contentInsetStart</item> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <style name="AdvancedDisplay" parent="@android:style/Theme.Material.Settings"> + <item name="preferenceTheme">@android:style/Theme.Material.Settings</item> </style> </resources> diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayActivity.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayActivity.java new file mode 100644 index 0000000..29ab9b6 --- /dev/null +++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayActivity.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2017 The LineageOS Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.cyanogenmod.settings.device; + +import android.os.Bundle; + +import com.android.settingslib.drawer.SettingsDrawerActivity; + +public class AdvancedDisplayActivity extends SettingsDrawerActivity { + + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + getFragmentManager().beginTransaction().replace(R.id.content_frame, + new AdvancedDisplayFragment()).commit(); + } +} diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayFragment.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayFragment.java new file mode 100644 index 0000000..a2b7f7b --- /dev/null +++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayFragment.java @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2017 The LineageOS Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.cyanogenmod.settings.device; + +import android.content.res.Resources; +import android.os.Bundle; +import android.support.v14.preference.PreferenceFragment; + +import com.cyanogenmod.settings.device.R; + +import org.cyanogenmod.internal.util.FileUtils; + +public class AdvancedDisplayFragment extends PreferenceFragment { + private mDNIeScenario mmDNIeScenario; + private mDNIeNegative mmDNIeNegative; + + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + addPreferencesFromResource(R.xml.screen_preferences); + Resources res = getResources(); + + /* mDNIe */ + mmDNIeScenario = (mDNIeScenario) findPreference(Constants.KEY_MDNIE_SCENARIO); + mmDNIeScenario.setEnabled( + FileUtils.isFileWritable(res.getString(R.string.mdnie_scenario_sysfs_file))); + + mmDNIeNegative = (mDNIeNegative) findPreference(Constants.KEY_MDNIE_NEGATIVE); + mmDNIeNegative.setEnabled( + FileUtils.isFileWritable(res.getString(R.string.mdnie_negative_sysfs_file))); + } +} diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/Startup.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/BootCompletedReceiver.java index ba7c2c5..9408f35 100644 --- a/AdvancedDisplay/src/com/cyanogenmod/settings/device/Startup.java +++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/BootCompletedReceiver.java @@ -1,5 +1,6 @@ /* * Copyright (C) 2012 The CyanogenMod Project + * 2017 The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,12 +21,11 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -public class Startup extends BroadcastReceiver { +public class BootCompletedReceiver extends BroadcastReceiver { @Override - public void onReceive(final Context context, final Intent bootintent) { + public void onReceive(Context context, Intent intent) { mDNIeScenario.restore(context); mDNIeNegative.restore(context); - ScreenFragmentActivity.restore(context); } } diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/Constants.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/Constants.java new file mode 100644 index 0000000..5ce0473 --- /dev/null +++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/Constants.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017 The LineageOS Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.cyanogenmod.settings.device; + +public class Constants { + static final String KEY_MDNIE_SCENARIO = "mdnie_scenario"; + static final String KEY_MDNIE_NEGATIVE = "mdnie_negative"; +} diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/DisplaySettings.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/DisplaySettings.java deleted file mode 100644 index 147fe5e..0000000 --- a/AdvancedDisplay/src/com/cyanogenmod/settings/device/DisplaySettings.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2012 The CyanogenMod Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.cyanogenmod.settings.device; - -import android.app.Activity; -import android.app.ActionBar; -import android.app.Activity; -import android.app.Fragment; -import android.app.FragmentTransaction; -import android.content.Context; -import android.os.Bundle; -import android.view.MenuItem; -import android.widget.FrameLayout; - -import com.cyanogenmod.settings.device.R; - -import java.util.ArrayList; - -public class DisplaySettings extends Activity { - - public static final String SHARED_PREFERENCES_BASENAME = "com.cyanogenmod.settings.device"; - public static final String ACTION_UPDATE_PREFERENCES = "com.cyanogenmod.settings.device.UPDATE"; - public static final String KEY_MDNIE_SCENARIO = "mdnie_scenario"; - public static final String KEY_MDNIE_NEGATIVE = "mdnie_negative"; - - ScreenFragmentActivity mFragment; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mFragment = new ScreenFragmentActivity(); - setContentView(R.layout.framelayout); - getFragmentManager().beginTransaction().add(R.id.frameLayout, mFragment).commit(); - - final ActionBar bar = getActionBar(); - bar.setTitle(R.string.app_name); - bar.setDisplayHomeAsUpEnabled(true); - - } - - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - DisplaySettings.this.onBackPressed(); - default: - return super.onOptionsItemSelected(item); - } - } -} diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java deleted file mode 100644 index 7a99daf..0000000 --- a/AdvancedDisplay/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (C) 2012 The CyanogenMod Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.cyanogenmod.settings.device; - -import android.content.Context; -import android.content.res.Resources; -import android.content.SharedPreferences; -import android.os.Bundle; -import android.preference.CheckBoxPreference; -import android.preference.ListPreference; -import android.preference.Preference; -import android.preference.PreferenceActivity; -import android.preference.PreferenceCategory; -import android.preference.PreferenceFragment; -import android.preference.PreferenceManager; -import android.preference.PreferenceScreen; -import android.util.Log; - -import com.cyanogenmod.settings.device.R; -import org.cyanogenmod.internal.util.FileUtils; - -public class ScreenFragmentActivity extends PreferenceFragment { - - private static final String PREF_ENABLED = "1"; - private static final String TAG = "DisplaySettings_Screen"; - private mDNIeScenario mmDNIeScenario; - private mDNIeNegative mmDNIeNegative; - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - addPreferencesFromResource(R.xml.screen_preferences); - PreferenceScreen preferenceScreen = getPreferenceScreen(); - Resources res = getResources(); - - /* mDNIe */ - mmDNIeScenario = (mDNIeScenario) findPreference(DisplaySettings.KEY_MDNIE_SCENARIO); - mmDNIeScenario.setEnabled(mDNIeScenario.isSupported(res.getString(R.string.mdnie_scenario_sysfs_file))); - - mmDNIeNegative = (mDNIeNegative) findPreference(DisplaySettings.KEY_MDNIE_NEGATIVE); - mmDNIeNegative.setEnabled(mDNIeNegative.isSupported(res.getString(R.string.mdnie_negative_sysfs_file))); - - } - - @Override - public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { - - String key = preference.getKey(); - Log.w(TAG, "key: " + key); - - return true; - } - - public static boolean isSupported(String filePath) { - return FileUtils.isFileWritable(filePath); - } - - public static void restore(Context context) { - SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); - } -} diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeNegative.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeNegative.java index a5e20f2..fc24e98 100644 --- a/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeNegative.java +++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeNegative.java @@ -1,5 +1,6 @@ /* * Copyright (C) 2012 The CyanogenMod Project + * 2017 The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,14 +17,13 @@ package com.cyanogenmod.settings.device; -import java.io.IOException; import android.content.Context; -import android.util.AttributeSet; import android.content.SharedPreferences; -import android.preference.Preference; -import android.preference.ListPreference; -import android.preference.Preference.OnPreferenceChangeListener; -import android.preference.PreferenceManager; +import android.support.v7.preference.ListPreference; +import android.support.v7.preference.Preference; +import android.support.v7.preference.Preference.OnPreferenceChangeListener; +import android.support.v7.preference.PreferenceManager; +import android.util.AttributeSet; import org.cyanogenmod.internal.util.FileUtils; @@ -37,27 +37,22 @@ public class mDNIeNegative extends ListPreference implements OnPreferenceChangeL FILE = context.getResources().getString(R.string.mdnie_negative_sysfs_file); } - public static boolean isSupported(String filePath) { - return FileUtils.isFileWritable(filePath); - } - /** * Restore mdnie user mode setting from SharedPreferences. (Write to kernel.) * @param context The context to read the SharedPreferences from */ public static void restore(Context context) { FILE = context.getResources().getString(R.string.mdnie_negative_sysfs_file); - if (!isSupported(FILE)) { + if (!FileUtils.isFileWritable(FILE)) { return; } SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); - FileUtils.writeLine(FILE, sharedPrefs.getString(DisplaySettings.KEY_MDNIE_NEGATIVE, "0")); + FileUtils.writeLine(FILE, sharedPrefs.getString(Constants.KEY_MDNIE_NEGATIVE, "0")); } public boolean onPreferenceChange(Preference preference, Object newValue) { FileUtils.writeLine(FILE, (String) newValue); return true; } - } diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeScenario.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeScenario.java index 5d33fe9..bd5a698 100644 --- a/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeScenario.java +++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeScenario.java @@ -1,5 +1,6 @@ /* * Copyright (C) 2012 The CyanogenMod Project + * 2017 The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,13 +18,12 @@ package com.cyanogenmod.settings.device; import android.content.Context; - import android.content.SharedPreferences; +import android.support.v7.preference.ListPreference; +import android.support.v7.preference.Preference; +import android.support.v7.preference.Preference.OnPreferenceChangeListener; +import android.support.v7.preference.PreferenceManager; import android.util.AttributeSet; -import android.preference.Preference; -import android.preference.ListPreference; -import android.preference.Preference.OnPreferenceChangeListener; -import android.preference.PreferenceManager; import org.cyanogenmod.internal.util.FileUtils; @@ -37,27 +37,22 @@ public class mDNIeScenario extends ListPreference implements OnPreferenceChangeL FILE = context.getResources().getString(R.string.mdnie_scenario_sysfs_file); } - public static boolean isSupported(String filePath) { - return FileUtils.isFileWritable(filePath); - } - /** * Restore mdnie "camera" setting from SharedPreferences. (Write to kernel.) * @param context The context to read the SharedPreferences from */ public static void restore(Context context) { FILE = context.getResources().getString(R.string.mdnie_scenario_sysfs_file); - if (!isSupported(FILE)) { + if (!FileUtils.isFileWritable(FILE)) { return; } SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); - FileUtils.writeLine(FILE, sharedPrefs.getString(DisplaySettings.KEY_MDNIE_SCENARIO, "0")); + FileUtils.writeLine(FILE, sharedPrefs.getString(Constants.KEY_MDNIE_SCENARIO, "0")); } public boolean onPreferenceChange(Preference preference, Object newValue) { FileUtils.writeLine(FILE, (String) newValue); return true; } - } diff --git a/audio/Android.mk b/audio/Android.mk index d31b1d9..64ada48 100644 --- a/audio/Android.mk +++ b/audio/Android.mk @@ -21,6 +21,7 @@ include $(CLEAR_VARS) LOCAL_ARM_MODE := arm LOCAL_SRC_FILES := \ + audience.c \ audio_hw.c \ compress_offload.c \ ril_interface.c \ @@ -31,6 +32,7 @@ LOCAL_SHARED_LIBRARIES := \ liblog \ libcutils \ libaudioutils \ + libhardware \ libtinyalsa \ libtinycompress \ libaudioroute \ @@ -42,14 +44,14 @@ LOCAL_C_INCLUDES += \ $(LOCAL_PATH)/include \ external/tinyalsa/include \ external/tinycompress/include \ + hardware/libhardware/include \ hardware/samsung/ril/libsecril-client \ $(call include-path-for, audio-utils) \ $(call include-path-for, audio-route) \ $(call include-path-for, audio-effects) LOCAL_CFLAGS := -Werror -Wall -#LOCAL_CFLAGS += -DPREPROCESSING_ENABLED -#LOCAL_CFLAGS += -DHW_AEC_LOOPBACK +LOCAL_CFLAGS += -DPREPROCESSING_ENABLED LOCAL_MODULE := audio.primary.$(TARGET_BOOTLOADER_BOARD_NAME) diff --git a/audio/audience.c b/audio/audience.c new file mode 100644 index 0000000..61ed5d0 --- /dev/null +++ b/audio/audience.c @@ -0,0 +1,195 @@ +/* + * Copyright (C) 2017 Christopher N. Hesse <raymanfx@gmail.com> + * + * 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. + */ + +#define LOG_TAG "audio_hw_audience" +#define LOG_NDEBUG 0 + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include <cutils/log.h> +#include <audience-routes.h> + +#include "audience.h" + +/* + * Writes an Integer to a file. + * + * @param path The absolute path string. + * @param value The Integer value to be written. + * @return 0 on success, errno on error. + */ +static int write_int(char const *path, const int value) +{ + int fd, len, num_bytes; + int ret = 0; + char buffer[20]; + + fd = open(path, O_WRONLY); + if (fd < 0) { + ret = errno; + ALOGE("%s: failed to open %s (%s)", __func__, path, strerror(errno)); + goto exit; + } + + num_bytes = sprintf(buffer, "%d", value); + len = write(fd, buffer, num_bytes); + if (len < 0) { + ret = errno; + ALOGE("%s: failed to write to %s (%s)", __func__, path, strerror(errno)); + goto exit; + } + +exit: + close(fd); + return ret; +} + +/* + * Writes the route value to sysfs. + * + * @param value The long Integer value to be written. + * @return 0 on success, -1 or errno on error. + */ +static int es_route_value_set(int value) +{ + return write_int(SYSFS_PATH_PRESET, value); +} + +/* + * Writes the veq control to sysfs. + * + * @param value The Integer value to be written. + * @return 0 on success, -1 or errno on error. + */ +static int es_veq_control_set(int value) +{ + return write_int(SYSFS_PATH_VEQ, value); +} + +/* + * Writes the extra volume to sysfs. + * + * @param value The Integer value to be written. + * @return 0 on success, -1 or errno on error. + */ +static int es_extra_volume_set(int value) +{ + return write_int(SYSFS_PATH_EXTRAVOLUME, value); +} + +/* + * Convertes an out_device from the session to an earSmart compatible route. + * + * @param out_device The output device to be converted. + * @return Audience earSmart route, coded as long Integer. + */ +static long es_device_to_route(struct voice_session *session) +{ + long ret; + long nb_route; + long wb_route; + + switch(session->out_device) { + case AUDIO_DEVICE_OUT_EARPIECE: + nb_route = Call_CT_NB; + wb_route = Call_CT_WB; + break; + case AUDIO_DEVICE_OUT_SPEAKER: + nb_route = Call_FT_NB; + wb_route = Call_FT_WB; + break; + case AUDIO_DEVICE_OUT_WIRED_HEADSET: + case AUDIO_DEVICE_OUT_WIRED_HEADPHONE: + nb_route = Call_HS_NB; + wb_route = Call_HS_WB; + break; + case AUDIO_DEVICE_OUT_BLUETOOTH_SCO: + case AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET: + case AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT: + nb_route = Call_BT_NB; + wb_route = Call_BT_WB; + break; + default: + /* if output device isn't supported, use earpiece by default */ + ALOGE("%s: unknown output device: %d, defaulting to earpiece", __func__, + session->out_device); + nb_route = Call_CT_NB; + wb_route = Call_CT_WB; + break; + } + + /* TODO: Handle wb_amr=2 */ + if (session->wb_amr_type >= 1) { + ret = wb_route; + } else { + ret = nb_route; + } + + ALOGV("%s: converting out_device=%d to %s route: %ld", __func__, session->out_device, + ret == wb_route ? "Wide Band" : "Narrow Band", ret); + return ret; +} + +/* + * Configures and enables the Audience earSmart IC. + * + * @param session Reference to the active voice call session. + * @return @return 0 on success, -1 or errno on error. + */ +int es_start_voice_session(struct voice_session *session) +{ + int ret; + long es_route = es_device_to_route(session); + + /* TODO: Calculate these */ + int extra_volume = 0; + int veq_control = 4; + + /* + * The control flow for audience earSmart chip is as follows: + * + * route_value >> power_control(internal) >> extra_volume >> veq_control + */ + ret = es_route_value_set(es_route); + if (ret != 0) { + ALOGE("%s: es_route_value_set(%ld) failed with code: %d", __func__, es_route, ret); + goto exit; + } + ret = es_extra_volume_set(extra_volume); + if (ret != 0) { + ALOGE("%s: es_extra_volume_set(%d) failed with code: %d", __func__, extra_volume, ret); + goto exit; + } + ret = es_veq_control_set(veq_control); + if (ret != 0) { + ALOGE("%s: es_veq_control_set(%d) failed with code: %d", __func__, veq_control, ret); + goto exit; + } + +exit: + return ret; +} + +/* + * Disables the Audience earSmart IC. + */ +void es_stop_voice_session() +{ + /* This will cancel any pending workers, stop the stream and send the IC to sleep */ + es_route_value_set(AUDIENCE_SLEEP); +} diff --git a/audio/audience.h b/audio/audience.h new file mode 100644 index 0000000..5200a3f --- /dev/null +++ b/audio/audience.h @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2017 Christopher N. Hesse <raymanfx@gmail.com> + * + * 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. + */ + +#include "audio_hw.h" +#include "voice.h" + +enum es_power_state { + ES_POWER_FW_LOAD, + ES_POWER_SLEEP, + ES_POWER_SLEEP_PENDING, + ES_POWER_AWAKE, + ES_MAX = ES_POWER_AWAKE +}; + +int es_start_voice_session(struct voice_session *session); +void es_stop_voice_session(); diff --git a/audio/audio_hw.c b/audio/audio_hw.c index 90ed025..042a12d 100644 --- a/audio/audio_hw.c +++ b/audio/audio_hw.c @@ -2,6 +2,7 @@ * Copyright (C) 2013 The Android Open Source Project * Copyright (C) 2017 Christopher N. Hesse <raymanfx@gmail.com> * Copyright (C) 2017 Andreas Schneider <asn@cryptomilk.org> + * Copyright (C) 2018 The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -71,7 +72,7 @@ static struct pcm_device_profile pcm_device_playback = { .id = SOUND_PLAYBACK_DEVICE, .type = PCM_PLAYBACK, .devices = AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE| - AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE, + AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_ALL_SCO, }; static struct pcm_device_profile pcm_device_deep_buffer = { @@ -89,7 +90,7 @@ static struct pcm_device_profile pcm_device_deep_buffer = { .id = SOUND_DEEP_BUFFER_DEVICE, .type = PCM_PLAYBACK, .devices = AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE| - AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE, + AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_ALL_SCO, }; static struct pcm_device_profile pcm_device_capture = { @@ -107,7 +108,7 @@ static struct pcm_device_profile pcm_device_capture = { .card = SOUND_CARD, .id = SOUND_CAPTURE_DEVICE, .type = PCM_CAPTURE, - .devices = AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BACK_MIC, + .devices = AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET, }; static struct pcm_device_profile pcm_device_capture_low_latency = { @@ -125,99 +126,13 @@ static struct pcm_device_profile pcm_device_capture_low_latency = { .card = SOUND_CARD, .id = SOUND_CAPTURE_DEVICE, .type = PCM_CAPTURE_LOW_LATENCY, - .devices = AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BACK_MIC, + .devices = AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET, }; -#ifdef SOUND_CAPTURE_LOOPBACK_AEC_DEVICE -static struct pcm_device_profile pcm_device_capture_loopback_aec = { - .config = { - .channels = CAPTURE_DEFAULT_CHANNEL_COUNT, - .rate = CAPTURE_DEFAULT_SAMPLING_RATE, - .period_size = CAPTURE_PERIOD_SIZE, - .period_count = CAPTURE_PERIOD_COUNT, - .format = PCM_FORMAT_S16_LE, - .start_threshold = CAPTURE_START_THRESHOLD, - .stop_threshold = 0, - .silence_threshold = 0, - .avail_min = 0, - }, - .card = SOUND_CARD, - .id = SOUND_CAPTURE_LOOPBACK_AEC_DEVICE, - .type = PCM_CAPTURE, - .devices = SND_DEVICE_IN_LOOPBACK_AEC, -}; -#endif - -static struct pcm_device_profile pcm_device_playback_sco = { - .config = { - .channels = SCO_DEFAULT_CHANNEL_COUNT, - .rate = SCO_DEFAULT_SAMPLING_RATE, - .period_size = SCO_PERIOD_SIZE, - .period_count = SCO_PERIOD_COUNT, - .format = PCM_FORMAT_S16_LE, - .start_threshold = SCO_START_THRESHOLD, - .stop_threshold = SCO_STOP_THRESHOLD, - .silence_threshold = 0, - .avail_min = SCO_AVAILABLE_MIN, - }, - .card = SOUND_CARD, - .id = SOUND_PLAYBACK_SCO_DEVICE, - .type = PCM_PLAYBACK, - .devices = - AUDIO_DEVICE_OUT_BLUETOOTH_SCO|AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET| - AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT, -}; - -static struct pcm_device_profile pcm_device_capture_sco = { - .config = { - .channels = SCO_DEFAULT_CHANNEL_COUNT, - .rate = SCO_DEFAULT_SAMPLING_RATE, - .period_size = SCO_PERIOD_SIZE, - .period_count = SCO_PERIOD_COUNT, - .format = PCM_FORMAT_S16_LE, - .start_threshold = CAPTURE_START_THRESHOLD, - .stop_threshold = 0, - .silence_threshold = 0, - .avail_min = 0, - }, - .card = SOUND_CARD, - .id = SOUND_CAPTURE_SCO_DEVICE, - .type = PCM_CAPTURE, - .devices = AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET, -}; - -#ifdef SOUND_CAPTURE_HOTWORD_DEVICE -static struct pcm_device_profile pcm_device_hotword_streaming = { - .config = { - .channels = 1, - .rate = 16000, - .period_size = CAPTURE_PERIOD_SIZE, - .period_count = CAPTURE_PERIOD_COUNT, - .format = PCM_FORMAT_S16_LE, - .start_threshold = CAPTURE_START_THRESHOLD, - .stop_threshold = 0, - .silence_threshold = 0, - .avail_min = 0, - }, - .card = SOUND_CARD, - .id = SOUND_CAPTURE_HOTWORD_DEVICE, - .type = PCM_HOTWORD_STREAMING, - .devices = AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BACK_MIC -}; -#endif - static struct pcm_device_profile * const pcm_devices[] = { &pcm_device_playback, &pcm_device_capture, &pcm_device_capture_low_latency, - &pcm_device_playback_sco, - &pcm_device_capture_sco, -#ifdef SOUND_CAPTURE_LOOPBACK_AEC_DEVICE - &pcm_device_capture_loopback_aec, -#endif -#ifdef SOUND_CAPTURE_HOTWORD_DEVICE - &pcm_device_hotword_streaming, -#endif NULL, }; @@ -227,7 +142,6 @@ static const char * const use_case_table[AUDIO_USECASE_MAX] = { [USECASE_AUDIO_PLAYBACK_OFFLOAD] = "compress-offload-playback", [USECASE_AUDIO_PLAYBACK_DEEP_BUFFER] = "playback deep-buffer", [USECASE_AUDIO_CAPTURE] = "capture", - [USECASE_AUDIO_CAPTURE_HOTWORD] = "capture-hotword", [USECASE_VOICE_CALL] = "voice-call", }; @@ -246,6 +160,140 @@ static const struct string_to_enum out_channels_name_to_enum_table[] = { STRING_TO_ENUM(AUDIO_CHANNEL_OUT_7POINT1), }; +static struct audio_device *adev = NULL; + +static amplifier_device_t * get_amplifier_device(void) +{ + if (adev) + return adev->amp; + + return NULL; +} + +static int amplifier_open(void) +{ + int rc; + amplifier_module_t *module; + + rc = hw_get_module(AMPLIFIER_HARDWARE_MODULE_ID, + (const hw_module_t **) &module); + if (rc) { + if (rc == -ENOENT) { + // no amplifier HAL present + return -ENOENT; + } + ALOGV("%s: Failed to obtain reference to amplifier module: %s\n", + __func__, strerror(-rc)); + return -ENODEV; + } + + rc = amplifier_device_open((const hw_module_t *) module, &adev->amp); + if (rc) { + ALOGV("%s: Failed to open amplifier hardware device: %s\n", + __func__, strerror(-rc)); + return -ENODEV; + } + + return 0; +} + +static int amplifier_set_input_devices(uint32_t devices) +{ + amplifier_device_t *amp = get_amplifier_device(); + if (amp && amp->set_input_devices) + return amp->set_input_devices(amp, devices); + + return 0; +} + +static int amplifier_set_output_devices(uint32_t devices) +{ + amplifier_device_t *amp = get_amplifier_device(); + if (amp && amp->set_output_devices) + return amp->set_output_devices(amp, devices); + + return 0; +} + +static int amplifier_enable_devices(uint32_t devices, bool enable) +{ + amplifier_device_t *amp = get_amplifier_device(); + bool is_output = devices > SND_DEVICE_OUT_BEGIN && + devices < SND_DEVICE_OUT_END; + + if (amp && amp->enable_output_devices && is_output) + return amp->enable_output_devices(amp, devices, enable); + + if (amp && amp->enable_input_devices && !is_output) + return amp->enable_input_devices(amp, devices, enable); + + return 0; +} + +static int amplifier_set_mode(audio_mode_t mode) +{ + amplifier_device_t *amp = get_amplifier_device(); + if (amp && amp->set_mode) + return amp->set_mode(amp, mode); + + return 0; +} + +static int amplifier_output_stream_start(struct audio_stream_out *stream, + bool offload) +{ + amplifier_device_t *amp = get_amplifier_device(); + if (amp && amp->output_stream_start) + return amp->output_stream_start(amp, stream, offload); + + return 0; +} + +static int amplifier_input_stream_start(struct audio_stream_in *stream) +{ + amplifier_device_t *amp = get_amplifier_device(); + if (amp && amp->input_stream_start) + return amp->input_stream_start(amp, stream); + + return 0; +} + +static int amplifier_output_stream_standby(struct audio_stream_out *stream) +{ + amplifier_device_t *amp = get_amplifier_device(); + if (amp && amp->output_stream_standby) + return amp->output_stream_standby(amp, stream); + + return 0; +} + +static int amplifier_input_stream_standby(struct audio_stream_in *stream) +{ + amplifier_device_t *amp = get_amplifier_device(); + if (amp && amp->input_stream_standby) + return amp->input_stream_standby(amp, stream); + + return 0; +} + +static int amplifier_set_parameters(struct str_parms *parms) +{ + amplifier_device_t *amp = get_amplifier_device(); + if (amp && amp->set_parameters) + return amp->set_parameters(amp, parms); + + return 0; +} + +static int amplifier_close(void) +{ + amplifier_device_t *amp = get_amplifier_device(); + if (amp) + amplifier_device_close(amp); + + return 0; +} + struct timespec time_spec_diff(struct timespec time1, struct timespec time0) { struct timespec ret; int xsec = 0; @@ -309,6 +357,8 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_OUT_VOICE_SPEAKER_WB] = "voice-speaker-wb", [SND_DEVICE_OUT_VOICE_HEADPHONES] = "voice-headphones", [SND_DEVICE_OUT_VOICE_HEADPHONES_WB] = "voice-headphones-wb", + [SND_DEVICE_OUT_VOICE_BT_SCO] = "voice-bt-sco-headset", + [SND_DEVICE_OUT_VOICE_BT_SCO_WB] = "voice-bt-sco-headset-wb", [SND_DEVICE_OUT_HDMI] = "hdmi", [SND_DEVICE_OUT_SPEAKER_AND_HDMI] = "speaker-and-hdmi", [SND_DEVICE_OUT_BT_SCO] = "bt-sco-headset", @@ -327,12 +377,13 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_VOICE_SPEAKER_MIC_WB] = "voice-speaker-mic-wb", [SND_DEVICE_IN_VOICE_HEADSET_MIC] = "voice-headset-mic", [SND_DEVICE_IN_VOICE_HEADSET_MIC_WB] = "voice-headset-mic-wb", + [SND_DEVICE_IN_VOICE_BT_SCO_MIC] = "voice-bt-sco-mic", + [SND_DEVICE_IN_VOICE_BT_SCO_MIC_WB] = "voice-bt-sco-mic-wb", [SND_DEVICE_IN_HDMI_MIC] = "hdmi-mic", [SND_DEVICE_IN_BT_SCO_MIC] = "bt-sco-mic", [SND_DEVICE_IN_CAMCORDER_MIC] = "camcorder-mic", [SND_DEVICE_IN_VOICE_REC_HEADSET_MIC] = "voice-rec-headset-mic", [SND_DEVICE_IN_VOICE_REC_MIC] = "voice-rec-mic", - [SND_DEVICE_IN_LOOPBACK_AEC] = "loopback-aec", }; static struct mixer_card *adev_get_mixer_for_card(struct audio_device *adev, int card) @@ -406,6 +457,11 @@ static int mixer_init(struct audio_device *adev) } while (mixer == NULL); sprintf(mixer_path, "/system/etc/mixer_paths_%d.xml", card); + if (access(mixer_path, F_OK) == -1) { + ALOGE("%s: Failed to load mixer paths from %s, your system is going to crash", + __func__, mixer_path); + } + audio_route = audio_route_init(card, mixer_path); if (!audio_route) { ALOGE("%s: Failed to init audio route controls for card %d, aborting.", @@ -531,6 +587,8 @@ static snd_device_t get_output_snd_device(struct audio_device *adev, audio_devic if (devices & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || devices & AUDIO_DEVICE_OUT_WIRED_HEADSET) { snd_device = SND_DEVICE_OUT_VOICE_HEADPHONES; + } else if (devices & AUDIO_DEVICE_OUT_ALL_SCO) { + snd_device = SND_DEVICE_OUT_VOICE_BT_SCO; } else if (devices & AUDIO_DEVICE_OUT_SPEAKER) { snd_device = SND_DEVICE_OUT_VOICE_SPEAKER; } else if (devices & AUDIO_DEVICE_OUT_EARPIECE) { @@ -541,6 +599,8 @@ static snd_device_t get_output_snd_device(struct audio_device *adev, audio_devic if (devices & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || devices & AUDIO_DEVICE_OUT_WIRED_HEADSET) { snd_device = SND_DEVICE_OUT_VOICE_HEADPHONES_WB; + } else if (devices & AUDIO_DEVICE_OUT_ALL_SCO) { + snd_device = SND_DEVICE_OUT_VOICE_BT_SCO_WB; } else if (devices & AUDIO_DEVICE_OUT_SPEAKER) { snd_device = SND_DEVICE_OUT_VOICE_SPEAKER_WB; } else if (devices & AUDIO_DEVICE_OUT_EARPIECE) { @@ -548,10 +608,6 @@ static snd_device_t get_output_snd_device(struct audio_device *adev, audio_devic } } - if (devices & AUDIO_DEVICE_OUT_ALL_SCO) { - snd_device = SND_DEVICE_OUT_BT_SCO; - } - if (snd_device != SND_DEVICE_NONE) { goto exit; } @@ -657,12 +713,11 @@ static snd_device_t get_input_snd_device(struct audio_device *adev, audio_device /* BT SCO */ if (out_device & AUDIO_DEVICE_OUT_ALL_SCO) { - snd_device = SND_DEVICE_IN_VOICE_MIC; - if (out_device & AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET) { - snd_device = SND_DEVICE_IN_BT_SCO_MIC; - } else if (voice_session_uses_twomic(adev->voice.session)) { - snd_device = SND_DEVICE_IN_VOICE_EARPIECE_MIC; + if (voice_session_uses_wideband(adev->voice.session)) { + snd_device = SND_DEVICE_IN_VOICE_BT_SCO_MIC_WB; + } else { + snd_device = SND_DEVICE_IN_VOICE_BT_SCO_MIC; } } } else if (source == AUDIO_SOURCE_CAMCORDER) { @@ -776,8 +831,7 @@ static int64_t render_latency(audio_usecase_t usecase) static int enable_snd_device(struct audio_device *adev, struct audio_usecase *uc_info, - snd_device_t snd_device, - bool update_mixer) + snd_device_t snd_device) { struct mixer_card *mixer_card; struct listnode *node; @@ -792,8 +846,8 @@ static int enable_snd_device(struct audio_device *adev, if (snd_device == SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES) { ALOGV("Request to enable combo device: enable individual devices\n"); - enable_snd_device(adev, uc_info, SND_DEVICE_OUT_SPEAKER, update_mixer); - enable_snd_device(adev, uc_info, SND_DEVICE_OUT_HEADPHONES, update_mixer); + enable_snd_device(adev, uc_info, SND_DEVICE_OUT_SPEAKER); + enable_snd_device(adev, uc_info, SND_DEVICE_OUT_HEADPHONES); return 0; } adev->snd_dev_ref_cnt[snd_device]++; @@ -821,12 +875,11 @@ static int enable_snd_device(struct audio_device *adev, usleep(DSP_POWEROFF_DELAY - elapsed_usec); } } - update_mixer = true; #endif /* DSP_POWEROFF_DELAY */ - audio_route_apply_path(mixer_card->audio_route, snd_device_name); - if (update_mixer) { - audio_route_update_mixer(mixer_card->audio_route); - } + + amplifier_enable_devices(snd_device, true); + + audio_route_apply_and_update_path(mixer_card->audio_route, snd_device_name); } return 0; @@ -834,20 +887,21 @@ static int enable_snd_device(struct audio_device *adev, int disable_snd_device(struct audio_device *adev, struct audio_usecase *uc_info, - snd_device_t snd_device, - bool update_mixer) + snd_device_t snd_device) { struct mixer_card *mixer_card; struct listnode *node; + struct audio_usecase *out_uc_info = get_usecase_from_type(adev, PCM_PLAYBACK); const char *snd_device_name = get_snd_device_name(snd_device); + const char *out_snd_device_name = NULL; if (snd_device_name == NULL) return -EINVAL; if (snd_device == SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES) { ALOGV("Request to disable combo device: disable individual devices\n"); - disable_snd_device(adev, uc_info, SND_DEVICE_OUT_SPEAKER, update_mixer); - disable_snd_device(adev, uc_info, SND_DEVICE_OUT_HEADPHONES, update_mixer); + disable_snd_device(adev, uc_info, SND_DEVICE_OUT_SPEAKER); + disable_snd_device(adev, uc_info, SND_DEVICE_OUT_HEADPHONES); return 0; } @@ -861,13 +915,18 @@ int disable_snd_device(struct audio_device *adev, snd_device, snd_device_name); list_for_each(node, &uc_info->mixer_list) { mixer_card = node_to_item(node, struct mixer_card, uc_list_node[uc_info->id]); -#ifdef DSP_POWEROFF_DELAY - update_mixer = true; -#endif /* DSP_POWEROFF_DELAY */ - audio_route_reset_path(mixer_card->audio_route, snd_device_name); - if (update_mixer) { - audio_route_update_mixer(mixer_card->audio_route); + audio_route_reset_and_update_path(mixer_card->audio_route, snd_device_name); + if (snd_device > SND_DEVICE_IN_BEGIN && out_uc_info != NULL) { + /* + * Cycle the rx device to eliminate routing conflicts. + * This prevents issues when an input route shares mixer controls with an output + * route. + */ + out_snd_device_name = get_snd_device_name(out_uc_info->out_snd_device); + audio_route_apply_and_update_path(mixer_card->audio_route, out_snd_device_name); } + + amplifier_enable_devices(snd_device, false); #ifdef DSP_POWEROFF_DELAY clock_gettime(CLOCK_MONOTONIC, &(mixer_card->dsp_poweroff_time)); #endif /* DSP_POWEROFF_DELAY */ @@ -876,6 +935,67 @@ int disable_snd_device(struct audio_device *adev, return 0; } +static void check_and_route_usecases(struct audio_device *adev, + struct audio_usecase *uc_info, + usecase_type_t type, + snd_device_t snd_device) +{ + struct listnode *node; + struct audio_usecase *usecase; + bool switch_device[AUDIO_USECASE_MAX], need_switch = false; + snd_device_t usecase_snd_device = SND_DEVICE_NONE; + int i; + + /* + * This function is to make sure that all the usecases that are active on + * the hardware codec backend are always routed to any one device that is + * handled by the hardware codec. + * For example, if low-latency and deep-buffer usecases are currently active + * on speaker and out_set_parameters(headset) is received on low-latency + * output, then we have to make sure deep-buffer is also switched to headset or + * if audio-record and voice-call usecases are currently + * active on speaker(rx) and speaker-mic (tx) and out_set_parameters(earpiece) + * is received for voice call then we have to make sure that audio-record + * usecase is also switched to earpiece i.e. + * because of the limitation that both the devices cannot be enabled + * at the same time as they share the same backend. + */ + /* Disable all the usecases on the shared backend other than the + specified usecase */ + for (i = 0; i < AUDIO_USECASE_MAX; i++) + switch_device[i] = false; + + list_for_each(node, &adev->usecase_list) { + usecase = node_to_item(node, struct audio_usecase, adev_list_node); + if (usecase->type != type || usecase == uc_info) + continue; + usecase_snd_device = (type == PCM_PLAYBACK) ? usecase->out_snd_device : + usecase->in_snd_device; + if (usecase_snd_device != snd_device) { + ALOGV("%s: Usecase (%s) is active on (%s) - disabling ..", + __func__, use_case_table[usecase->id], + get_snd_device_name(usecase_snd_device)); + switch_device[usecase->id] = true; + need_switch = true; + } + } + if (need_switch) { + list_for_each(node, &adev->usecase_list) { + usecase = node_to_item(node, struct audio_usecase, adev_list_node); + usecase_snd_device = (type == PCM_PLAYBACK) ? usecase->out_snd_device : + usecase->in_snd_device; + if (switch_device[usecase->id]) { + disable_snd_device(adev, usecase, usecase_snd_device); + enable_snd_device(adev, usecase, snd_device); + if (type == PCM_PLAYBACK) + usecase->out_snd_device = snd_device; + else + usecase->in_snd_device = snd_device; + } + } + } +} + static int select_devices(struct audio_device *adev, audio_usecase_t uc_id) { @@ -883,16 +1003,11 @@ static int select_devices(struct audio_device *adev, snd_device_t in_snd_device = SND_DEVICE_NONE; struct audio_usecase *usecase = NULL; struct audio_usecase *vc_usecase = NULL; - struct listnode *node; struct stream_in *active_input = NULL; struct stream_out *active_out; - struct mixer_card *mixer_card; ALOGV("%s: usecase(%d)", __func__, uc_id); - if (uc_id == USECASE_AUDIO_CAPTURE_HOTWORD) - return 0; - usecase = get_usecase_from_type(adev, PCM_CAPTURE|VOICE_CALL); if (usecase != NULL) { active_input = (struct stream_in *)usecase->stream; @@ -963,11 +1078,11 @@ static int select_devices(struct audio_device *adev, /* Disable current sound devices */ if (usecase->out_snd_device != SND_DEVICE_NONE) { - disable_snd_device(adev, usecase, usecase->out_snd_device, false); + disable_snd_device(adev, usecase, usecase->out_snd_device); } if (usecase->in_snd_device != SND_DEVICE_NONE) { - disable_snd_device(adev, usecase, usecase->in_snd_device, false); + disable_snd_device(adev, usecase, usecase->in_snd_device); } /* Enable new sound devices */ @@ -977,21 +1092,22 @@ static int select_devices(struct audio_device *adev, set_voice_session_audio_path(adev->voice.session); } - enable_snd_device(adev, usecase, out_snd_device, false); + check_and_route_usecases(adev, usecase, PCM_PLAYBACK, out_snd_device); + enable_snd_device(adev, usecase, out_snd_device); } if (in_snd_device != SND_DEVICE_NONE) { - enable_snd_device(adev, usecase, in_snd_device, false); - } - - list_for_each(node, &usecase->mixer_list) { - mixer_card = node_to_item(node, struct mixer_card, uc_list_node[usecase->id]); - audio_route_update_mixer(mixer_card->audio_route); + check_and_route_usecases(adev, usecase, PCM_CAPTURE, in_snd_device); + enable_snd_device(adev, usecase, in_snd_device); } usecase->in_snd_device = in_snd_device; usecase->out_snd_device = out_snd_device; + /* Rely on amplifier_set_devices to distinguish between in/out devices */ + amplifier_set_input_devices(in_snd_device); + amplifier_set_output_devices(out_snd_device); + return 0; } @@ -1000,46 +1116,6 @@ static ssize_t read_frames(struct stream_in *in, void *buffer, ssize_t frames); static int do_in_standby_l(struct stream_in *in); #ifdef PREPROCESSING_ENABLED -static void get_capture_reference_delay(struct stream_in *in, - size_t frames __unused, - struct echo_reference_buffer *buffer) -{ - ALOGVV("%s: enter:)", __func__); - - /* read frames available in kernel driver buffer */ - unsigned int kernel_frames; - struct timespec tstamp; - long buf_delay; - long kernel_delay; - long delay_ns; - struct pcm_device *ref_device; - long rsmp_delay = 0; - - ref_device = node_to_item(list_tail(&in->pcm_dev_list), - struct pcm_device, stream_list_node); - - if (pcm_get_htimestamp(ref_device->pcm, &kernel_frames, &tstamp) < 0) { - buffer->time_stamp.tv_sec = 0; - buffer->time_stamp.tv_nsec = 0; - buffer->delay_ns = 0; - ALOGW("read get_capture_reference_delay(): pcm_htimestamp error"); - return; - } - - /* adjust render time stamp with delay added by current driver buffer. - * Add the duration of current frame as we want the render time of the last - * sample being written. */ - - kernel_delay = (long)(((int64_t)kernel_frames * 1000000000) / ref_device->pcm_profile->config.rate); - - buffer->time_stamp = tstamp; - buffer->delay_ns = kernel_delay; - - ALOGVV("get_capture_reference_delay_time_stamp Secs: [%10ld], nSecs: [%9ld], kernel_frames: [%5d]," - " delay_ns: [%d] , frames:[%zd]", - buffer->time_stamp.tv_sec , buffer->time_stamp.tv_nsec, kernel_frames, buffer->delay_ns, frames); -} - static void get_capture_delay(struct stream_in *in, size_t frames __unused, struct echo_reference_buffer *buffer) @@ -1100,6 +1176,11 @@ static int32_t update_echo_reference(struct stream_in *in, size_t frames) b.delay_ns = 0; struct pcm_device *pcm_device; + if (list_empty(&in->pcm_dev_list)) { + ALOGW("%s: pcm device list empty", __func__); + return b.delay_ns; + } + pcm_device = node_to_item(list_head(&in->pcm_dev_list), struct pcm_device, stream_list_node); @@ -1136,12 +1217,13 @@ static int set_preprocessor_param(effect_handle_t handle, effect_param_t *param) { uint32_t size = sizeof(int); - uint32_t psize = ((param->psize - 1) / sizeof(int) + 1) * sizeof(int) + - param->vsize; + uint32_t bufsize = sizeof(effect_param_t) + + ((param->psize - 1) / sizeof(int) + 1) * sizeof(int) + + param->vsize; int status = (*handle)->command(handle, EFFECT_CMD_SET_PARAM, - sizeof (effect_param_t) + psize, + bufsize, param, &size, ¶m->status); @@ -1154,19 +1236,27 @@ static int set_preprocessor_param(effect_handle_t handle, static int set_preprocessor_echo_delay(effect_handle_t handle, int32_t delay_us) { - struct { - effect_param_t param; - uint32_t data_0; - int32_t data_1; - } buf; - memset(&buf, 0, sizeof(buf)); + const uint32_t param_size = sizeof(uint32_t); + const uint32_t value_size = sizeof(uint32_t); + + const uint32_t param_padded_size = + ((param_size - 1) / sizeof(int) + 1) * sizeof(int); + + const uint32_t bufsize = sizeof(effect_param_t) + + param_padded_size + value_size; + + uint8_t buf[bufsize]; + memset(&buf, 0, bufsize); + + effect_param_t *effect_param = (effect_param_t *)&buf; + + effect_param->psize = param_size; + effect_param->vsize = value_size; - buf.param.psize = sizeof(uint32_t); - buf.param.vsize = sizeof(uint32_t); - buf.data_0 = AEC_PARAM_ECHO_DELAY; - buf.data_1 = delay_us; + *(uint32_t *)&buf[sizeof(effect_param_t)] = AEC_PARAM_ECHO_DELAY; + *(int32_t *)&buf[sizeof(effect_param_t) + param_padded_size] = delay_us; - return set_preprocessor_param(handle, &buf.param); + return set_preprocessor_param(handle, effect_param); } static void push_echo_reference(struct stream_in *in, size_t frames) @@ -1176,7 +1266,6 @@ static void push_echo_reference(struct stream_in *in, size_t frames) * in->ref_buf_frames is updated with frames available in in->ref_buf */ int32_t delay_us = update_echo_reference(in, frames)/1000; - int32_t size_in_bytes = 0; int i; audio_buffer_t buf; @@ -1263,62 +1352,12 @@ static struct echo_reference_itfe *get_echo_reference(struct audio_device *adev, return adev->echo_reference; } -#ifdef HW_AEC_LOOPBACK -static int get_hw_echo_reference(struct stream_in *in) -{ - struct pcm_device_profile *ref_pcm_profile; - struct pcm_device *ref_device; - struct audio_device *adev = in->dev; - - in->hw_echo_reference = false; - - if (adev->primary_output!= NULL && - !adev->primary_output->standby && - adev->primary_output->usecase == USECASE_AUDIO_PLAYBACK && - adev->primary_output->devices == AUDIO_DEVICE_OUT_SPEAKER) { - struct audio_stream *stream = &adev->primary_output->stream.common; - - // TODO: currently there is no low latency mode for aec reference. - ref_pcm_profile = get_pcm_device(PCM_CAPTURE, pcm_device_capture_loopback_aec.devices); - if (ref_pcm_profile == NULL) { - ALOGE("%s: Could not find PCM device id for the usecase(%d)", - __func__, pcm_device_capture_loopback_aec.devices); - return -EINVAL; - } - - ref_device = (struct pcm_device *)calloc(1, sizeof(struct pcm_device)); - if (ref_device == NULL) { - return -ENOMEM; - } - ref_device->pcm_profile = ref_pcm_profile; - - ALOGV("%s: ref_device rate:%d, ch:%d", __func__, ref_pcm_profile->config.rate, ref_pcm_profile->config.channels); - ref_device->pcm = pcm_open(ref_device->pcm_profile->card, ref_device->pcm_profile->id, PCM_IN | PCM_MONOTONIC, &ref_device->pcm_profile->config); - - if (ref_device->pcm && !pcm_is_ready(ref_device->pcm)) { - ALOGE("%s: %s", __func__, pcm_get_error(ref_device->pcm)); - pcm_close(ref_device->pcm); - ref_device->pcm = NULL; - return -EIO; - } - list_add_tail(&in->pcm_dev_list, &ref_device->stream_list_node); - - in->hw_echo_reference = true; - - ALOGV("%s: hw_echo_reference is true", __func__); - } - - return 0; -} -#endif - static int get_playback_delay(struct stream_out *out, size_t frames, struct echo_reference_buffer *buffer) { unsigned int kernel_frames; int status; - int primary_pcm = 0; struct pcm_device *pcm_device; pcm_device = node_to_item(list_head(&out->pcm_dev_list), @@ -1844,57 +1883,6 @@ static int get_next_buffer(struct resampler_buffer_provider *buffer_provider, return in->read_status; } in->read_buf_frames = in->config.period_size; - -#ifdef PREPROCESSING_ENABLED -#ifdef HW_AEC_LOOPBACK - if (in->hw_echo_reference) { - struct pcm_device *temp_device = NULL; - struct pcm_device *ref_device = NULL; - struct listnode *node = NULL; - struct echo_reference_buffer b; - size_t size_hw_ref_bytes; - size_t size_hw_ref_frames; - int read_status = 0; - - ref_device = node_to_item(list_tail(&in->pcm_dev_list), - struct pcm_device, stream_list_node); - list_for_each(node, &in->pcm_dev_list) { - temp_device = node_to_item(node, struct pcm_device, stream_list_node); - if (temp_device->pcm_profile->id == 1) { - ref_device = temp_device; - break; - } - } - if (ref_device) { - size_hw_ref_bytes = pcm_frames_to_bytes(ref_device->pcm, ref_device->pcm_profile->config.period_size); - size_hw_ref_frames = ref_device->pcm_profile->config.period_size; - if (in->hw_ref_buf_size < size_hw_ref_frames) { - in->hw_ref_buf_size = size_hw_ref_frames; - in->hw_ref_buf = (int16_t *) realloc(in->hw_ref_buf, size_hw_ref_bytes); - ALOG_ASSERT((in->hw_ref_buf != NULL), - "get_next_buffer() failed to reallocate hw_ref_buf"); - ALOGV("get_next_buffer(): hw_ref_buf %p extended to %zd bytes", - in->hw_ref_buf, size_hw_ref_bytes); - } - - read_status = pcm_read(ref_device->pcm, (void*)in->hw_ref_buf, size_hw_ref_bytes); - if (read_status != 0) { - ALOGE("process_frames() pcm_read error for HW reference %d", read_status); - b.raw = NULL; - b.frame_count = 0; - } - else { - get_capture_reference_delay(in, size_hw_ref_frames, &b); - b.raw = (void *)in->hw_ref_buf; - b.frame_count = size_hw_ref_frames; - if (b.delay_ns != 0) - b.delay_ns = -b.delay_ns; // as this is capture delay, it needs to be subtracted from the microphone delay - in->echo_reference->write(in->echo_reference, &b); - } - } - } -#endif // HW_AEC_LOOPBACK -#endif // PREPROCESSING_ENABLED } buffer->frame_count = (buffer->frame_count > in->read_buf_frames) ? @@ -1999,7 +1987,7 @@ static int stop_input_stream(struct stream_in *in) } /* Disable the tx device */ - disable_snd_device(adev, uc_info, uc_info->in_snd_device, true); + disable_snd_device(adev, uc_info, uc_info->in_snd_device); list_remove(&uc_info->adev_list_node); free(uc_info); @@ -2012,13 +2000,6 @@ static int stop_input_stream(struct stream_in *in) in_release_pcm_devices(in); list_init(&in->pcm_dev_list); -#ifdef HW_AEC_LOOPBACK - if (in->hw_echo_reference) - { - in->hw_echo_reference = false; - } -#endif - ALOGV("%s: exit", __func__); return 0; } @@ -2119,23 +2100,8 @@ static int start_input_stream(struct stream_in *in) ); } -#ifdef HW_AEC_LOOPBACK - if (in->enable_aec) { - ret = get_hw_echo_reference(in); - if (ret!=0) - goto error_open; - - /* force ref buffer reallocation */ - in->hw_ref_buf_size = 0; - } -#endif #endif - if (in->dev->voice.in_call) { - ALOGV("%s: in_call, not handling PCMs", __func__); - goto skip_pcm_handling; - } - /* Open the PCM device. * The HW is limited to support only the default pcm_profile settings. * As such a change in aux_channels will not have an effect. @@ -2145,35 +2111,17 @@ static int start_input_stream(struct stream_in *in) pcm_device->pcm_profile->config.channels,pcm_device->pcm_profile->config.rate, pcm_device->pcm_profile->config.format, pcm_device->pcm_profile->config.period_size); - if (pcm_profile->type == PCM_HOTWORD_STREAMING) { - if (!adev->sound_trigger_open_for_streaming) { - ALOGE("%s: No handle to sound trigger HAL", __func__); - ret = -EIO; - goto error_open; - } - pcm_device->pcm = NULL; - pcm_device->sound_trigger_handle = adev->sound_trigger_open_for_streaming(); - if (pcm_device->sound_trigger_handle <= 0) { - ALOGE("%s: Failed to open DSP for streaming", __func__); - ret = -EIO; - goto error_open; - } - ALOGV("Opened DSP successfully"); - } else { - pcm_device->sound_trigger_handle = 0; - pcm_device->pcm = pcm_open(pcm_device->pcm_profile->card, pcm_device->pcm_profile->id, + pcm_device->pcm = pcm_open(pcm_device->pcm_profile->card, pcm_device->pcm_profile->id, PCM_IN | PCM_MONOTONIC, &pcm_device->pcm_profile->config); - if (pcm_device->pcm && !pcm_is_ready(pcm_device->pcm)) { - ALOGE("%s: %s", __func__, pcm_get_error(pcm_device->pcm)); - pcm_close(pcm_device->pcm); - pcm_device->pcm = NULL; - ret = -EIO; - goto error_open; - } + if (pcm_device->pcm && !pcm_is_ready(pcm_device->pcm)) { + ALOGE("%s: %s", __func__, pcm_get_error(pcm_device->pcm)); + pcm_close(pcm_device->pcm); + pcm_device->pcm = NULL; + ret = -EIO; + goto error_open; } -skip_pcm_handling: /* force read and proc buffer reallocation in case of frame size or * channel count change */ in->proc_buf_frames = 0; @@ -2267,26 +2215,13 @@ static int out_close_pcm_devices(struct stream_out *out) { struct pcm_device *pcm_device; struct listnode *node; - struct audio_device *adev = out->dev; list_for_each(node, &out->pcm_dev_list) { pcm_device = node_to_item(node, struct pcm_device, stream_list_node); - if (pcm_device->sound_trigger_handle > 0) { - adev->sound_trigger_close_for_streaming(pcm_device->sound_trigger_handle); - pcm_device->sound_trigger_handle = 0; - } if (pcm_device->pcm) { pcm_close(pcm_device->pcm); pcm_device->pcm = NULL; } - if (pcm_device->resampler) { - release_resampler(pcm_device->resampler); - pcm_device->resampler = NULL; - } - if (pcm_device->res_buffer) { - free(pcm_device->res_buffer); - pcm_device->res_buffer = NULL; - } } return 0; @@ -2308,16 +2243,11 @@ static int out_open_pcm_devices(struct stream_out *out) if (out->flags & AUDIO_OUTPUT_FLAG_DEEP_BUFFER) pcm_device_id = pcm_device_deep_buffer.id; - if (out->dev->voice.in_call) { - ALOGV("%s: in_call, not opening PCMs", __func__); - return ret; - } - ALOGV("%s: Opening PCM device card_id(%d) device_id(%d)", __func__, pcm_device_card, pcm_device_id); pcm_device->pcm = pcm_open(pcm_device_card, pcm_device_id, - PCM_OUT | PCM_MONOTONIC, &pcm_device->pcm_profile->config); + PCM_OUT | PCM_MONOTONIC, &out->config); if (pcm_device->pcm && !pcm_is_ready(pcm_device->pcm)) { ALOGE("%s: %s", __func__, pcm_get_error(pcm_device->pcm)); @@ -2325,24 +2255,6 @@ static int out_open_pcm_devices(struct stream_out *out) ret = -EIO; goto error_open; } - /* - * If the stream rate differs from the PCM rate, we need to - * create a resampler. - */ - if (out->sample_rate != pcm_device->pcm_profile->config.rate) { - ALOGV("%s: create_resampler(), pcm_device_card(%d), pcm_device_id(%d), \ - out_rate(%d), device_rate(%d)",__func__, - pcm_device_card, pcm_device_id, - out->sample_rate, pcm_device->pcm_profile->config.rate); - ret = create_resampler(out->sample_rate, - pcm_device->pcm_profile->config.rate, - audio_channel_count_from_out_mask(out->channel_mask), - RESAMPLER_QUALITY_DEFAULT, - NULL, - &pcm_device->resampler); - pcm_device->res_byte_count = 0; - pcm_device->res_buffer = NULL; - } } return ret; @@ -2362,7 +2274,7 @@ int disable_output_path_l(struct stream_out *out) __func__, out->usecase); return -EINVAL; } - disable_snd_device(adev, uc_info, uc_info->out_snd_device, true); + disable_snd_device(adev, uc_info, uc_info->out_snd_device); uc_release_pcm_devices(uc_info); list_remove(&uc_info->adev_list_node); free(uc_info); @@ -2475,8 +2387,8 @@ int stop_voice_call(struct audio_device *adev) return -EINVAL; } - disable_snd_device(adev, uc_info, uc_info->out_snd_device, false); - disable_snd_device(adev, uc_info, uc_info->in_snd_device, true); + disable_snd_device(adev, uc_info, uc_info->out_snd_device); + disable_snd_device(adev, uc_info, uc_info->in_snd_device); list_remove(&uc_info->adev_list_node); free(uc_info); @@ -2674,6 +2586,7 @@ static int out_standby(struct audio_stream *stream) lock_output_stream(out); if (!out->standby) { pthread_mutex_lock(&adev->lock); + amplifier_output_stream_standby((struct audio_stream_out *) stream); do_out_standby_l(out); pthread_mutex_unlock(&adev->lock); } @@ -2737,12 +2650,7 @@ static int out_set_parameters(struct audio_stream *stream, const char *kvpairs) } } #endif - if (val != 0) { - bool bt_sco_active = false; - - if (out->devices & AUDIO_DEVICE_OUT_ALL_SCO) { - bt_sco_active = true; - } + if (val != SND_DEVICE_NONE) { out->devices = val; if (!out->standby) { @@ -2769,24 +2677,33 @@ static int out_set_parameters(struct audio_stream *stream, const char *kvpairs) } } + /* Turn on bluetooth sco if needed */ + if ((adev->mode == AUDIO_MODE_IN_COMMUNICATION || adev->mode == AUDIO_MODE_IN_CALL) && + (out->devices & AUDIO_DEVICE_OUT_ALL_SCO) && !adev->bt_sco_active) { + adev->bt_sco_active = true; + start_voice_session_bt_sco(adev); + } + else if (!(out->devices & AUDIO_DEVICE_OUT_ALL_SCO) && adev->bt_sco_active) { + adev->bt_sco_active = false; + stop_voice_session_bt_sco(adev); + } + if ((adev->mode == AUDIO_MODE_IN_CALL) && !adev->voice.in_call && (out == adev->primary_output)) { start_voice_call(adev); } else if ((adev->mode == AUDIO_MODE_IN_CALL) && adev->voice.in_call && (out == adev->primary_output)) { - /* Turn on bluetooth if needed */ - if ((out->devices & AUDIO_DEVICE_OUT_ALL_SCO) && !bt_sco_active) { - start_voice_session_bt_sco(adev->voice.session); - } - select_devices(adev, USECASE_VOICE_CALL); + /* + * When we select different devices we need to restart the + * voice call. The modem closes the stream on its end and + * we do not get any output. + */ + stop_voice_call(adev); + start_voice_call(adev); } } - if ((adev->mode == AUDIO_MODE_NORMAL) && adev->voice.in_call && - (out == adev->primary_output)) { - stop_voice_call(adev); - } pthread_mutex_unlock(&adev->lock); pthread_mutex_unlock(&out->lock); #ifdef PREPROCESSING_ENABLED @@ -2803,6 +2720,8 @@ static int out_set_parameters(struct audio_stream *stream, const char *kvpairs) pthread_mutex_unlock(&adev->lock_inputs); } + amplifier_set_parameters(parms); + if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) { parse_compress_metadata(out, parms); } @@ -2914,9 +2833,8 @@ static ssize_t out_write(struct audio_stream_out *stream, const void *buffer, ssize_t ret = 0; struct pcm_device *pcm_device; struct listnode *node; - size_t frame_size = audio_stream_out_frame_size(stream); - size_t frames_wr = 0, frames_rq = 0; #ifdef PREPROCESSING_ENABLED + size_t frame_size = audio_stream_out_frame_size(stream); size_t in_frames = bytes / frame_size; size_t out_frames = in_frames; struct stream_in *in = NULL; @@ -2950,6 +2868,10 @@ static ssize_t out_write(struct audio_stream_out *stream, const void *buffer, #endif pthread_mutex_lock(&adev->lock); ret = start_output_stream(out); + if (ret == 0) { + amplifier_output_stream_start(stream, out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD); + } + /* ToDo: If use case is compress offload should return 0 */ if (ret != 0) { pthread_mutex_unlock(&adev->lock); @@ -3008,24 +2930,6 @@ false_alarm: memset((void *)buffer, 0, bytes); list_for_each(node, &out->pcm_dev_list) { pcm_device = node_to_item(node, struct pcm_device, stream_list_node); - if (pcm_device->resampler) { - if (bytes * pcm_device->pcm_profile->config.rate / out->sample_rate + frame_size - > pcm_device->res_byte_count) { - pcm_device->res_byte_count = - bytes * pcm_device->pcm_profile->config.rate / out->sample_rate + frame_size; - pcm_device->res_buffer = - realloc(pcm_device->res_buffer, pcm_device->res_byte_count); - ALOGV("%s: resampler res_byte_count = %zu", __func__, - pcm_device->res_byte_count); - } - frames_rq = bytes / frame_size; - frames_wr = pcm_device->res_byte_count / frame_size; - ALOGVV("%s: resampler request frames = %d frame_size = %d", - __func__, frames_rq, frame_size); - pcm_device->resampler->resample_from_input(pcm_device->resampler, - (int16_t *)buffer, &frames_rq, (int16_t *)pcm_device->res_buffer, &frames_wr); - ALOGVV("%s: resampler output frames_= %d", __func__, frames_wr); - } if (pcm_device->pcm) { #ifdef PREPROCESSING_ENABLED if (out->echo_reference != NULL && pcm_device->pcm_profile->devices != SND_DEVICE_OUT_SPEAKER) { @@ -3038,12 +2942,7 @@ false_alarm: } #endif ALOGVV("%s: writing buffer (%d bytes) to pcm device", __func__, bytes); - if (pcm_device->resampler && pcm_device->res_buffer) - pcm_device->status = - pcm_write(pcm_device->pcm, (void *)pcm_device->res_buffer, - frames_wr * frame_size); - else - pcm_device->status = pcm_write(pcm_device->pcm, (void *)buffer, bytes); + pcm_device->status = pcm_write(pcm_device->pcm, (void *)buffer, bytes); if (pcm_device->status != 0) ret = pcm_device->status; } @@ -3140,19 +3039,13 @@ static int out_get_presentation_position(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp) { struct stream_out *out = (struct stream_out *)stream; - int ret = -1; + int ret = -EINVAL; lock_output_stream(out); if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) { ret = out_get_presentation_offload_position(out, frames, timestamp); } else { - if (out->dev->voice.in_call) { - ALOGVV("%s: in_call, do not handle PCMs", __func__); - ret = 0; - goto done; - } - /* FIXME: which device to read from? */ if (!list_empty(&out->pcm_dev_list)) { struct pcm_device *pcm_device; @@ -3179,7 +3072,6 @@ static int out_get_presentation_position(const struct audio_stream_out *stream, ret = 0; goto done; } - ret = -1; } } } @@ -3296,7 +3188,6 @@ static int in_close_pcm_devices(struct stream_in *in) { struct pcm_device *pcm_device; struct listnode *node; - struct audio_device *adev = in->dev; list_for_each(node, &in->pcm_dev_list) { pcm_device = node_to_item(node, struct pcm_device, stream_list_node); @@ -3304,9 +3195,6 @@ static int in_close_pcm_devices(struct stream_in *in) if (pcm_device->pcm) pcm_close(pcm_device->pcm); pcm_device->pcm = NULL; - if (pcm_device->sound_trigger_handle > 0) - adev->sound_trigger_close_for_streaming(pcm_device->sound_trigger_handle); - pcm_device->sound_trigger_handle = 0; } } return 0; @@ -3332,15 +3220,6 @@ static int do_in_standby_l(struct stream_in *in) put_echo_reference(adev, in->echo_reference); in->echo_reference = NULL; } -#ifdef HW_AEC_LOOPBACK - if (in->hw_echo_reference) - { - if (in->hw_ref_buf) { - free(in->hw_ref_buf); - in->hw_ref_buf = NULL; - } - } -#endif // HW_AEC_LOOPBACK #endif // PREPROCESSING_ENABLED status = stop_input_stream(in); @@ -3366,6 +3245,7 @@ static int in_standby_l(struct stream_in *in) lock_input_stream(in); if (!in->standby) { pthread_mutex_lock(&adev->lock); + amplifier_input_stream_standby((struct audio_stream_in *) in); status = do_in_standby_l(in); pthread_mutex_unlock(&adev->lock); } @@ -3479,21 +3359,6 @@ static int in_set_gain(struct audio_stream_in *stream, float gain) return 0; } -static ssize_t read_bytes_from_dsp(struct stream_in *in, void* buffer, - size_t bytes) -{ - struct pcm_device *pcm_device; - struct audio_device *adev = in->dev; - - pcm_device = node_to_item(list_head(&in->pcm_dev_list), - struct pcm_device, stream_list_node); - - if (pcm_device->sound_trigger_handle > 0) - return adev->sound_trigger_read_samples(pcm_device->sound_trigger_handle, buffer, bytes); - else - return 0; -} - static ssize_t in_read(struct audio_stream_in *stream, void *buffer, size_t bytes) { @@ -3531,8 +3396,12 @@ static ssize_t in_read(struct audio_stream_in *stream, void *buffer, } pthread_mutex_lock(&adev->lock); ret = start_input_stream(in); + if (ret == 0) { + amplifier_input_stream_start(stream); + } pthread_mutex_unlock(&adev->lock); pthread_mutex_unlock(&adev->lock_inputs); + if (ret != 0) { goto exit; } @@ -3541,21 +3410,15 @@ static ssize_t in_read(struct audio_stream_in *stream, void *buffer, false_alarm: if (!list_empty(&in->pcm_dev_list)) { - if (in->usecase == USECASE_AUDIO_CAPTURE_HOTWORD) { - bytes = read_bytes_from_dsp(in, buffer, bytes); - if (bytes > 0) - read_and_process_successful = true; - } else { - /* - * Read PCM and: - * - resample if needed - * - process if pre-processors are attached - * - discard unwanted channels - */ - frames = read_and_process_frames(in, buffer, frames_rq); - if (frames >= 0) - read_and_process_successful = true; - } + /* + * Read PCM and: + * - resample if needed + * - process if pre-processors are attached + * - discard unwanted channels + */ + frames = read_and_process_frames(in, buffer, frames_rq); + if (frames >= 0) + read_and_process_successful = true; } /* @@ -3621,6 +3484,11 @@ static int in_get_capture_position(const struct audio_stream_in *stream, struct pcm_device *pcm_device; int ret = -ENOSYS; + if (list_empty(&in->pcm_dev_list)) { + ALOGW("%s: pcm device list empty", __func__); + return -ENODEV; + } + pcm_device = node_to_item(list_head(&in->pcm_dev_list), struct pcm_device, stream_list_node); @@ -3973,11 +3841,8 @@ static int adev_set_parameters(struct audio_hw_device *dev, const char *kvpairs) value, sizeof(value)); if (ret >= 0) { - /* TODO: Add support in voice calls */ if (strcmp(value, AUDIO_PARAMETER_VALUE_ON) == 0) { adev->voice.bluetooth_wb = true; - ALOGI("%s: Implement support for BT SCO wideband calls!!!", - __func__); } else { adev->voice.bluetooth_wb = false; } @@ -4104,7 +3969,14 @@ static int adev_set_mode(struct audio_hw_device *dev, audio_mode_t mode) pthread_mutex_lock(&adev->lock); if (adev->mode != mode) { ALOGI("%s mode = %d", __func__, mode); + if (amplifier_set_mode(mode) != 0) { + ALOGE("Failed setting amplifier mode"); + } adev->mode = mode; + + if ((mode == AUDIO_MODE_NORMAL) && adev->voice.in_call) { + stop_voice_call(adev); + } } pthread_mutex_unlock(&adev->lock); return 0; @@ -4170,8 +4042,7 @@ static int adev_open_input_stream(struct audio_hw_device *dev, audio_channel_count_from_in_mask(config->channel_mask)) != 0) return -EINVAL; - usecase_type_t usecase_type = source == AUDIO_SOURCE_HOTWORD ? - PCM_HOTWORD_STREAMING : flags & AUDIO_INPUT_FLAG_FAST ? + usecase_type_t usecase_type = flags & AUDIO_INPUT_FLAG_FAST ? PCM_CAPTURE_LOW_LATENCY : PCM_CAPTURE; pcm_profile = get_pcm_device(usecase_type, devices); if (pcm_profile == NULL && usecase_type == PCM_CAPTURE_LOW_LATENCY) { @@ -4222,11 +4093,7 @@ static int adev_open_input_stream(struct audio_hw_device *dev, in->config = pcm_profile->config; /* Update config params with the requested sample rate and channels */ - if (source == AUDIO_SOURCE_HOTWORD) { - in->usecase = USECASE_AUDIO_CAPTURE_HOTWORD; - } else { - in->usecase = USECASE_AUDIO_CAPTURE; - } + in->usecase = USECASE_AUDIO_CAPTURE; in->usecase_type = usecase_type; pthread_mutex_init(&in->lock, (const pthread_mutexattr_t *) NULL); @@ -4304,10 +4171,17 @@ static int adev_close(hw_device_t *device) struct audio_device *adev = (struct audio_device *)device; voice_session_deinit(adev->voice.session); audio_device_ref_count--; + if (audio_device_ref_count == 0) { + if (amplifier_close() != 0) { + ALOGE("Amplifier close failed"); + } + } free(adev->snd_dev_ref_cnt); free_mixer_list(adev); free(device); + adev = NULL; + return 0; } @@ -4332,8 +4206,6 @@ static bool period_size_is_plausible_for_low_latency(int period_size) static int adev_open(const hw_module_t *module, const char *name, hw_device_t **device) { - struct audio_device *adev; - ALOGV("%s: enter", __func__); if (strcmp(name, AUDIO_HARDWARE_INTERFACE) != 0) return -EINVAL; @@ -4375,6 +4247,9 @@ static int adev_open(const hw_module_t *module, const char *name, adev->voice.volume = 1.0f; adev->voice.bluetooth_nrec = true; adev->voice.in_call = false; + adev->voice.bluetooth_wb = false; + + adev->bt_sco_active = false; /* adev->cur_hdmi_channels = 0; by calloc() */ adev->snd_dev_ref_cnt = calloc(SND_DEVICE_MAX, sizeof(int)); @@ -4410,33 +4285,6 @@ static int adev_open(const hw_module_t *module, const char *name, } } - if (access(SOUND_TRIGGER_HAL_LIBRARY_PATH, R_OK) == 0) { - adev->sound_trigger_lib = dlopen(SOUND_TRIGGER_HAL_LIBRARY_PATH, RTLD_NOW); - if (adev->sound_trigger_lib == NULL) { - ALOGE("%s: DLOPEN failed for %s", __func__, SOUND_TRIGGER_HAL_LIBRARY_PATH); - } else { - ALOGV("%s: DLOPEN successful for %s", __func__, SOUND_TRIGGER_HAL_LIBRARY_PATH); - adev->sound_trigger_open_for_streaming = - (int (*)(void))dlsym(adev->sound_trigger_lib, - "sound_trigger_open_for_streaming"); - adev->sound_trigger_read_samples = - (size_t (*)(int, void *, size_t))dlsym(adev->sound_trigger_lib, - "sound_trigger_read_samples"); - adev->sound_trigger_close_for_streaming = - (int (*)(int))dlsym(adev->sound_trigger_lib, - "sound_trigger_close_for_streaming"); - if (!adev->sound_trigger_open_for_streaming || - !adev->sound_trigger_read_samples || - !adev->sound_trigger_close_for_streaming) { - - ALOGE("%s: Error grabbing functions in %s", __func__, SOUND_TRIGGER_HAL_LIBRARY_PATH); - adev->sound_trigger_open_for_streaming = 0; - adev->sound_trigger_read_samples = 0; - adev->sound_trigger_close_for_streaming = 0; - } - } - } - adev->voice.session = voice_session_init(adev); if (adev->voice.session == NULL) { ALOGE("%s: Failed to initialize voice session data", __func__); @@ -4448,6 +4296,10 @@ static int adev_open(const hw_module_t *module, const char *name, return -EINVAL; } + if (amplifier_open() != -ENOENT) { + ALOGE("Amplifier initialization failed"); + } + *device = &adev->device.common; audio_device_ref_count++; diff --git a/audio/audio_hw.h b/audio/audio_hw.h index ca90fef..7143d55 100644 --- a/audio/audio_hw.h +++ b/audio/audio_hw.h @@ -1,6 +1,7 @@ /* * Copyright (C) 2013 The Android Open Source Project * Copyright (C) 2017 Christopher N. Hesse <raymanfx@gmail.com> + * Copyright (C) 2018 The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +21,7 @@ #include <cutils/list.h> #include <hardware/audio.h> +#include <hardware/audio_amplifier.h> #include <tinyalsa/asoundlib.h> #include <tinycompress/tinycompress.h> @@ -47,12 +49,6 @@ struct effect_info_s { }; #endif -#ifdef __LP64__ -#define SOUND_TRIGGER_HAL_LIBRARY_PATH "/system/lib64/hw/sound_trigger.primary.flounder.so" -#else -#define SOUND_TRIGGER_HAL_LIBRARY_PATH "/system/lib/hw/sound_trigger.primary.flounder.so" -#endif - /* Sound devices specific to the platform * The DEVICE_OUT_* and DEVICE_IN_* should be mapped to these sound * devices to enable corresponding mixer paths @@ -73,6 +69,8 @@ enum { SND_DEVICE_OUT_VOICE_SPEAKER_WB, SND_DEVICE_OUT_VOICE_HEADPHONES, SND_DEVICE_OUT_VOICE_HEADPHONES_WB, + SND_DEVICE_OUT_VOICE_BT_SCO, + SND_DEVICE_OUT_VOICE_BT_SCO_WB, SND_DEVICE_OUT_HDMI, SND_DEVICE_OUT_SPEAKER_AND_HDMI, SND_DEVICE_OUT_BT_SCO, @@ -97,12 +95,13 @@ enum { SND_DEVICE_IN_VOICE_SPEAKER_MIC_WB, SND_DEVICE_IN_VOICE_HEADSET_MIC, SND_DEVICE_IN_VOICE_HEADSET_MIC_WB, + SND_DEVICE_IN_VOICE_BT_SCO_MIC, + SND_DEVICE_IN_VOICE_BT_SCO_MIC_WB, SND_DEVICE_IN_HDMI_MIC, SND_DEVICE_IN_BT_SCO_MIC, SND_DEVICE_IN_CAMCORDER_MIC, SND_DEVICE_IN_VOICE_REC_HEADSET_MIC, SND_DEVICE_IN_VOICE_REC_MIC, - SND_DEVICE_IN_LOOPBACK_AEC, SND_DEVICE_IN_END, SND_DEVICE_MAX = SND_DEVICE_IN_END, @@ -131,6 +130,7 @@ enum { #define SCO_PERIOD_COUNT 2 #define SCO_DEFAULT_CHANNEL_COUNT 2 #define SCO_DEFAULT_SAMPLING_RATE 8000 +#define SCO_WB_SAMPLING_RATE 16000 #define SCO_START_THRESHOLD 335 #define SCO_STOP_THRESHOLD 336 #define SCO_AVAILABLE_MIN 1 @@ -184,7 +184,6 @@ typedef enum { /* Capture usecases */ USECASE_AUDIO_CAPTURE, - USECASE_AUDIO_CAPTURE_HOTWORD, USECASE_VOICE_CALL, AUDIO_USECASE_MAX @@ -219,7 +218,6 @@ typedef enum { PCM_PLAYBACK = 0x1, PCM_CAPTURE = 0x2, VOICE_CALL = 0x4, - PCM_HOTWORD_STREAMING = 0x8, PCM_CAPTURE_LOW_LATENCY = 0x10, } usecase_type_t; @@ -242,11 +240,6 @@ struct pcm_device { struct pcm_device_profile* pcm_profile; struct pcm* pcm; int status; - /* TODO: remove resampler if possible when AudioFlinger supports downsampling from 48 to 8 */ - struct resampler_itfe* resampler; - int16_t* res_buffer; - size_t res_byte_count; - int sound_trigger_handle; }; struct stream_out { @@ -335,13 +328,6 @@ struct stream_in { int16_t *ref_buf; size_t ref_buf_size; size_t ref_buf_frames; - -#ifdef HW_AEC_LOOPBACK - bool hw_echo_reference; - int16_t* hw_ref_buf; - size_t hw_ref_buf_size; -#endif - int num_preprocessors; struct effect_info_s preprocessors[MAX_PREPROCESSORS]; @@ -382,7 +368,7 @@ struct voice_data { float volume; bool bluetooth_nrec; bool bluetooth_wb; - void *session; + struct voice_session *session; }; struct audio_device { @@ -395,6 +381,10 @@ struct audio_device { bool mic_mute; bool screen_off; + bool bt_sco_active; + struct pcm *pcm_sco_rx; + struct pcm *pcm_sco_tx; + struct voice_data voice; int* snd_dev_ref_cnt; @@ -417,12 +407,8 @@ struct audio_device { volatile int32_t echo_reference_generation; #endif - void* sound_trigger_lib; - int (*sound_trigger_open_for_streaming)(); - size_t (*sound_trigger_read_samples)(int, void*, size_t); - int (*sound_trigger_close_for_streaming)(int); - pthread_mutex_t lock_inputs; /* see note below on mutex acquisition order */ + amplifier_device_t *amp; }; /* diff --git a/audio/compress_offload.c b/audio/compress_offload.c index 5ce865e..fccc7db 100644 --- a/audio/compress_offload.c +++ b/audio/compress_offload.c @@ -291,12 +291,6 @@ ssize_t out_write_offload(struct audio_stream_out *stream, const void *buffer, out->offload_state = OFFLOAD_STATE_PLAYING; } pthread_mutex_unlock(&out->lock); -#ifdef PREPROCESSING_ENABLED - if (in) { - /* This mutex was left locked iff in != NULL */ - pthread_mutex_unlock(&adev->lock_inputs); - } -#endif return ret; } diff --git a/audio/include/audience-routes.h b/audio/include/audience-routes.h new file mode 100644 index 0000000..6536195 --- /dev/null +++ b/audio/include/audience-routes.h @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2017 Christopher N. Hesse <raymanfx@gmail.com> + * + * 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. + */ + +/* + * NOTICE + * + * This must be kept in sync with the kernel API, for exmaple + * "es705-routes.h" for the Galaxy Note 5 (N920T) with its ES804 IC. + */ + +#define SYSFS_PATH_POWERCTRL "/sys/class/earsmart/control/power_control_set" +#define SYSFS_PATH_PRESET "/sys/class/earsmart/control/route_value" +#define SYSFS_PATH_VEQ "/sys/class/earsmart/control/veq_control_set" +#define SYSFS_PATH_EXTRAVOLUME "/sys/class/earsmart/control/extra_volume" +#define Call_HS_NB 0 /* Call, Headset, Narrow Band */ +#define Call_FT_NB 1 /* Call, Far Talk, Narrow Band */ +#define Call_CT_NB 2 /* Call, Close Talk, Narrow Band */ +#define Call_FT_NB_NR_OFF 3 /* Call, Far Talk, NB, NR off */ +#define Call_CT_NB_NR_OFF 4 /* Call, Close Talk, NB, NR off */ +#define Call_BT_NB 10 /* Call, BT, NB */ +#define Call_TTY_VCO 11 /* Call, TTY HCO NB */ +#define Call_TTY_HCO 12 /* Call, TTY VCO NB */ +#define Call_TTY_FULL 13 /* Call, TTY FULL NB */ +#define Call_FT_EVS 14 /* Call, Far Talk, EVS */ +#define Call_CT_EVS 15 /* Call, Close Talk, EVS */ +#define LOOPBACK_CT 17 /* Loopback, Close Talk */ +#define LOOPBACK_FT 18 /* Loopback, Far Talk */ +#define LOOPBACK_HS 19 /* Loopback, Headset */ +#define Call_BT_WB 20 /* Call, BT, WB */ +#define Call_HS_WB 21 /* Call, Headset, Wide Band */ +#define Call_FT_WB 22 /* Call, Far Talk, Wide Band */ +#define Call_CT_WB 23 /* Call, Close Talk, Wide Band */ +#define Call_FT_WB_NR_OFF 24 /* Call, Far Talk, WB, NR off */ +#define Call_CT_WB_NR_OFF 25 /* Call, Close Talk, WB, NR off */ +#define AUDIENCE_SLEEP 40 /* Route none, Audience Sleep State */ diff --git a/audio/include/samsung_audio.h b/audio/include/samsung_audio.h index c1504f7..7731296 100644 --- a/audio/include/samsung_audio.h +++ b/audio/include/samsung_audio.h @@ -83,4 +83,12 @@ */ /* #define DSP_POWEROFF_DELAY 0 */ +/* + * Some device variants (often T-Mobile) have a separate voice processing IC + * (Audience EarSmart xxx). + * This hooks into the voice call session and enables, configures and disables + * this extra firmware so RX/TX streams can be routed by the driver. + */ +/* #define AUDIENCE_EARSMART_IC */ + #endif // SAMSUNG_AUDIO_H diff --git a/audio/mixer_paths_0.xml.template b/audio/mixer_paths_0.xml.template index 7753896..04453ee 100644 --- a/audio/mixer_paths_0.xml.template +++ b/audio/mixer_paths_0.xml.template @@ -56,6 +56,14 @@ <!-- Empty path --> </path> + <path name="voice-bt-sco-headset"> + <!-- Empty path --> + </path> + + <path name="voice-bt-sco-headset-wb"> + <!-- Empty path --> + </path> + <path name="hdmi"> <!-- Empty path --> </path> @@ -116,6 +124,14 @@ <!-- Empty path --> </path> + <path name="voice-bt-sco-mic"> + <!-- Empty path --> + </path> + + <path name="voice-bt-sco-mic-wb"> + <!-- Empty path --> + </path> + <path name="hdmi-mic"> <!-- Empty path --> </path> diff --git a/audio/ril_interface.c b/audio/ril_interface.c index cffbbe6..f0832cb 100644 --- a/audio/ril_interface.c +++ b/audio/ril_interface.c @@ -186,12 +186,16 @@ int ril_set_call_volume(struct ril_handle *ril, rc = ril_connect_if_required(ril); if (rc != 0) { + ALOGE("%s: Failed to connect to RIL (%s)", __func__, strerror(rc)); return 0; } rc = SetCallVolume(ril->client, sound_type, (int)(volume * ril->volume_steps_max)); + if (rc != 0) { + ALOGE("%s: SetCallVolume() failed, rc=%d", __func__, rc); + } return rc; } @@ -202,10 +206,14 @@ int ril_set_call_audio_path(struct ril_handle *ril, enum _AudioPath path) rc = ril_connect_if_required(ril); if (rc != 0) { + ALOGE("%s: Failed to connect to RIL (%s)", __func__, strerror(rc)); return 0; } rc = SetCallAudioPath(ril->client, path); + if (rc != 0) { + ALOGE("%s: SetCallAudioPath() failed, rc=%d", __func__, rc); + } return rc; } @@ -217,10 +225,14 @@ int ril_set_call_clock_sync(struct ril_handle *ril, rc = ril_connect_if_required(ril); if (rc != 0) { + ALOGE("%s: Failed to connect to RIL (%s)", __func__, strerror(rc)); return 0; } rc = SetCallClockSync(ril->client, condition); + if (rc != 0) { + ALOGE("%s: SetCallClockSync() failed, rc=%d", __func__, rc); + } return rc; } @@ -231,10 +243,14 @@ int ril_set_mute(struct ril_handle *ril, enum _MuteCondition condition) rc = ril_connect_if_required(ril); if (rc != 0) { + ALOGE("%s: Failed to connect to RIL (%s)", __func__, strerror(rc)); return 0; } rc = SetMute(ril->client, condition); + if (rc != 0) { + ALOGE("%s: SetMute() failed, rc=%d", __func__, rc); + } return rc; } @@ -247,10 +263,14 @@ int ril_set_two_mic_control(struct ril_handle *ril, rc = ril_connect_if_required(ril); if (rc != 0) { + ALOGE("%s: Failed to connect to RIL (%s)", __func__, strerror(rc)); return 0; } rc = SetTwoMicControl(ril->client, device, report); + if (rc != 0) { + ALOGE("%s: SetTwoMicControl() failed, rc=%d", __func__, rc); + } return rc; } diff --git a/audio/voice.c b/audio/voice.c index ba7b45b..6d5e613 100644 --- a/audio/voice.c +++ b/audio/voice.c @@ -34,6 +34,10 @@ #include "audio_hw.h" #include "voice.h" +#ifdef AUDIENCE_EARSMART_IC +#include "audience.h" +#endif + static struct pcm_config pcm_config_voicecall = { .channels = 2, .rate = 8000, @@ -58,6 +62,14 @@ struct pcm_config pcm_config_voice_sco = { .format = PCM_FORMAT_S16_LE, }; +struct pcm_config pcm_config_voice_sco_wb = { + .channels = 1, + .rate = SCO_WB_SAMPLING_RATE, + .period_size = SCO_PERIOD_SIZE, + .period_count = SCO_PERIOD_COUNT, + .format = PCM_FORMAT_S16_LE, +}; + /* Prototypes */ int start_voice_call(struct audio_device *adev); int stop_voice_call(struct audio_device *adev); @@ -127,65 +139,81 @@ void prepare_voice_session(struct voice_session *session, * This must be called with the hw device mutex locked, OK to hold other * mutexes. */ -static void stop_voice_session_bt_sco(struct voice_session *session) { +void stop_voice_session_bt_sco(struct audio_device *adev) { ALOGV("%s: Closing SCO PCMs", __func__); - if (session->pcm_sco_rx != NULL) { - pcm_stop(session->pcm_sco_rx); - pcm_close(session->pcm_sco_rx); - session->pcm_sco_rx = NULL; + if (adev->pcm_sco_rx != NULL) { + pcm_stop(adev->pcm_sco_rx); + pcm_close(adev->pcm_sco_rx); + adev->pcm_sco_rx = NULL; } - if (session->pcm_sco_tx != NULL) { - pcm_stop(session->pcm_sco_tx); - pcm_close(session->pcm_sco_tx); - session->pcm_sco_tx = NULL; + if (adev->pcm_sco_tx != NULL) { + pcm_stop(adev->pcm_sco_tx); + pcm_close(adev->pcm_sco_tx); + adev->pcm_sco_tx = NULL; } + + /* audio codecs like wm5201 need open modem pcm while using bt sco */ + if (adev->mode != AUDIO_MODE_IN_CALL) + stop_voice_session(adev->voice.session); } /* must be called with the hw device mutex locked, OK to hold other mutexes */ -void start_voice_session_bt_sco(struct voice_session *session) +void start_voice_session_bt_sco(struct audio_device *adev) { - if (session->pcm_sco_rx != NULL || session->pcm_sco_tx != NULL) { + struct pcm_config *voice_sco_config; + + if (adev->pcm_sco_rx != NULL || adev->pcm_sco_tx != NULL) { ALOGW("%s: SCO PCMs already open!\n", __func__); return; } ALOGV("%s: Opening SCO PCMs", __func__); - /* TODO: Add wideband support */ + if (adev->voice.bluetooth_wb) { + ALOGV("%s: pcm_config wideband", __func__); + voice_sco_config = &pcm_config_voice_sco_wb; + } else { + ALOGV("%s: pcm_config narrowband", __func__); + voice_sco_config = &pcm_config_voice_sco; + } - session->pcm_sco_rx = pcm_open(SOUND_CARD, + adev->pcm_sco_rx = pcm_open(SOUND_CARD, SOUND_PLAYBACK_SCO_DEVICE, PCM_OUT|PCM_MONOTONIC, - &pcm_config_voice_sco); - if (session->pcm_sco_rx != NULL && !pcm_is_ready(session->pcm_sco_rx)) { + voice_sco_config); + if (adev->pcm_sco_rx != NULL && !pcm_is_ready(adev->pcm_sco_rx)) { ALOGE("%s: cannot open PCM SCO RX stream: %s", - __func__, pcm_get_error(session->pcm_sco_rx)); + __func__, pcm_get_error(adev->pcm_sco_rx)); goto err_sco_rx; } - session->pcm_sco_tx = pcm_open(SOUND_CARD, + adev->pcm_sco_tx = pcm_open(SOUND_CARD, SOUND_CAPTURE_SCO_DEVICE, PCM_IN|PCM_MONOTONIC, - &pcm_config_voice_sco); - if (session->pcm_sco_tx && !pcm_is_ready(session->pcm_sco_tx)) { + voice_sco_config); + if (adev->pcm_sco_tx && !pcm_is_ready(adev->pcm_sco_tx)) { ALOGE("%s: cannot open PCM SCO TX stream: %s", - __func__, pcm_get_error(session->pcm_sco_tx)); + __func__, pcm_get_error(adev->pcm_sco_tx)); goto err_sco_tx; } - pcm_start(session->pcm_sco_rx); - pcm_start(session->pcm_sco_tx); + pcm_start(adev->pcm_sco_rx); + pcm_start(adev->pcm_sco_tx); + + /* audio codecs like wm5201 need open modem pcm while using bt sco */ + if (adev->mode != AUDIO_MODE_IN_CALL) + start_voice_session(adev->voice.session); return; err_sco_tx: - pcm_close(session->pcm_sco_tx); - session->pcm_sco_tx = NULL; + pcm_close(adev->pcm_sco_tx); + adev->pcm_sco_tx = NULL; err_sco_rx: - pcm_close(session->pcm_sco_rx); - session->pcm_sco_rx = NULL; + pcm_close(adev->pcm_sco_rx); + adev->pcm_sco_rx = NULL; } /* * This function must be called with hw device mutex locked, OK to hold other @@ -245,9 +273,10 @@ int start_voice_session(struct voice_session *session) pcm_start(session->pcm_voice_rx); pcm_start(session->pcm_voice_tx); - if (session->out_device & AUDIO_DEVICE_OUT_ALL_SCO) { - start_voice_session_bt_sco(session); - } +#ifdef AUDIENCE_EARSMART_IC + ALOGV("%s: Enabling Audience IC", __func__); + es_start_voice_session(session); +#endif if (session->two_mic_control) { ALOGV("%s: enabling two mic control", __func__); @@ -257,8 +286,6 @@ int start_voice_session(struct voice_session *session) ril_set_two_mic_control(&session->ril, AUDIENCE, TWO_MIC_SOLUTION_OFF); } - ril_set_call_clock_sync(&session->ril, SOUND_CLOCK_START); - return 0; } @@ -270,6 +297,8 @@ void stop_voice_session(struct voice_session *session) { int status = 0; + ril_set_call_clock_sync(&session->ril, SOUND_CLOCK_STOP); + ALOGV("%s: Closing active PCMs", __func__); if (session->pcm_voice_rx != NULL) { @@ -286,10 +315,10 @@ void stop_voice_session(struct voice_session *session) status++; } - if (session->out_device & AUDIO_DEVICE_OUT_ALL_SCO) { - stop_voice_session_bt_sco(session); - } - +#ifdef AUDIENCE_EARSMART_IC + ALOGV("%s: Disabling Audience IC", __func__); + es_stop_voice_session(); +#endif session->out_device = AUDIO_DEVICE_NONE; @@ -342,6 +371,10 @@ bool voice_session_uses_twomic(struct voice_session *session) bool voice_session_uses_wideband(struct voice_session *session) { + if (session->out_device & AUDIO_DEVICE_OUT_ALL_SCO) { + return session->vdata->bluetooth_wb; + } + return session->wb_amr_type >= 1; } @@ -365,6 +398,10 @@ static void voice_session_wb_amr_callback(void *data, int wb_amr_type) /* TODO Handle wb_amr_type=2 */ + /* + * We need stop the PCM and start with the + * wide band pcm_config. + */ stop_voice_call(adev); start_voice_call(adev); } @@ -422,6 +459,8 @@ struct voice_session *voice_session_init(struct audio_device *adev) } } + session->vdata = &adev->voice; + return session; } diff --git a/audio/voice.h b/audio/voice.h index 630221f..c5cc2f5 100644 --- a/audio/voice.h +++ b/audio/voice.h @@ -25,15 +25,15 @@ struct voice_session { struct pcm *pcm_voice_rx; struct pcm *pcm_voice_tx; - struct pcm *pcm_sco_rx; - struct pcm *pcm_sco_tx; - int wb_amr_type; bool two_mic_control; bool two_mic_disabled; /* from uc_info */ audio_devices_t out_device; + + /* parent container */ + struct voice_data *vdata; }; void prepare_voice_session(struct voice_session *session, @@ -44,7 +44,8 @@ void set_voice_session_volume(struct voice_session *session, float volume); void set_voice_session_audio_path(struct voice_session *session); void set_voice_session_mic_mute(struct voice_session *session, bool state); -void start_voice_session_bt_sco(struct voice_session *session); +void start_voice_session_bt_sco(struct audio_device *adev); +void stop_voice_session_bt_sco(struct audio_device *adev); bool voice_session_uses_twomic(struct voice_session *session); bool voice_session_uses_wideband(struct voice_session *session); diff --git a/dtbhtool/Android.mk b/dtbhtool/Android.mk index 9f77152..c7409b4 100644 --- a/dtbhtool/Android.mk +++ b/dtbhtool/Android.mk @@ -55,6 +55,11 @@ LOCAL_MODULE_PATH := $(PRODUCT_OUT)/utilities LOCAL_FORCE_STATIC_EXECUTABLE := true include $(BUILD_EXECUTABLE) +include $(CLEAR_VARS) +LOCAL_SRC_FILES := unpackdtbhimg.c +LOCAL_MODULE := unpackdtbhimg +include $(BUILD_HOST_EXECUTABLE) + $(call dist-for-goals,dist_files,$(LOCAL_BUILT_MODULE)) include $(LOCAL_PATH)/libfdt/Android.mk diff --git a/dtbhtool/dtbimg.c b/dtbhtool/dtbimg.c index a85c901..744222f 100644 --- a/dtbhtool/dtbimg.c +++ b/dtbhtool/dtbimg.c @@ -170,14 +170,16 @@ void *load_dtbh_block(const char *dtb_path, unsigned pagesize, unsigned *_sz) prop_platform = fdt_getprop(dtb, offset, "model_info-platform", &len); if (strcmp((char *)&prop_platform[0], DTBH_PLATFORM)) { - warnx("model_info-platform of %s is invalid, skipping", fname); + warnx("model_info-platform of %s is invalid, skipping (expected %s but got %s)", + fname, DTBH_PLATFORM, (char *)&prop_platform[0]); free(dtb); continue; } prop_subtype = fdt_getprop(dtb, offset, "model_info-subtype", &len); if (strcmp((char *)&prop_subtype[0], DTBH_SUBTYPE)) { - warnx("model_info-subtype of %s is invalid, skipping", fname); + warnx("model_info-subtype of %s is invalid, skipping (expected %s but got %s)", + fname, DTBH_SUBTYPE, (char *)&prop_subtype[0]); free(dtb); continue; } diff --git a/dtbhtool/unpackdtbhimg.c b/dtbhtool/unpackdtbhimg.c new file mode 100644 index 0000000..0cdbabd --- /dev/null +++ b/dtbhtool/unpackdtbhimg.c @@ -0,0 +1,185 @@ +/* + * Copyright 2018, The LineageOS 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. + */ + +#include <errno.h> +#include <fcntl.h> +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <sys/stat.h> +#include <sys/types.h> + +#define DEFAULT_PAGE_SIZE 2048 +#define DT_NAME_LEN 64 + +struct dt_entry { + uint32_t chip; + uint32_t platform; + uint32_t subtype; + uint32_t hw_rev; + uint32_t hw_rev_end; + uint32_t offset; + uint32_t size; /* including padding */ + uint32_t space; +}; + +struct dtbh_header { + uint32_t magic; + uint32_t version; + uint32_t entry_count; + + struct dt_entry entries[]; +}; + +static void show_dt_entry(struct dt_entry *ent) { + printf("chip: %u, platform: 0x%x, subtype: 0x%x, hw_rev: %u, hw_rev_end: %u, offset: %u, " + "size: %u, space: %u\n", ent->chip, ent->platform, ent->subtype, ent->hw_rev, + ent->hw_rev_end, ent->offset, ent->size, ent->space); +} + +static void dump_dtb(void *buffer, uint32_t size, char *dest) +{ + FILE *output; + ssize_t len; + + output = fopen(dest, "wb"); + if (output == NULL) { + fprintf(stderr, "error: could not open %s\n", dest); + return; + } + + len = fwrite(buffer, size, 1, output); + fclose(output); + + if (len < 0) { + printf("error: failed to write %s (%s)\n", dest, strerror(errno)); + return; + } + + printf("Successfully dumped %s (size=%zu)\n", dest, size); +} + +int usage(void) +{ + fprintf(stderr,"usage: unpackdtbhimg\n" + " -i|--input <dtbh image path>\n" + " -o|--output <directory>\n" + " -p|--pagesize <pagesize>\n" + ); + return 1; +} + +int main(int argc, char *argv[]) { + char *dtbhimg = 0; + char *output_dir = 0; + FILE *dtbhimg_fp; + ssize_t len; + int page_size = DEFAULT_PAGE_SIZE; + struct dtbh_header *header; + void *dt_blob; + + argc--; + argv++; + + while (argc > 0){ + char *arg = argv[0]; + char *val = argv[1]; + if (argc < 1) { + return usage(); + } + argc -= 2; + argv += 2; + if (!strcmp(arg, "--input") || !strcmp(arg, "-i")) { + dtbhimg = val; + } else if (!strcmp(arg, "--output") || !strcmp(arg, "-o")) { + output_dir = val; + } else if (!strcmp(arg, "--pagesize") || !strcmp(arg, "-p")) { + page_size = atoi(val); + } + } + + if (dtbhimg == 0) { + fprintf(stderr,"error: no input filename specified\n"); + return usage(); + } + + if (output_dir == 0) { + fprintf(stderr,"error: no output path specified\n"); + return usage(); + } + + printf("using page_size: %d\n", page_size); + + dtbhimg_fp = fopen(dtbhimg, "r"); + if (dtbhimg_fp == NULL) { + fprintf(stderr, "error: could not open %s\n", dtbhimg); + goto err_open; + } + + header = calloc(page_size, 1); + if (header == NULL) { + goto err_calloc; + } + + len = fread(header, page_size, 1, dtbhimg_fp); + if (len != 1) { + fprintf(stderr, "Failed to read DTBH header: %s\n", strerror(errno)); + goto err_read; + } + + printf("DTBH_MAGIC = '%.4s'\n", &header->magic); + printf("DTBH_VERSION = %u\n", header->version); + printf("Number of entries: %u\n", header->entry_count); + + for (uint32_t i = 0; i < header->entry_count; i++) { + printf("DTB %d: ", i); + show_dt_entry(&header->entries[i]); + dt_blob = malloc(header->entries[i].size); + if (fseek(dtbhimg_fp, header->entries[i].offset, SEEK_SET) != 0) { + fprintf(stderr, "failed to set offset to 0x%x: %s\n", header->entries[i].offset, + strerror(errno)); + goto err_loop; + } + len = fread(dt_blob, header->entries[i].size, 1, dtbhimg_fp); + if (len != 1) { + fprintf(stderr, "Failed to read DTB: %s\n", strerror(errno)); + } + + size_t dest_file_len = DT_NAME_LEN + strlen(output_dir); + char dest_file[dest_file_len]; + snprintf(dest_file, dest_file_len, "%s/chip%u-0x%x-0x%x_rev%u-%u.dtb", output_dir, + header->entries[i].chip, header->entries[i].platform, header->entries[i].subtype, + header->entries[i].hw_rev, header->entries[i].hw_rev_end); + dump_dtb(dt_blob, header->entries[i].size, dest_file); + free(dt_blob); + } + + free(header); + fclose(dtbhimg_fp); + + return 0; + +err_loop: + free(dt_blob); +err_read: + free(header); +err_calloc: + fclose(dtbhimg_fp); +err_open: + return 1; +} diff --git a/exynos/multimedia/openmax/component/video/enc/SEC_OMX_Venc.c b/exynos/multimedia/openmax/component/video/enc/SEC_OMX_Venc.c index 94ba5a4..cbc3858 100644 --- a/exynos/multimedia/openmax/component/video/enc/SEC_OMX_Venc.c +++ b/exynos/multimedia/openmax/component/video/enc/SEC_OMX_Venc.c @@ -1245,6 +1245,30 @@ OMX_ERRORTYPE SEC_OMX_VideoEncodeGetParameter( #endif } break; + case OMX_IndexParamVideoIntraRefresh: + { + OMX_VIDEO_PARAM_INTRAREFRESHTYPE *pIntraRefresh = (OMX_VIDEO_PARAM_INTRAREFRESHTYPE *)ComponentParameterStructure; + OMX_U32 nPortIndex = pIntraRefresh->nPortIndex; + SEC_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL; + + ret = SEC_OMX_Check_SizeVersion(pIntraRefresh, sizeof(OMX_VIDEO_PARAM_INTRAREFRESHTYPE)); + if (ret != OMX_ErrorNone) + goto EXIT; + + if (nPortIndex != OUTPUT_PORT_INDEX) { + ret = OMX_ErrorBadPortIndex; + goto EXIT; + } + + pVideoEnc = (SEC_OMX_VIDEOENC_COMPONENT *)pSECComponent->hComponentHandle; + pIntraRefresh->eRefreshMode = pVideoEnc->intraRefresh.eRefreshMode; + pIntraRefresh->nAirMBs = pVideoEnc->intraRefresh.nAirMBs; + pIntraRefresh->nAirRef = pVideoEnc->intraRefresh.nAirRef; + pIntraRefresh->nCirMBs = pVideoEnc->intraRefresh.nCirMBs; + + ret = OMX_ErrorNone; + } + break; default: { ret = SEC_OMX_GetParameter(hComponent, nParamIndex, ComponentParameterStructure); @@ -1414,6 +1438,35 @@ OMX_ERRORTYPE SEC_OMX_VideoEncodeSetParameter( } break; #endif + case OMX_IndexParamVideoIntraRefresh: + { + OMX_VIDEO_PARAM_INTRAREFRESHTYPE *pIntraRefresh = (OMX_VIDEO_PARAM_INTRAREFRESHTYPE *)ComponentParameterStructure; + OMX_U32 nPortIndex = pIntraRefresh->nPortIndex; + SEC_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL; + + ret = SEC_OMX_Check_SizeVersion(pIntraRefresh, sizeof(OMX_VIDEO_PARAM_INTRAREFRESHTYPE)); + if (ret != OMX_ErrorNone) + goto EXIT; + + if (nPortIndex != OUTPUT_PORT_INDEX) { + ret = OMX_ErrorBadPortIndex; + goto EXIT; + } + + pVideoEnc = (SEC_OMX_VIDEOENC_COMPONENT *)pSECComponent->hComponentHandle; + if (pIntraRefresh->eRefreshMode == OMX_VIDEO_IntraRefreshCyclic) { + pVideoEnc->intraRefresh.eRefreshMode = pIntraRefresh->eRefreshMode; + pVideoEnc->intraRefresh.nCirMBs = pIntraRefresh->nCirMBs; + SEC_OSAL_Log(SEC_LOG_TRACE, "OMX_VIDEO_IntraRefreshCyclic Enable, nCirMBs: %d", + pVideoEnc->intraRefresh.nCirMBs); + } else { + ret = OMX_ErrorUnsupportedSetting; + goto EXIT; + } + + ret = OMX_ErrorNone; + } + break; default: { ret = SEC_OMX_SetParameter(hComponent, nIndex, ComponentParameterStructure); diff --git a/exynos/multimedia/openmax/component/video/enc/SEC_OMX_Venc.h b/exynos/multimedia/openmax/component/video/enc/SEC_OMX_Venc.h index 7403544..40ded5b 100644 --- a/exynos/multimedia/openmax/component/video/enc/SEC_OMX_Venc.h +++ b/exynos/multimedia/openmax/component/video/enc/SEC_OMX_Venc.h @@ -92,6 +92,7 @@ typedef struct _SEC_OMX_VIDEOENC_COMPONENT OMX_BOOL IntraRefreshVOP; OMX_VIDEO_CONTROLRATETYPE eControlRate[ALL_PORT_NUM]; OMX_VIDEO_PARAM_QUANTIZATIONTYPE quantization; + OMX_VIDEO_PARAM_INTRAREFRESHTYPE intraRefresh; OMX_BOOL bFirstFrame; MFC_ENC_INPUT_BUFFER MFCEncInputBuffer[MFC_INPUT_BUFFER_NUM_MAX]; OMX_U32 indexInputBuffer; diff --git a/exynos/multimedia/openmax/component/video/enc/h264/SEC_OMX_H264enc.c b/exynos/multimedia/openmax/component/video/enc/h264/SEC_OMX_H264enc.c index f8b4585..a7e6e7e 100644 --- a/exynos/multimedia/openmax/component/video/enc/h264/SEC_OMX_H264enc.c +++ b/exynos/multimedia/openmax/component/video/enc/h264/SEC_OMX_H264enc.c @@ -205,7 +205,6 @@ void Set_H264Enc_Param(SSBSIP_MFC_ENC_H264_PARAM *pH264Arg, SEC_OMX_BASECOMPONEN pH264Arg->SourceHeight = pSECOutputPort->portDefinition.format.video.nFrameHeight; pH264Arg->IDRPeriod = pH264Enc->AVCComponent[OUTPUT_PORT_INDEX].nPFrames + 1; pH264Arg->SliceMode = 0; - pH264Arg->RandomIntraMBRefresh = 0; pH264Arg->Bitrate = pSECOutputPort->portDefinition.format.video.nBitrate; pH264Arg->QSCodeMax = 51; pH264Arg->QSCodeMin = 10; @@ -259,6 +258,15 @@ void Set_H264Enc_Param(SSBSIP_MFC_ENC_H264_PARAM *pH264Arg, SEC_OMX_BASECOMPONEN break; } + if (pVideoEnc->intraRefresh.eRefreshMode == OMX_VIDEO_IntraRefreshCyclic) { + /* Cyclic Mode */ + pH264Arg->RandomIntraMBRefresh = pVideoEnc->intraRefresh.nCirMBs; + SEC_OSAL_Log(SEC_LOG_TRACE, "RandomIntraMBRefresh: %d", pH264Arg->RandomIntraMBRefresh); + } else { + /* Don't support "Adaptive" and "Cyclic + Adaptive" */ + pH264Arg->RandomIntraMBRefresh = 0; + } + switch ((SEC_OMX_COLOR_FORMATTYPE)pSECInputPort->portDefinition.format.video.eColorFormat) { case OMX_SEC_COLOR_FormatNV12LPhysicalAddress: case OMX_SEC_COLOR_FormatNV12LVirtualAddress: diff --git a/exynos/multimedia/openmax/component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.c b/exynos/multimedia/openmax/component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.c index ebfbe6e..760fc37 100644 --- a/exynos/multimedia/openmax/component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.c +++ b/exynos/multimedia/openmax/component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.c @@ -201,7 +201,6 @@ void Set_Mpeg4Enc_Param(SSBSIP_MFC_ENC_MPEG4_PARAM *pMpeg4Param, SEC_OMX_BASECOM pMpeg4Param->SourceHeight = pSECOutputPort->portDefinition.format.video.nFrameHeight; pMpeg4Param->IDRPeriod = pMpeg4Enc->mpeg4Component[OUTPUT_PORT_INDEX].nPFrames + 1; pMpeg4Param->SliceMode = 0; - pMpeg4Param->RandomIntraMBRefresh = 0; pMpeg4Param->Bitrate = pSECOutputPort->portDefinition.format.video.nBitrate; pMpeg4Param->QSCodeMax = 30; pMpeg4Param->QSCodeMin = 10; @@ -242,6 +241,15 @@ void Set_Mpeg4Enc_Param(SSBSIP_MFC_ENC_MPEG4_PARAM *pMpeg4Param, SEC_OMX_BASECOM break; } + if (pVideoEnc->intraRefresh.eRefreshMode == OMX_VIDEO_IntraRefreshCyclic) { + /* Cyclic Mode */ + pMpeg4Param->RandomIntraMBRefresh = pVideoEnc->intraRefresh.nCirMBs; + SEC_OSAL_Log(SEC_LOG_TRACE, "RandomIntraMBRefresh: %d", pMpeg4Param->RandomIntraMBRefresh); + } else { + /* Don't support "Adaptive" and "Cyclic + Adaptive" */ + pMpeg4Param->RandomIntraMBRefresh = 0; + } + switch ((SEC_OMX_COLOR_FORMATTYPE)pSECInputPort->portDefinition.format.video.eColorFormat) { case OMX_SEC_COLOR_FormatNV12LPhysicalAddress: case OMX_SEC_COLOR_FormatNV12LVirtualAddress: @@ -322,7 +330,6 @@ void Set_H263Enc_Param(SSBSIP_MFC_ENC_H263_PARAM *pH263Param, SEC_OMX_BASECOMPON pH263Param->SourceHeight = pSECOutputPort->portDefinition.format.video.nFrameHeight; pH263Param->IDRPeriod = pMpeg4Enc->h263Component[OUTPUT_PORT_INDEX].nPFrames + 1; pH263Param->SliceMode = 0; - pH263Param->RandomIntraMBRefresh = 0; pH263Param->Bitrate = pSECOutputPort->portDefinition.format.video.nBitrate; pH263Param->QSCodeMax = 30; pH263Param->QSCodeMin = 10; @@ -356,6 +363,15 @@ void Set_H263Enc_Param(SSBSIP_MFC_ENC_H263_PARAM *pH263Param, SEC_OMX_BASECOMPON break; } + if (pVideoEnc->intraRefresh.eRefreshMode == OMX_VIDEO_IntraRefreshCyclic) { + /* Cyclic Mode */ + pH263Param->RandomIntraMBRefresh = pVideoEnc->intraRefresh.nCirMBs; + SEC_OSAL_Log(SEC_LOG_TRACE, "RandomIntraMBRefresh: %d", pH263Param->RandomIntraMBRefresh); + } else { + /* Don't support "Adaptive" and "Cyclic + Adaptive" */ + pH263Param->RandomIntraMBRefresh = 0; + } + switch ((SEC_OMX_COLOR_FORMATTYPE)pSECInputPort->portDefinition.format.video.eColorFormat) { case OMX_SEC_COLOR_FormatNV12LPhysicalAddress: case OMX_SEC_COLOR_FormatNV12LVirtualAddress: diff --git a/fingerprint/bauth/fingerprint.c b/fingerprint/bauth/fingerprint.c index 6e5ed90..9072a5d 100644 --- a/fingerprint/bauth/fingerprint.c +++ b/fingerprint/bauth/fingerprint.c @@ -19,6 +19,7 @@ #include <dlfcn.h> #include <stdlib.h> #include <errno.h> +#include <string.h> #include <cutils/log.h> @@ -122,7 +123,19 @@ static uint64_t fingerprint_get_auth_id(struct fingerprint_device __unused *dev) static int fingerprint_cancel(struct fingerprint_device __unused *dev) { - return bauth_handle->ss_fingerprint_cancel(); + fingerprint_msg_t *cancel_msg; + int ret = 0; + + ret = bauth_handle->ss_fingerprint_cancel(); + + cancel_msg = (fingerprint_msg_t *)malloc(sizeof(fingerprint_msg_t)); + memset(cancel_msg, 0, sizeof(fingerprint_msg_t)); + + cancel_msg->type = FINGERPRINT_ERROR; + cancel_msg->data.error = FINGERPRINT_ERROR_CANCELED; + + original_notify(cancel_msg); + return ret; } static int fingerprint_remove(struct fingerprint_device __unused *dev, uint32_t gid, uint32_t fid) diff --git a/liblights/include/samsung_lights.h b/liblights/include/samsung_lights.h index ab0630e..b866a4e 100644 --- a/liblights/include/samsung_lights.h +++ b/liblights/include/samsung_lights.h @@ -1,5 +1,6 @@ /* * Copyright (C) 2016 The CyanogenMod Project + * Copyright (C) 2017 The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,5 +29,30 @@ #define PANEL_MAX_BRIGHTNESS_NODE "/sys/class/backlight/panel/max_brightness" #define BUTTON_BRIGHTNESS_NODE "/sys/class/sec/sec_touchkey/brightness" #define LED_BLINK_NODE "/sys/class/sec/led/led_blink" +#define LED_BLN_NODE "/sys/class/misc/backlightnotification/notification_led" + +// Uncomment to enable variable button brightness +//#define VAR_BUTTON_BRIGHTNESS 1 + +/* + * Brightness adjustment factors + * + * If one of your device's LEDs is more powerful than the others, use these + * values to equalise them. This value is in the range 0.0-1.0. + */ +#define LED_ADJUSTMENT_R 1.0 +#define LED_ADJUSTMENT_G 1.0 +#define LED_ADJUSTMENT_B 1.0 + +/* + * Light brightness factors + * + * It might make sense for all colours to be scaled down (for example, if your + * LED is too bright). Use these values to adjust the brightness of each + * light. This value is within the range 0-255. + */ +#define LED_BRIGHTNESS_BATTERY 255 +#define LED_BRIGHTNESS_NOTIFICATION 255 +#define LED_BRIGHTNESS_ATTENTION 255 #endif // SAMSUNG_LIGHTS_H diff --git a/liblights/lights.c b/liblights/lights.c index 36a049b..03bee99 100644 --- a/liblights/lights.c +++ b/liblights/lights.c @@ -1,6 +1,7 @@ /* * Copyright (C) 2013 The Android Open Source Project * Copyright (C) 2015-2016 The CyanogenMod Project + * Copyright (C) 2017 The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,6 +43,13 @@ enum component_mask_t { COMPONENT_BACKLIGHT = 0x1, COMPONENT_BUTTON_LIGHT = 0x2, COMPONENT_LED = 0x4, + COMPONENT_BLN = 0x8, +}; + +enum light_t { + TYPE_BATTERY = 0, + TYPE_NOTIFICATION = 1, + TYPE_ATTENTION = 2, }; // Assume backlight is always supported @@ -69,6 +77,10 @@ void check_component_support() hw_components |= COMPONENT_BUTTON_LIGHT; if (access(LED_BLINK_NODE, W_OK) == 0) hw_components |= COMPONENT_LED; +#ifdef LED_BLN_NODE + if (access(LED_BLN_NODE, W_OK) == 0) + hw_components |= COMPONENT_BLN; +#endif } void init_g_lock(void) @@ -92,7 +104,7 @@ static int write_str(char const *path, const char* value) return amt == -1 ? -errno : 0; } else { if (already_warned == 0) { - ALOGE("write_str failed to open %s\n", path); + ALOGE("write_str failed to open %s", path); already_warned = 1; } return -errno; @@ -115,13 +127,13 @@ static int set_light_backlight(struct light_device_t *dev __unused, int max_brightness = g_backlight.max_brightness; /* - * If our max panel brightness is > 255, apply linear scaling across the - * accepted range. + * If max panel brightness is not the default (255), + * apply linear scaling across the accepted range. */ - if (max_brightness > MAX_INPUT_BRIGHTNESS) { + if (max_brightness != MAX_INPUT_BRIGHTNESS) { int old_brightness = brightness; brightness = brightness * max_brightness / MAX_INPUT_BRIGHTNESS; - ALOGV("%s: scaling brightness %d => %d\n", __func__, + ALOGV("%s: scaling brightness %d => %d", __func__, old_brightness, brightness); } @@ -138,12 +150,13 @@ static int set_light_buttons(struct light_device_t* dev __unused, struct light_state_t const* state) { int err = 0; - int on = (state->color & COLOR_MASK); - pthread_mutex_lock(&g_lock); + int brightness = (state->color & COLOR_MASK) ? 1 : 0; - err = set_cur_button_brightness(on ? 1 : 0); - +#ifdef VAR_BUTTON_BRIGHTNESS + brightness = rgb_to_brightness(state); +#endif + err = set_cur_button_brightness(brightness); pthread_mutex_unlock(&g_lock); return err; @@ -183,7 +196,7 @@ static int write_leds(const struct led_config *led) return -EINVAL; } - ALOGV("%s: color=0x%08x, delay_on=%d, delay_off=%d, blink=\"%s\".", + ALOGV("%s: color=0x%08x, delay_on=%d, delay_off=%d, blink=%s", __func__, led->color, led->delay_on, led->delay_off, blink); /* Add '\n' here to make the above log message clean. */ @@ -197,10 +210,20 @@ static int write_leds(const struct led_config *led) return err; } +static int calibrate_color(int color, int brightness) +{ + int red = ((color >> 16) & 0xFF) * LED_ADJUSTMENT_R; + int green = ((color >> 8) & 0xFF) * LED_ADJUSTMENT_G; + int blue = (color & 0xFF) * LED_ADJUSTMENT_B; + + return (((red * brightness) / 255) << 16) + (((green * brightness) / 255) << 8) + ((blue * brightness) / 255); +} + static int set_light_leds(struct light_state_t const *state, int type) { struct led_config *led; int err = 0; + int adjusted_brightness; ALOGV("%s: type=%d, color=0x%010x, fM=%d, fOnMS=%d, fOffMs=%d.", __func__, type, state->color,state->flashMode, state->flashOnMS, state->flashOffMS); @@ -230,7 +253,23 @@ static int set_light_leds(struct light_state_t const *state, int type) return -EINVAL; } - led->color = state->color & COLOR_MASK; + switch (type) { + case TYPE_BATTERY: + adjusted_brightness = LED_BRIGHTNESS_BATTERY; + break; + case TYPE_NOTIFICATION: + adjusted_brightness = LED_BRIGHTNESS_NOTIFICATION; + break; + case TYPE_ATTENTION: + adjusted_brightness = LED_BRIGHTNESS_ATTENTION; + break; + default: + adjusted_brightness = 255; + } + + + + led->color = calibrate_color(state->color & COLOR_MASK, adjusted_brightness); if (led->color > 0) { /* This LED is lit. */ @@ -263,16 +302,49 @@ switched: return err; } +#ifdef LED_BLN_NODE +static int set_light_bln_notifications(struct light_device_t *dev __unused, + struct light_state_t const *state) +{ + int err = 0; + + if (hw_components & COMPONENT_LED) { + ALOGD("%s: BLN LED_BLINK color=0x%010x, fM=%d, fOnMS=%d, fOffMs=%d.", __func__, + state->color, state->flashMode, state->flashOnMS, state->flashOffMS); + + struct led_config led; + switch (state->flashMode) { + case LIGHT_FLASH_TIMED: + case LIGHT_FLASH_HARDWARE: + led.delay_on = state->flashOnMS; + led.delay_off = state->flashOffMS; + break; + default: + /* Set LED to a solid color, spec is unclear on the exact behavior here. */ + led.delay_on = led.delay_off = 0; + break; + } + led.color = LED_BRIGHTNESS_NOTIFICATION; + write_leds(&led); + } + + pthread_mutex_lock(&g_lock); + err = write_str(LED_BLN_NODE, state->color & COLOR_MASK ? "1" : "0"); + pthread_mutex_unlock(&g_lock); + + return err; +} +#endif static int set_light_leds_battery(struct light_device_t *dev __unused, struct light_state_t const *state) { - return set_light_leds(state, 0); + return set_light_leds(state, TYPE_BATTERY); } static int set_light_leds_notifications(struct light_device_t *dev __unused, struct light_state_t const *state) { - return set_light_leds(state, 1); + return set_light_leds(state, TYPE_NOTIFICATION); } static int set_light_leds_attention(struct light_device_t *dev __unused, @@ -298,7 +370,7 @@ static int set_light_leds_attention(struct light_device_t *dev __unused, break; } - return set_light_leds(&fixed, 2); + return set_light_leds(&fixed, TYPE_ATTENTION); } static int open_lights(const struct hw_module_t *module, char const *name, @@ -322,6 +394,12 @@ static int open_lights(const struct hw_module_t *module, char const *name, } else if (0 == strcmp(LIGHT_ID_NOTIFICATIONS, name)) { requested_component = COMPONENT_LED; set_light = set_light_leds_notifications; +#ifdef LED_BLN_NODE + if (hw_components & COMPONENT_BLN) { + requested_component = COMPONENT_BLN; + set_light = set_light_bln_notifications; + } +#endif } else if (0 == strcmp(LIGHT_ID_ATTENTION, name)) { requested_component = COMPONENT_LED; set_light = set_light_leds_attention; diff --git a/liblights/lights_helper.c b/liblights/lights_helper.c index c3406ab..be59399 100644 --- a/liblights/lights_helper.c +++ b/liblights/lights_helper.c @@ -14,6 +14,9 @@ * limitations under the License. */ +#define LOG_TAG "SamsungLightsHelper" +/* #define LOG_NDEBUG 0 */ + #include <errno.h> #include <fcntl.h> #include <stdlib.h> @@ -28,38 +31,44 @@ * Reads an Integer from a file. * * @param path The absolute path string. - * @return The Integer with decimal base, -1 on error. + * @return The Integer with decimal base, -1 or -errno on error. */ -int read_int(char const *path) +static int read_int(char const *path) { int fd, len; - int num_bytes = 10; - char buf[11]; - int retval; + int ret = 0; + const int INT_MAX_STRLEN = 10; + char buffer[INT_MAX_STRLEN+1]; fd = open(path, O_RDONLY); if (fd < 0) { - ALOGE("%s: failed to open %s\n", __func__, path); - goto fail; + ret = -errno; + ALOGE("%s: failed to open %s (%s)", __func__, path, strerror(errno)); + goto exit; } - len = read(fd, buf, num_bytes - 1); + len = read(fd, buffer, INT_MAX_STRLEN-1); if (len < 0) { - ALOGE("%s: failed to read from %s\n", __func__, path); - goto fail; + ret = -errno; + ALOGE("%s: failed to read from %s (%s)", __func__, path, strerror(errno)); + goto exit; } - buf[len] = '\0'; - close(fd); + buffer[len] = '\0'; - // no endptr, decimal base - retval = strtol(buf, NULL, 10); - return retval == 0 ? -1 : retval; + /* now parse the integer from buffer */ + char *endptr = NULL; + ret = (int) strtol(buffer, &endptr, 10); + if (ret == 0 && endptr == NULL) { + ret = -1; + ALOGE("%s: failed to extract number from string %s", __func__, buffer); + goto exit; + } -fail: +exit: if (fd >= 0) close(fd); - return -1; + return ret; } /* @@ -67,38 +76,41 @@ fail: * * @param path The absolute path string. * @param value The Integer value to be written. - * @return 0 on success, -1 or errno on error. + * @return 0 on success, -errno on error. */ -int write_int(char const *path, const int value) +static int write_int(char const *path, const int value) { - int fd; - static int already_warned; + int fd, len, num_bytes; + int ret = 0; + const int INT_MAX_STRLEN = 10; + char buffer[INT_MAX_STRLEN+1]; - already_warned = 0; + fd = open(path, O_WRONLY); + if (fd < 0) { + ret = -errno; + ALOGE("%s: failed to open %s (%s)", __func__, path, strerror(errno)); + goto exit; + } - ALOGV("write_int: path %s, value %d", path, value); - fd = open(path, O_RDWR); + num_bytes = sprintf(buffer, "%d", value); + len = write(fd, buffer, num_bytes); + if (len < 0) { + ret = -errno; + ALOGE("%s: failed to write to %s (%s)", __func__, path, strerror(errno)); + goto exit; + } - if (fd >= 0) { - char buffer[20]; - int bytes = sprintf(buffer, "%d\n", value); - int amt = write(fd, buffer, bytes); +exit: + if (fd >= 0) close(fd); - return amt == -1 ? -errno : 0; - } else { - if (already_warned == 0) { - ALOGE("write_int failed to open %s\n", path); - already_warned = 1; - } - return -errno; - } + return ret; } /* * Set the current button brightness via sysfs. * * @param brightness The brightness value. - * @return 0 on success, -1 or errno on error. + * @return 0 on success, errno on error. */ inline int set_cur_button_brightness(const int brightness) { @@ -129,7 +141,7 @@ inline int get_max_panel_brightness() * Set the current panel brightness via sysfs. * * @param brightness The (scaled) brightness value. - * @return 0 on success, -1 or errno on error. + * @return 0 on success, errno on error. */ inline int set_cur_panel_brightness(const int brightness) { @@ -140,7 +152,7 @@ inline int set_cur_panel_brightness(const int brightness) * Set the maximum panel brightness via sysfs. * * @param brightness The brightness value. - * @return 0 on success, -1 or errno on error. + * @return 0 on success, errno on error. */ inline int set_max_panel_brightness(const int brightness) { diff --git a/macloader/macaddr_mappings.h b/macloader/macaddr_mappings.h index 523868a..76ee673 100644 --- a/macloader/macaddr_mappings.h +++ b/macloader/macaddr_mappings.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2017, The LineageOS Project + * Copyright (C) 2017-2018, The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,6 @@ enum Type { NONE, MURATA, SEMCOSH, - SEMCOVE, SEMCO3RD, SEMCO, WISOL, @@ -49,15 +48,19 @@ static const struct company_range murata_ranges = { "00:26:e8", "00:37:6d", "00:60:57", + "00:9d:6b", "00:ae:fa", "04:46:65", "10:5f:06", + "10:98:c3", "10:a5:d0", "10:d5:42", "14:7d:c5", + "1c:70:22", "1c:99:4c", "20:02:af", "40:f3:08", + "44:91:60", "44:a7:cf", "5c:da:d4", "5c:f8:a1", @@ -66,13 +69,16 @@ static const struct company_range murata_ranges = { "78:4b:87", "78:52:1a", "88:30:8a", + "8c:45:00", "90:b6:86", "98:f1:70", + "a0:c9:a0", "a0:cc:2b", "a4:08:ea", "b0:72:bf", "b8:d7:af", "c8:14:79", + "cc:c0:79", "d0:e4:4a", "d8:c4:6a", "dc:ef:ca", @@ -88,6 +94,7 @@ static const struct company_range semcosh_ranges = { "34:23:ba", "38:aa:3c", "5c:0a:5b", + "6c:c7:ec", "88:32:9b", "90:18:7c", "cc:3a:61" @@ -97,7 +104,11 @@ static const struct company_range semcosh_ranges = { static const struct company_range semco3rd_ranges = { .type = SEMCO3RD, .macaddrs = { + "04:d6:aa", + "08:c5:e1", + "24:18:1d", "2c:0e:3d", + "30:07:4d", "54:88:0e", "84:38:38", "8c:f5:a3", @@ -121,11 +132,16 @@ static const struct company_range semco3rd_ranges = { static const struct company_range semco_ranges = { .type = SEMCO, .macaddrs = { + "48:13:7e", "4c:66:41", "51:f6:6b", + "94:76:b7", + "a4:84:31", "cc:07:ab", "d8:c4:e9", - "ec:9b:f3" + "e8:3a:12", + "ec:9b:f3", + "f8:e6:1a" } }; diff --git a/macloader/macloader.c b/macloader/macloader.c index 7596d47..3efcc0b 100644 --- a/macloader/macloader.c +++ b/macloader/macloader.c @@ -190,9 +190,6 @@ int main() { case SEMCOSH: type_str = "semcosh"; break; - case SEMCOVE: - type_str = "semcove"; - break; case SEMCO3RD: type_str = "semco3rd"; break; diff --git a/mkbootimg.mk b/mkbootimg.mk index ce320a0..d3db2e5 100644 --- a/mkbootimg.mk +++ b/mkbootimg.mk @@ -35,7 +35,7 @@ ifeq ($(strip $(TARGET_CUSTOM_DTBTOOL)),) possible_dtb_dirs = $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/ else # Most specific paths must come first in possible_dtb_dirs -possible_dtb_dirs = $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts/ $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/ +possible_dtb_dirs = $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts/exynos/ $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts/ $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/ endif define build-dtimage-target diff --git a/modemloader/modemloader.c b/modemloader/modemloader.c index e661e8b..f19e1af 100644 --- a/modemloader/modemloader.c +++ b/modemloader/modemloader.c @@ -1,6 +1,6 @@ /* * Copyright (C) 2008 The Android Open Source Project - * Copyright (C) 2015 Christopher N. Hesse <raymanfx@gmail.com> + * Copyright (C) 2015-2017 Christopher N. Hesse <raymanfx@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -84,12 +84,28 @@ done: int main(void) { - unsigned int revision = 0; - char ro_revision[PROP_VALUE_MAX]; + unsigned int revision; + char hardware_revision[PROP_VALUE_MAX]; + const char *properties[] = {"hw.revision", "ro.cbd.dt_revision", "ril.cbd.dt_revision"}; - parse_hardware_revision(&revision); - snprintf(ro_revision, PROP_VALUE_MAX, "%d", revision); - property_set("hw.revision", ro_revision); + // try to read the revision from the kernel cmdline + revision = property_get_int32("ro.boot.hw_rev", 0); + + // if the property was not exported, try to parse /proc/cpuinfo + if (revision == 0) { + parse_hardware_revision(&revision); + } + + snprintf(hardware_revision, PROP_VALUE_MAX, "%d", revision); + + // set all the properties + const int array_length = sizeof(properties) / sizeof(properties[0]); + for (int i = 0; i < array_length; i++) { + property_set(properties[i], hardware_revision); + } + + // indicate that we are done + property_set("ro.modemloader.done", "1"); return 0; } diff --git a/power/include/samsung_power.h b/power/include/samsung_power.h index 93752df..3cbf841 100644 --- a/power/include/samsung_power.h +++ b/power/include/samsung_power.h @@ -24,14 +24,15 @@ * symlink to the locations given here, or override this header in your * device tree. */ -#define BOOST_PATH "/sys/devices/system/cpu/cpu0/cpufreq/interactive/boost" -#define BOOSTPULSE_PATH "/sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse" -#define IO_IS_BUSY_PATH "/sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy" +static const char* CPU_SYSFS_PATHS[2] = { + "/sys/devices/system/cpu/cpu0", + "/sys/devices/system/cpu/cpu4" +}; -#define CPU0_HISPEED_FREQ_PATH "/sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq" -#define CPU0_MAX_FREQ_PATH "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq" -#define CPU4_HISPEED_FREQ_PATH "/sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq" -#define CPU4_MAX_FREQ_PATH "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq" +static const char* CPU_INTERACTIVE_PATHS[2] = { + "/sys/devices/system/cpu/cpu0/cpufreq/interactive", + "/sys/devices/system/cpu/cpu4/cpufreq/interactive" +}; #endif // SAMSUNG_POWER_H diff --git a/power/power.c b/power/power.c index 5856e1f..a34a5b5 100644 --- a/power/power.c +++ b/power/power.c @@ -28,7 +28,6 @@ #include <unistd.h> #include <sys/types.h> -#include <sys/stat.h> #define LOG_TAG "SamsungPowerHAL" /* #define LOG_NDEBUG 0 */ @@ -40,17 +39,28 @@ #include "samsung_power.h" +#define BOOST_PATH "/boost" +#define BOOSTPULSE_PATH "/boostpulse" + +#define IO_IS_BUSY_PATH "/io_is_busy" +#define HISPEED_FREQ_PATH "/hispeed_freq" + +#define MAX_FREQ_PATH "/cpufreq/scaling_max_freq" + +#define CLUSTER_COUNT ARRAY_SIZE(CPU_SYSFS_PATHS) +#define PARAM_MAXLEN 10 + +#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0]) + struct samsung_power_module { struct power_module base; pthread_mutex_t lock; + int boost_fd; int boostpulse_fd; - char cpu0_hispeed_freq[10]; - char cpu0_max_freq[10]; - char cpu4_hispeed_freq[10]; - char cpu4_max_freq[10]; + char hispeed_freqs[CLUSTER_COUNT][PARAM_MAXLEN]; + char max_freqs[CLUSTER_COUNT][PARAM_MAXLEN]; char* touchscreen_power_path; char* touchkey_power_path; - bool touchkey_blocked; }; enum power_profile_e { @@ -61,7 +71,6 @@ enum power_profile_e { }; static enum power_profile_e current_power_profile = PROFILE_BALANCED; -static bool boostpulse_warned = false; /********************************************************** *** HELPER FUNCTIONS @@ -77,7 +86,7 @@ static int sysfs_read(char *path, char *s, int num_bytes) fd = open(path, O_RDONLY); if (fd < 0) { strerror_r(errno, errno_str, sizeof(errno_str)); - ALOGE("Error opening %s: %s\n", path, errno_str); + ALOGE("Error opening %s: %s", path, errno_str); return -1; } @@ -85,11 +94,16 @@ static int sysfs_read(char *path, char *s, int num_bytes) len = read(fd, s, num_bytes - 1); if (len < 0) { strerror_r(errno, errno_str, sizeof(errno_str)); - ALOGE("Error reading from %s: %s\n", path, errno_str); + ALOGE("Error reading from %s: %s", path, errno_str); ret = -1; } else { - s[len] = '\0'; + // do not store newlines, but terminate the string instead + if (s[len-1] == '\n') { + s[len-1] = '\0'; + } else { + s[len] = '\0'; + } } close(fd); @@ -106,67 +120,100 @@ static void sysfs_write(const char *path, char *s) fd = open(path, O_WRONLY); if (fd < 0) { strerror_r(errno, errno_str, sizeof(errno_str)); - ALOGE("Error opening %s: %s\n", path, errno_str); + ALOGE("Error opening %s: %s", path, errno_str); return; } len = write(fd, s, strlen(s)); if (len < 0) { strerror_r(errno, errno_str, sizeof(errno_str)); - ALOGE("Error writing to %s: %s\n", path, errno_str); + ALOGE("Error writing to %s: %s", path, errno_str); } close(fd); } -static void boost(int32_t duration_us) +static void cpu_sysfs_read(const char *param, char s[CLUSTER_COUNT][PARAM_MAXLEN]) { - int fd; + char path[PATH_MAX]; + + for (unsigned int i = 0; i < ARRAY_SIZE(CPU_SYSFS_PATHS); i++) { + sprintf(path, "%s%s", CPU_SYSFS_PATHS[i], param); + sysfs_read(path, s[i], PARAM_MAXLEN); + } +} + +static void cpu_sysfs_write(const char *param, char s[CLUSTER_COUNT][PARAM_MAXLEN]) +{ + char path[PATH_MAX]; + + for (unsigned int i = 0; i < ARRAY_SIZE(CPU_SYSFS_PATHS); i++) { + sprintf(path, "%s%s", CPU_SYSFS_PATHS[i], param); + sysfs_write(path, s[i]); + } +} + +static void cpu_interactive_read(const char *param, char s[CLUSTER_COUNT][PARAM_MAXLEN]) +{ + char path[PATH_MAX]; + + for (unsigned int i = 0; i < ARRAY_SIZE(CPU_INTERACTIVE_PATHS); i++) { + sprintf(path, "%s%s", CPU_INTERACTIVE_PATHS[i], param); + sysfs_read(path, s[i], PARAM_MAXLEN); + } +} + +static void cpu_interactive_write(const char *param, char s[CLUSTER_COUNT][PARAM_MAXLEN]) +{ + char path[PATH_MAX]; + + for (unsigned int i = 0; i < ARRAY_SIZE(CPU_INTERACTIVE_PATHS); i++) { + sprintf(path, "%s%s", CPU_INTERACTIVE_PATHS[i], param); + sysfs_write(path, s[i]); + } +} + +static void send_boost(int boost_fd, int32_t duration_us) +{ + int len; - if (duration_us <= 0) + if (boost_fd < 0) { return; + } - fd = open(BOOST_PATH, O_WRONLY); - if (fd < 0) { - ALOGE("Error opening %s\n", BOOST_PATH); + len = write(boost_fd, "1", 1); + if (len < 0) { + ALOGE("Error writing to %s%s: %s", CPU_INTERACTIVE_PATHS[0], BOOST_PATH, strerror(errno)); return; } - write(fd, "1", 1); usleep(duration_us); - write(fd, "0", 1); - - close(fd); + len = write(boost_fd, "0", 1); } -/********************************************************** - *** POWER FUNCTIONS - **********************************************************/ - -/* You need to request the powerhal lock before calling this function */ -static int boostpulse_open(struct samsung_power_module *samsung_pwr) +static void send_boostpulse(int boostpulse_fd) { - char errno_str[64]; + int len; - if (samsung_pwr->boostpulse_fd < 0) { - samsung_pwr->boostpulse_fd = open(BOOSTPULSE_PATH, O_WRONLY); - if (samsung_pwr->boostpulse_fd < 0) { - if (!boostpulse_warned) { - strerror_r(errno, errno_str, sizeof(errno_str)); - ALOGE("Error opening %s: %s\n", BOOSTPULSE_PATH, errno_str); - boostpulse_warned = true; - } - } + if (boostpulse_fd < 0) { + return; } - return samsung_pwr->boostpulse_fd; + len = write(boostpulse_fd, "1", 1); + if (len < 0) { + ALOGE("Error writing to %s%s: %s", CPU_INTERACTIVE_PATHS[0], BOOSTPULSE_PATH, + strerror(errno)); + } } +/********************************************************** + *** POWER FUNCTIONS + **********************************************************/ + static void set_power_profile(struct samsung_power_module *samsung_pwr, int profile) { int rc; - struct stat sb; if (profile < 0 || profile >= PROFILE_MAX) { return; @@ -180,32 +227,25 @@ static void set_power_profile(struct samsung_power_module *samsung_pwr, switch (profile) { case PROFILE_POWER_SAVE: + // Grab value set by init.*.rc + cpu_interactive_read(HISPEED_FREQ_PATH, samsung_pwr->hispeed_freqs); // Limit to hispeed freq - sysfs_write(CPU0_MAX_FREQ_PATH, samsung_pwr->cpu0_hispeed_freq); - rc = stat(CPU4_MAX_FREQ_PATH, &sb); - if (rc == 0) { - sysfs_write(CPU4_MAX_FREQ_PATH, samsung_pwr->cpu4_hispeed_freq); - } + cpu_sysfs_write(MAX_FREQ_PATH, samsung_pwr->hispeed_freqs); ALOGV("%s: set powersave mode", __func__); break; case PROFILE_BALANCED: // Restore normal max freq - sysfs_write(CPU0_MAX_FREQ_PATH, samsung_pwr->cpu0_max_freq); - rc = stat(CPU4_MAX_FREQ_PATH, &sb); - if (rc == 0) { - sysfs_write(CPU4_MAX_FREQ_PATH, samsung_pwr->cpu4_max_freq); - } + cpu_sysfs_write(MAX_FREQ_PATH, samsung_pwr->max_freqs); ALOGV("%s: set balanced mode", __func__); break; case PROFILE_HIGH_PERFORMANCE: // Restore normal max freq - sysfs_write(CPU0_MAX_FREQ_PATH, samsung_pwr->cpu0_max_freq); - rc = stat(CPU4_MAX_FREQ_PATH, &sb); - if (rc == 0) { - sysfs_write(CPU4_MAX_FREQ_PATH, samsung_pwr->cpu4_max_freq); - } + cpu_sysfs_write(MAX_FREQ_PATH, samsung_pwr->max_freqs); ALOGV("%s: set performance mode", __func__); break; + default: + ALOGW("%s: Unknown power profile: %d", __func__, profile); + return; } current_power_profile = profile; @@ -237,7 +277,7 @@ static void find_input_nodes(struct samsung_power_module *samsung_pwr, char *dir node_path = malloc(node_pathsize); if (path == NULL || node_path == NULL) { strerror_r(errno, errno_str, sizeof(errno_str)); - ALOGE("Out of memory: %s\n", errno_str); + ALOGE("Out of memory: %s", errno_str); return; } @@ -247,11 +287,11 @@ static void find_input_nodes(struct samsung_power_module *samsung_pwr, char *dir snprintf(node_path, node_pathsize, "%s/%s", dir, "enabled"); if (strncmp(file_content, "sec_touchkey", 12) == 0) { - ALOGV("%s: found touchkey path: %s\n", __func__, node_path); + ALOGV("%s: found touchkey path: %s", __func__, node_path); samsung_pwr->touchkey_power_path = malloc(node_pathsize); if (samsung_pwr->touchkey_power_path == NULL) { strerror_r(errno, errno_str, sizeof(errno_str)); - ALOGE("Out of memory: %s\n", errno_str); + ALOGE("Out of memory: %s", errno_str); return; } snprintf(samsung_pwr->touchkey_power_path, node_pathsize, @@ -259,11 +299,11 @@ static void find_input_nodes(struct samsung_power_module *samsung_pwr, char *dir } if (strncmp(file_content, "sec_touchscreen", 15) == 0) { - ALOGV("%s: found touchscreen path: %s\n", __func__, node_path); + ALOGV("%s: found touchscreen path: %s", __func__, node_path); samsung_pwr->touchscreen_power_path = malloc(node_pathsize); if (samsung_pwr->touchscreen_power_path == NULL) { strerror_r(errno, errno_str, sizeof(errno_str)); - ALOGE("Out of memory: %s\n", errno_str); + ALOGE("Out of memory: %s", errno_str); return; } snprintf(samsung_pwr->touchscreen_power_path, node_pathsize, @@ -285,31 +325,13 @@ static void find_input_nodes(struct samsung_power_module *samsung_pwr, char *dir static void init_cpufreqs(struct samsung_power_module *samsung_pwr) { - int rc; - struct stat sb; - - sysfs_read(CPU0_HISPEED_FREQ_PATH, samsung_pwr->cpu0_hispeed_freq, - sizeof(samsung_pwr->cpu0_hispeed_freq)); - sysfs_read(CPU0_MAX_FREQ_PATH, samsung_pwr->cpu0_max_freq, - sizeof(samsung_pwr->cpu0_max_freq)); - ALOGV("%s: CPU 0 hispeed freq: %s\n", __func__, samsung_pwr->cpu0_hispeed_freq); - ALOGV("%s: CPU 0 max freq: %s\n", __func__, samsung_pwr->cpu0_max_freq); - - rc = stat(CPU4_HISPEED_FREQ_PATH, &sb); - if (rc == 0) { - sysfs_read(CPU4_HISPEED_FREQ_PATH, samsung_pwr->cpu4_hispeed_freq, - sizeof(samsung_pwr->cpu4_hispeed_freq)); - sysfs_read(CPU4_MAX_FREQ_PATH, samsung_pwr->cpu4_max_freq, - sizeof(samsung_pwr->cpu4_max_freq)); - ALOGV("%s: CPU 4 hispeed freq: %s\n", __func__, samsung_pwr->cpu4_hispeed_freq); - ALOGV("%s: CPU 4 max freq: %s\n", __func__, samsung_pwr->cpu4_max_freq); - } + cpu_interactive_read(HISPEED_FREQ_PATH, samsung_pwr->hispeed_freqs); + cpu_sysfs_read(MAX_FREQ_PATH, samsung_pwr->max_freqs); } static void init_touch_input_power_path(struct samsung_power_module *samsung_pwr) { char dir[1024]; - char errno_str[64]; uint32_t i; for (i = 0; i < 20; i++) { @@ -318,12 +340,65 @@ static void init_touch_input_power_path(struct samsung_power_module *samsung_pwr } } +static void boost_open(struct samsung_power_module *samsung_pwr) +{ + char path[PATH_MAX]; + + // the boost node is only valid for the LITTLE cluster + sprintf(path, "%s%s", CPU_INTERACTIVE_PATHS[0], BOOST_PATH); + + samsung_pwr->boost_fd = open(path, O_WRONLY); + if (samsung_pwr->boost_fd < 0) { + ALOGE("Error opening %s: %s\n", path, strerror(errno)); + } +} + +static void boostpulse_open(struct samsung_power_module *samsung_pwr) +{ + char path[PATH_MAX]; + + // the boostpulse node is only valid for the LITTLE cluster + sprintf(path, "%s%s", CPU_INTERACTIVE_PATHS[0], BOOSTPULSE_PATH); + + samsung_pwr->boostpulse_fd = open(path, O_WRONLY); + if (samsung_pwr->boostpulse_fd < 0) { + ALOGE("Error opening %s: %s\n", path, strerror(errno)); + } +} + static void samsung_power_init(struct power_module *module) { struct samsung_power_module *samsung_pwr = (struct samsung_power_module *) module; init_cpufreqs(samsung_pwr); + + // keep interactive boost fds opened + boost_open(samsung_pwr); + boostpulse_open(samsung_pwr); + + samsung_pwr->touchscreen_power_path = NULL; + samsung_pwr->touchkey_power_path = NULL; init_touch_input_power_path(samsung_pwr); + + ALOGI("Initialized settings:"); + char max_freqs[PATH_MAX]; + sprintf(max_freqs, "max_freqs: cluster[0]: %s", samsung_pwr->max_freqs[0]); + for (unsigned int i = 1; i < CLUSTER_COUNT; i++) { + sprintf(max_freqs, "%s, %s[%d]: %s", max_freqs, "cluster", i, samsung_pwr->max_freqs[i]); + } + ALOGI("%s", max_freqs); + char hispeed_freqs[PATH_MAX]; + sprintf(hispeed_freqs, "hispeed_freqs: cluster[0]: %s", samsung_pwr->hispeed_freqs[0]); + for (unsigned int i = 1; i < CLUSTER_COUNT; i++) { + sprintf(hispeed_freqs, "%s, %s[%d]: %s", hispeed_freqs, "cluster", i, + samsung_pwr->hispeed_freqs[i]); + } + ALOGI("%s", hispeed_freqs); + ALOGI("boostpulse_fd: %d", samsung_pwr->boostpulse_fd); + ALOGI("touchscreen_power_path: %s", + samsung_pwr->touchscreen_power_path ? samsung_pwr->touchscreen_power_path : "NULL"); + ALOGI("touchkey_power_path: %s", + samsung_pwr->touchkey_power_path ? samsung_pwr->touchkey_power_path : "NULL"); } /********************************************************** @@ -335,51 +410,66 @@ static void samsung_power_init(struct power_module *module) static void samsung_power_set_interactive(struct power_module *module, int on) { struct samsung_power_module *samsung_pwr = (struct samsung_power_module *) module; - struct stat sb; - char touchkey_node[2]; + int panel_brightness; + char button_state[2]; int rc; + static bool touchkeys_blocked = false; + char ON[CLUSTER_COUNT][PARAM_MAXLEN] = {"1", "1"}; + char OFF[CLUSTER_COUNT][PARAM_MAXLEN] = {"0", "0"}; - ALOGV("power_set_interactive: %d\n", on); + ALOGV("power_set_interactive: %d", on); - // Get panel backlight brightness from lights HAL - // Do not disable any input devices if the screen is on but we are in a non-interactive state + /* + * Do not disable any input devices if the screen is on but we are in a non-interactive + * state. + */ if (!on) { - if (get_cur_panel_brightness() > 0) { + panel_brightness = get_cur_panel_brightness(); + if (panel_brightness < 0) { + ALOGE("%s: Failed to read panel brightness", __func__); + } else if (panel_brightness > 0) { ALOGV("%s: Moving to non-interactive state, but screen is still on," - " not disabling input devices\n", __func__); + " not disabling input devices", __func__); goto out; } } - sysfs_write(samsung_pwr->touchscreen_power_path, on ? "1" : "0"); + /* Sanity check the touchscreen path */ + if (samsung_pwr->touchscreen_power_path) { + sysfs_write(samsung_pwr->touchscreen_power_path, on ? "1" : "0"); + } - rc = stat(samsung_pwr->touchkey_power_path, &sb); - if (rc < 0) { + /* Bail out if the device does not have touchkeys */ + if (samsung_pwr->touchkey_power_path == NULL) { goto out; } if (!on) { - if (sysfs_read(samsung_pwr->touchkey_power_path, touchkey_node, - sizeof(touchkey_node)) == 0) { - /* - * If touchkey_node is 0, the keys have been disabled by another component - * (for example cmhw), which means we don't want them to be enabled when resuming - * from suspend. - */ - if (touchkey_node[0] == '0') { - samsung_pwr->touchkey_blocked = true; - } else { - samsung_pwr->touchkey_blocked = false; - sysfs_write(samsung_pwr->touchkey_power_path, "0"); - } + rc = sysfs_read(samsung_pwr->touchkey_power_path, button_state, ARRAY_SIZE(button_state)); + if (rc < 0) { + ALOGE("%s: Failed to read touchkey state", __func__); + goto out; + } + /* + * If button_state is 0, the keys have been disabled by another component + * (for example cmhw), which means we don't want them to be enabled when resuming + * from suspend. + */ + if (button_state[0] == '0') { + touchkeys_blocked = true; + } else { + touchkeys_blocked = false; } - } else if (!samsung_pwr->touchkey_blocked) { - sysfs_write(samsung_pwr->touchkey_power_path, "1"); + } + + if (!touchkeys_blocked) { + sysfs_write(samsung_pwr->touchkey_power_path, on ? "1" : "0"); } out: - sysfs_write(IO_IS_BUSY_PATH, on ? "1" : "0"); - ALOGV("power_set_interactive: %d done\n", on); + cpu_interactive_write(IO_IS_BUSY_PATH, on ? ON : OFF); + + ALOGV("power_set_interactive: %d done", on); } static void samsung_power_hint(struct power_module *module, @@ -387,46 +477,46 @@ static void samsung_power_hint(struct power_module *module, void *data) { struct samsung_power_module *samsung_pwr = (struct samsung_power_module *) module; - char errno_str[64]; - int len; - switch (hint) { - case POWER_HINT_INTERACTION: { - if (current_power_profile == PROFILE_POWER_SAVE) { - return; - } + /* Bail out if low-power mode is active */ + if (current_power_profile == PROFILE_POWER_SAVE && hint != POWER_HINT_LOW_POWER + && hint != POWER_HINT_SET_PROFILE && hint != POWER_HINT_DISABLE_TOUCH) { + ALOGV("%s: PROFILE_POWER_SAVE active, ignoring hint %d", __func__, hint); + return; + } + switch (hint) { + case POWER_HINT_VSYNC: + ALOGV("%s: POWER_HINT_VSYNC", __func__); + break; + case POWER_HINT_INTERACTION: ALOGV("%s: POWER_HINT_INTERACTION", __func__); - - if (boostpulse_open(samsung_pwr) >= 0) { - len = write(samsung_pwr->boostpulse_fd, "1", 1); - - if (len < 0) { - strerror_r(errno, errno_str, sizeof(errno_str)); - ALOGE("Error writing to %s: %s\n", BOOSTPULSE_PATH, errno_str); - } - } - + send_boostpulse(samsung_pwr->boostpulse_fd); break; - } - case POWER_HINT_VSYNC: { - ALOGV("%s: POWER_HINT_VSYNC", __func__); + case POWER_HINT_LOW_POWER: + ALOGV("%s: POWER_HINT_LOW_POWER", __func__); + set_power_profile(samsung_pwr, data ? PROFILE_POWER_SAVE : PROFILE_BALANCED); + break; + case POWER_HINT_LAUNCH: + ALOGV("%s: POWER_HINT_LAUNCH", __func__); + send_boostpulse(samsung_pwr->boostpulse_fd); break; - } -#ifdef POWER_HINT_CPU_BOOST case POWER_HINT_CPU_BOOST: - boost((*(int32_t *)data)); + ALOGV("%s: POWER_HINT_CPU_BOOST", __func__); + int32_t duration_us = *((int32_t *)data); + send_boost(samsung_pwr->boost_fd, duration_us); break; -#endif - case POWER_HINT_SET_PROFILE: { - int profile = *((intptr_t *)data); - + case POWER_HINT_SET_PROFILE: ALOGV("%s: POWER_HINT_SET_PROFILE", __func__); - + int profile = *((intptr_t *)data); set_power_profile(samsung_pwr, profile); break; - } + case POWER_HINT_DISABLE_TOUCH: + ALOGV("%s: POWER_HINT_DISABLE_TOUCH", __func__); + sysfs_write(samsung_pwr->touchscreen_power_path, data ? "0" : "1"); + break; default: + ALOGW("%s: Unknown power hint: %d", __func__, hint); break; } } diff --git a/ril/libril/Android.mk b/ril/libril/Android.mk index 7939867..89e67c4 100644 --- a/ril/libril/Android.mk +++ b/ril/libril/Android.mk @@ -22,24 +22,35 @@ LOCAL_SHARED_LIBRARIES := \ LOCAL_STATIC_LIBRARIES := \ libprotobuf-c-nano-enable_malloc \ +LOCAL_CFLAGS := + ifeq ($(SIM_COUNT), 2) + LOCAL_CFLAGS += -DANDROID_MULTI_SIM LOCAL_CFLAGS += -DANDROID_SIM_COUNT_2 endif ifneq ($(filter xmm6262 xmm6360,$(BOARD_MODEM_TYPE)),) -LOCAL_CFLAGS := -DMODEM_TYPE_XMM6262 +LOCAL_CFLAGS += -DMODEM_TYPE_XMM6262 endif ifeq ($(BOARD_MODEM_TYPE),xmm6260) -LOCAL_CFLAGS := -DMODEM_TYPE_XMM6260 +LOCAL_CFLAGS += -DMODEM_TYPE_XMM6260 endif ifneq ($(filter m7450 mdm9x35 ss333 tss310 xmm7260,$(BOARD_MODEM_TYPE)),) -LOCAL_CFLAGS := -DSAMSUNG_NEXT_GEN_MODEM +LOCAL_CFLAGS += -DSAMSUNG_NEXT_GEN_MODEM endif ifeq ($(BOARD_MODEM_NEEDS_VIDEO_CALL_FIELD), true) LOCAL_CFLAGS += -DNEEDS_VIDEO_CALL_FIELD endif +ifeq ($(BOARD_NEEDS_ROAMING_PROTOCOL_FIELD), true) +LOCAL_CFLAGS += -DNEEDS_ROAMING_PROTOCOL_FIELD +endif + +ifeq ($(BOARD_NEEDS_IMS_TYPE_FIELD), true) +LOCAL_CFLAGS += -DNEEDS_IMS_TYPE_FIELD +endif + LOCAL_C_INCLUDES += $(LOCAL_PATH)/include LOCAL_C_INCLUDES += external/nanopb-c LOCAL_C_INCLUDES += $(LOCAL_PATH)/../include diff --git a/ril/libril/ril.cpp b/ril/libril/ril.cpp index 4478ea2..401dd92 100755 --- a/ril/libril/ril.cpp +++ b/ril/libril/ril.cpp @@ -1788,7 +1788,14 @@ static void dispatchVoiceRadioTech(Parcel& p, RequestInfo *pRI) { // RILs that support RADIO_STATE_ON should support this request. if (RADIO_STATE_ON == state) { - dispatchVoid(p, pRI); + if (property_get_bool("telephony.lteOnCdmaDevice", false)) { + RLOGD("dispatchVoiceRadioTech: lteOnCdmaDevice, forcing RADIO_TECH_1xRTT"); + voiceRadioTech = RADIO_TECH_1xRTT; + RIL_onRequestComplete(pRI, RIL_E_SUCCESS, &voiceRadioTech, + sizeof(int)); + } else { + dispatchVoid(p, pRI); + } return; } @@ -1847,9 +1854,28 @@ static void dispatchSetInitialAttachApn(Parcel &p, RequestInfo *pRI) pf.username = strdupReadString(p); pf.password = strdupReadString(p); +#ifdef NEEDS_ROAMING_PROTOCOL_FIELD + pf.roamingProtocol = strdupReadString(p); + if (pf.roamingProtocol == NULL) + pf.roamingProtocol = "IP"; +#endif + +#ifdef NEEDS_IMS_TYPE_FIELD + if (p.readInt32(&t) == NO_ERROR) + pf.imsType = (int) t; + else + pf.imsType = 0; +#endif + startRequest; appendPrintBuf("%sapn=%s, protocol=%s, authtype=%d, username=%s, password=%s", printBuf, pf.apn, pf.protocol, pf.authtype, pf.username, pf.password); +#ifdef NEEDS_ROAMING_PROTOCOL_FIELD + appendPrintBuf("%sroamingProtocol=%s", printBuf, pf.roamingProtocol); +#endif +#ifdef NEEDS_IMS_TYPE_FIELD + appendPrintBuf("%simsType=%d", printBuf, pf.pf.imsType); +#endif closeRequest; printRequest(pRI->token, pRI->pCI->requestNumber); @@ -5910,7 +5936,7 @@ failCauseToString(RIL_Errno e) { case RIL_E_SIM_FULL: return "E_SIM_FULL"; case RIL_E_NETWORK_REJECT: return "E_NETWORK_REJECT"; case RIL_E_OPERATION_NOT_ALLOWED: return "E_OPERATION_NOT_ALLOWED"; - case RIL_E_EMPTY_RECORD: "E_EMPTY_RECORD"; + case RIL_E_EMPTY_RECORD: return "E_EMPTY_RECORD"; case RIL_E_INVALID_SMS_FORMAT: return "E_INVALID_SMS_FORMAT"; case RIL_E_ENCODING_ERR: return "E_ENCODING_ERR"; case RIL_E_INVALID_SMSC_ADDRESS: return "E_INVALID_SMSC_ADDRESS"; diff --git a/ril/libril/ril_commands.h b/ril/libril/ril_commands.h index 8d02c39..bdb179a 100644 --- a/ril/libril/ril_commands.h +++ b/ril/libril/ril_commands.h @@ -32,7 +32,15 @@ {RIL_REQUEST_SWITCH_WAITING_OR_HOLDING_AND_ACTIVE, dispatchVoid, responseVoid}, {RIL_REQUEST_CONFERENCE, dispatchVoid, responseVoid}, {RIL_REQUEST_UDUB, dispatchVoid, responseVoid}, +#ifndef EXYNOS4_ENHANCEMENTS {RIL_REQUEST_LAST_CALL_FAIL_CAUSE, dispatchVoid, responseFailCause}, +#else + /* + * Exynos4 devices send an extra int for LAST_CALL_FAIL_CAUSE + * which causes responseFailCause to think it's a string and crash. + */ + {RIL_REQUEST_LAST_CALL_FAIL_CAUSE, dispatchVoid, responseInts}, +#endif {RIL_REQUEST_SIGNAL_STRENGTH, dispatchVoid, responseRilSignalStrength}, {RIL_REQUEST_VOICE_REGISTRATION_STATE, dispatchVoid, responseStrings}, {RIL_REQUEST_DATA_REGISTRATION_STATE, dispatchVoid, responseStrings}, diff --git a/ril/libsecril-client/secril-client.cpp b/ril/libsecril-client/secril-client.cpp index ffb2494..56f198d 100755 --- a/ril/libsecril-client/secril-client.cpp +++ b/ril/libsecril-client/secril-client.cpp @@ -36,9 +36,7 @@ namespace android { #define RILD_PORT 7777 #define MULTI_CLIENT_SOCKET_NAME "Multiclient" #define MULTI_CLIENT_Q_SOCKET_NAME "QMulticlient" -#if defined(SEC_PRODUCT_FEATURE_RIL_CALL_DUALMODE_CDMAGSM) #define MULTI_CLIENT_SOCKET_NAME_2 "Multiclient2" -#endif #define MAX_COMMAND_BYTES (8 * 1024) #define REQ_POOL_SIZE 32 @@ -470,7 +468,6 @@ int Connect_QRILD(HRilClient client) { return RIL_CLIENT_ERR_SUCCESS; } -#if defined(SEC_PRODUCT_FEATURE_RIL_CALL_DUALMODE_CDMAGSM) // mook_120209 Enable multiclient /** * @fn int Connect_RILD_Second(void) * @@ -534,7 +531,6 @@ int Connect_RILD_Second(HRilClient client) { return RIL_CLIENT_ERR_SUCCESS; } -#endif /** * @fn int isConnected_RILD(HRilClient client) @@ -1092,6 +1088,8 @@ static int SendOemRequestHookRaw(HRilClient client, int req_id, char *data, size RilClientPrv *client_prv; int maxfd = -1; + unsigned int check_req_id = req_id; + client_prv = (RilClientPrv *)(client->prv); // Allocate a token. @@ -1119,23 +1117,38 @@ static int SendOemRequestHookRaw(HRilClient client, int req_id, char *data, size ret = blockingWrite(client_prv->sock, (void *)&header, sizeof(header)); if (ret < 0) { - RLOGE("%s: send request header failed. (%d)", __FUNCTION__, ret); + RLOGE("%s: send request header (req_id = %d) failed. (%d)", __FUNCTION__, + req_id, ret); goto error; } // Do TX: response data. ret = blockingWrite(client_prv->sock, p.data(), p.dataSize()); if (ret < 0) { - RLOGE("%s: send request data failed. (%d)", __FUNCTION__, ret); + RLOGE("%s: send request data (req_id = %d) failed. (%d)", __FUNCTION__, + req_id, ret); goto error; } + // check if the handler for specified event is NULL and deregister token + // to prevent token pool overflow + if(!FindReqHandler(client_prv, token, &check_req_id)) { + FreeToken(&(client_prv->token_pool), token); + ClearReqHistory(client_prv, token); + } + return RIL_CLIENT_ERR_SUCCESS; error: FreeToken(&(client_prv->token_pool), token); ClearReqHistory(client_prv, token); + if (ret == -EPIPE || ret == -EBADFD) { + close(client_prv->sock); + client_prv->sock = -1; + client_prv->b_connect = 0; + } + return RIL_CLIENT_ERR_UNKNOWN; } @@ -1293,6 +1306,23 @@ static void * RxReaderFunc(void *param) { client_prv->b_connect = 0; } } + } else { + RLOGE("%s: select() returned %d\n", __FUNCTION__, -errno); + + if (client_prv->sock > 0) { + close(client_prv->sock); + client_prv->sock = -1; + client_prv->b_connect = 0; + } + + if (client_prv->p_rs) + record_stream_free(client_prv->p_rs); + + // EOS + if (client_prv->err_cb) { + client_prv->err_cb(client_prv->err_cb_data, RIL_CLIENT_ERR_CONNECT); + return NULL; + } } } @@ -1576,9 +1606,8 @@ static int blockingWrite(int fd, const void *buffer, size_t len) { } else { RLOGE ("RIL Response: unexpected error on write errno:%d", errno); - printf("RIL Response: unexpected error on write errno:%d\n", errno); close(fd); - return -1; + return -errno; } } diff --git a/ril/libsecril-client/secril-client.h b/ril/libsecril-client/secril-client.h index 0e82cde..4c4c2b0 100755 --- a/ril/libsecril-client/secril-client.h +++ b/ril/libsecril-client/secril-client.h @@ -75,13 +75,12 @@ int Connect_RILD(HRilClient client); */ int Connect_QRILD(HRilClient client); -#if defined(SEC_PRODUCT_FEATURE_RIL_CALL_DUALMODE_CDMAGSM) /** * Connect to RIL deamon. One client task starts. * Return is 0 or error code. */ int Connect_RILD_Second(HRilClient client); -#endif + /** * check whether RILD is connected * Returns 0 or 1 diff --git a/wifiloader/Android.mk b/wifiloader/Android.mk index 15c9dc2..72c1c49 100644 --- a/wifiloader/Android.mk +++ b/wifiloader/Android.mk @@ -9,6 +9,14 @@ LOCAL_SRC_FILES := \ LOCAL_SHARED_LIBRARIES := \ liblog libutils +ifneq ($(WIFI_DRIVER_MODULE_NAME),) +LOCAL_CFLAGS += -DWIFI_DRIVER_MODULE_NAME=\"$(WIFI_DRIVER_MODULE_NAME)\" +endif + +ifneq ($(WIFI_DRIVER_MODULE_PATH),) +LOCAL_CFLAGS += -DWIFI_DRIVER_MODULE_PATH=\"$(WIFI_DRIVER_MODULE_PATH)\" +endif + LOCAL_MODULE := wifiloader LOCAL_MODULE_TAGS := optional diff --git a/wifiloader/wifiloader.c b/wifiloader/wifiloader.c index 54afdaf..6c29660 100644 --- a/wifiloader/wifiloader.c +++ b/wifiloader/wifiloader.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2015 Andreas Schneider <asn@cryptomilk.org> + * Copyright (c) 2017 Christopher N. Hesse <raymanfx@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,17 +19,86 @@ #define LOG_NDEBUG 0 #include <errno.h> +#include <fcntl.h> #include <stdio.h> +#include <stdlib.h> #include <string.h> #include <cutils/log.h> +#include <sys/stat.h> +#include <sys/syscall.h> -#define DEFERRED_INITCALLS "/proc/deferred_initcalls" +#define DEFERRED_INITCALLS "/proc/deferred_initcalls" + +#ifndef WIFI_DRIVER_MODULE_NAME +#define WIFI_DRIVER_MODULE_NAME "wlan" +#endif + +#ifndef WIFI_DRIVER_MODULE_PATH +#define WIFI_DRIVER_MODULE_PATH "/system/lib/modules/" WIFI_DRIVER_MODULE_NAME ".ko" +#endif + +#define finit_module(fd, params, flags) syscall(__NR_finit_module, fd, params, flags) + + +static int check_module_loaded(char const *tag) +{ + FILE *proc; + char line[126]; + + if ((proc = fopen("/proc/modules", "r")) == NULL) { + ALOGW("Could not open %s: %s", "/proc/modules", strerror(errno)); + return -errno; + } + + while ((fgets(line, sizeof(line), proc)) != NULL) { + if (strncmp(line, tag, strlen(tag)) == 0) { + fclose(proc); + return 1; + } + } + + fclose(proc); + return 0; +} + +static int load_module(char const *path) +{ + int fd; + + if (check_module_loaded(WIFI_DRIVER_MODULE_NAME) > 0) { + ALOGE("Driver: %s already loaded", path); + return -1; + } + + fd = open(path, O_RDONLY); + if (fd == -1) { + ALOGE("Failed to open %s - error: %s", path, strerror(errno)); + return -errno; + } + + // load the .ko image + if (finit_module(fd, "", 0) != 0) { + ALOGE("Failed to load module %s - error: %s", path, strerror(errno)); + close(fd); + return -errno; + } + + close(fd); + return 0; +} int main(void) { char buf[8] = { '\0' }; FILE *fp; size_t r; + int fd; + struct stat st; + + if (stat(WIFI_DRIVER_MODULE_PATH, &st) == 0) { + ALOGD("Loading WiFi kernel module: %s", WIFI_DRIVER_MODULE_PATH); + load_module(WIFI_DRIVER_MODULE_PATH); + } ALOGD("Trigger initcall of deferred modules\n"); |