More Huawei overlays.
Devices supported as of now:
-STF
-VTR
-ANE
-BND
-LLD
-PRA
-RNE
-WAS
-DUK
diff --git a/Huawei/hi3660/DUK/Android.mk b/Huawei/hi3660/DUK/Android.mk
new file mode 100644
index 0000000..862bc6d
--- /dev/null
+++ b/Huawei/hi3660/DUK/Android.mk
@@ -0,0 +1,8 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+LOCAL_MODULE_TAGS := optional
+LOCAL_PACKAGE_NAME := dil3mm4-overlay-DUK
+LOCAL_MODULE_PATH := $(TARGET_OUT)/overlay
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+LOCAL_PRIVATE_PLATFORM_APIS := true
+include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/Huawei/hi3660/DUK/AndroidManifest.xml b/Huawei/hi3660/DUK/AndroidManifest.xml
new file mode 100644
index 0000000..985583a
--- /dev/null
+++ b/Huawei/hi3660/DUK/AndroidManifest.xml
@@ -0,0 +1,10 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.dil3mm4.huawei.DUK"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="android"
+ android:requiredSystemPropertyName="ro.hw.oemName"
+ android:requiredSystemPropertyValue="+DUK*"
+ android:priority="4"
+ android:isStatic="true" />
+</manifest>
diff --git a/Huawei/hi3660/DUK/res/values/config.xml b/Huawei/hi3660/DUK/res/values/config.xml
new file mode 100644
index 0000000..0efbbce
--- /dev/null
+++ b/Huawei/hi3660/DUK/res/values/config.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. Do not translate.
+
+ NOTE: The naming convention is "config_camelCaseValue". Some legacy
+ entries do not follow the convention, but all new entries should. -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- If true, the screen can be rotated via the accelerometer in all 4
+ rotations as the default behavior. -->
+ <bool name="config_allowAllRotations">true</bool>
+
+ <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
+ The N entries of this array define N + 1 control points as follows:
+ (1-based arrays)
+
+ Point 1: (0, value[1]): lux <= 0
+ Point 2: (level[1], value[2]): 0 < lux <= level[1]
+ Point 3: (level[2], value[3]): level[2] < lux <= level[3]
+ ...
+ Point N+1: (level[N], value[N+1]): level[N] < lux
+
+ The control points must be strictly increasing. Each control point
+ corresponds to an entry in the brightness backlight values arrays.
+ For example, if LUX == level[1] (first element of the levels array)
+ then the brightness will be determined by value[2] (second element
+ of the brightness values array).
+
+ Spline interpolation is used to determine the auto-brightness
+ backlight values for LUX levels between these control points.
+
+ Must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLevels">
+ <item>8</item>
+ <item>55</item>
+ <item>350</item>
+ <item>1600</item>
+ <item>2550</item>
+ </integer-array>
+
+ <!-- Array of output values for LCD backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ The brightness values must be between 0 and 255 and be non-decreasing.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLcdBacklightValues">
+ <item>6</item>
+ <item>47</item>
+ <item>150</item>
+ <item>180</item>
+ <item>250</item>
+ <item>255</item>
+ </integer-array>
+
+ <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
+ Software implementation will be used if config_hardware_auto_brightness_available is not set -->
+ <bool name="config_automatic_brightness_available">true</bool>
+
+ <!-- Boolean indicating if current platform supports BLE peripheral mode -->
+ <bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
+
+ <!-- ComponentName of a dream to show whenever the system would otherwise have
+ gone to sleep. When the PowerManager is asked to go to sleep, it will instead
+ try to start this dream if possible. The dream should typically call startDozing()
+ to put the display into a low power state and allow the application processor
+ to be suspended. When the dream ends, the system will go to sleep as usual.
+ Specify the component name or an empty string if none.
+ Note that doze dreams are not subject to the same start conditions as ordinary dreams.
+ Doze dreams will run whenever the power manager is in a dozing state. -->
+ <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
+
+ <!-- If true, the doze component is not started until after the screen has been
+ turned off and the screen off animation has been performed. -->
+ <bool name="config_dozeAfterScreenOff">true</bool>
+
+ <!-- Control the behavior when the user double presses the power button.
+ 0 - Nothing
+ 1 - Toggle theater mode setting
+ 2 - Brightness boost
+ -->
+ <integer name="config_doublePressOnPowerBehavior">2</integer>
+
+ <!-- Set this to true to enable the platform's auto-power-save modes like doze and
+ app standby. These are not enabled by default because they require a standard
+ cloud-to-device messaging service for apps to interact correctly with the modes
+ (such as to be able to deliver an instant message to the device even when it is
+ dozing). This should be enabled if you have such services and expect apps to
+ correctly use them when installed on your device. Otherwise, keep this disabled
+ so that applications can still use their own mechanisms. -->
+ <bool name="config_enableAutoPowerModes">true</bool>
+
+ <!-- Maximum number of supported users -->
+ <integer name="config_multiuserMaximumUsers">5</integer>
+
+ <!-- Whether UI for multi user should be shown -->
+ <bool name="config_enableMultiUserUI">false</bool>
+
+ <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
+ device from the display on/off state.
+ When false, autosuspend_disable() will be called before the display is turned on
+ and autosuspend_enable() will be called after the display is turned off.
+ This mode provides best compatibility for devices using legacy power management
+ features such as early suspend / late resume.
+ When true, autosuspend_display() and autosuspend_enable() will be called
+ independently of whether the display is being turned on or off. This mode
+ enables the power manager to suspend the application processor while the
+ display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to autosuspend.h for details.
+ -->
+ <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
+
+ <!-- Indicate whether to allow the device to suspend when the screen is off
+ due to the proximity sensor. This resource should only be set to true
+ if the sensor HAL correctly handles the proximity sensor as a wake-up source.
+ Otherwise, the device may fail to wake out of suspend reliably.
+ The default is false. -->
+ <bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
+
+ <!-- Power Management: Specifies whether to decouple the interactive state of the
+ device from the display on/off state.
+ When false, setInteractive(..., true) will be called before the display is turned on
+ and setInteractive(..., false) will be called after the display is turned off.
+ This mode provides best compatibility for devices that expect the interactive
+ state to be tied to the display state.
+ When true, setInteractive(...) will be called independently of whether the display
+ is being turned on or off. This mode enables the power manager to reduce
+ clocks and disable the touch controller while the display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to power.h for details.
+ -->
+ <bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
+
+
+ <!-- Screen brightness used to dim the screen while dozing in a very low power state.
+ May be less than the minimum allowed brightness setting
+ that can be set by the user. -->
+ <integer name="config_screenBrightnessDoze">17</integer>
+
+ <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveNotificationLed">true</bool>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tething over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"usb\\d"</item>
+ <item>"rndis\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wlan0"</item>
+ <item>"softap.*"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
+ should be empty. -->
+ <string-array translatable="false" name="config_tether_bluetooth_regexs">
+ <item>"bt-pan"</item>
+ </string-array>
+
+ <!-- Array of allowable ConnectivityManager network types for tethering -->
+ <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+ [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+ <integer-array translatable="false" name="config_tether_upstream_types">
+ <item>0</item>
+ <item>1</item>
+ <item>5</item>
+ <item>7</item>
+ </integer-array>
+
+ <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
+ <bool translatable="false" name="config_wifi_dual_band_support">true</bool>
+
+ <!-- Is the device capable of hot swapping an UICC Card -->
+ <bool name="config_hotswapCapable">true</bool>
+
+ <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
+ in hardware. -->
+ <bool name="config_setColorTransformAccelerated">true</bool>
+
+ <!-- Flag specifying whether VoLTE is available on device -->
+ <bool name="config_device_volte_available">true</bool>
+
+ <!-- Flag specifying whether VoLTE should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_volte_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS is available on device -->
+ <bool name="config_device_wfc_ims_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_wfc_ims_available">true</bool>
+
+ <!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
+ This mechanism allows the host to remain in suspend state and the dongle to actively
+ scan and wake the host when a configured SSID is detected by the dongle. This chipset
+ capability can provide power savings when wifi needs to be always kept on. -->
+ <bool name="config_wifi_background_scan_support">true</bool>
+
+ <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
+ on the headphone/microphone jack. When false use the older uevent framework. -->
+ <bool name="config_useDevInputEventForAudioJack">true</bool>
+
+</resources>
\ No newline at end of file
diff --git a/Huawei/hi3660/DUK/res/xml/power_profile.xml b/Huawei/hi3660/DUK/res/xml/power_profile.xml
new file mode 100644
index 0000000..5e20609
--- /dev/null
+++ b/Huawei/hi3660/DUK/res/xml/power_profile.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License")
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<device name="Android">
+ <!-- All values are in mA except as noted -->
+ <item name="none">0</item>
+ <item name="screen.on">104</item> <!-- min brite -->
+ <item name="bluetooth.active">97</item>
+ <item name="bluetooth.on">0.6</item>
+ <item name="bluetooth.at">0.6</item> <!-- TBD -->
+ <item name="screen.full">330</item> <!-- backlight 16 leds -->
+ <item name="wifi.on">0.6</item>
+ <item name="wifi.active">128</item>
+ <item name="wifi.scan">146</item>
+ <item name="dsp.audio">38</item> <!-- k3v5 -->
+ <item name="dsp.video">163</item>
+ <item name="radio.active">180</item>
+ <item name="gps.on">70</item>
+ <item name="battery.capacity">3900</item> <!-- 3900mAh -->
+ <item name="radio.scanning">60</item> <!-- TBD -->
+ <!-- Current consumed by the radio at different signal strengths, when paging -->
+ <array name="radio.on"> <!-- 1 entry per signal strength bin, TBD -->
+ <value>13.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ </array>
+ <array name="cpu.speeds">
+ <value>533000</value> <!-- 533 MHz CPU speed -->
+ <value>999000</value> <!-- 999 MHz CPU speed -->
+ <value>1402000</value> <!-- 1.4 GHz CPU speed -->
+ <value>1709000</value><!-- 1.7 GHz CPU speed -->
+ <value>1844000</value><!-- 1.8 GHz CPU speed -->
+ <value>2112000</value><!-- 2.1 GHz CPU speed -->
+ <value>2362000</value><!-- 2.3 GHz CPU speed -->
+ <value>2612000</value><!-- 2.6 GHz CPU speed -->
+ </array>
+ <!-- Power consumption in suspend -->
+ <item name="cpu.idle">4</item> <!-- k3v5 -->
+ <!-- Power consumption due to wake lock held -->
+ <item name="cpu.awake">35</item> <!-- k3v5 -->
+ <!-- Power consumption at different speeds -->
+ <array name="cpu.active">
+ <value>30</value>
+ <value>72</value>
+ <value>133</value>
+ <value>201</value>
+ <value>250</value>
+ <value>990</value>
+ <value>1761</value>
+ <value>1948</value>
+ </array>
+</device>
diff --git a/Huawei/hi3660/STF/Android.mk b/Huawei/hi3660/STF/Android.mk
new file mode 100644
index 0000000..e41ffbd
--- /dev/null
+++ b/Huawei/hi3660/STF/Android.mk
@@ -0,0 +1,8 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+LOCAL_MODULE_TAGS := optional
+LOCAL_PACKAGE_NAME := dil3mm4-overlay-STF
+LOCAL_MODULE_PATH := $(TARGET_OUT)/overlay
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+LOCAL_PRIVATE_PLATFORM_APIS := true
+include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/Huawei/hi3660/STF/AndroidManifest.xml b/Huawei/hi3660/STF/AndroidManifest.xml
new file mode 100644
index 0000000..8cd47a9
--- /dev/null
+++ b/Huawei/hi3660/STF/AndroidManifest.xml
@@ -0,0 +1,10 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.dil3mm4.huawei.STF"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="android"
+ android:requiredSystemPropertyName="ro.hw.oemName"
+ android:requiredSystemPropertyValue="+STF*"
+ android:priority="4"
+ android:isStatic="true" />
+</manifest>
diff --git a/Huawei/hi3660/STF/res/values/config.xml b/Huawei/hi3660/STF/res/values/config.xml
new file mode 100644
index 0000000..0efbbce
--- /dev/null
+++ b/Huawei/hi3660/STF/res/values/config.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. Do not translate.
+
+ NOTE: The naming convention is "config_camelCaseValue". Some legacy
+ entries do not follow the convention, but all new entries should. -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- If true, the screen can be rotated via the accelerometer in all 4
+ rotations as the default behavior. -->
+ <bool name="config_allowAllRotations">true</bool>
+
+ <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
+ The N entries of this array define N + 1 control points as follows:
+ (1-based arrays)
+
+ Point 1: (0, value[1]): lux <= 0
+ Point 2: (level[1], value[2]): 0 < lux <= level[1]
+ Point 3: (level[2], value[3]): level[2] < lux <= level[3]
+ ...
+ Point N+1: (level[N], value[N+1]): level[N] < lux
+
+ The control points must be strictly increasing. Each control point
+ corresponds to an entry in the brightness backlight values arrays.
+ For example, if LUX == level[1] (first element of the levels array)
+ then the brightness will be determined by value[2] (second element
+ of the brightness values array).
+
+ Spline interpolation is used to determine the auto-brightness
+ backlight values for LUX levels between these control points.
+
+ Must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLevels">
+ <item>8</item>
+ <item>55</item>
+ <item>350</item>
+ <item>1600</item>
+ <item>2550</item>
+ </integer-array>
+
+ <!-- Array of output values for LCD backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ The brightness values must be between 0 and 255 and be non-decreasing.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLcdBacklightValues">
+ <item>6</item>
+ <item>47</item>
+ <item>150</item>
+ <item>180</item>
+ <item>250</item>
+ <item>255</item>
+ </integer-array>
+
+ <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
+ Software implementation will be used if config_hardware_auto_brightness_available is not set -->
+ <bool name="config_automatic_brightness_available">true</bool>
+
+ <!-- Boolean indicating if current platform supports BLE peripheral mode -->
+ <bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
+
+ <!-- ComponentName of a dream to show whenever the system would otherwise have
+ gone to sleep. When the PowerManager is asked to go to sleep, it will instead
+ try to start this dream if possible. The dream should typically call startDozing()
+ to put the display into a low power state and allow the application processor
+ to be suspended. When the dream ends, the system will go to sleep as usual.
+ Specify the component name or an empty string if none.
+ Note that doze dreams are not subject to the same start conditions as ordinary dreams.
+ Doze dreams will run whenever the power manager is in a dozing state. -->
+ <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
+
+ <!-- If true, the doze component is not started until after the screen has been
+ turned off and the screen off animation has been performed. -->
+ <bool name="config_dozeAfterScreenOff">true</bool>
+
+ <!-- Control the behavior when the user double presses the power button.
+ 0 - Nothing
+ 1 - Toggle theater mode setting
+ 2 - Brightness boost
+ -->
+ <integer name="config_doublePressOnPowerBehavior">2</integer>
+
+ <!-- Set this to true to enable the platform's auto-power-save modes like doze and
+ app standby. These are not enabled by default because they require a standard
+ cloud-to-device messaging service for apps to interact correctly with the modes
+ (such as to be able to deliver an instant message to the device even when it is
+ dozing). This should be enabled if you have such services and expect apps to
+ correctly use them when installed on your device. Otherwise, keep this disabled
+ so that applications can still use their own mechanisms. -->
+ <bool name="config_enableAutoPowerModes">true</bool>
+
+ <!-- Maximum number of supported users -->
+ <integer name="config_multiuserMaximumUsers">5</integer>
+
+ <!-- Whether UI for multi user should be shown -->
+ <bool name="config_enableMultiUserUI">false</bool>
+
+ <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
+ device from the display on/off state.
+ When false, autosuspend_disable() will be called before the display is turned on
+ and autosuspend_enable() will be called after the display is turned off.
+ This mode provides best compatibility for devices using legacy power management
+ features such as early suspend / late resume.
+ When true, autosuspend_display() and autosuspend_enable() will be called
+ independently of whether the display is being turned on or off. This mode
+ enables the power manager to suspend the application processor while the
+ display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to autosuspend.h for details.
+ -->
+ <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
+
+ <!-- Indicate whether to allow the device to suspend when the screen is off
+ due to the proximity sensor. This resource should only be set to true
+ if the sensor HAL correctly handles the proximity sensor as a wake-up source.
+ Otherwise, the device may fail to wake out of suspend reliably.
+ The default is false. -->
+ <bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
+
+ <!-- Power Management: Specifies whether to decouple the interactive state of the
+ device from the display on/off state.
+ When false, setInteractive(..., true) will be called before the display is turned on
+ and setInteractive(..., false) will be called after the display is turned off.
+ This mode provides best compatibility for devices that expect the interactive
+ state to be tied to the display state.
+ When true, setInteractive(...) will be called independently of whether the display
+ is being turned on or off. This mode enables the power manager to reduce
+ clocks and disable the touch controller while the display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to power.h for details.
+ -->
+ <bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
+
+
+ <!-- Screen brightness used to dim the screen while dozing in a very low power state.
+ May be less than the minimum allowed brightness setting
+ that can be set by the user. -->
+ <integer name="config_screenBrightnessDoze">17</integer>
+
+ <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveNotificationLed">true</bool>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tething over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"usb\\d"</item>
+ <item>"rndis\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wlan0"</item>
+ <item>"softap.*"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
+ should be empty. -->
+ <string-array translatable="false" name="config_tether_bluetooth_regexs">
+ <item>"bt-pan"</item>
+ </string-array>
+
+ <!-- Array of allowable ConnectivityManager network types for tethering -->
+ <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+ [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+ <integer-array translatable="false" name="config_tether_upstream_types">
+ <item>0</item>
+ <item>1</item>
+ <item>5</item>
+ <item>7</item>
+ </integer-array>
+
+ <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
+ <bool translatable="false" name="config_wifi_dual_band_support">true</bool>
+
+ <!-- Is the device capable of hot swapping an UICC Card -->
+ <bool name="config_hotswapCapable">true</bool>
+
+ <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
+ in hardware. -->
+ <bool name="config_setColorTransformAccelerated">true</bool>
+
+ <!-- Flag specifying whether VoLTE is available on device -->
+ <bool name="config_device_volte_available">true</bool>
+
+ <!-- Flag specifying whether VoLTE should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_volte_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS is available on device -->
+ <bool name="config_device_wfc_ims_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_wfc_ims_available">true</bool>
+
+ <!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
+ This mechanism allows the host to remain in suspend state and the dongle to actively
+ scan and wake the host when a configured SSID is detected by the dongle. This chipset
+ capability can provide power savings when wifi needs to be always kept on. -->
+ <bool name="config_wifi_background_scan_support">true</bool>
+
+ <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
+ on the headphone/microphone jack. When false use the older uevent framework. -->
+ <bool name="config_useDevInputEventForAudioJack">true</bool>
+
+</resources>
\ No newline at end of file
diff --git a/Huawei/hi3660/STF/res/xml/power_profile.xml b/Huawei/hi3660/STF/res/xml/power_profile.xml
new file mode 100644
index 0000000..8887e61
--- /dev/null
+++ b/Huawei/hi3660/STF/res/xml/power_profile.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License")
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<device name="Android">
+ <!-- All values are in mA except as noted -->
+ <item name="none">0</item>
+ <item name="screen.on">104</item> <!-- min brite -->
+ <item name="bluetooth.active">97</item>
+ <item name="bluetooth.on">0.6</item>
+ <item name="bluetooth.at">0.6</item> <!-- TBD -->
+ <item name="screen.full">330</item> <!-- backlight 16 leds -->
+ <item name="wifi.on">0.6</item>
+ <item name="wifi.active">128</item>
+ <item name="wifi.scan">146</item>
+ <item name="dsp.audio">38</item> <!-- k3v5 -->
+ <item name="dsp.video">163</item>
+ <item name="radio.active">180</item>
+ <item name="gps.on">70</item>
+ <item name="battery.capacity">3100</item> <!-- 3900mAh -->
+ <item name="radio.scanning">60</item> <!-- TBD -->
+ <!-- Current consumed by the radio at different signal strengths, when paging -->
+ <array name="radio.on"> <!-- 1 entry per signal strength bin, TBD -->
+ <value>13.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ </array>
+ <array name="cpu.speeds">
+ <value>533000</value> <!-- 533 MHz CPU speed -->
+ <value>999000</value> <!-- 999 MHz CPU speed -->
+ <value>1402000</value> <!-- 1.4 GHz CPU speed -->
+ <value>1709000</value><!-- 1.7 GHz CPU speed -->
+ <value>1844000</value><!-- 1.8 GHz CPU speed -->
+ <value>2112000</value><!-- 2.1 GHz CPU speed -->
+ <value>2362000</value><!-- 2.3 GHz CPU speed -->
+ <value>2612000</value><!-- 2.6 GHz CPU speed -->
+ </array>
+ <!-- Power consumption in suspend -->
+ <item name="cpu.idle">4</item> <!-- k3v5 -->
+ <!-- Power consumption due to wake lock held -->
+ <item name="cpu.awake">35</item> <!-- k3v5 -->
+ <!-- Power consumption at different speeds -->
+ <array name="cpu.active">
+ <value>30</value>
+ <value>72</value>
+ <value>133</value>
+ <value>201</value>
+ <value>250</value>
+ <value>990</value>
+ <value>1761</value>
+ <value>1948</value>
+ </array>
+</device>
diff --git a/Huawei/hi3660/VTR/Android.mk b/Huawei/hi3660/VTR/Android.mk
new file mode 100644
index 0000000..1f004b6
--- /dev/null
+++ b/Huawei/hi3660/VTR/Android.mk
@@ -0,0 +1,8 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+LOCAL_MODULE_TAGS := optional
+LOCAL_PACKAGE_NAME := dil3mm4-overlay-VTR
+LOCAL_MODULE_PATH := $(TARGET_OUT)/overlay
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+LOCAL_PRIVATE_PLATFORM_APIS := true
+include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/Huawei/hi3660/VTR/AndroidManifest.xml b/Huawei/hi3660/VTR/AndroidManifest.xml
new file mode 100644
index 0000000..01b680b
--- /dev/null
+++ b/Huawei/hi3660/VTR/AndroidManifest.xml
@@ -0,0 +1,10 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.dil3mm4.huawei.VTR"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="android"
+ android:requiredSystemPropertyName="ro.hw.oemName"
+ android:requiredSystemPropertyValue="+VTR*"
+ android:priority="4"
+ android:isStatic="true" />
+</manifest>
diff --git a/Huawei/hi3660/VTR/res/values/config.xml b/Huawei/hi3660/VTR/res/values/config.xml
new file mode 100644
index 0000000..0efbbce
--- /dev/null
+++ b/Huawei/hi3660/VTR/res/values/config.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. Do not translate.
+
+ NOTE: The naming convention is "config_camelCaseValue". Some legacy
+ entries do not follow the convention, but all new entries should. -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- If true, the screen can be rotated via the accelerometer in all 4
+ rotations as the default behavior. -->
+ <bool name="config_allowAllRotations">true</bool>
+
+ <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
+ The N entries of this array define N + 1 control points as follows:
+ (1-based arrays)
+
+ Point 1: (0, value[1]): lux <= 0
+ Point 2: (level[1], value[2]): 0 < lux <= level[1]
+ Point 3: (level[2], value[3]): level[2] < lux <= level[3]
+ ...
+ Point N+1: (level[N], value[N+1]): level[N] < lux
+
+ The control points must be strictly increasing. Each control point
+ corresponds to an entry in the brightness backlight values arrays.
+ For example, if LUX == level[1] (first element of the levels array)
+ then the brightness will be determined by value[2] (second element
+ of the brightness values array).
+
+ Spline interpolation is used to determine the auto-brightness
+ backlight values for LUX levels between these control points.
+
+ Must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLevels">
+ <item>8</item>
+ <item>55</item>
+ <item>350</item>
+ <item>1600</item>
+ <item>2550</item>
+ </integer-array>
+
+ <!-- Array of output values for LCD backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ The brightness values must be between 0 and 255 and be non-decreasing.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLcdBacklightValues">
+ <item>6</item>
+ <item>47</item>
+ <item>150</item>
+ <item>180</item>
+ <item>250</item>
+ <item>255</item>
+ </integer-array>
+
+ <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
+ Software implementation will be used if config_hardware_auto_brightness_available is not set -->
+ <bool name="config_automatic_brightness_available">true</bool>
+
+ <!-- Boolean indicating if current platform supports BLE peripheral mode -->
+ <bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
+
+ <!-- ComponentName of a dream to show whenever the system would otherwise have
+ gone to sleep. When the PowerManager is asked to go to sleep, it will instead
+ try to start this dream if possible. The dream should typically call startDozing()
+ to put the display into a low power state and allow the application processor
+ to be suspended. When the dream ends, the system will go to sleep as usual.
+ Specify the component name or an empty string if none.
+ Note that doze dreams are not subject to the same start conditions as ordinary dreams.
+ Doze dreams will run whenever the power manager is in a dozing state. -->
+ <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
+
+ <!-- If true, the doze component is not started until after the screen has been
+ turned off and the screen off animation has been performed. -->
+ <bool name="config_dozeAfterScreenOff">true</bool>
+
+ <!-- Control the behavior when the user double presses the power button.
+ 0 - Nothing
+ 1 - Toggle theater mode setting
+ 2 - Brightness boost
+ -->
+ <integer name="config_doublePressOnPowerBehavior">2</integer>
+
+ <!-- Set this to true to enable the platform's auto-power-save modes like doze and
+ app standby. These are not enabled by default because they require a standard
+ cloud-to-device messaging service for apps to interact correctly with the modes
+ (such as to be able to deliver an instant message to the device even when it is
+ dozing). This should be enabled if you have such services and expect apps to
+ correctly use them when installed on your device. Otherwise, keep this disabled
+ so that applications can still use their own mechanisms. -->
+ <bool name="config_enableAutoPowerModes">true</bool>
+
+ <!-- Maximum number of supported users -->
+ <integer name="config_multiuserMaximumUsers">5</integer>
+
+ <!-- Whether UI for multi user should be shown -->
+ <bool name="config_enableMultiUserUI">false</bool>
+
+ <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
+ device from the display on/off state.
+ When false, autosuspend_disable() will be called before the display is turned on
+ and autosuspend_enable() will be called after the display is turned off.
+ This mode provides best compatibility for devices using legacy power management
+ features such as early suspend / late resume.
+ When true, autosuspend_display() and autosuspend_enable() will be called
+ independently of whether the display is being turned on or off. This mode
+ enables the power manager to suspend the application processor while the
+ display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to autosuspend.h for details.
+ -->
+ <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
+
+ <!-- Indicate whether to allow the device to suspend when the screen is off
+ due to the proximity sensor. This resource should only be set to true
+ if the sensor HAL correctly handles the proximity sensor as a wake-up source.
+ Otherwise, the device may fail to wake out of suspend reliably.
+ The default is false. -->
+ <bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
+
+ <!-- Power Management: Specifies whether to decouple the interactive state of the
+ device from the display on/off state.
+ When false, setInteractive(..., true) will be called before the display is turned on
+ and setInteractive(..., false) will be called after the display is turned off.
+ This mode provides best compatibility for devices that expect the interactive
+ state to be tied to the display state.
+ When true, setInteractive(...) will be called independently of whether the display
+ is being turned on or off. This mode enables the power manager to reduce
+ clocks and disable the touch controller while the display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to power.h for details.
+ -->
+ <bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
+
+
+ <!-- Screen brightness used to dim the screen while dozing in a very low power state.
+ May be less than the minimum allowed brightness setting
+ that can be set by the user. -->
+ <integer name="config_screenBrightnessDoze">17</integer>
+
+ <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveNotificationLed">true</bool>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tething over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"usb\\d"</item>
+ <item>"rndis\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wlan0"</item>
+ <item>"softap.*"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
+ should be empty. -->
+ <string-array translatable="false" name="config_tether_bluetooth_regexs">
+ <item>"bt-pan"</item>
+ </string-array>
+
+ <!-- Array of allowable ConnectivityManager network types for tethering -->
+ <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+ [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+ <integer-array translatable="false" name="config_tether_upstream_types">
+ <item>0</item>
+ <item>1</item>
+ <item>5</item>
+ <item>7</item>
+ </integer-array>
+
+ <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
+ <bool translatable="false" name="config_wifi_dual_band_support">true</bool>
+
+ <!-- Is the device capable of hot swapping an UICC Card -->
+ <bool name="config_hotswapCapable">true</bool>
+
+ <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
+ in hardware. -->
+ <bool name="config_setColorTransformAccelerated">true</bool>
+
+ <!-- Flag specifying whether VoLTE is available on device -->
+ <bool name="config_device_volte_available">true</bool>
+
+ <!-- Flag specifying whether VoLTE should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_volte_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS is available on device -->
+ <bool name="config_device_wfc_ims_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_wfc_ims_available">true</bool>
+
+ <!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
+ This mechanism allows the host to remain in suspend state and the dongle to actively
+ scan and wake the host when a configured SSID is detected by the dongle. This chipset
+ capability can provide power savings when wifi needs to be always kept on. -->
+ <bool name="config_wifi_background_scan_support">true</bool>
+
+ <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
+ on the headphone/microphone jack. When false use the older uevent framework. -->
+ <bool name="config_useDevInputEventForAudioJack">true</bool>
+
+</resources>
\ No newline at end of file
diff --git a/Huawei/hi3660/VTR/res/xml/power_profile.xml b/Huawei/hi3660/VTR/res/xml/power_profile.xml
new file mode 100644
index 0000000..a36948a
--- /dev/null
+++ b/Huawei/hi3660/VTR/res/xml/power_profile.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License")
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<device name="Android">
+ <!-- All values are in mA except as noted -->
+ <item name="none">0</item>
+ <item name="screen.on">95</item> <!-- min brite -->
+ <item name="bluetooth.active">97</item>
+ <item name="bluetooth.on">0.6</item>
+ <item name="bluetooth.at">0.6</item> <!-- TBD -->
+ <item name="screen.full">365</item> <!-- backlight 16 leds -->
+ <item name="wifi.on">0.6</item>
+ <item name="wifi.active">128</item>
+ <item name="wifi.scan">146</item>
+ <item name="dsp.audio">43</item> <!-- k3v5 -->
+ <item name="dsp.video">176</item>
+ <item name="radio.active">190</item>
+ <item name="gps.on">70</item>
+ <item name="battery.capacity">3100</item> <!-- 3900mAh -->
+ <item name="radio.scanning">65</item> <!-- TBD -->
+ <!-- Current consumed by the radio at different signal strengths, when paging -->
+ <array name="radio.on"> <!-- 1 entry per signal strength bin, TBD -->
+ <value>13.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ </array>
+ <array name="cpu.speeds">
+ <value>533000</value> <!-- 533 MHz CPU speed -->
+ <value>999000</value> <!-- 999 MHz CPU speed -->
+ <value>1402000</value> <!-- 1.4 GHz CPU speed -->
+ <value>1709000</value><!-- 1.7 GHz CPU speed -->
+ <value>1844000</value><!-- 1.8 GHz CPU speed -->
+ <value>2112000</value><!-- 2.1 GHz CPU speed -->
+ <value>2362000</value><!-- 2.3 GHz CPU speed -->
+ <value>2612000</value><!-- 2.6 GHz CPU speed -->
+ </array>
+ <!-- Power consumption in suspend -->
+ <item name="cpu.idle">5</item> <!-- k3v5 -->
+ <!-- Power consumption due to wake lock held -->
+ <item name="cpu.awake">35</item> <!-- k3v5 -->
+ <!-- Power consumption at different speeds -->
+ <array name="cpu.active">
+ <value>30</value>
+ <value>72</value>
+ <value>133</value>
+ <value>201</value>
+ <value>250</value>
+ <value>990</value>
+ <value>1761</value>
+ <value>1948</value>
+ </array>
+</device>
diff --git a/Huawei/hi6250/ANE/Android.mk b/Huawei/hi6250/ANE/Android.mk
new file mode 100644
index 0000000..c71ea77
--- /dev/null
+++ b/Huawei/hi6250/ANE/Android.mk
@@ -0,0 +1,8 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+LOCAL_MODULE_TAGS := optional
+LOCAL_PACKAGE_NAME := dil3mm4-overlay-ANE
+LOCAL_MODULE_PATH := $(TARGET_OUT)/overlay
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+LOCAL_PRIVATE_PLATFORM_APIS := true
+include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/Huawei/hi6250/ANE/AndroidManifest.xml b/Huawei/hi6250/ANE/AndroidManifest.xml
new file mode 100644
index 0000000..822c05c
--- /dev/null
+++ b/Huawei/hi6250/ANE/AndroidManifest.xml
@@ -0,0 +1,10 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.dil3mm4.huawei.ANE"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="android"
+ android:requiredSystemPropertyName="ro.hw.oemName"
+ android:requiredSystemPropertyValue="+ANE*"
+ android:priority="4"
+ android:isStatic="true" />
+</manifest>
diff --git a/Huawei/hi6250/ANE/res/values/config.xml b/Huawei/hi6250/ANE/res/values/config.xml
new file mode 100644
index 0000000..0efbbce
--- /dev/null
+++ b/Huawei/hi6250/ANE/res/values/config.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. Do not translate.
+
+ NOTE: The naming convention is "config_camelCaseValue". Some legacy
+ entries do not follow the convention, but all new entries should. -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- If true, the screen can be rotated via the accelerometer in all 4
+ rotations as the default behavior. -->
+ <bool name="config_allowAllRotations">true</bool>
+
+ <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
+ The N entries of this array define N + 1 control points as follows:
+ (1-based arrays)
+
+ Point 1: (0, value[1]): lux <= 0
+ Point 2: (level[1], value[2]): 0 < lux <= level[1]
+ Point 3: (level[2], value[3]): level[2] < lux <= level[3]
+ ...
+ Point N+1: (level[N], value[N+1]): level[N] < lux
+
+ The control points must be strictly increasing. Each control point
+ corresponds to an entry in the brightness backlight values arrays.
+ For example, if LUX == level[1] (first element of the levels array)
+ then the brightness will be determined by value[2] (second element
+ of the brightness values array).
+
+ Spline interpolation is used to determine the auto-brightness
+ backlight values for LUX levels between these control points.
+
+ Must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLevels">
+ <item>8</item>
+ <item>55</item>
+ <item>350</item>
+ <item>1600</item>
+ <item>2550</item>
+ </integer-array>
+
+ <!-- Array of output values for LCD backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ The brightness values must be between 0 and 255 and be non-decreasing.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLcdBacklightValues">
+ <item>6</item>
+ <item>47</item>
+ <item>150</item>
+ <item>180</item>
+ <item>250</item>
+ <item>255</item>
+ </integer-array>
+
+ <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
+ Software implementation will be used if config_hardware_auto_brightness_available is not set -->
+ <bool name="config_automatic_brightness_available">true</bool>
+
+ <!-- Boolean indicating if current platform supports BLE peripheral mode -->
+ <bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
+
+ <!-- ComponentName of a dream to show whenever the system would otherwise have
+ gone to sleep. When the PowerManager is asked to go to sleep, it will instead
+ try to start this dream if possible. The dream should typically call startDozing()
+ to put the display into a low power state and allow the application processor
+ to be suspended. When the dream ends, the system will go to sleep as usual.
+ Specify the component name or an empty string if none.
+ Note that doze dreams are not subject to the same start conditions as ordinary dreams.
+ Doze dreams will run whenever the power manager is in a dozing state. -->
+ <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
+
+ <!-- If true, the doze component is not started until after the screen has been
+ turned off and the screen off animation has been performed. -->
+ <bool name="config_dozeAfterScreenOff">true</bool>
+
+ <!-- Control the behavior when the user double presses the power button.
+ 0 - Nothing
+ 1 - Toggle theater mode setting
+ 2 - Brightness boost
+ -->
+ <integer name="config_doublePressOnPowerBehavior">2</integer>
+
+ <!-- Set this to true to enable the platform's auto-power-save modes like doze and
+ app standby. These are not enabled by default because they require a standard
+ cloud-to-device messaging service for apps to interact correctly with the modes
+ (such as to be able to deliver an instant message to the device even when it is
+ dozing). This should be enabled if you have such services and expect apps to
+ correctly use them when installed on your device. Otherwise, keep this disabled
+ so that applications can still use their own mechanisms. -->
+ <bool name="config_enableAutoPowerModes">true</bool>
+
+ <!-- Maximum number of supported users -->
+ <integer name="config_multiuserMaximumUsers">5</integer>
+
+ <!-- Whether UI for multi user should be shown -->
+ <bool name="config_enableMultiUserUI">false</bool>
+
+ <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
+ device from the display on/off state.
+ When false, autosuspend_disable() will be called before the display is turned on
+ and autosuspend_enable() will be called after the display is turned off.
+ This mode provides best compatibility for devices using legacy power management
+ features such as early suspend / late resume.
+ When true, autosuspend_display() and autosuspend_enable() will be called
+ independently of whether the display is being turned on or off. This mode
+ enables the power manager to suspend the application processor while the
+ display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to autosuspend.h for details.
+ -->
+ <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
+
+ <!-- Indicate whether to allow the device to suspend when the screen is off
+ due to the proximity sensor. This resource should only be set to true
+ if the sensor HAL correctly handles the proximity sensor as a wake-up source.
+ Otherwise, the device may fail to wake out of suspend reliably.
+ The default is false. -->
+ <bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
+
+ <!-- Power Management: Specifies whether to decouple the interactive state of the
+ device from the display on/off state.
+ When false, setInteractive(..., true) will be called before the display is turned on
+ and setInteractive(..., false) will be called after the display is turned off.
+ This mode provides best compatibility for devices that expect the interactive
+ state to be tied to the display state.
+ When true, setInteractive(...) will be called independently of whether the display
+ is being turned on or off. This mode enables the power manager to reduce
+ clocks and disable the touch controller while the display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to power.h for details.
+ -->
+ <bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
+
+
+ <!-- Screen brightness used to dim the screen while dozing in a very low power state.
+ May be less than the minimum allowed brightness setting
+ that can be set by the user. -->
+ <integer name="config_screenBrightnessDoze">17</integer>
+
+ <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveNotificationLed">true</bool>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tething over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"usb\\d"</item>
+ <item>"rndis\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wlan0"</item>
+ <item>"softap.*"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
+ should be empty. -->
+ <string-array translatable="false" name="config_tether_bluetooth_regexs">
+ <item>"bt-pan"</item>
+ </string-array>
+
+ <!-- Array of allowable ConnectivityManager network types for tethering -->
+ <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+ [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+ <integer-array translatable="false" name="config_tether_upstream_types">
+ <item>0</item>
+ <item>1</item>
+ <item>5</item>
+ <item>7</item>
+ </integer-array>
+
+ <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
+ <bool translatable="false" name="config_wifi_dual_band_support">true</bool>
+
+ <!-- Is the device capable of hot swapping an UICC Card -->
+ <bool name="config_hotswapCapable">true</bool>
+
+ <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
+ in hardware. -->
+ <bool name="config_setColorTransformAccelerated">true</bool>
+
+ <!-- Flag specifying whether VoLTE is available on device -->
+ <bool name="config_device_volte_available">true</bool>
+
+ <!-- Flag specifying whether VoLTE should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_volte_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS is available on device -->
+ <bool name="config_device_wfc_ims_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_wfc_ims_available">true</bool>
+
+ <!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
+ This mechanism allows the host to remain in suspend state and the dongle to actively
+ scan and wake the host when a configured SSID is detected by the dongle. This chipset
+ capability can provide power savings when wifi needs to be always kept on. -->
+ <bool name="config_wifi_background_scan_support">true</bool>
+
+ <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
+ on the headphone/microphone jack. When false use the older uevent framework. -->
+ <bool name="config_useDevInputEventForAudioJack">true</bool>
+
+</resources>
\ No newline at end of file
diff --git a/Huawei/hi6250/ANE/res/xml/power_profile.xml b/Huawei/hi6250/ANE/res/xml/power_profile.xml
new file mode 100644
index 0000000..2d1dceb
--- /dev/null
+++ b/Huawei/hi6250/ANE/res/xml/power_profile.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License")
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<device name="Android">
+ <!-- All values are in mA except as noted -->
+ <item name="none">0</item>
+ <item name="screen.on">143</item> <!-- min brite -->
+ <item name="bluetooth.active">97</item>
+ <item name="bluetooth.on">0.6</item>
+ <item name="bluetooth.at">0.6</item> <!-- TBD -->
+ <item name="screen.full">414</item> <!-- backlight 16 leds -->
+ <item name="wifi.on">0.6</item>
+ <item name="wifi.active">128</item>
+ <item name="wifi.scan">146</item>
+ <item name="dsp.audio">43</item> <!-- k3v5 -->
+ <item name="dsp.video">176</item>
+ <item name="radio.active">190</item>
+ <item name="gps.on">70</item>
+ <item name="battery.capacity">3000</item>
+ <item name="radio.scanning">65</item> <!-- TBD -->
+ <!-- Current consumed by the radio at different signal strengths, when paging -->
+ <array name="radio.on"> <!-- 1 entry per signal strength bin, TBD -->
+ <value>13.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ </array>
+ <array name="cpu.speeds">
+ <value>480000</value> <!-- 480 MHz CPU speed -->
+ <value>807000</value> <!-- 807 MHz CPU speed -->
+ <value>1306000</value><!-- 1.3 GHz CPU speed -->
+ <value>1402000</value><!-- 1.4 GHz CPU speed -->
+ <value>1709000</value><!-- 1.7 GHz CPU speed -->
+ <value>1805000</value><!-- 1.8 GHz CPU speed -->
+ <value>2016000</value><!-- 2.0 GHz CPU speed -->
+ <value>2112000</value><!-- 2.1 GHz CPU speed -->
+ <value>2362000</value><!-- 2.3 GHz CPU speed -->
+ </array>
+ <!-- Power consumption in suspend -->
+ <item name="cpu.idle">4</item> <!-- k3v5 -->
+ <!-- Power consumption due to wake lock held -->
+ <item name="cpu.awake">43</item> <!-- k3v5 -->
+ <!-- Power consumption at different speeds -->
+ <array name="cpu.active">
+ <value>107</value>
+ <value>181</value>
+ <value>425</value>
+ <value>537</value>
+ <value>732</value>
+ <value>899</value>
+ <value>1417</value>
+ <value>1855</value>
+ <value>2323</value>
+ </array>
+</device>
diff --git a/Huawei/hi6250/BND/Android.mk b/Huawei/hi6250/BND/Android.mk
new file mode 100644
index 0000000..06d1283
--- /dev/null
+++ b/Huawei/hi6250/BND/Android.mk
@@ -0,0 +1,8 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+LOCAL_MODULE_TAGS := optional
+LOCAL_PACKAGE_NAME := dil3mm4-overlay-BND
+LOCAL_MODULE_PATH := $(TARGET_OUT)/overlay
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+LOCAL_PRIVATE_PLATFORM_APIS := true
+include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/Huawei/hi6250/BND/AndroidManifest.xml b/Huawei/hi6250/BND/AndroidManifest.xml
new file mode 100644
index 0000000..2b1c33c
--- /dev/null
+++ b/Huawei/hi6250/BND/AndroidManifest.xml
@@ -0,0 +1,10 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.dil3mm4.huawei.BND"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="android"
+ android:requiredSystemPropertyName="ro.hw.oemName"
+ android:requiredSystemPropertyValue="+BND*"
+ android:priority="4"
+ android:isStatic="true" />
+</manifest>
diff --git a/Huawei/hi6250/BND/res/values/config.xml b/Huawei/hi6250/BND/res/values/config.xml
new file mode 100644
index 0000000..0efbbce
--- /dev/null
+++ b/Huawei/hi6250/BND/res/values/config.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. Do not translate.
+
+ NOTE: The naming convention is "config_camelCaseValue". Some legacy
+ entries do not follow the convention, but all new entries should. -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- If true, the screen can be rotated via the accelerometer in all 4
+ rotations as the default behavior. -->
+ <bool name="config_allowAllRotations">true</bool>
+
+ <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
+ The N entries of this array define N + 1 control points as follows:
+ (1-based arrays)
+
+ Point 1: (0, value[1]): lux <= 0
+ Point 2: (level[1], value[2]): 0 < lux <= level[1]
+ Point 3: (level[2], value[3]): level[2] < lux <= level[3]
+ ...
+ Point N+1: (level[N], value[N+1]): level[N] < lux
+
+ The control points must be strictly increasing. Each control point
+ corresponds to an entry in the brightness backlight values arrays.
+ For example, if LUX == level[1] (first element of the levels array)
+ then the brightness will be determined by value[2] (second element
+ of the brightness values array).
+
+ Spline interpolation is used to determine the auto-brightness
+ backlight values for LUX levels between these control points.
+
+ Must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLevels">
+ <item>8</item>
+ <item>55</item>
+ <item>350</item>
+ <item>1600</item>
+ <item>2550</item>
+ </integer-array>
+
+ <!-- Array of output values for LCD backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ The brightness values must be between 0 and 255 and be non-decreasing.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLcdBacklightValues">
+ <item>6</item>
+ <item>47</item>
+ <item>150</item>
+ <item>180</item>
+ <item>250</item>
+ <item>255</item>
+ </integer-array>
+
+ <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
+ Software implementation will be used if config_hardware_auto_brightness_available is not set -->
+ <bool name="config_automatic_brightness_available">true</bool>
+
+ <!-- Boolean indicating if current platform supports BLE peripheral mode -->
+ <bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
+
+ <!-- ComponentName of a dream to show whenever the system would otherwise have
+ gone to sleep. When the PowerManager is asked to go to sleep, it will instead
+ try to start this dream if possible. The dream should typically call startDozing()
+ to put the display into a low power state and allow the application processor
+ to be suspended. When the dream ends, the system will go to sleep as usual.
+ Specify the component name or an empty string if none.
+ Note that doze dreams are not subject to the same start conditions as ordinary dreams.
+ Doze dreams will run whenever the power manager is in a dozing state. -->
+ <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
+
+ <!-- If true, the doze component is not started until after the screen has been
+ turned off and the screen off animation has been performed. -->
+ <bool name="config_dozeAfterScreenOff">true</bool>
+
+ <!-- Control the behavior when the user double presses the power button.
+ 0 - Nothing
+ 1 - Toggle theater mode setting
+ 2 - Brightness boost
+ -->
+ <integer name="config_doublePressOnPowerBehavior">2</integer>
+
+ <!-- Set this to true to enable the platform's auto-power-save modes like doze and
+ app standby. These are not enabled by default because they require a standard
+ cloud-to-device messaging service for apps to interact correctly with the modes
+ (such as to be able to deliver an instant message to the device even when it is
+ dozing). This should be enabled if you have such services and expect apps to
+ correctly use them when installed on your device. Otherwise, keep this disabled
+ so that applications can still use their own mechanisms. -->
+ <bool name="config_enableAutoPowerModes">true</bool>
+
+ <!-- Maximum number of supported users -->
+ <integer name="config_multiuserMaximumUsers">5</integer>
+
+ <!-- Whether UI for multi user should be shown -->
+ <bool name="config_enableMultiUserUI">false</bool>
+
+ <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
+ device from the display on/off state.
+ When false, autosuspend_disable() will be called before the display is turned on
+ and autosuspend_enable() will be called after the display is turned off.
+ This mode provides best compatibility for devices using legacy power management
+ features such as early suspend / late resume.
+ When true, autosuspend_display() and autosuspend_enable() will be called
+ independently of whether the display is being turned on or off. This mode
+ enables the power manager to suspend the application processor while the
+ display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to autosuspend.h for details.
+ -->
+ <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
+
+ <!-- Indicate whether to allow the device to suspend when the screen is off
+ due to the proximity sensor. This resource should only be set to true
+ if the sensor HAL correctly handles the proximity sensor as a wake-up source.
+ Otherwise, the device may fail to wake out of suspend reliably.
+ The default is false. -->
+ <bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
+
+ <!-- Power Management: Specifies whether to decouple the interactive state of the
+ device from the display on/off state.
+ When false, setInteractive(..., true) will be called before the display is turned on
+ and setInteractive(..., false) will be called after the display is turned off.
+ This mode provides best compatibility for devices that expect the interactive
+ state to be tied to the display state.
+ When true, setInteractive(...) will be called independently of whether the display
+ is being turned on or off. This mode enables the power manager to reduce
+ clocks and disable the touch controller while the display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to power.h for details.
+ -->
+ <bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
+
+
+ <!-- Screen brightness used to dim the screen while dozing in a very low power state.
+ May be less than the minimum allowed brightness setting
+ that can be set by the user. -->
+ <integer name="config_screenBrightnessDoze">17</integer>
+
+ <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveNotificationLed">true</bool>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tething over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"usb\\d"</item>
+ <item>"rndis\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wlan0"</item>
+ <item>"softap.*"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
+ should be empty. -->
+ <string-array translatable="false" name="config_tether_bluetooth_regexs">
+ <item>"bt-pan"</item>
+ </string-array>
+
+ <!-- Array of allowable ConnectivityManager network types for tethering -->
+ <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+ [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+ <integer-array translatable="false" name="config_tether_upstream_types">
+ <item>0</item>
+ <item>1</item>
+ <item>5</item>
+ <item>7</item>
+ </integer-array>
+
+ <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
+ <bool translatable="false" name="config_wifi_dual_band_support">true</bool>
+
+ <!-- Is the device capable of hot swapping an UICC Card -->
+ <bool name="config_hotswapCapable">true</bool>
+
+ <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
+ in hardware. -->
+ <bool name="config_setColorTransformAccelerated">true</bool>
+
+ <!-- Flag specifying whether VoLTE is available on device -->
+ <bool name="config_device_volte_available">true</bool>
+
+ <!-- Flag specifying whether VoLTE should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_volte_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS is available on device -->
+ <bool name="config_device_wfc_ims_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_wfc_ims_available">true</bool>
+
+ <!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
+ This mechanism allows the host to remain in suspend state and the dongle to actively
+ scan and wake the host when a configured SSID is detected by the dongle. This chipset
+ capability can provide power savings when wifi needs to be always kept on. -->
+ <bool name="config_wifi_background_scan_support">true</bool>
+
+ <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
+ on the headphone/microphone jack. When false use the older uevent framework. -->
+ <bool name="config_useDevInputEventForAudioJack">true</bool>
+
+</resources>
\ No newline at end of file
diff --git a/Huawei/hi6250/BND/res/xml/power_profile.xml b/Huawei/hi6250/BND/res/xml/power_profile.xml
new file mode 100644
index 0000000..9fdfdf7
--- /dev/null
+++ b/Huawei/hi6250/BND/res/xml/power_profile.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<device name="Android">
+ <item name="none">0</item>
+ <item name="screen.on">103</item>
+ <item name="bluetooth.active">124</item>
+ <item name="bluetooth.on">1.2</item>
+ <item name="bluetooth.at">1.2</item>
+ <item name="screen.full">460</item>
+ <item name="wifi.on">0.4</item>
+ <item name="wifi.active">405</item>
+ <item name="wifi.scan">138</item>
+ <item name="dsp.audio">43</item>
+ <item name="dsp.video">176</item>
+ <item name="radio.active">106</item>
+ <item name="gps.on">70</item>
+ <item name="battery.capacity">3340</item>
+ <item name="radio.scanning">65</item>
+ <array name="radio.on">
+ <value>13.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ </array>
+ <array name="cpu.speeds">
+ <value>480000</value>
+ <value>807000</value>
+ <value>1306000</value>
+ <value>1402000</value>
+ <value>1709000</value>
+ <value>1805000</value>
+ <value>2016000</value>
+ <value>2112000</value>
+ <value>2362000</value>
+ </array>
+ <item name="cpu.idle">4</item>
+ <item name="cpu.awake">43</item>
+ <array name="cpu.active">
+ <value>107</value>
+ <value>181</value>
+ <value>425</value>
+ <value>538</value>
+ <value>851</value>
+ <value>899</value>
+ <value>1417</value>
+ <value>1484</value>
+ <value>2323</value>
+ </array>
+</device>
\ No newline at end of file
diff --git a/Huawei/hi6250/LLD/Android.mk b/Huawei/hi6250/LLD/Android.mk
new file mode 100644
index 0000000..4dfbbd4
--- /dev/null
+++ b/Huawei/hi6250/LLD/Android.mk
@@ -0,0 +1,8 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+LOCAL_MODULE_TAGS := optional
+LOCAL_PACKAGE_NAME := dil3mm4-overlay-LLD
+LOCAL_MODULE_PATH := $(TARGET_OUT)/overlay
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+LOCAL_PRIVATE_PLATFORM_APIS := true
+include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/Huawei/hi6250/LLD/AndroidManifest.xml b/Huawei/hi6250/LLD/AndroidManifest.xml
new file mode 100644
index 0000000..0c5bacd
--- /dev/null
+++ b/Huawei/hi6250/LLD/AndroidManifest.xml
@@ -0,0 +1,10 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.dil3mm4.huawei.LLD"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="android"
+ android:requiredSystemPropertyName="ro.hw.oemName"
+ android:requiredSystemPropertyValue="+LLD*"
+ android:priority="4"
+ android:isStatic="true" />
+</manifest>
diff --git a/Huawei/hi6250/LLD/res/values/config.xml b/Huawei/hi6250/LLD/res/values/config.xml
new file mode 100644
index 0000000..0efbbce
--- /dev/null
+++ b/Huawei/hi6250/LLD/res/values/config.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. Do not translate.
+
+ NOTE: The naming convention is "config_camelCaseValue". Some legacy
+ entries do not follow the convention, but all new entries should. -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- If true, the screen can be rotated via the accelerometer in all 4
+ rotations as the default behavior. -->
+ <bool name="config_allowAllRotations">true</bool>
+
+ <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
+ The N entries of this array define N + 1 control points as follows:
+ (1-based arrays)
+
+ Point 1: (0, value[1]): lux <= 0
+ Point 2: (level[1], value[2]): 0 < lux <= level[1]
+ Point 3: (level[2], value[3]): level[2] < lux <= level[3]
+ ...
+ Point N+1: (level[N], value[N+1]): level[N] < lux
+
+ The control points must be strictly increasing. Each control point
+ corresponds to an entry in the brightness backlight values arrays.
+ For example, if LUX == level[1] (first element of the levels array)
+ then the brightness will be determined by value[2] (second element
+ of the brightness values array).
+
+ Spline interpolation is used to determine the auto-brightness
+ backlight values for LUX levels between these control points.
+
+ Must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLevels">
+ <item>8</item>
+ <item>55</item>
+ <item>350</item>
+ <item>1600</item>
+ <item>2550</item>
+ </integer-array>
+
+ <!-- Array of output values for LCD backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ The brightness values must be between 0 and 255 and be non-decreasing.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLcdBacklightValues">
+ <item>6</item>
+ <item>47</item>
+ <item>150</item>
+ <item>180</item>
+ <item>250</item>
+ <item>255</item>
+ </integer-array>
+
+ <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
+ Software implementation will be used if config_hardware_auto_brightness_available is not set -->
+ <bool name="config_automatic_brightness_available">true</bool>
+
+ <!-- Boolean indicating if current platform supports BLE peripheral mode -->
+ <bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
+
+ <!-- ComponentName of a dream to show whenever the system would otherwise have
+ gone to sleep. When the PowerManager is asked to go to sleep, it will instead
+ try to start this dream if possible. The dream should typically call startDozing()
+ to put the display into a low power state and allow the application processor
+ to be suspended. When the dream ends, the system will go to sleep as usual.
+ Specify the component name or an empty string if none.
+ Note that doze dreams are not subject to the same start conditions as ordinary dreams.
+ Doze dreams will run whenever the power manager is in a dozing state. -->
+ <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
+
+ <!-- If true, the doze component is not started until after the screen has been
+ turned off and the screen off animation has been performed. -->
+ <bool name="config_dozeAfterScreenOff">true</bool>
+
+ <!-- Control the behavior when the user double presses the power button.
+ 0 - Nothing
+ 1 - Toggle theater mode setting
+ 2 - Brightness boost
+ -->
+ <integer name="config_doublePressOnPowerBehavior">2</integer>
+
+ <!-- Set this to true to enable the platform's auto-power-save modes like doze and
+ app standby. These are not enabled by default because they require a standard
+ cloud-to-device messaging service for apps to interact correctly with the modes
+ (such as to be able to deliver an instant message to the device even when it is
+ dozing). This should be enabled if you have such services and expect apps to
+ correctly use them when installed on your device. Otherwise, keep this disabled
+ so that applications can still use their own mechanisms. -->
+ <bool name="config_enableAutoPowerModes">true</bool>
+
+ <!-- Maximum number of supported users -->
+ <integer name="config_multiuserMaximumUsers">5</integer>
+
+ <!-- Whether UI for multi user should be shown -->
+ <bool name="config_enableMultiUserUI">false</bool>
+
+ <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
+ device from the display on/off state.
+ When false, autosuspend_disable() will be called before the display is turned on
+ and autosuspend_enable() will be called after the display is turned off.
+ This mode provides best compatibility for devices using legacy power management
+ features such as early suspend / late resume.
+ When true, autosuspend_display() and autosuspend_enable() will be called
+ independently of whether the display is being turned on or off. This mode
+ enables the power manager to suspend the application processor while the
+ display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to autosuspend.h for details.
+ -->
+ <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
+
+ <!-- Indicate whether to allow the device to suspend when the screen is off
+ due to the proximity sensor. This resource should only be set to true
+ if the sensor HAL correctly handles the proximity sensor as a wake-up source.
+ Otherwise, the device may fail to wake out of suspend reliably.
+ The default is false. -->
+ <bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
+
+ <!-- Power Management: Specifies whether to decouple the interactive state of the
+ device from the display on/off state.
+ When false, setInteractive(..., true) will be called before the display is turned on
+ and setInteractive(..., false) will be called after the display is turned off.
+ This mode provides best compatibility for devices that expect the interactive
+ state to be tied to the display state.
+ When true, setInteractive(...) will be called independently of whether the display
+ is being turned on or off. This mode enables the power manager to reduce
+ clocks and disable the touch controller while the display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to power.h for details.
+ -->
+ <bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
+
+
+ <!-- Screen brightness used to dim the screen while dozing in a very low power state.
+ May be less than the minimum allowed brightness setting
+ that can be set by the user. -->
+ <integer name="config_screenBrightnessDoze">17</integer>
+
+ <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveNotificationLed">true</bool>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tething over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"usb\\d"</item>
+ <item>"rndis\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wlan0"</item>
+ <item>"softap.*"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
+ should be empty. -->
+ <string-array translatable="false" name="config_tether_bluetooth_regexs">
+ <item>"bt-pan"</item>
+ </string-array>
+
+ <!-- Array of allowable ConnectivityManager network types for tethering -->
+ <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+ [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+ <integer-array translatable="false" name="config_tether_upstream_types">
+ <item>0</item>
+ <item>1</item>
+ <item>5</item>
+ <item>7</item>
+ </integer-array>
+
+ <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
+ <bool translatable="false" name="config_wifi_dual_band_support">true</bool>
+
+ <!-- Is the device capable of hot swapping an UICC Card -->
+ <bool name="config_hotswapCapable">true</bool>
+
+ <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
+ in hardware. -->
+ <bool name="config_setColorTransformAccelerated">true</bool>
+
+ <!-- Flag specifying whether VoLTE is available on device -->
+ <bool name="config_device_volte_available">true</bool>
+
+ <!-- Flag specifying whether VoLTE should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_volte_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS is available on device -->
+ <bool name="config_device_wfc_ims_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_wfc_ims_available">true</bool>
+
+ <!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
+ This mechanism allows the host to remain in suspend state and the dongle to actively
+ scan and wake the host when a configured SSID is detected by the dongle. This chipset
+ capability can provide power savings when wifi needs to be always kept on. -->
+ <bool name="config_wifi_background_scan_support">true</bool>
+
+ <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
+ on the headphone/microphone jack. When false use the older uevent framework. -->
+ <bool name="config_useDevInputEventForAudioJack">true</bool>
+
+</resources>
\ No newline at end of file
diff --git a/Huawei/hi6250/LLD/res/xml/power_profile.xml b/Huawei/hi6250/LLD/res/xml/power_profile.xml
new file mode 100644
index 0000000..4ff1f93
--- /dev/null
+++ b/Huawei/hi6250/LLD/res/xml/power_profile.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License")
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<device name="Android">
+ <!-- All values are in mA except as noted -->
+ <item name="none">0</item>
+ <item name="screen.on">147</item> <!-- min brite -->
+ <item name="bluetooth.active">145</item>
+ <item name="bluetooth.on">1.4</item>
+ <item name="bluetooth.at">1.4</item> <!-- TBD -->
+ <item name="screen.full">408</item> <!-- backlight 16 leds -->
+ <item name="wifi.on">0.7</item>
+ <item name="wifi.active">200</item>
+ <item name="wifi.scan">85</item>
+ <item name="dsp.audio">43</item> <!-- k3v5 -->
+ <item name="dsp.video">187</item>
+ <item name="radio.active">92</item>
+ <item name="gps.on">70</item>
+ <item name="battery.capacity">3000</item> <!-- 3900mAh -->
+ <item name="radio.scanning">65</item> <!-- TBD -->
+ <!-- Current consumed by the radio at different signal strengths, when paging -->
+ <array name="radio.on"> <!-- 1 entry per signal strength bin, TBD -->
+ <value>13.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ </array>
+ <array name="cpu.speeds">
+ <value>480000</value> <!-- 480 MHz CPU speed -->
+ <value>807000</value> <!-- 807 MHz CPU speed -->
+ <value>1306000</value> <!-- 1.0 GHz CPU speed -->
+ <value>1402000</value><!-- 1.2 GHz CPU speed -->
+ <value>1709000</value><!-- 1.3 GHz CPU speed -->
+ <value>1805000</value><!-- 1.8 GHz CPU speed -->
+ <value>2016000</value><!-- 2.0 GHz CPU speed -->
+ <value>2112000</value><!-- 2.3 GHz CPU speed -->
+ <value>2362000</value><!-- 2.5 GHz CPU speed -->
+ </array>
+ <!-- Power consumption in suspend -->
+ <item name="cpu.idle">3.9</item> <!-- k3v5 -->
+ <!-- Power consumption due to wake lock held -->
+ <item name="cpu.awake">43</item> <!-- k3v5 -->
+ <!-- Power consumption at different speeds -->
+ <array name="cpu.active">
+ <value>107</value>
+ <value>181</value>
+ <value>425</value>
+ <value>538</value>
+ <value>851</value>
+ <value>899</value>
+ <value>1417</value>
+ <value>1484</value>
+ <value>2323</value>
+ </array>
+</device>
diff --git a/Huawei/hi6250/PRA/Android.mk b/Huawei/hi6250/PRA/Android.mk
new file mode 100644
index 0000000..8076aee
--- /dev/null
+++ b/Huawei/hi6250/PRA/Android.mk
@@ -0,0 +1,8 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+LOCAL_MODULE_TAGS := optional
+LOCAL_PACKAGE_NAME := dil3mm4-overlay-PRA
+LOCAL_MODULE_PATH := $(TARGET_OUT)/overlay
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+LOCAL_PRIVATE_PLATFORM_APIS := true
+include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/Huawei/hi6250/PRA/AndroidManifest.xml b/Huawei/hi6250/PRA/AndroidManifest.xml
new file mode 100644
index 0000000..11b0120
--- /dev/null
+++ b/Huawei/hi6250/PRA/AndroidManifest.xml
@@ -0,0 +1,10 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.dil3mm4.huawei.PRA"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="android"
+ android:requiredSystemPropertyName="ro.hw.oemName"
+ android:requiredSystemPropertyValue="+PRA*"
+ android:priority="4"
+ android:isStatic="true" />
+</manifest>
diff --git a/Huawei/hi6250/PRA/res/values/config.xml b/Huawei/hi6250/PRA/res/values/config.xml
new file mode 100644
index 0000000..0efbbce
--- /dev/null
+++ b/Huawei/hi6250/PRA/res/values/config.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. Do not translate.
+
+ NOTE: The naming convention is "config_camelCaseValue". Some legacy
+ entries do not follow the convention, but all new entries should. -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- If true, the screen can be rotated via the accelerometer in all 4
+ rotations as the default behavior. -->
+ <bool name="config_allowAllRotations">true</bool>
+
+ <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
+ The N entries of this array define N + 1 control points as follows:
+ (1-based arrays)
+
+ Point 1: (0, value[1]): lux <= 0
+ Point 2: (level[1], value[2]): 0 < lux <= level[1]
+ Point 3: (level[2], value[3]): level[2] < lux <= level[3]
+ ...
+ Point N+1: (level[N], value[N+1]): level[N] < lux
+
+ The control points must be strictly increasing. Each control point
+ corresponds to an entry in the brightness backlight values arrays.
+ For example, if LUX == level[1] (first element of the levels array)
+ then the brightness will be determined by value[2] (second element
+ of the brightness values array).
+
+ Spline interpolation is used to determine the auto-brightness
+ backlight values for LUX levels between these control points.
+
+ Must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLevels">
+ <item>8</item>
+ <item>55</item>
+ <item>350</item>
+ <item>1600</item>
+ <item>2550</item>
+ </integer-array>
+
+ <!-- Array of output values for LCD backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ The brightness values must be between 0 and 255 and be non-decreasing.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLcdBacklightValues">
+ <item>6</item>
+ <item>47</item>
+ <item>150</item>
+ <item>180</item>
+ <item>250</item>
+ <item>255</item>
+ </integer-array>
+
+ <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
+ Software implementation will be used if config_hardware_auto_brightness_available is not set -->
+ <bool name="config_automatic_brightness_available">true</bool>
+
+ <!-- Boolean indicating if current platform supports BLE peripheral mode -->
+ <bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
+
+ <!-- ComponentName of a dream to show whenever the system would otherwise have
+ gone to sleep. When the PowerManager is asked to go to sleep, it will instead
+ try to start this dream if possible. The dream should typically call startDozing()
+ to put the display into a low power state and allow the application processor
+ to be suspended. When the dream ends, the system will go to sleep as usual.
+ Specify the component name or an empty string if none.
+ Note that doze dreams are not subject to the same start conditions as ordinary dreams.
+ Doze dreams will run whenever the power manager is in a dozing state. -->
+ <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
+
+ <!-- If true, the doze component is not started until after the screen has been
+ turned off and the screen off animation has been performed. -->
+ <bool name="config_dozeAfterScreenOff">true</bool>
+
+ <!-- Control the behavior when the user double presses the power button.
+ 0 - Nothing
+ 1 - Toggle theater mode setting
+ 2 - Brightness boost
+ -->
+ <integer name="config_doublePressOnPowerBehavior">2</integer>
+
+ <!-- Set this to true to enable the platform's auto-power-save modes like doze and
+ app standby. These are not enabled by default because they require a standard
+ cloud-to-device messaging service for apps to interact correctly with the modes
+ (such as to be able to deliver an instant message to the device even when it is
+ dozing). This should be enabled if you have such services and expect apps to
+ correctly use them when installed on your device. Otherwise, keep this disabled
+ so that applications can still use their own mechanisms. -->
+ <bool name="config_enableAutoPowerModes">true</bool>
+
+ <!-- Maximum number of supported users -->
+ <integer name="config_multiuserMaximumUsers">5</integer>
+
+ <!-- Whether UI for multi user should be shown -->
+ <bool name="config_enableMultiUserUI">false</bool>
+
+ <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
+ device from the display on/off state.
+ When false, autosuspend_disable() will be called before the display is turned on
+ and autosuspend_enable() will be called after the display is turned off.
+ This mode provides best compatibility for devices using legacy power management
+ features such as early suspend / late resume.
+ When true, autosuspend_display() and autosuspend_enable() will be called
+ independently of whether the display is being turned on or off. This mode
+ enables the power manager to suspend the application processor while the
+ display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to autosuspend.h for details.
+ -->
+ <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
+
+ <!-- Indicate whether to allow the device to suspend when the screen is off
+ due to the proximity sensor. This resource should only be set to true
+ if the sensor HAL correctly handles the proximity sensor as a wake-up source.
+ Otherwise, the device may fail to wake out of suspend reliably.
+ The default is false. -->
+ <bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
+
+ <!-- Power Management: Specifies whether to decouple the interactive state of the
+ device from the display on/off state.
+ When false, setInteractive(..., true) will be called before the display is turned on
+ and setInteractive(..., false) will be called after the display is turned off.
+ This mode provides best compatibility for devices that expect the interactive
+ state to be tied to the display state.
+ When true, setInteractive(...) will be called independently of whether the display
+ is being turned on or off. This mode enables the power manager to reduce
+ clocks and disable the touch controller while the display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to power.h for details.
+ -->
+ <bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
+
+
+ <!-- Screen brightness used to dim the screen while dozing in a very low power state.
+ May be less than the minimum allowed brightness setting
+ that can be set by the user. -->
+ <integer name="config_screenBrightnessDoze">17</integer>
+
+ <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveNotificationLed">true</bool>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tething over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"usb\\d"</item>
+ <item>"rndis\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wlan0"</item>
+ <item>"softap.*"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
+ should be empty. -->
+ <string-array translatable="false" name="config_tether_bluetooth_regexs">
+ <item>"bt-pan"</item>
+ </string-array>
+
+ <!-- Array of allowable ConnectivityManager network types for tethering -->
+ <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+ [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+ <integer-array translatable="false" name="config_tether_upstream_types">
+ <item>0</item>
+ <item>1</item>
+ <item>5</item>
+ <item>7</item>
+ </integer-array>
+
+ <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
+ <bool translatable="false" name="config_wifi_dual_band_support">true</bool>
+
+ <!-- Is the device capable of hot swapping an UICC Card -->
+ <bool name="config_hotswapCapable">true</bool>
+
+ <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
+ in hardware. -->
+ <bool name="config_setColorTransformAccelerated">true</bool>
+
+ <!-- Flag specifying whether VoLTE is available on device -->
+ <bool name="config_device_volte_available">true</bool>
+
+ <!-- Flag specifying whether VoLTE should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_volte_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS is available on device -->
+ <bool name="config_device_wfc_ims_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_wfc_ims_available">true</bool>
+
+ <!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
+ This mechanism allows the host to remain in suspend state and the dongle to actively
+ scan and wake the host when a configured SSID is detected by the dongle. This chipset
+ capability can provide power savings when wifi needs to be always kept on. -->
+ <bool name="config_wifi_background_scan_support">true</bool>
+
+ <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
+ on the headphone/microphone jack. When false use the older uevent framework. -->
+ <bool name="config_useDevInputEventForAudioJack">true</bool>
+
+</resources>
\ No newline at end of file
diff --git a/Huawei/hi6250/PRA/res/xml/power_profile.xml b/Huawei/hi6250/PRA/res/xml/power_profile.xml
new file mode 100644
index 0000000..ebd91df
--- /dev/null
+++ b/Huawei/hi6250/PRA/res/xml/power_profile.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<device name="Android">
+ <item name="none">0</item>
+ <item name="screen.on">114</item>
+ <item name="bluetooth.active">97</item>
+ <item name="bluetooth.on">0.6</item>
+ <item name="bluetooth.at">0.6</item>
+ <item name="screen.full">302</item>
+ <item name="wifi.on">0.6</item>
+ <item name="wifi.active">128</item>
+ <item name="wifi.scan">146</item>
+ <item name="dsp.audio">43</item>
+ <item name="dsp.video">176</item>
+ <item name="radio.active">190</item>
+ <item name="gps.on">70</item>
+ <item name="battery.capacity">2900</item>
+ <item name="radio.scanning">65</item>
+ <array name="radio.on">
+ <value>13.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ </array>
+ <array name="cpu.speeds">
+ <value>480000</value>
+ <value>807000</value>
+ <value>1018000</value>
+ <value>1210000</value>
+ <value>1306000</value>
+ <value>1517000</value>
+ <value>1805000</value>
+ <value>2016000</value>
+ <value>2304000</value>
+ <value>2515200</value>
+ </array>
+ <item name="cpu.idle">4</item>
+ <item name="cpu.awake">43</item>
+ <array name="cpu.active">
+ <value>107</value>
+ <value>181</value>
+ <value>244</value>
+ <value>343</value>
+ <value>425</value>
+ <value>582</value>
+ <value>899</value>
+ <value>1417</value>
+ <value>2266</value>
+ <value>2455</value>
+ </array>
+</device>
\ No newline at end of file
diff --git a/Huawei/hi6250/RNE/Android.mk b/Huawei/hi6250/RNE/Android.mk
new file mode 100644
index 0000000..b84a2a6
--- /dev/null
+++ b/Huawei/hi6250/RNE/Android.mk
@@ -0,0 +1,8 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+LOCAL_MODULE_TAGS := optional
+LOCAL_PACKAGE_NAME := dil3mm4-overlay-RNE
+LOCAL_MODULE_PATH := $(TARGET_OUT)/overlay
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+LOCAL_PRIVATE_PLATFORM_APIS := true
+include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/Huawei/hi6250/RNE/AndroidManifest.xml b/Huawei/hi6250/RNE/AndroidManifest.xml
new file mode 100644
index 0000000..502d665
--- /dev/null
+++ b/Huawei/hi6250/RNE/AndroidManifest.xml
@@ -0,0 +1,10 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.dil3mm4.huawei.RNE"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="android"
+ android:requiredSystemPropertyName="ro.hw.oemName"
+ android:requiredSystemPropertyValue="+RNE*"
+ android:priority="4"
+ android:isStatic="true" />
+</manifest>
diff --git a/Huawei/hi6250/RNE/res/values/config.xml b/Huawei/hi6250/RNE/res/values/config.xml
new file mode 100644
index 0000000..0efbbce
--- /dev/null
+++ b/Huawei/hi6250/RNE/res/values/config.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. Do not translate.
+
+ NOTE: The naming convention is "config_camelCaseValue". Some legacy
+ entries do not follow the convention, but all new entries should. -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- If true, the screen can be rotated via the accelerometer in all 4
+ rotations as the default behavior. -->
+ <bool name="config_allowAllRotations">true</bool>
+
+ <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
+ The N entries of this array define N + 1 control points as follows:
+ (1-based arrays)
+
+ Point 1: (0, value[1]): lux <= 0
+ Point 2: (level[1], value[2]): 0 < lux <= level[1]
+ Point 3: (level[2], value[3]): level[2] < lux <= level[3]
+ ...
+ Point N+1: (level[N], value[N+1]): level[N] < lux
+
+ The control points must be strictly increasing. Each control point
+ corresponds to an entry in the brightness backlight values arrays.
+ For example, if LUX == level[1] (first element of the levels array)
+ then the brightness will be determined by value[2] (second element
+ of the brightness values array).
+
+ Spline interpolation is used to determine the auto-brightness
+ backlight values for LUX levels between these control points.
+
+ Must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLevels">
+ <item>8</item>
+ <item>55</item>
+ <item>350</item>
+ <item>1600</item>
+ <item>2550</item>
+ </integer-array>
+
+ <!-- Array of output values for LCD backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ The brightness values must be between 0 and 255 and be non-decreasing.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLcdBacklightValues">
+ <item>6</item>
+ <item>47</item>
+ <item>150</item>
+ <item>180</item>
+ <item>250</item>
+ <item>255</item>
+ </integer-array>
+
+ <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
+ Software implementation will be used if config_hardware_auto_brightness_available is not set -->
+ <bool name="config_automatic_brightness_available">true</bool>
+
+ <!-- Boolean indicating if current platform supports BLE peripheral mode -->
+ <bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
+
+ <!-- ComponentName of a dream to show whenever the system would otherwise have
+ gone to sleep. When the PowerManager is asked to go to sleep, it will instead
+ try to start this dream if possible. The dream should typically call startDozing()
+ to put the display into a low power state and allow the application processor
+ to be suspended. When the dream ends, the system will go to sleep as usual.
+ Specify the component name or an empty string if none.
+ Note that doze dreams are not subject to the same start conditions as ordinary dreams.
+ Doze dreams will run whenever the power manager is in a dozing state. -->
+ <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
+
+ <!-- If true, the doze component is not started until after the screen has been
+ turned off and the screen off animation has been performed. -->
+ <bool name="config_dozeAfterScreenOff">true</bool>
+
+ <!-- Control the behavior when the user double presses the power button.
+ 0 - Nothing
+ 1 - Toggle theater mode setting
+ 2 - Brightness boost
+ -->
+ <integer name="config_doublePressOnPowerBehavior">2</integer>
+
+ <!-- Set this to true to enable the platform's auto-power-save modes like doze and
+ app standby. These are not enabled by default because they require a standard
+ cloud-to-device messaging service for apps to interact correctly with the modes
+ (such as to be able to deliver an instant message to the device even when it is
+ dozing). This should be enabled if you have such services and expect apps to
+ correctly use them when installed on your device. Otherwise, keep this disabled
+ so that applications can still use their own mechanisms. -->
+ <bool name="config_enableAutoPowerModes">true</bool>
+
+ <!-- Maximum number of supported users -->
+ <integer name="config_multiuserMaximumUsers">5</integer>
+
+ <!-- Whether UI for multi user should be shown -->
+ <bool name="config_enableMultiUserUI">false</bool>
+
+ <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
+ device from the display on/off state.
+ When false, autosuspend_disable() will be called before the display is turned on
+ and autosuspend_enable() will be called after the display is turned off.
+ This mode provides best compatibility for devices using legacy power management
+ features such as early suspend / late resume.
+ When true, autosuspend_display() and autosuspend_enable() will be called
+ independently of whether the display is being turned on or off. This mode
+ enables the power manager to suspend the application processor while the
+ display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to autosuspend.h for details.
+ -->
+ <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
+
+ <!-- Indicate whether to allow the device to suspend when the screen is off
+ due to the proximity sensor. This resource should only be set to true
+ if the sensor HAL correctly handles the proximity sensor as a wake-up source.
+ Otherwise, the device may fail to wake out of suspend reliably.
+ The default is false. -->
+ <bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
+
+ <!-- Power Management: Specifies whether to decouple the interactive state of the
+ device from the display on/off state.
+ When false, setInteractive(..., true) will be called before the display is turned on
+ and setInteractive(..., false) will be called after the display is turned off.
+ This mode provides best compatibility for devices that expect the interactive
+ state to be tied to the display state.
+ When true, setInteractive(...) will be called independently of whether the display
+ is being turned on or off. This mode enables the power manager to reduce
+ clocks and disable the touch controller while the display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to power.h for details.
+ -->
+ <bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
+
+
+ <!-- Screen brightness used to dim the screen while dozing in a very low power state.
+ May be less than the minimum allowed brightness setting
+ that can be set by the user. -->
+ <integer name="config_screenBrightnessDoze">17</integer>
+
+ <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveNotificationLed">true</bool>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tething over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"usb\\d"</item>
+ <item>"rndis\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wlan0"</item>
+ <item>"softap.*"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
+ should be empty. -->
+ <string-array translatable="false" name="config_tether_bluetooth_regexs">
+ <item>"bt-pan"</item>
+ </string-array>
+
+ <!-- Array of allowable ConnectivityManager network types for tethering -->
+ <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+ [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+ <integer-array translatable="false" name="config_tether_upstream_types">
+ <item>0</item>
+ <item>1</item>
+ <item>5</item>
+ <item>7</item>
+ </integer-array>
+
+ <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
+ <bool translatable="false" name="config_wifi_dual_band_support">true</bool>
+
+ <!-- Is the device capable of hot swapping an UICC Card -->
+ <bool name="config_hotswapCapable">true</bool>
+
+ <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
+ in hardware. -->
+ <bool name="config_setColorTransformAccelerated">true</bool>
+
+ <!-- Flag specifying whether VoLTE is available on device -->
+ <bool name="config_device_volte_available">true</bool>
+
+ <!-- Flag specifying whether VoLTE should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_volte_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS is available on device -->
+ <bool name="config_device_wfc_ims_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_wfc_ims_available">true</bool>
+
+ <!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
+ This mechanism allows the host to remain in suspend state and the dongle to actively
+ scan and wake the host when a configured SSID is detected by the dongle. This chipset
+ capability can provide power savings when wifi needs to be always kept on. -->
+ <bool name="config_wifi_background_scan_support">true</bool>
+
+ <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
+ on the headphone/microphone jack. When false use the older uevent framework. -->
+ <bool name="config_useDevInputEventForAudioJack">true</bool>
+
+</resources>
\ No newline at end of file
diff --git a/Huawei/hi6250/RNE/res/xml/power_profile.xml b/Huawei/hi6250/RNE/res/xml/power_profile.xml
new file mode 100644
index 0000000..8ecabdc
--- /dev/null
+++ b/Huawei/hi6250/RNE/res/xml/power_profile.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<device name="Android">
+ <item name="none">0</item>
+ <item name="screen.on">131.6</item>
+ <item name="bluetooth.active">97</item>
+ <item name="bluetooth.on">0.6</item>
+ <item name="bluetooth.at">0.6</item>
+ <item name="screen.full">396.5</item>
+ <item name="wifi.on">0.6</item>
+ <item name="wifi.active">128</item>
+ <item name="wifi.scan">146</item>
+ <item name="dsp.audio">43</item>
+ <item name="dsp.video">176</item>
+ <item name="radio.active">190</item>
+ <item name="gps.on">70</item>
+ <item name="battery.capacity">3340</item>
+ <item name="radio.scanning">65</item>
+ <array name="radio.on">
+ <value>13.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ </array>
+ <array name="cpu.speeds">
+ <value>480000</value>
+ <value>807000</value>
+ <value>1306000</value>
+ <value>1402000</value>
+ <value>1709000</value>
+ <value>1805000</value>
+ <value>2016000</value>
+ <value>2112000</value>
+ </array>
+ <item name="cpu.idle">4</item>
+ <item name="cpu.awake">43</item>
+ <array name="cpu.active">
+ <value>107</value>
+ <value>181</value>
+ <value>425</value>
+ <value>537</value>
+ <value>732</value>
+ <value>899</value>
+ <value>1417</value>
+ <value>1855</value>
+ </array>
+</device>
\ No newline at end of file
diff --git a/Huawei/hi6250/WAS/Android.mk b/Huawei/hi6250/WAS/Android.mk
new file mode 100644
index 0000000..8758aa8
--- /dev/null
+++ b/Huawei/hi6250/WAS/Android.mk
@@ -0,0 +1,8 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+LOCAL_MODULE_TAGS := optional
+LOCAL_PACKAGE_NAME := dil3mm4-overlay-WAS
+LOCAL_MODULE_PATH := $(TARGET_OUT)/overlay
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+LOCAL_PRIVATE_PLATFORM_APIS := true
+include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/Huawei/hi6250/WAS/AndroidManifest.xml b/Huawei/hi6250/WAS/AndroidManifest.xml
new file mode 100644
index 0000000..3a3ae84
--- /dev/null
+++ b/Huawei/hi6250/WAS/AndroidManifest.xml
@@ -0,0 +1,10 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.dil3mm4.huawei.WAS"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="android"
+ android:requiredSystemPropertyName="ro.hw.oemName"
+ android:requiredSystemPropertyValue="+WAS*"
+ android:priority="4"
+ android:isStatic="true" />
+</manifest>
diff --git a/Huawei/hi6250/WAS/res/values/config.xml b/Huawei/hi6250/WAS/res/values/config.xml
new file mode 100644
index 0000000..0efbbce
--- /dev/null
+++ b/Huawei/hi6250/WAS/res/values/config.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. Do not translate.
+
+ NOTE: The naming convention is "config_camelCaseValue". Some legacy
+ entries do not follow the convention, but all new entries should. -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- If true, the screen can be rotated via the accelerometer in all 4
+ rotations as the default behavior. -->
+ <bool name="config_allowAllRotations">true</bool>
+
+ <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
+ The N entries of this array define N + 1 control points as follows:
+ (1-based arrays)
+
+ Point 1: (0, value[1]): lux <= 0
+ Point 2: (level[1], value[2]): 0 < lux <= level[1]
+ Point 3: (level[2], value[3]): level[2] < lux <= level[3]
+ ...
+ Point N+1: (level[N], value[N+1]): level[N] < lux
+
+ The control points must be strictly increasing. Each control point
+ corresponds to an entry in the brightness backlight values arrays.
+ For example, if LUX == level[1] (first element of the levels array)
+ then the brightness will be determined by value[2] (second element
+ of the brightness values array).
+
+ Spline interpolation is used to determine the auto-brightness
+ backlight values for LUX levels between these control points.
+
+ Must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLevels">
+ <item>8</item>
+ <item>55</item>
+ <item>350</item>
+ <item>1600</item>
+ <item>2550</item>
+ </integer-array>
+
+ <!-- Array of output values for LCD backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ The brightness values must be between 0 and 255 and be non-decreasing.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLcdBacklightValues">
+ <item>6</item>
+ <item>47</item>
+ <item>150</item>
+ <item>180</item>
+ <item>250</item>
+ <item>255</item>
+ </integer-array>
+
+ <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
+ Software implementation will be used if config_hardware_auto_brightness_available is not set -->
+ <bool name="config_automatic_brightness_available">true</bool>
+
+ <!-- Boolean indicating if current platform supports BLE peripheral mode -->
+ <bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
+
+ <!-- ComponentName of a dream to show whenever the system would otherwise have
+ gone to sleep. When the PowerManager is asked to go to sleep, it will instead
+ try to start this dream if possible. The dream should typically call startDozing()
+ to put the display into a low power state and allow the application processor
+ to be suspended. When the dream ends, the system will go to sleep as usual.
+ Specify the component name or an empty string if none.
+ Note that doze dreams are not subject to the same start conditions as ordinary dreams.
+ Doze dreams will run whenever the power manager is in a dozing state. -->
+ <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
+
+ <!-- If true, the doze component is not started until after the screen has been
+ turned off and the screen off animation has been performed. -->
+ <bool name="config_dozeAfterScreenOff">true</bool>
+
+ <!-- Control the behavior when the user double presses the power button.
+ 0 - Nothing
+ 1 - Toggle theater mode setting
+ 2 - Brightness boost
+ -->
+ <integer name="config_doublePressOnPowerBehavior">2</integer>
+
+ <!-- Set this to true to enable the platform's auto-power-save modes like doze and
+ app standby. These are not enabled by default because they require a standard
+ cloud-to-device messaging service for apps to interact correctly with the modes
+ (such as to be able to deliver an instant message to the device even when it is
+ dozing). This should be enabled if you have such services and expect apps to
+ correctly use them when installed on your device. Otherwise, keep this disabled
+ so that applications can still use their own mechanisms. -->
+ <bool name="config_enableAutoPowerModes">true</bool>
+
+ <!-- Maximum number of supported users -->
+ <integer name="config_multiuserMaximumUsers">5</integer>
+
+ <!-- Whether UI for multi user should be shown -->
+ <bool name="config_enableMultiUserUI">false</bool>
+
+ <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
+ device from the display on/off state.
+ When false, autosuspend_disable() will be called before the display is turned on
+ and autosuspend_enable() will be called after the display is turned off.
+ This mode provides best compatibility for devices using legacy power management
+ features such as early suspend / late resume.
+ When true, autosuspend_display() and autosuspend_enable() will be called
+ independently of whether the display is being turned on or off. This mode
+ enables the power manager to suspend the application processor while the
+ display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to autosuspend.h for details.
+ -->
+ <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
+
+ <!-- Indicate whether to allow the device to suspend when the screen is off
+ due to the proximity sensor. This resource should only be set to true
+ if the sensor HAL correctly handles the proximity sensor as a wake-up source.
+ Otherwise, the device may fail to wake out of suspend reliably.
+ The default is false. -->
+ <bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
+
+ <!-- Power Management: Specifies whether to decouple the interactive state of the
+ device from the display on/off state.
+ When false, setInteractive(..., true) will be called before the display is turned on
+ and setInteractive(..., false) will be called after the display is turned off.
+ This mode provides best compatibility for devices that expect the interactive
+ state to be tied to the display state.
+ When true, setInteractive(...) will be called independently of whether the display
+ is being turned on or off. This mode enables the power manager to reduce
+ clocks and disable the touch controller while the display is on.
+ This resource should be set to "true" when a doze component has been specified
+ to maximize power savings but not all devices support it.
+ Refer to power.h for details.
+ -->
+ <bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
+
+
+ <!-- Screen brightness used to dim the screen while dozing in a very low power state.
+ May be less than the minimum allowed brightness setting
+ that can be set by the user. -->
+ <integer name="config_screenBrightnessDoze">17</integer>
+
+ <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveNotificationLed">true</bool>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tething over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"usb\\d"</item>
+ <item>"rndis\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wlan0"</item>
+ <item>"softap.*"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
+ should be empty. -->
+ <string-array translatable="false" name="config_tether_bluetooth_regexs">
+ <item>"bt-pan"</item>
+ </string-array>
+
+ <!-- Array of allowable ConnectivityManager network types for tethering -->
+ <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+ [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+ <integer-array translatable="false" name="config_tether_upstream_types">
+ <item>0</item>
+ <item>1</item>
+ <item>5</item>
+ <item>7</item>
+ </integer-array>
+
+ <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
+ <bool translatable="false" name="config_wifi_dual_band_support">true</bool>
+
+ <!-- Is the device capable of hot swapping an UICC Card -->
+ <bool name="config_hotswapCapable">true</bool>
+
+ <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
+ in hardware. -->
+ <bool name="config_setColorTransformAccelerated">true</bool>
+
+ <!-- Flag specifying whether VoLTE is available on device -->
+ <bool name="config_device_volte_available">true</bool>
+
+ <!-- Flag specifying whether VoLTE should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_volte_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS is available on device -->
+ <bool name="config_device_wfc_ims_available">true</bool>
+
+ <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+ carrier provisioning. If false: hard disabled. If true: then depends on carrier
+ provisioning, availability etc -->
+ <bool name="config_carrier_wfc_ims_available">true</bool>
+
+ <!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
+ This mechanism allows the host to remain in suspend state and the dongle to actively
+ scan and wake the host when a configured SSID is detected by the dongle. This chipset
+ capability can provide power savings when wifi needs to be always kept on. -->
+ <bool name="config_wifi_background_scan_support">true</bool>
+
+ <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
+ on the headphone/microphone jack. When false use the older uevent framework. -->
+ <bool name="config_useDevInputEventForAudioJack">true</bool>
+
+</resources>
\ No newline at end of file
diff --git a/Huawei/hi6250/WAS/res/xml/power_profile.xml b/Huawei/hi6250/WAS/res/xml/power_profile.xml
new file mode 100644
index 0000000..59413af
--- /dev/null
+++ b/Huawei/hi6250/WAS/res/xml/power_profile.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License")
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<device name="Android">
+ <!-- All values are in mA except as noted -->
+ <item name="none">0</item>
+ <item name="screen.on">114</item> <!-- min brite -->
+ <item name="bluetooth.active">97</item>
+ <item name="bluetooth.on">0.6</item>
+ <item name="bluetooth.at">0.6</item> <!-- TBD -->
+ <item name="screen.full">302</item> <!-- backlight 16 leds -->
+ <item name="wifi.on">0.6</item>
+ <item name="wifi.active">128</item>
+ <item name="wifi.scan">146</item>
+ <item name="dsp.audio">43</item> <!-- k3v5 -->
+ <item name="dsp.video">176</item>
+ <item name="radio.active">190</item>
+ <item name="gps.on">70</item>
+ <item name="battery.capacity">3000</item> <!-- 3900mAh -->
+ <item name="radio.scanning">65</item> <!-- TBD -->
+ <!-- Current consumed by the radio at different signal strengths, when paging -->
+ <array name="radio.on"> <!-- 1 entry per signal strength bin, TBD -->
+ <value>13.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ <value>10.0</value>
+ </array>
+ <array name="cpu.speeds">
+ <value>480000</value> <!-- 480 MHz CPU speed -->
+ <value>807000</value> <!-- 807 MHz CPU speed -->
+ <value>1306000</value> <!-- 1.3 GHz CPU speed -->
+ <value>1402000</value><!-- 1.4 GHz CPU speed -->
+ <value>1709000</value><!-- 1.7 GHz CPU speed -->
+ <value>1805000</value><!-- 1.8 GHz CPU speed -->
+ <value>2016000</value><!-- 2.0 GHz CPU speed -->
+ <value>2112000</value><!-- 2.1 GHz CPU speed -->
+ <value>2362000</value><!-- 2.3 GHz CPU speed -->
+ </array>
+ <!-- Power consumption in suspend -->
+ <item name="cpu.idle">4</item> <!-- k3v5 -->
+ <!-- Power consumption due to wake lock held -->
+ <item name="cpu.awake">43</item> <!-- k3v5 -->
+ <!-- Power consumption at different speeds -->
+ <array name="cpu.active">
+ <value>107</value>
+ <value>181</value>
+ <value>425</value>
+ <value>538</value>
+ <value>851</value>
+ <value>899</value>
+ <value>1417</value>
+ <value>2077</value>
+ <value>2323</value>
+ </array>
+</device>