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
When a sim is new or it has expired it needs to be provisioned
with the carrier. Basically provisioning is associating a sim with
a user account. When a sim isn't provisioned then operators will
restrict access to the network and only allow certain addresses
or services to be used.
This set of changes allows two types of provisioning networks to be
recognized. The first is a network that causes all DNS lookups to be
redirected to a different address than was intended. This is exemplified
by how T-Mobile works.
The second technique uses a special apn for provisioning. An example is
AT&T where lwaactivate is the provisioning apn and broadband is the
normal apn. We first try broadband and if we are unable to connect we
try lwaactivate. When we see the activate we identify it as special and
the ApnContext.isProvisioningApn will return true.
In the future our plan is to create a new network type that can be added
to the apn list, but for now it identified by name.
Here is a list of significant changes:
- CaptivePortalTracker now only test WiFi networks instead of all networks
- checkMobileProvisioning checks for provisioning networks and doesn't
try to ping.
- IConnectivityManager.aidl changes:
* getProvisioningOrActiveNetworkInfo was added to and used by Manage
mobile plan in WirelessSettings so even when there is no active
network it will still allow provisioning. Otherwise it would report
no internet connection.
* setSignInErrorNotificationVisible is used by both
CaptiviePortalTracker and checkMobileProvisioning so they use the
same code for the notifications.
* checkMobileProvisioning was simplified to have only a timeout as
returning the result is now harder as we abort simultaneous call
otherwise we'd could get into loops because we now check every time
we connect to mobile.
- Enhanced MDST to handle the provisioning network.
- Added CONNECTED_TO_PROVISIONING_NETWORK to NetworkInfo to make a new
state so we don't announce to the world we're connected.
- TelephonyIntents.ACTION_DATA_CONNECTION_CONNECTED_TO_PROVISIONING_APN
is sent by the low level data connection code to notify Connectivity
Service that a provisioning apn has connected. This allows CS to
handle the connection differently than a normal connection.
Bug: 10328264
Change-Id: I3925004011bb1243793c4c1b963d923dc2b00cb5
Add a network type for establishing connections to the apn used for
the initial connection.
Enable some debug for now.
Bug: 8733613
Change-Id: Ia627ac0cf5715660b6d02bb13a83d46ec1727b87
Add an intent to invoke a native carrier setup app. This is paired
with the INVOKE_CARRIER_SETUP permission, though it is up to the app
to enforce that callers hold this permission.
Change-Id: I317a40675de7e9587de23c028459be2331a2f8a2
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
Change call log so instead of overloading the phone number with special
strings "-1", "-2", etc to denote private phone numbers, payphones, etc,
put presentation type in its own column and expose in the public API these
type values.
Bug:6948882
Change-Id: I230c26aa0428d605a0e83169a635b5bbf1aa4e3f
Previously CarrierProvisioning toggle airplane mode, but now that's
available only by the system.
Bug: 9356811
Change-Id: I5167f8614c07bafb688983a360a008f76403b2b8
Allows the external BT stack the means to communicate with
ConnectivityService during reverse tethering.
bug:8445208
Change-Id: Ice7dfb0b50c9481d359aed14a51372878185171c
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
Add EVENT_DISCONNECT_DC_RETRYING, EVENT_SETUP_DATA_COMPLETE_ERROR
and State.RETRYING to DctContants.
Add MDC_INITIAL_MAX_RETRY to Settings.Global.
Bug: 4772191
Change-Id: Id54a20ab192783c63939158670faaf531a527640
Because ISms.aidl imports PendingIntent we couldn't easily
make opt/telephony part of the PDK. So this change moves
ISms.aidl and SmsRawData.*, which ISms.aidl also imports,
back to frameworks/base.
Change-Id: Ia64c6e771d5a292d9bfebb413a43f3745df55c85
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