Add new RIL commands and generic code cleanups.
The only changes required for OMA DM support are the
addition of five new methods in ITelephony.aidl for
reading/writing NV items and performing NV config and
radio resets (requires MODIFY_PHONE_STATE), along with
the new RIL request IDs in RILConstants.java.
Bug: 12864208
Change-Id: I958d2571580d98a49936ef2e6822e5ac086acbe2
Added new AndroidManifest permission:
android.permission.READ_PRECISE_PHONE_STATE
Added the following PhoneStateListeners and corresponding broadcast intents:
onPreciseCallStateChanged(PreciseCallState callState);
onPreciseDataConnectionStateChanged(PreciseDataConnectionState dataConnectionState);
broadcastPreciseCallStateChanged(int ringingCallState, int foregroundCallState, int backgroundCallState,
int disconnectCause, int preciseDisconnectCause)
broadcastPreciseDataConnectionStateChanged(int state, int networkType, String apnType, String apn,
String reason, LinkProperties linkProperties, String failCause)
Added TelephonyManager intent actions with their extras and constants:
public static final String ACTION_PRECISE_CALL_STATE_CHANGED = "android.intent.action.PRECISE_CALL_STATE";
public static final String ACTION_PRECISE_DATA_CONNECTION_STATE_CHANGED = "android.intent.action.PRECISE_DATA_CONNECTION_STATE_CHANGED";
public static final int PRECISE_CALL_STATE_*
Moved public static final int DISCONNECT_CAUSE_* from PreciseCallState.java to a new class DisconnectCause.java
Moved public static final int PRECISE_DISCONNECT_CAUSE_* from PreciseCallState.java to a new class PreciseDisconnectCause.java
Change-Id: If3b88c679507c529b746046c4a17cf6d9974bd09
Expose the folowing commands in ITelephony.aidl and TelephonyManager:
- iccOpenLogicalChannel
- iccCloseLogicalChannel
- iccTransmitApduLogicalChannel
Also add a new SIM_COMMUNICATION permission (maked as dangerous) to control
access to the above commands.
Change-Id: I89c08adc6f9738907e3b547c749f3cc61f300710
Unhide the following methods:
PhoneNumberFormattingTextWatcher(String countryCode)
formatNumber(String phoneNumber, String defaultCountryIso)
formatNumber(String phoneNumber, String phoneNumberE164, String defaultCountryISO)
formatNumberToE164(String phoneNumber, String defaultCountryIso)
(The previous 3 formatting methods use an instance of PhoneNumberUtil to do the formatting)
isLocalEmergencyNumber(String number, Context context)
isVoicemailNumber(String number)
replaceUnicodeDigits(String number)
normalizeNumber(String phoneNumber)
Deprecate the following methods. These formatting-related methods don't use
PhoneNumberUtil to perform the formatting, and so are considered broken:
formatNumber(String source)
formatNumber(String source, int defaultFormattingType)
getFormatTypeForLocale(Locale locale)
formatNumber(Editable text, int defaultFormattingType)
formatNanpNumber(Editable text)
formatJapaneseNumber(Editable text)
Change-Id: Ibf854092b7db05f7e3e9401cc909c9f1ed4997b0
These are APIs for the new ThirdPartyPhone feature.
Note, these APIs can't actually be used yet on master for two reasons:
- initiating a call from a 3rd party app isn't possible yet because
the TelephonyManager APIs aren't being added to master.
- the TeleService implementation of these APIs aren't being added to
master.
Also, these APIs will be removed and the final ones will be added
once they're ready to be merged into master.
Change-Id: Ie783290451da448a011f813983e55b12047b5d99
For CDMA networks, convert "+" prefix to "011" if the home network
is using the North American Numbering Plan (NANP). New method is
only used for MO SMS messages.
Bug: 11360679
Change-Id: I534e0322b566de3fb49d7333bfcf62cfbfafb78a
Telephony framework expects Lte rsrp and rsrq, as well
as dbm and ecio values for cdma and evdoe to be negative.
RIL Interface provides positive values.
Fix that by changing the constructor from Parcel to
also multiply by -1
Writing to parcel also modified for consistency
Bug: 10440827
Change-Id: I6a8112a5b343c5e6c6dc12332a6e9a489b093cc1
Added two public APIs under TelephonyManager to return MMS UserAgent and
UAProfUrl strings, for apps that handle SMS/MMS.
Bug: 11054501
Change-Id: Ifa1a64990fa2bf7d0e340d784a9672bf79525338
java.lang.SecurityException: Operation not allowed
There was a situation I wasn't taking into account -- components
declared by the system has a special ability to run in the processes
of other uids. This means that if that code loaded into another
process tries to do anything needing an app op verification, it will
fail, because it will say it is calling as the system package name but
it is not actually coming from the system uid.
To fix this, we add a new Context.getOpPackageName() to go along-side
getBasePackageName(). This is a special call for use by all app ops
verification, which will be initialized with either the base package
name, the actual package name, or now the default package name of the
process if we are creating a context for system code being loaded into
a non-system process.
I had to update all of the code doing app ops checks to switch to this
method to get the calling package name.
Also improve the security exception throw to have a more descriptive
error message.
Change-Id: Ic04f77b3938585b02fccabbc12d2f0dc62b9ef25
Since telepony.registry is a real system service notifyNow
parameter doesn't need to be conditional as telephony.registery
will never go away.
This is different from most of the other TelephonyManager
methods which are used to invoke methods on the phone service
which implements ITelephony and is implemented by
PhoneInterfaceManager in the phone application. Since the
phone app is not a system service it can and does go away when
it crashes.
Bug: 9393863
Change-Id: I1a8afc12b0e139e72f05820e49f3d996aec2b52a
For mvno, user can add or edit mvno data field. To pre-provide
the mvno data of the edited apn when the user selects one of
the mvno types, need to support IMSI, SPN, and GID1 data.
To support GID1, make API to retrieve group identifier level1.
bug:6445254
Change-Id: I1bc280054cc7cd37e78a279866cefd62872a19fb
Improve handling of vibration op, so that apps are
better blamed (there is now a hidden vibrator API that
supplies the app to blame, and the system now uses this
when vibrating on behalf of an app).
Add operation for retrieving neighboring cell information.
Add a new op for calling a phone number. This required
plumbing information about the launching package name through
the activity manager, which required changing the internal
startActivity class, which required hitting a ton of code that
uses those internal APIs.
Change-Id: I3f8015634fdb296558f07fe654fb8d53e5c94d07
- Remove SEND_SMS_NO_CONFIRMATION
- Add SEND_RESPOND_VIA_MESSAGE Permission
This permission is held by the phone and applications that want to
handle respond-via-message should require this permission of the
sender. This permission is signature/system and currently only held
by the Phone app.
Bug: 5108429
Change-Id: Ib611368d488de2f8e1e853f550eb2c654305eda4
Rlog is like Log except that the destination buffer is
the radio buffer instead of the main buffer.
Change-Id: Ib4ce47abfda31dfc0b9193b10f8f42b225275f61