Merge "create getModemEnabled function in PhoneConfigurationManager"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index de1f0f3..dbb9671 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -91,7 +91,7 @@
<protected-broadcast android:name= "android.telephony.action.NETWORK_COUNTRY_CHANGED" />
<!-- For Vendor Debugging in Telephony -->
- <protected-broadcast android:name="android.telephony.debug.action.DEBUG_EVENT" />
+ <protected-broadcast android:name="android.telephony.action.DEBUG_EVENT" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.CALL_PHONE" />
diff --git a/res/values/colors.xml b/res/values/colors.xml
index cc6f727..065515a 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -40,9 +40,9 @@
<color name="phone_settings_actionbar_text_color">#FFFFFF</color>
<!-- Background color of action bars. Ensure this stays in sync with Dialer
actionbar_background_color. -->
- <color name="actionbar_background_color">@color/dialer_theme_color</color>
+ <color name="actionbar_background_color">#fafafa</color>
<!-- Dark variant of the action bar color. Ensure this stays in sync with Dialer version. -->
- <color name="actionbar_background_color_dark">@color/dialer_theme_color_dark</color>
+ <color name="actionbar_background_color_dark">#fafafa</color>
<!-- Color for icons in the actionbar. Ensure this stays in sync with Dialer version. -->
<color name="actionbar_icon_color">#ffffff</color>
@@ -56,4 +56,11 @@
<color name="floating_action_button_touch_tint">#80ffffff</color>
<color name="emergency_shortcut_button_background_color">#40FFFFFF</color>
<color name="emergency_shortcut_confirm_button_background_color">#E25142</color>
+
+ <!-- Color matches dialer settings light M2 theme.-->
+ <color name="dialer_background_color">#fafafa</color>
+ <color name="dialer_divider_color">#d8d8d8</color>
+ <color name="dialer_primary_text_color">#202124</color>
+ <color name="dialer_secondary_text_color">#5f6368</color>
+
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 38241de..23d20fc 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -202,4 +202,13 @@
<!-- The text size for emergency location.-->
<dimen name="emergency_location_text_size">13sp</dimen>
+
+ <!-- The text size for titles in settings page.-->
+ <dimen name="dialer_head1_font_size">18dp</dimen>
+
+ <!-- The text size for items in settings page.-->
+ <dimen name="dialer_primary2_font_size">16dp</dimen>
+
+ <!-- The text size for description in settings page.-->
+ <dimen name="dialer_secondary_font_size">14dp</dimen>
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 6093cee..f2db63d 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -159,7 +159,6 @@
<item name="android:actionBarStyle">@style/DialtactsActionBarStyle</item>
<item name="android:actionMenuTextColor">@color/phone_settings_actionbar_text_color</item>
<item name="android:actionOverflowButtonStyle">@style/DialtactsActionBarOverflow</item>
- <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item>
<item name="android:windowActionBarOverlay">false</item>
<item name="android:colorPrimaryDark">@color/actionbar_background_color_dark</item>
<!-- Setting text. -->
@@ -169,6 +168,15 @@
</style>
<style name="DialerSettingsLight" parent="SettingsLight">
+ <!-- Action bar.-->
+ <item name="android:tint">@color/dialer_secondary_text_color</item>
+ <item name="android:windowBackground">@color/dialer_background_color</item>
+ <item name="android:actionModeBackground">@color/dialer_background_color</item>
+ <item name="android:windowLightStatusBar">true</item>
+ <!-- Navigation bar.-->
+ <item name="android:navigationBarColor">@color/dialer_background_color</item>
+ <item name="android:navigationBarDividerColor">@color/dialer_divider_color</item>
+ <item name="android:windowLightNavigationBar">true</item>
<item name="android:colorAccent">@color/dialer_theme_color</item>
<item name="android:dialogTheme">@style/DialerAlertDialogTheme</item>
</style>
@@ -248,7 +256,9 @@
<!-- Text in the action bar at the top of the screen. Should be kept in sync with Dialer. -->
<style name="DialtactsActionBarTitleText"
parent="@android:style/TextAppearance.Material.Widget.ActionBar.Title">
- <item name="android:textColor">@color/phone_settings_actionbar_text_color</item>
+ <item name="android:textColor">@color/dialer_primary_text_color</item>
+ <item name="android:textSize">@dimen/dialer_head1_font_size</item>
+ <item name="android:fontFamily">sans-serif-regular</item>
</style>
<!-- Action bar overflow menu icon. -->
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 1419416..8bc8ce0 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -6581,35 +6581,39 @@
final long identity = Binder.clearCallingIdentity();
try {
- // If the device has less than 2 SIM cards, indicate that multisim is restricted.
- int numPhysicalSlots = UiccController.getInstance().getUiccSlots().length;
- if (numPhysicalSlots < 2) {
- loge("isMultisimSupported: requires at least 2 cards");
- return false;
- }
- // Check if the hardware supports multisim functionality. If usage of multisim is not
- // supported by the modem, indicate that it is restricted.
- PhoneCapability staticCapability =
- mPhoneConfigurationManager.getStaticPhoneCapability();
- if (staticCapability == null) {
- loge("isMultisimSupported: no static configuration available");
- return false;
- }
- if (staticCapability.logicalModemList.size() < 2) {
- loge("isMultisimSupported: maximum number of modem is < 2");
- return false;
- }
- // Check if support of multiple SIMs is restricted by carrier
- if (mTelephonySharedPreferences.getBoolean(PREF_MULTI_SIM_RESTRICTED, false)) {
- return false;
- }
-
- return true;
+ return isMultisimSupportedInternal();
} finally {
Binder.restoreCallingIdentity(identity);
}
}
+ private boolean isMultisimSupportedInternal() {
+ // If the device has less than 2 SIM cards, indicate that multisim is restricted.
+ int numPhysicalSlots = UiccController.getInstance().getUiccSlots().length;
+ if (numPhysicalSlots < 2) {
+ loge("isMultisimSupportedInternal: requires at least 2 cards");
+ return false;
+ }
+ // Check if the hardware supports multisim functionality. If usage of multisim is not
+ // supported by the modem, indicate that it is restricted.
+ PhoneCapability staticCapability =
+ mPhoneConfigurationManager.getStaticPhoneCapability();
+ if (staticCapability == null) {
+ loge("isMultisimSupportedInternal: no static configuration available");
+ return false;
+ }
+ if (staticCapability.logicalModemList.size() < 2) {
+ loge("isMultisimSupportedInternal: maximum number of modem is < 2");
+ return false;
+ }
+ // Check if support of multiple SIMs is restricted by carrier
+ if (mTelephonySharedPreferences.getBoolean(PREF_MULTI_SIM_RESTRICTED, false)) {
+ return false;
+ }
+
+ return true;
+ }
+
/**
* Switch configs to enable multi-sim or switch back to single-sim
* @param numOfSims number of active sims we want to switch to
@@ -6619,7 +6623,13 @@
TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
mApp, SubscriptionManager.DEFAULT_SUBSCRIPTION_ID, "switchMultiSimConfig");
final long identity = Binder.clearCallingIdentity();
+
try {
+ //only proceed if multi-sim is not restricted
+ if (!isMultisimSupportedInternal()) {
+ loge("switchMultiSimConfig not possible. It is restricted or not supported.");
+ return;
+ }
mPhoneConfigurationManager.switchMultiSimConfig(numOfSims);
} finally {
Binder.restoreCallingIdentity(identity);