Loading api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -21797,6 +21797,8 @@ package android.phone { public final class PhoneManager { method public void cancelMissedCallsNotification(); method public boolean handlePinMmi(java.lang.String); method public boolean isInAPhoneCall(); method public void showCallScreen(boolean); } } core/java/com/android/internal/widget/LockPatternUtils.java +11 −18 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.os.IBinder; import android.os.RemoteException; import android.os.ServiceManager; Loading @@ -34,8 +33,8 @@ import android.os.SystemClock; import android.os.UserHandle; import android.os.storage.IMountService; import android.os.storage.StorageManager; import android.phone.PhoneManager; import android.provider.Settings; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; import android.view.IWindowManager; Loading Loading @@ -1323,19 +1322,11 @@ public class LockPatternUtils { * to indicate what action will be taken. * * If there's currently a call in progress, the button will take them to the call * @param button the button to update * @param the phone state: * {@link TelephonyManager#CALL_STATE_IDLE} * {@link TelephonyManager#CALL_STATE_RINGING} * {@link TelephonyManager#CALL_STATE_OFFHOOK} * @param shown indicates whether the given screen wants the emergency button to show at all * @param button * @param phoneState * @param shown shown if true; hidden if false * @param upperCase if true, converts button label string to upper case * @param button The button to update * @param shown Indicates whether the given screen wants the emergency button to show at all * @param showIcon Indicates whether to show a phone icon for the button. */ public void updateEmergencyCallButtonState(Button button, int phoneState, boolean shown, boolean showIcon) { public void updateEmergencyCallButtonState(Button button, boolean shown, boolean showIcon) { if (isEmergencyCallCapable() && shown) { button.setVisibility(View.VISIBLE); } else { Loading @@ -1344,7 +1335,7 @@ public class LockPatternUtils { } int textId; if (phoneState == TelephonyManager.CALL_STATE_OFFHOOK) { if (getPhoneManager().isInAPhoneCall()) { // show "return to call" text and show phone icon textId = R.string.lockscreen_return_to_call; int phoneCallIcon = showIcon ? R.drawable.stat_sys_phone_call : 0; Loading @@ -1362,9 +1353,11 @@ public class LockPatternUtils { * on various lockscreens. */ public void resumeCall() { TelephonyManager telephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); telephonyManager.showCallScreen(); getPhoneManager().showCallScreen(false); } private PhoneManager getPhoneManager() { return (PhoneManager) mContext.getSystemService(Context.PHONE_SERVICE); } private void finishBiometricWeak() { Loading packages/Keyguard/src/com/android/keyguard/EmergencyButton.java +1 −1 Original line number Diff line number Diff line Loading @@ -128,7 +128,7 @@ public class EmergencyButton extends Button { enabled = mLockPatternUtils.isSecure(); } } mLockPatternUtils.updateEmergencyCallButtonState(this, phoneState, enabled, false); mLockPatternUtils.updateEmergencyCallButtonState(this, enabled, false); } } phone/java/android/phone/PhoneManager.java +37 −6 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ import android.os.ServiceManager; import android.util.Log; import com.android.internal.telecomm.ITelecommService; import com.android.internal.telephony.ITelephony; /** * Exposes call-related functionality for use by phone and dialer apps. Loading @@ -49,15 +48,18 @@ public final class PhoneManager { /** * Processes the specified dial string as an MMI code. * <p> * Requires that the method-caller be set as the system dialer app. * </p> * * @param dialString The digits to dial. * @return True if the digits were processed as an MMI code, false otherwise. */ public boolean handlePinMmi(String dialString) { try { return getITelephony().handlePinMmi(dialString); return mService.handlePinMmi(dialString); } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#handlePinMmi", e); Log.e(TAG, "Error calling ITelecommService#handlePinMmi", e); } return false; } Loading @@ -65,7 +67,7 @@ public final class PhoneManager { /** * Removes the missed-call notification if one is present. * <p> * Requires that the caller be set at the system dialer app. * Requires that the method-caller be set as the system dialer app. * </p> */ public void cancelMissedCallsNotification() { Loading @@ -76,7 +78,36 @@ public final class PhoneManager { } } private ITelephony getITelephony() { return ITelephony.Stub.asInterface(ServiceManager.getService(Context.TELEPHONY_SERVICE)); /** * Brings the in-call screen to the foreground if there is an ongoing call. If there is * currently no ongoing call, then this method does nothing. * <p> * Requires that the method-caller be set as the system dialer app or have the * {@link android.Manifest.permission#READ_PHONE_STATE} permission. * </p> * * @param showDialpad Brings up the in-call dialpad as part of showing the in-call screen. */ public void showCallScreen(boolean showDialpad) { try { mService.showCallScreen(showDialpad); } catch (RemoteException e) { Log.e(TAG, "Error calling ITelecommService#showCallScreen", e); } } /** * Returns whether there is an ongoing phone call. * <p> * Requires permission: {@link android.Manifest.permission#READ_PHONE_STATE} * </p> */ public boolean isInAPhoneCall() { try { return mService.isInAPhoneCall(); } catch (RemoteException e) { Log.e(TAG, "Error caling ITelecommService#isInAPhoneCall", e); } return false; } } telecomm/java/com/android/internal/telecomm/ITelecommService.aidl +5 −0 Original line number Diff line number Diff line Loading @@ -85,4 +85,9 @@ interface ITelecommService { * @see PhoneManager#cancelMissedCallsNotification */ void cancelMissedCallsNotification(); /** * @see PhoneManager#handlePinMmi */ boolean handlePinMmi(String dialString); } Loading
api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -21797,6 +21797,8 @@ package android.phone { public final class PhoneManager { method public void cancelMissedCallsNotification(); method public boolean handlePinMmi(java.lang.String); method public boolean isInAPhoneCall(); method public void showCallScreen(boolean); } }
core/java/com/android/internal/widget/LockPatternUtils.java +11 −18 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.os.IBinder; import android.os.RemoteException; import android.os.ServiceManager; Loading @@ -34,8 +33,8 @@ import android.os.SystemClock; import android.os.UserHandle; import android.os.storage.IMountService; import android.os.storage.StorageManager; import android.phone.PhoneManager; import android.provider.Settings; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; import android.view.IWindowManager; Loading Loading @@ -1323,19 +1322,11 @@ public class LockPatternUtils { * to indicate what action will be taken. * * If there's currently a call in progress, the button will take them to the call * @param button the button to update * @param the phone state: * {@link TelephonyManager#CALL_STATE_IDLE} * {@link TelephonyManager#CALL_STATE_RINGING} * {@link TelephonyManager#CALL_STATE_OFFHOOK} * @param shown indicates whether the given screen wants the emergency button to show at all * @param button * @param phoneState * @param shown shown if true; hidden if false * @param upperCase if true, converts button label string to upper case * @param button The button to update * @param shown Indicates whether the given screen wants the emergency button to show at all * @param showIcon Indicates whether to show a phone icon for the button. */ public void updateEmergencyCallButtonState(Button button, int phoneState, boolean shown, boolean showIcon) { public void updateEmergencyCallButtonState(Button button, boolean shown, boolean showIcon) { if (isEmergencyCallCapable() && shown) { button.setVisibility(View.VISIBLE); } else { Loading @@ -1344,7 +1335,7 @@ public class LockPatternUtils { } int textId; if (phoneState == TelephonyManager.CALL_STATE_OFFHOOK) { if (getPhoneManager().isInAPhoneCall()) { // show "return to call" text and show phone icon textId = R.string.lockscreen_return_to_call; int phoneCallIcon = showIcon ? R.drawable.stat_sys_phone_call : 0; Loading @@ -1362,9 +1353,11 @@ public class LockPatternUtils { * on various lockscreens. */ public void resumeCall() { TelephonyManager telephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); telephonyManager.showCallScreen(); getPhoneManager().showCallScreen(false); } private PhoneManager getPhoneManager() { return (PhoneManager) mContext.getSystemService(Context.PHONE_SERVICE); } private void finishBiometricWeak() { Loading
packages/Keyguard/src/com/android/keyguard/EmergencyButton.java +1 −1 Original line number Diff line number Diff line Loading @@ -128,7 +128,7 @@ public class EmergencyButton extends Button { enabled = mLockPatternUtils.isSecure(); } } mLockPatternUtils.updateEmergencyCallButtonState(this, phoneState, enabled, false); mLockPatternUtils.updateEmergencyCallButtonState(this, enabled, false); } }
phone/java/android/phone/PhoneManager.java +37 −6 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ import android.os.ServiceManager; import android.util.Log; import com.android.internal.telecomm.ITelecommService; import com.android.internal.telephony.ITelephony; /** * Exposes call-related functionality for use by phone and dialer apps. Loading @@ -49,15 +48,18 @@ public final class PhoneManager { /** * Processes the specified dial string as an MMI code. * <p> * Requires that the method-caller be set as the system dialer app. * </p> * * @param dialString The digits to dial. * @return True if the digits were processed as an MMI code, false otherwise. */ public boolean handlePinMmi(String dialString) { try { return getITelephony().handlePinMmi(dialString); return mService.handlePinMmi(dialString); } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#handlePinMmi", e); Log.e(TAG, "Error calling ITelecommService#handlePinMmi", e); } return false; } Loading @@ -65,7 +67,7 @@ public final class PhoneManager { /** * Removes the missed-call notification if one is present. * <p> * Requires that the caller be set at the system dialer app. * Requires that the method-caller be set as the system dialer app. * </p> */ public void cancelMissedCallsNotification() { Loading @@ -76,7 +78,36 @@ public final class PhoneManager { } } private ITelephony getITelephony() { return ITelephony.Stub.asInterface(ServiceManager.getService(Context.TELEPHONY_SERVICE)); /** * Brings the in-call screen to the foreground if there is an ongoing call. If there is * currently no ongoing call, then this method does nothing. * <p> * Requires that the method-caller be set as the system dialer app or have the * {@link android.Manifest.permission#READ_PHONE_STATE} permission. * </p> * * @param showDialpad Brings up the in-call dialpad as part of showing the in-call screen. */ public void showCallScreen(boolean showDialpad) { try { mService.showCallScreen(showDialpad); } catch (RemoteException e) { Log.e(TAG, "Error calling ITelecommService#showCallScreen", e); } } /** * Returns whether there is an ongoing phone call. * <p> * Requires permission: {@link android.Manifest.permission#READ_PHONE_STATE} * </p> */ public boolean isInAPhoneCall() { try { return mService.isInAPhoneCall(); } catch (RemoteException e) { Log.e(TAG, "Error caling ITelecommService#isInAPhoneCall", e); } return false; } }
telecomm/java/com/android/internal/telecomm/ITelecommService.aidl +5 −0 Original line number Diff line number Diff line Loading @@ -85,4 +85,9 @@ interface ITelecommService { * @see PhoneManager#cancelMissedCallsNotification */ void cancelMissedCallsNotification(); /** * @see PhoneManager#handlePinMmi */ boolean handlePinMmi(String dialString); }