summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-01-30 01:05:47 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-01-30 01:05:47 +0000
commit75bb323cbe21d7c609946b6b680f88f7ccd4a043 (patch)
tree61b56ed5f6c89fcd50b7275d171f70b1a2dccd53
parentddae58aaaa5af77ab925fd916e5352ee89f4dfd8 (diff)
parentbbd2ae7c266e120d7457f9cad90ee8d7269cd87f (diff)
downloadbase-75bb323cbe21d7c609946b6b680f88f7ccd4a043.tar.gz
Merge cherrypicks of [6206577, 6206578, 6206734, 6206098, 6206099, 6206100, 6206101, 6206102, 6206065] into pi-b4s4-release
Change-Id: I4ff6ecc889906d74e6796e8085a15927e326cb97
-rw-r--r--core/java/android/view/ViewRootImpl.java21
-rw-r--r--telephony/java/android/telephony/TelephonyManager.java21
2 files changed, 27 insertions, 15 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 6df0173d9684..a1c0967f0ab1 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -1354,6 +1354,9 @@ public final class ViewRootImpl implements ViewParent,
}
if (mStopped) {
+ if (mSurfaceHolder != null) {
+ notifySurfaceDestroyed();
+ }
mSurface.release();
}
}
@@ -2227,13 +2230,7 @@ public final class ViewRootImpl implements ViewParent,
}
mIsCreating = false;
} else if (hadSurface) {
- mSurfaceHolder.ungetCallbacks();
- SurfaceHolder.Callback callbacks[] = mSurfaceHolder.getCallbacks();
- if (callbacks != null) {
- for (SurfaceHolder.Callback c : callbacks) {
- c.surfaceDestroyed(mSurfaceHolder);
- }
- }
+ notifySurfaceDestroyed();
mSurfaceHolder.mSurfaceLock.lock();
try {
mSurfaceHolder.mSurface = new Surface();
@@ -2497,6 +2494,16 @@ public final class ViewRootImpl implements ViewParent,
mIsInTraversal = false;
}
+ private void notifySurfaceDestroyed() {
+ mSurfaceHolder.ungetCallbacks();
+ SurfaceHolder.Callback[] callbacks = mSurfaceHolder.getCallbacks();
+ if (callbacks != null) {
+ for (SurfaceHolder.Callback c : callbacks) {
+ c.surfaceDestroyed(mSurfaceHolder);
+ }
+ }
+ }
+
private void maybeHandleWindowMove(Rect frame) {
// TODO: Well, we are checking whether the frame has changed similarly
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index c574fb4d6605..e7361ef66531 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -7581,6 +7581,9 @@ public class TelephonyManager {
@SystemApi
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
public int setAllowedCarriers(int slotIndex, List<CarrierIdentifier> carriers) {
+ if (!SubscriptionManager.isValidPhoneId(slotIndex)) {
+ return -1;
+ }
try {
ITelephony service = getITelephony();
if (service != null) {
@@ -7608,15 +7611,17 @@ public class TelephonyManager {
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public List<CarrierIdentifier> getAllowedCarriers(int slotIndex) {
- try {
- ITelephony service = getITelephony();
- if (service != null) {
- return service.getAllowedCarriers(slotIndex);
+ if (SubscriptionManager.isValidPhoneId(slotIndex)) {
+ try {
+ ITelephony service = getITelephony();
+ if (service != null) {
+ return service.getAllowedCarriers(slotIndex);
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e);
+ } catch (NullPointerException e) {
+ Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e);
}
- } catch (RemoteException e) {
- Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e);
- } catch (NullPointerException e) {
- Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e);
}
return new ArrayList<CarrierIdentifier>(0);
}