Merge "Do not show datadisconnectRoaming notification if data is disabled." into oc-dr1-dev
diff --git a/Android.mk b/Android.mk
index f514ffc..24fb423 100644
--- a/Android.mk
+++ b/Android.mk
@@ -20,7 +20,6 @@
android-support-v7-preference \
android-support-v7-recyclerview \
android-support-v14-preference \
- colorextraction \
guava \
volley
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index cb6c013..6421e42 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -24,7 +24,7 @@
<uses-sdk
android:minSdkVersion="23"
- android:targetSdkVersion="23" />
+ android:targetSdkVersion="26" />
<original-package android:name="com.android.phone" />
diff --git a/res/layout/emergency_dialer.xml b/res/layout/emergency_dialer.xml
index a18596f..5248c19 100644
--- a/res/layout/emergency_dialer.xml
+++ b/res/layout/emergency_dialer.xml
@@ -20,7 +20,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="36dp"
- android:paddingRight="36dp">
+ android:paddingRight="36dp"
+ android:paddingBottom="36dp">
<LinearLayout
android:layout_width="match_parent"
@@ -127,7 +128,6 @@
android:id="@+id/floating_action_button_container"
android:layout_width="@dimen/floating_action_button_width"
android:layout_height="@dimen/floating_action_button_height"
- android:layout_marginBottom="@dimen/floating_action_button_margin_bottom"
android:layout_gravity="center_horizontal|bottom" >
<ImageButton
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 3e66c70..1a24e79 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -453,7 +453,7 @@
<string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Número de la bústia de veu desconegut"</string>
<string name="notification_network_selection_title" msgid="4224455487793492772">"Sense servei"</string>
<string name="notification_network_selection_text" msgid="2607085729661923269">"La xarxa seleccionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) no està disponible"</string>
- <string name="incall_error_power_off" product="watch" msgid="2007450435656211658">"Per fer una trucada, activa la xarxa de telefonia mòbil o desactiva el mode d\'avió o el mode d\'estalvi de bateria."</string>
+ <string name="incall_error_power_off" product="watch" msgid="2007450435656211658">"Per fer una trucada, activa la xarxa mòbil o desactiva el mode d\'avió o el mode d\'estalvi de bateria."</string>
<string name="incall_error_power_off" product="default" msgid="2947938060513306698">"Per fer una trucada, desactiva el mode d\'avió."</string>
<string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Per fer una trucada, desactiva el mode d\'avió o connecta amb una xarxa sense fil."</string>
<string name="incall_error_ecm_emergency_only" msgid="738708660612388692">"Surt del mode de devolució de trucada d\'emergència per fer un altre tipus de trucada."</string>
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index daafe87..fd64ff2 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -53,13 +53,12 @@
import android.view.WindowManager;
import android.widget.EditText;
+import com.android.internal.colorextraction.ColorExtractor;
+import com.android.internal.colorextraction.ColorExtractor.GradientColors;
+import com.android.internal.colorextraction.drawable.GradientDrawable;
import com.android.phone.common.dialpad.DialpadKeyButton;
import com.android.phone.common.util.ViewUtil;
-import com.google.android.colorextraction.ColorExtractor;
-import com.google.android.colorextraction.ColorExtractor.GradientColors;
-import com.google.android.colorextraction.drawable.GradientDrawable;
-
/**
* EmergencyDialer is a special dialer that is used ONLY for dialing emergency calls.
*
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 0a1d073..f793a57 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -26,6 +26,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.content.pm.ComponentInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.NetworkStats;
@@ -96,6 +97,7 @@
import com.android.internal.telephony.RIL;
import com.android.internal.telephony.RILConstants;
import com.android.internal.telephony.SubscriptionController;
+import com.android.internal.telephony.euicc.EuiccConnector;
import com.android.internal.telephony.uicc.IccIoResult;
import com.android.internal.telephony.uicc.IccUtils;
import com.android.internal.telephony.uicc.SIMRecords;
@@ -193,6 +195,9 @@
private static final String PREF_CARRIERS_NUMBER_PREFIX = "carrier_number_";
private static final String PREF_CARRIERS_SUBSCRIBER_PREFIX = "carrier_subscriber_";
+ // The AID of ISD-R.
+ private static final String ISDR_AID = "A0000005591010FFFFFFFF8900000100";
+
private NetworkScanRequestTracker mNetworkScanRequestTracker;
/**
@@ -2397,12 +2402,25 @@
}
@Override
- public IccOpenLogicalChannelResponse iccOpenLogicalChannel(int subId, String AID, int p2) {
+ public IccOpenLogicalChannelResponse iccOpenLogicalChannel(
+ int subId, String callingPackage, String aid, int p2) {
enforceModifyPermissionOrCarrierPrivilege(subId);
- if (DBG) log("iccOpenLogicalChannel: subId=" + subId + " aid=" + AID + " p2=" + p2);
+ if (TextUtils.equals(ISDR_AID, aid)) {
+ // Only allows LPA to open logical channel to ISD-R.
+ mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
+ ComponentInfo bestComponent =
+ EuiccConnector.findBestComponent(mPhone.getContext().getPackageManager());
+ if (bestComponent == null
+ || !TextUtils.equals(callingPackage, bestComponent.packageName)) {
+ loge("The calling package is not allowed to access ISD-R.");
+ throw new SecurityException("The calling package is not allowed to access ISD-R.");
+ }
+ }
+
+ if (DBG) log("iccOpenLogicalChannel: subId=" + subId + " aid=" + aid + " p2=" + p2);
IccOpenLogicalChannelResponse response = (IccOpenLogicalChannelResponse)sendRequest(
- CMD_OPEN_CHANNEL, new Pair<String, Integer>(AID, p2), subId);
+ CMD_OPEN_CHANNEL, new Pair<String, Integer>(aid, p2), subId);
if (DBG) log("iccOpenLogicalChannel: " + response);
return response;
}
diff --git a/src/com/android/services/telephony/DisconnectCauseUtil.java b/src/com/android/services/telephony/DisconnectCauseUtil.java
index 727907f..6731dbd 100644
--- a/src/com/android/services/telephony/DisconnectCauseUtil.java
+++ b/src/com/android/services/telephony/DisconnectCauseUtil.java
@@ -427,6 +427,8 @@
return android.telecom.DisconnectCause.REASON_WIFI_ON_BUT_WFC_OFF;
}
break;
+ case android.telephony.DisconnectCause.IMS_ACCESS_BLOCKED:
+ return DisconnectCause.REASON_IMS_ACCESS_BLOCKED;
}
// If no specific code-mapping found, then fall back to using the reason.