diff options
-rw-r--r-- | core/java/android/provider/Settings.java | 8 | ||||
-rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 40 | ||||
-rw-r--r-- | telephony/java/com/android/internal/telephony/ITelephony.aidl | 14 |
3 files changed, 62 insertions, 0 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 9332578..d7f6a0b 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -2483,6 +2483,14 @@ public final class Settings { NOTIFICATION_SOUND }; + /** + * When to use Wi-Fi calling + * + * @see android.telephony.TelephonyManager.WifiCallingChoices + * @hide + */ + public static final String WHEN_TO_MAKE_WIFI_CALLS = "when_to_make_wifi_calls"; + // Settings moved to Settings.Secure /** diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 0e54d0f..5902b9c 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -62,6 +62,20 @@ public class TelephonyManager { private static ITelephonyRegistry sRegistry; private final Context mContext; + /** + * The allowed states of Wi-Fi calling. + * + * @hide + */ + public interface WifiCallingChoices { + /** Always use Wi-Fi calling */ + static final int ALWAYS_USE = 0; + /** Never use Wi-Fi calling */ + static final int NEVER_USE = 1; + /** Ask the user whether to use Wi-Fi on every call */ + static final int ASK_EVERY_TIME = 2; + } + /** @hide */ public TelephonyManager(Context context) { Context appContext = context.getApplicationContext(); @@ -1617,5 +1631,31 @@ public class TelephonyManager { Rlog.e(TAG, "setRadioMode NPE", ex); } return false; + + /* + * Obtain the current state of Wi-Fi calling. + * + * @hide + * @see android.telephony.TelephonyManager.WifiCallingChoices + */ + public int getWhenToMakeWifiCalls() { + try { + return getITelephony().getWhenToMakeWifiCalls(); + } catch (RemoteException ex) { + return WifiCallingChoices.NEVER_USE; + } + } + + /** + * Set the current state of Wi-Fi calling. + * + * @hide + * @see android.telephony.TelephonyManager.WifiCallingChoices + */ + public void setWhenToMakeWifiCalls(int state) { + try { + getITelephony().setWhenToMakeWifiCalls(state); + } catch (RemoteException ex) { + } } } diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index a22e6b6..3ff5a52 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -425,4 +425,18 @@ interface ITelephony { */ void newIncomingThirdPartyCall(in ComponentName component, String callId, String callerDisplayName); + + /** + * Obtain the current state of Wi-Fi calling. + * + * @see android.telephony.TelephonyManager.WifiCallingChoices + */ + int getWhenToMakeWifiCalls(); + + /** + * Set the current state of Wi-Fi calling. + * + * @see android.telephony.TelephonyManager.WifiCallingChoices + */ + void setWhenToMakeWifiCalls(int state); } |