summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/util/BoostFramework.java114
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java1
-rw-r--r--services/core/java/com/android/server/audio/AudioDeviceBroker.java5
-rw-r--r--services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerModule.java6
-rw-r--r--telephony/java/android/telephony/CarrierConfigManager.java2
5 files changed, 124 insertions, 4 deletions
diff --git a/core/java/android/util/BoostFramework.java b/core/java/android/util/BoostFramework.java
index 3afe69dda2ef..59ec6caba3ed 100644
--- a/core/java/android/util/BoostFramework.java
+++ b/core/java/android/util/BoostFramework.java
@@ -57,8 +57,12 @@ public class BoostFramework {
private static Method sReleaseFunc = null;
private static Method sReleaseHandlerFunc = null;
private static Method sFeedbackFunc = null;
+ private static Method sFeedbackFuncExtn = null;
private static Method sPerfGetPropFunc = null;
private static Method sAcqAndReleaseFunc = null;
+ private static Method sperfHintAcqRelFunc = null;
+ private static Method sperfHintRenewFunc = null;
+ private static Method sPerfEventFunc = null;
private static Method sIOPStart = null;
private static Method sIOPStop = null;
@@ -229,6 +233,9 @@ public class BoostFramework {
argClasses = new Class[] {int.class, String.class};
sFeedbackFunc = sPerfClass.getMethod("perfGetFeedback", argClasses);
+ argClasses = new Class[] {int.class, String.class, int.class, int[].class};
+ sFeedbackFuncExtn = sPerfClass.getMethod("perfGetFeedbackExtn", argClasses);
+
argClasses = new Class[] {int.class, String.class, String.class};
sIOPStart = sPerfClass.getDeclaredMethod("perfIOPrefetchStart", argClasses);
@@ -241,6 +248,17 @@ public class BoostFramework {
argClasses = new Class[] {int.class, int.class, int.class, int.class, int[].class};
sAcqAndReleaseFunc = sPerfClass.getMethod("perfLockAcqAndRelease", argClasses);
+ argClasses = new Class[] {int.class, String.class, int.class, int[].class};
+ sPerfEventFunc = sPerfClass.getMethod("perfEvent", argClasses);
+
+ argClasses = new Class[] {int.class, int.class, String.class, int.class,
+ int.class, int.class, int[].class};
+ sperfHintAcqRelFunc = sPerfClass.getMethod("perfHintAcqRel", argClasses);
+
+ argClasses = new Class[] {int.class, int.class, String.class, int.class,
+ int.class, int.class, int[].class};
+ sperfHintRenewFunc = sPerfClass.getMethod("perfHintRenew", argClasses);
+
try {
argClasses = new Class[] {int.class, int.class, String.class, int.class, String.class};
sUXEngineEvents = sPerfClass.getDeclaredMethod("perfUXEngine_events",
@@ -342,11 +360,25 @@ public class BoostFramework {
}
/** @hide */
- public int perfGetFeedback(int req, String userDataStr) {
+ public int perfGetFeedback(int req, String pkg_name) {
int ret = -1;
try {
if (sFeedbackFunc != null) {
- Object retVal = sFeedbackFunc.invoke(mPerf, req, userDataStr);
+ Object retVal = sFeedbackFunc.invoke(mPerf, req, pkg_name);
+ ret = (int)retVal;
+ }
+ } catch(Exception e) {
+ Log.e(TAG,"Exception " + e);
+ }
+ return ret;
+ }
+
+/** @hide */
+ public int perfGetFeedbackExtn(int req, String pkg_name, int numArgs, int... list) {
+ int ret = -1;
+ try {
+ if (sFeedbackFuncExtn != null) {
+ Object retVal = sFeedbackFuncExtn.invoke(mPerf, req, pkg_name, numArgs, list);
ret = (int)retVal;
}
} catch(Exception e) {
@@ -454,6 +486,84 @@ public class BoostFramework {
return ret;
}
+/** @hide */
+ public void perfEvent(int eventId, String pkg_name) {
+ perfEvent(eventId, pkg_name, 0);
+ }
+
+/** @hide */
+ public void perfEvent(int eventId, String pkg_name, int numArgs, int... list) {
+ try {
+ if (sPerfEventFunc != null) {
+ sPerfEventFunc.invoke(mPerf, eventId, pkg_name, numArgs, list);
+ }
+ } catch(Exception e) {
+ Log.e(TAG,"Exception " + e);
+ }
+ }
+
+/** @hide */
+ public int perfHintAcqRel(int handle, int hint, String pkg_name) {
+ return perfHintAcqRel(handle, hint, pkg_name, -1, -1, 0);
+ }
+
+/** @hide */
+ public int perfHintAcqRel(int handle, int hint, String pkg_name, int duration) {
+ return perfHintAcqRel(handle, hint, pkg_name, duration, -1, 0);
+ }
+
+/** @hide */
+ public int perfHintAcqRel(int handle, int hint, String pkg_name, int duration, int hintType) {
+ return perfHintAcqRel(handle, hint, pkg_name, duration, hintType, 0);
+ }
+
+/** @hide */
+ public int perfHintAcqRel(int handle, int hint, String pkg_name, int duration,
+ int hintType, int numArgs, int... list) {
+ int ret = -1;
+ try {
+ if (sperfHintAcqRelFunc != null) {
+ Object retVal = sperfHintAcqRelFunc.invoke(mPerf,handle, hint, pkg_name,
+ duration, hintType, numArgs, list);
+ ret = (int)retVal;
+ }
+ } catch(Exception e) {
+ Log.e(TAG,"Exception " + e);
+ }
+ return ret;
+ }
+
+/** @hide */
+ public int perfHintRenew(int handle, int hint, String pkg_name) {
+ return perfHintRenew(handle, hint, pkg_name, -1, -1, 0);
+ }
+
+/** @hide */
+ public int perfHintRenew(int handle, int hint, String pkg_name, int duration) {
+ return perfHintRenew(handle, hint, pkg_name, duration, -1, 0);
+ }
+
+/** @hide */
+ public int perfHintRenew(int handle, int hint, String pkg_name, int duration, int hintType) {
+ return perfHintRenew(handle, hint, pkg_name, duration, hintType, 0);
+ }
+
+/** @hide */
+ public int perfHintRenew(int handle, int hint, String pkg_name, int duration,
+ int hintType, int numArgs, int... list) {
+ int ret = -1;
+ try {
+ if (sperfHintRenewFunc != null) {
+ Object retVal = sperfHintRenewFunc.invoke(mPerf,handle, hint, pkg_name,
+ duration, hintType, numArgs, list);
+ ret = (int)retVal;
+ }
+ } catch(Exception e) {
+ Log.e(TAG,"Exception " + e);
+ }
+ return ret;
+ }
+
/** @hide */
public static class ScrollOptimizer {
/** @hide */
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
index 8e886e82d352..02b2d3b416d2 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
@@ -299,6 +299,7 @@ public class CellularTile extends QSTileImpl<SignalState> {
@Override
public void setMobileDataEnabled(boolean enabled) {
mDetailAdapter.setMobileDataEnabled(enabled);
+ refreshState(mInfo);
}
}
diff --git a/services/core/java/com/android/server/audio/AudioDeviceBroker.java b/services/core/java/com/android/server/audio/AudioDeviceBroker.java
index fa7cf360f18d..9dcb0349a8e0 100644
--- a/services/core/java/com/android/server/audio/AudioDeviceBroker.java
+++ b/services/core/java/com/android/server/audio/AudioDeviceBroker.java
@@ -613,7 +613,10 @@ import java.util.concurrent.atomic.AtomicBoolean;
boolean suppressNoisyIntent, int a2dpVolume) {
final BtDeviceConnectionInfo info = new BtDeviceConnectionInfo(device, state, profile,
suppressNoisyIntent, a2dpVolume);
- sendLMsgNoDelay(MSG_L_A2DP_ACTIVE_DEVICE_CHANGE_EXT, SENDMSG_QUEUE, info);
+ synchronized (mDeviceStateLock) {
+ removeScheduledA2dpEvents(info.mDevice, info.mProfile);
+ sendLMsgNoDelay(MSG_L_A2DP_ACTIVE_DEVICE_CHANGE_EXT, SENDMSG_QUEUE, info);
+ }
}
private static final class HearingAidDeviceConnectionInfo {
diff --git a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerModule.java b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerModule.java
index 02d978dfdf99..6608b9636671 100644
--- a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerModule.java
+++ b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerModule.java
@@ -519,6 +519,12 @@ class SoundTriggerModule implements IHwBinder.DeathRecipient {
hidlConfig.base.header.captureDevice = mSession.mDeviceHandle;
hidlConfig.base.header.captureHandle = mSession.mIoHandle;
mHalService.startRecognition(mHandle, hidlConfig, this, 0);
+ try {
+ hidlConfig.base.data.close();
+ } catch (Exception e) {
+ // will be handled during finalize()
+ Log.e(TAG, "Failed to close hidl memory", e);
+ }
setState(ModelState.ACTIVE);
}
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index 44dc476c950d..7ac37790fd89 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -5988,7 +5988,7 @@ public class CarrierConfigManager {
return;
}
loader.updateConfigForPhoneId(phoneId, simState);
- } catch (RemoteException ex) {
+ } catch (RemoteException | IllegalArgumentException ex) {
Rlog.e(TAG, "Error updating config for phoneId=" + phoneId + ": " + ex.toString());
}
}