From 52b7533338de361512d0ab7535f1b3dc1a6f3774 Mon Sep 17 00:00:00 2001
From: Pawit Pornkitprasan
Date: Sat, 15 Nov 2014 14:50:29 +0700
Subject: [PATCH 1/3] TelephonyManager: set properties in Broadcom-style as
expected by RIL
For i9082
Change-Id: I475fdd164b3316720387fefb14a3e12fbc262b39
---
.../java/android/telephony/TelephonyManager.java | 63 +++++++---------------
1 file changed, 19 insertions(+), 44 deletions(-)
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 4ee5c01..63062d2 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -3017,49 +3017,19 @@ public class TelephonyManager {
* @hide
*/
public static void setTelephonyProperty(int phoneId, String property, String value) {
- String propVal = "";
- String p[] = null;
- String prop = SystemProperties.get(property);
-
- if (value == null) {
- value = "";
- }
-
- if (prop != null) {
- p = prop.split(",");
- }
-
if (!SubscriptionManager.isValidPhoneId(phoneId)) {
Rlog.d(TAG, "setTelephonyProperty: invalid phoneId=" + phoneId +
- " property=" + property + " value: " + value + " prop=" + prop);
+ " property=" + property + " value: " + value);
return;
}
- for (int i = 0; i < phoneId; i++) {
- String str = "";
- if ((p != null) && (i < p.length)) {
- str = p[i];
- }
- propVal = propVal + str + ",";
- }
-
- propVal = propVal + value;
- if (p != null) {
- for (int i = phoneId + 1; i < p.length; i++) {
- propVal = propVal + "," + p[i];
- }
- }
-
- if (property.length() > SystemProperties.PROP_NAME_MAX
- || propVal.length() > SystemProperties.PROP_VALUE_MAX) {
- Rlog.d(TAG, "setTelephonyProperty: property to long phoneId=" + phoneId +
- " property=" + property + " value: " + value + " propVal=" + propVal);
- return;
+ if (phoneId > 0) {
+ property += "_" + phoneId;
}
Rlog.d(TAG, "setTelephonyProperty: success phoneId=" + phoneId +
- " property=" + property + " value: " + value + " propVal=" + propVal);
- SystemProperties.set(property, propVal);
+ " property=" + property + " value: " + value);
+ SystemProperties.set(property, value);
}
/**
@@ -3156,17 +3126,22 @@ public class TelephonyManager {
* @hide
*/
public static String getTelephonyProperty(int phoneId, String property, String defaultVal) {
- String propVal = null;
- String prop = SystemProperties.get(property);
- if ((prop != null) && (prop.length() > 0)) {
- String values[] = prop.split(",");
- if ((phoneId >= 0) && (phoneId < values.length) && (values[phoneId] != null)) {
- propVal = values[phoneId];
- }
+ if (!SubscriptionManager.isValidPhoneId(phoneId)) {
+ Rlog.d(TAG, "getTelephonyProperty: invalid phoneId=" + phoneId +
+ " property=" + property);
+ return defaultVal;
+ }
+
+ if (phoneId > 0) {
+ property += "_" + phoneId;
}
+
+ String propVal = SystemProperties.get(property);
+
Rlog.d(TAG, "getTelephonyProperty: return propVal='" + propVal + "' phoneId=" + phoneId
- + " property='" + property + "' defaultVal='" + defaultVal + "' prop=" + prop);
- return propVal == null ? defaultVal : propVal;
+ + " property='" + property + "' defaultVal='" + defaultVal);
+
+ return propVal.isEmpty() ? defaultVal : propVal;
}
/**
--
1.9.1
From 81f8e414533dfc83bc44ac704fd0c97cbaccf4da Mon Sep 17 00:00:00 2001
From: Pawit Pornkitprasan
Date: Sat, 15 Nov 2014 22:33:16 +0700
Subject: [PATCH 2/3] Camera: HACK: i9082: API hacks
CTS 5.0 requires the presence of an auto mode, so applications
may try to use auto without checking.
Also change ENODEV to MAX_CAMERAS_IN_USE to please the CTS
Change-Id: I929feffa4f79c69e9d7be7d1acacb3c228280bfe
---
core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java | 2 +-
core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java | 2 +-
core/java/android/hardware/camera2/utils/CameraBinderDecorator.java | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
index 347db05..5acf583 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
@@ -1100,7 +1100,7 @@ public class LegacyMetadataMapper {
return CONTROL_AE_ANTIBANDING_MODE_OFF;
}
case Camera.Parameters.ANTIBANDING_50HZ: {
- return CONTROL_AE_ANTIBANDING_MODE_50HZ;
+ return /* CONTROL_AE_ANTIBANDING_MODE_50HZ */ CONTROL_AE_ANTIBANDING_MODE_AUTO;
}
case Camera.Parameters.ANTIBANDING_60HZ: {
return CONTROL_AE_ANTIBANDING_MODE_60HZ;
diff --git a/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java b/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
index 61f7b8b..f370103 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
@@ -617,7 +617,7 @@ public class LegacyRequestMapper {
return Parameters.ANTIBANDING_60HZ;
}
case CONTROL_AE_ANTIBANDING_MODE_AUTO: {
- return Parameters.ANTIBANDING_AUTO;
+ return Parameters.ANTIBANDING_50HZ /* Parameters.ANTIBANDING_AUTO */;
}
default: {
return null;
diff --git a/core/java/android/hardware/camera2/utils/CameraBinderDecorator.java b/core/java/android/hardware/camera2/utils/CameraBinderDecorator.java
index d461bca..a34a758 100644
--- a/core/java/android/hardware/camera2/utils/CameraBinderDecorator.java
+++ b/core/java/android/hardware/camera2/utils/CameraBinderDecorator.java
@@ -124,7 +124,7 @@ public class CameraBinderDecorator {
case EUSERS:
throw new CameraRuntimeException(MAX_CAMERAS_IN_USE);
case ENODEV:
- throw new CameraRuntimeException(CAMERA_DISCONNECTED);
+ throw new CameraRuntimeException(/*CAMERA_DISCONNECTED*/ MAX_CAMERAS_IN_USE);
case EOPNOTSUPP:
throw new CameraRuntimeException(CAMERA_DEPRECATED_HAL);
case INVALID_OPERATION:
--
1.9.1
From 9a0b6efe16eaa2740160306bbde768758f6259d2 Mon Sep 17 00:00:00 2001
From: Pawit Pornkitprasan
Date: Sun, 21 Dec 2014 16:23:31 +0700
Subject: [PATCH 3/3] PowerManagerService: only turn on button light when any
button is pressed
This more closely emulates stock Samsung behavior
Change-Id: I6b15c45b713bcbc290a1026805c46109060f9990
---
.../core/java/com/android/server/power/PowerManagerService.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index 8105ff8..b3d2023 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -235,6 +235,7 @@ public final class PowerManagerService extends SystemService
// Timestamp of the last call to user activity.
private long mLastUserActivityTime;
private long mLastUserActivityTimeNoChangeLights;
+ private long mLastButtonActivityTime;
// Timestamp of last interactive power hint.
private long mLastInteractivePowerHintTime;
@@ -1145,6 +1146,11 @@ public final class PowerManagerService extends SystemService
return true;
}
} else {
+ if (eventTime > mLastButtonActivityTime && (event & PowerManager.USER_ACTIVITY_EVENT_BUTTON) != 0) {
+ mLastButtonActivityTime = eventTime;
+ mDirty |= DIRTY_USER_ACTIVITY;
+ }
+
if (eventTime > mLastUserActivityTime) {
mLastUserActivityTime = eventTime;
mDirty |= DIRTY_USER_ACTIVITY;
@@ -1648,7 +1654,7 @@ public final class PowerManagerService extends SystemService
mKeyboardLight.setBrightness(mKeyboardVisible ?
keyboardBrightness : 0);
if (mButtonTimeout != 0
- && now > mLastUserActivityTime + mButtonTimeout) {
+ && now > mLastButtonActivityTime + mButtonTimeout) {
mButtonsLight.setBrightness(0);
} else {
if (!mProximityPositive) {
--
1.9.1