History log of /frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f629e7f1a1e36215d9bbed40df310a54b772f9e9 31-May-2016 Jack Yu <jackyu@google.com> Fixed that data call is not torn down when data roaming is disabled.

Fixed the incorrect content observer initialization and its event
handler.

bug: 28923982
Change-Id: I730cb1c737acc2285eb6de4aab97a463db7f4301
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
5452ccfc4d32fab9933bdcfe775c38f73d4e1b15 05-May-2016 Robert Greenwalt <rgreenwalt@google.com> Base APN State on the state of the ApnContext.

Stop using enablement or activeness as a proxy for state and
just ask for the state. Enablement has changed (since L)
to indicate if we should look for a connection and is not
representative of if we have a connection.

bug:26785653
Change-Id: I8c1edda733509d2539989e727809c13002abf37f
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
44993c4f39d050ac5caddf73dbf76854ed519dc1 27-Apr-2016 fionaxu <fionaxu@google.com> start cold sim detection without pending disconnect

Bug: 25203607
Change-Id: I2fd8ba8c936406341064663439dcc954169bb7f2
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
8f88e375252b7a9e2af233604b162f8e486ddff3 27-Apr-2016 Chen Xu <fionaxu@google.com> Merge "Info zero-rating for roaming based on carrier cfg" into nyc-dev
3d8c0f70a6fa7a53fda3c5d592de0ac3aa247e3c 21-Apr-2016 fionaxu <fionaxu@google.com> Info zero-rating for roaming based on carrier cfg

ignore non-metered roaming apn types when cleanup or setUpDatacall.

Bug: 26317905
Change-Id: Iae9a798c43fde020ba215b7a59e83e41559a97c9
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
68f4f4a0bc8d4060b5775e7a24a97ea5b485989e 21-Apr-2016 fionaxu <fionaxu@google.com> Cold Sim issue fix part 2

implement a way to hide sign-in notification and bring it back
if out-of-credit sim is detected

Bug: 25203607
Change-Id: Ic16b88df87070bdb47a81376e218940808c6d38a
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
0979b71e48405cab10bdf1d1b4170cfce72838a7 21-Apr-2016 Jack Yu <jackyu@google.com> Fixed that data call setup failed after default data SIM switches

Need to reset the auto attach flag when DDS occurs.

bug: 28181225
Change-Id: Ib4405b94ac3085e48cb029451cc44f4eee6408c2
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
aa4b4df0d128b8705c38c5f54dde798721f4cc56 20-Apr-2016 Chen Xu <fionaxu@google.com> Merge "Cold Sim fix for DataConnection and DCT" into nyc-dev
a02b6fd88953d783c32e6d7f84b7eddbc0d1faf1 08-Apr-2016 fionaxu <fionaxu@google.com> Cold Sim fix for DataConnection and DCT

Bug: 25203607
Change-Id: I3bbef77edf57eaa8d7da24d687cc9b5ab0ef111b
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
c77a3b8bdf96f1486753689898b04d9de325d8d8 19-Apr-2016 fionaxu <fionaxu@google.com> Fix the bug introduced by 27788524

Change-Id: I07aa3d4e56051183d02a8878bcbef3f447a522b2

Bug: 28251633
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
500c6ff35876773ddc5750d737542e0a435c0118 15-Apr-2016 Chen Xu <fionaxu@google.com> Merge "Infer Zero Rating based on NetworkCapabilities" into nyc-dev
783061ca03572618c01ce244d70d82fa4328d45f 01-Apr-2016 fionaxu <fionaxu@google.com> Infer Zero Rating based on NetworkCapabilities

when user toggle Disabled Cellular Data, we teared down all
DataConnections which are Metered(every APN type in the APN settings
are non-metered otherwise metered).

bug: 27788524
Change-Id: I0228e6ca166516f4f43e1c15d505fc29c31356df
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
b7a9a233cd69bf5f059092350b761302de3de6cd 15-Apr-2016 Jack Yu <jackyu@google.com> Merge "Fixed that data retry didn't happen issue" into nyc-dev
80d38fe5c8f18997623b1133e4650c4a9a6e299c 14-Apr-2016 Robert Greenwalt <rgreenwalt@google.com> Update cached user-data-enabled on changes.

Otherwise things don't work.

bug:28176543
Change-Id: I8bf97dc593d2327293ca0a1f9938f50ce1ec9d90
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
0852a954be5937a1b0bca94df0c2007d7ee3c0c7 13-Apr-2016 Jack Yu <jackyu@google.com> Fixed that data retry didn't happen issue

When modem return -1 as the retry value in setup data call response,
we should interpret it correctly and retry the data connection.

bug: 27787361
Change-Id: I0a3e442f5125730dd9a196ce632120b44b880090
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
d3587db85c53018b38d47fce8cb9c31df2d0361b 11-Apr-2016 Robert Greenwalt <rgreenwalt@google.com> Merge "Add settings for SUW data control." into nyc-dev
c374098c17a81f73f51e9d7df99eba574882949b 01-Apr-2016 Yifan Bai <yifan.bai@spreadtrum.com> DcTracker registers listener for multiple times.

When new sub info records are added, the SubscriptionController will
update all DcTrackers. The DcTracker registers listeners in its update()
method. If the update() method is called multiple times, the listener
will be registered for multiple times too.

Bug: 27953753
Change-Id: I66b947236f40135c45151f0f713dc88959392c48
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
f299322eabb18e1234c81fe1e356b550b6687772 29-Mar-2016 Robert Greenwalt <rgreenwalt@google.com> Add settings for SUW data control.

While the device is being provisioned we can default to
mobile-data-off and let the provisioning app turn mobile
data back on if the user wants it. After provisioning
control is restored.

Settings in play:
Settings.Global.DEVICE_PROVISIONED (existing)
SystemProperty ro.com.android.mobiledata (existing)
Settings.Global.MOBILE_DATA (existing)

SystemProperty ro.com.android.prov_mobiledata (new)
Settings.Global.DEVICE_PROVISIONING_MOBILE_DATA_ENABLED (new)

If the new settings aren't used, the old behvior is used.

bug:26638209
Change-Id: I4bac52632f757f7132c69c427226ce1cdaccfd44
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
2e3470722434dbc91dcc2095f5a410f6aaad620a 04-Mar-2016 Jack Yu <jackyu@google.com> Improved data call setup failure logging.

bug: 27430679
Change-Id: I5131acf69d5774f907a5b957d33c3469b2a2aa35
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
092e6bd60f1a4a3a55fb73ad0efca1122b8e15e2 24-Feb-2016 Jack Yu <jackyu@google.com> Reduced more verbose Rlog.

bug: 25956251
Change-Id: I53573bc7470783d4b5cfa8eca0f80118e3ff18ed
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
7d6d7d6cb68ee37b4bee33588ba2594e9cf0c197 23-Feb-2016 Jack Yu <jackyu@google.com> Fixed data retry issues.

1. Fixed that data retry does not happen on time. Now we use the
exact timer to make sure retry will happen on time.
2. Fixed that data retry timer got started twice every time when retry
should happen.

bug: 27293537, 27158552
Change-Id: I05bbf0cb2717269984f3dc892af2a7a438ffd8f0
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
7689ce9431fabd95e1abe1d78231e2117e059cd4 10-Feb-2016 Robert Greenwalt <rgreenwalt@google.com> DO NOT MERGE - Remove DctController

Change-Id: I8d2c3b54b36f73b0a008876ce3633733f173f19e
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
af5593594070f825032be46dced573cd195956e1 05-Feb-2016 Robert Greenwalt <rgreenwalt@google.com> DO NOT MERGE - Create TelephonyNetworkFactory.

It replaces DctController. Also adds tests.

Change-Id: Ib2dd309bd9f87f9b9d4ca114440e6251c562e925
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
27b650c406018355a88a41528db7859e232728a0 18-Feb-2016 Jack Yu <jackyu@google.com> First DcTracker unit test case.

bug: 25691379
Change-Id: Ic091ae4d92d0ef1f3eaa9b3d0736545edb2f359f
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
9c32a1e9495f06905377c9e2b91c0ef9cdb0528f 26-Jan-2016 Jack Yu <jackyu@google.com> Reduced more radio log spam.

Reduced more radio log spam by some code path optimization.

bug: 25956251
Change-Id: If040543d0eb8e03a814225aa6694e22818c1d357
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
38ca51d0f643405df51e78fce6c546424e9f410d 25-Jan-2016 Shishir Agrawal <shishir@google.com> DO NOT MERGE : Unhiding MSIM APIs.

1. Unhide MSIM APIs in TelephonyManager that already have non-MSIM equivalent
APIs public.
2. Make MSIM API naming consistent (overloaded, no suffix).
3. Unhide APIs in SubscriptionManager that are necessary for MSIM.

Bug: 26772894
Change-Id: I9e623100358d65f1ab853c33599cb78f100f7e3a
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
0e664d8c9ff3a1f2ab03d2bef4268615335ea1a2 17-Dec-2015 Jack Yu <jackyu@google.com> Data call retry refactoring

Moved retry manager from DataConnection to ApnContext.

bug: 22208242
Change-Id: I0baa80e06e6d815643782c2b549460547d0bfef9
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
0c3ec24396bb8c21b4d89f743b626c13dd35ba7b 15-Jan-2016 Amit Mahajan <amitmahajan@google.com> Added unit tests for GsmCdmaPhone

Bug: 25691379
Change-Id: Ide4d50b10da332334fc4717ff1e7428f8b158056
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
e36f59c8a17246eb7924ba1d2bf70f6a2eead1e2 12-Jan-2016 Amit Mahajan <amitmahajan@google.com> Mark internally used functions private in GsmCdmaPhone.

Includes some (mostly cosmetic) code cleanup too.

Bug: 25793157
Change-Id: I8f0eb8b3ead18f29ca146637dca6ffd659a9f699
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
c1b229b7389e4cd682452c8d662afa1b3af14345 30-Dec-2015 Jack Yu <jackyu@google.com> Reduced the radio log

Reduced the radio log by moving some to VDBG or merging few lines
into one.

bug: 25956251
Change-Id: I6a18b6f101ac5bb9aff40c2223fc72034e0cf5bf
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
1a87ab3d7170d618f048c4f5af8c7504a587aaa5 10-Dec-2015 Jack Yu <jackyu@google.com> Merge from master

Change-Id: Ifbd86600111d2c444031ff608fab62fb2ee4b236
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
062f3f80ef034463d3bfa24e044a007c59837edb 04-Oct-2015 Junda Liu <junda@google.com> am 5dea1bc7: Merge "Add forground flag for retry intent to avoid long delayed cellular data setup." into mnc-dr-dev

* commit '5dea1bc73c0be0d5ba9f88fc70207283d1bea781':
Add forground flag for retry intent to avoid long delayed cellular data setup.
5dea1bc73c0be0d5ba9f88fc70207283d1bea781 04-Oct-2015 Junda Liu <junda@google.com> Merge "Add forground flag for retry intent to avoid long delayed cellular data setup." into mnc-dr-dev
f799d6689bf2f8268f7b8b72b62b6859fd76bc3d 02-Oct-2015 Robert Greenwalt <rgreenwalt@google.com> am b290ce3d: Make DcTracker RetryFailures.ONLY_ON_CHANGE work.

* commit 'b290ce3d172215e5ab7cd43c8e7bbee9551ab29e':
Make DcTracker RetryFailures.ONLY_ON_CHANGE work.
b290ce3d172215e5ab7cd43c8e7bbee9551ab29e 02-Oct-2015 Robert Greenwalt <rgreenwalt@google.com> Make DcTracker RetryFailures.ONLY_ON_CHANGE work.

We should only be retrying things if there was a substantial change.

Don't call trySetupData from Dct.setupDataOnConnectableApns when
in ONLY_ON_CHANGE mode unless there was a change for the FAILED
APN.

bug:24179336
Change-Id: Ia65dbd9789978548b70fb990ccfd5c55dcc51163
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
67d43cfed4b996c20780bfec8fde1ae8c1391779 30-Sep-2015 Junda Liu <junda@google.com> Add forground flag for retry intent to avoid long delayed cellular data setup.

Bug: b/24151359
Change-Id: I9e0231f1ecb8ddccf5fee3071fc0327568918887
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
3af6bd5e8046d32bf92987b6af8d6d8e5860134b 23-Sep-2015 Robert Greenwalt <rgreenwalt@google.com> am 9cbd33d7: Merge "Fix connect during retry." into mnc-dr-dev

* commit '9cbd33d76e56f5ea0aa285471e75cc424b224825':
Fix connect during retry.
1a1cc3f5759471edcf51294439f0e0b71922d6a0 23-Sep-2015 Robert Greenwalt <rgreenwalt@google.com> Fix connect during retry.

A previous fix to help us ignore obsolete messages introduced a bug:
in the DataConnection.mRetryingState if we get a request to CONNECT
we noted we already had that apnContext in our list and would not re-add.
This was a loose translation from when the list really was a list,
but now that it's a map we need to update the ConnectionParams with the
latest or we'll remember the old obsolete generation number.

The fix is a simple removal of the if(contains). The rest is some logging
improvements to help out next time.

bug:24242653
bug:22776917
Change-Id: I934cc6bdb4f165e84f19f9cdb05a86a44912bdf8
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
5efa83049423fbbfa11ecd8cbe24805c7e96b070 16-Sep-2015 Robert Greenwalt <rgreenwalt@google.com> am 37cacdfe: Fix other Disconnect msg senders

* commit '37cacdfe7ed079d89fb9e80317b5dfd2acb975e5':
Fix other Disconnect msg senders
37cacdfe7ed079d89fb9e80317b5dfd2acb975e5 16-Sep-2015 Robert Greenwalt <rgreenwalt@google.com> Fix other Disconnect msg senders

We changed the params on these messages from an ApnContext to a
Pair<ApnContext, Integer>. There were some call sites using the old
style and leading to errors.

bug:24115252
Change-Id: Ice3f075b3b93b9e76c0f0be7923f5ae2041f7ab1
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
fb2e6abdeb0a84a9f4bd97f1411d45491c7eb59f 15-Sep-2015 Robert Greenwalt <rgreenwalt@google.com> am f892b4dd: Merge "Ignore obsolete disconnect_completed msgs." into mnc-dr-dev

* commit 'f892b4ddd020ce7876c7455572063756bce58e4e':
Ignore obsolete disconnect_completed msgs.
f892b4ddd020ce7876c7455572063756bce58e4e 15-Sep-2015 Robert Greenwalt <rgreenwalt@google.com> Merge "Ignore obsolete disconnect_completed msgs." into mnc-dr-dev
869d036608d9af78acffd8bc8ba1d3cd257c0a6c 01-Sep-2015 Vineeta Srivastava <vsrivastava@google.com> am 02d0fde7: Merge "telephony: PreferredAPN is not set correctly while device is booting" into mnc-dr-dev

* commit '02d0fde7044b1144efcf798a7cd65276e320396e':
telephony: PreferredAPN is not set correctly while device is booting
aa863054476b152fe9323defd197fa946a47033f 25-Aug-2015 Sungmin Choi <sungmin.choi@lge.com> telephony: PreferredAPN is not set correctly while device is booting

When device is booting, mPhone.getSubId() return -2.
It makes device get the wrong preferredAPN.

Bug: 23367895
Change-Id: Ieadab013521e81d224ff08e4a60c2d9222cd6578
Signed-off-by: wooje.shim <wooje.shim@lge.com>
Signed-off-by: Sungmin Choi <sungmin.choi@lge.com>
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
ea763d93b231bccf7e476b625fa028bef7874bf8 26-Aug-2015 Robert Greenwalt <rgreenwalt@google.com> Ignore obsolete disconnect_completed msgs.

Msg passing meant the disconnect_completed was getting processed after
a new connect request was received and acted on, so the disc_completed
would causes us to mark the state incorrectly and we'd get in trouble.

bug:22776917
Change-Id: I781c0619dade00554d368a649c3e43a32cf511dc
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
5718b751331e04f65a0ba888c2b87fbd4855e91f 24-Aug-2015 Robert Greenwalt <rgreenwalt@google.com> am 7606fb34: am 3f7b3ae9: Merge "Allow us back on the network after carrier-detatch" into mnc-dev

* commit '7606fb348e1ce012ec0b08f397dccd65c2bd0cc5':
Allow us back on the network after carrier-detatch
aacc11b299ac047e73e1e712aa396ea0a6a80158 18-Aug-2015 Robert Greenwalt <rgreenwalt@google.com> Allow us back on the network after carrier-detatch

We had code in DcTracker to deal with this but the MR1-originating
DcSwitchStateMachine interceeds. Exposing the switch so
DSSM can access it and behave appropriately.

bug:23069223
Change-Id: I7a674d3b662aa0a7eec5a54889a784a2b64d662c
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
32cefb74203dcc9ae0ef828e4031acc097bcb77b 13-Aug-2015 Sungmin Choi <sungmin.choi@lge.com> DO NOT MERGE Change auth_type value to 0 if AUTH_TYPE is -1

Bug: 23285878

Change-Id: I6cfad0f70a41cccb0278b7eda429ac7bb0525a26
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
ee665b78ad648abd98b019a9c9047f206ed22994 30-Jul-2015 Robert Greenwalt <rgreenwalt@google.com> Release DataConnection when a rety is interupted

We had code that simply set the ApnContexts state to IDLE, but
there was still a connection between ApnContext and DataConnection,
so when looking for a DC, we'd skip this one (it's busy) and when
the rety alarm fires we end up with a second DC attempting to connect
to the same APN.

bug:22410092
Change-Id: Id4ab6a4f1f08588e552e846a1986f93192a72568
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
987d6a1e19a43e1357b1223d89dec82701c6a779 30-Jul-2015 Robert Greenwalt <rgreenwalt@google.com> Merge "Revert "DO NOT MERGE Add logging to detect the start of a sync problem."" into mnc-dev
bca51fc3a191d3ca30df627b75374db0941571c5 21-Jul-2015 Sungmin Choi <sungmin.choi@lge.com> Use apn id which contains default type when merging apns

In case of the following conditions, UI does not show preferred apn.
1. there are default and mms profile, respectively.
2. apns for default and mms are same.
3. mms profile is prior to default profile.

To fix it, use apn id which contains default type when merging apns.

Bug: 22641500
Change-Id: Ieec521f715f137aa7a827ee010390e3c47b35da1
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
2f5e0f602beab84c8ba1a9c8ee7736c9df62b0be 29-Jul-2015 Robert Greenwalt <rgreenwalt@google.com> Revert "DO NOT MERGE Add logging to detect the start of a sync problem."

This reverts commit f65485c99cf0fb0e844ae9e39c2c6cd6bae0fd2c.

bug:22632129
Change-Id: I531668bc0874c71c70773ceda071cf5a7f5c1121
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
f65485c99cf0fb0e844ae9e39c2c6cd6bae0fd2c 24-Jul-2015 Robert Greenwalt <rgreenwalt@google.com> DO NOT MERGE Add logging to detect the start of a sync problem.

This should be removed prior to shipment!

The DctController is getting out of sync with the ApnContexts. Add a callback
mechanism so the ApnContexts can let DctController know when they apply a change
and then when all is quiet we can compare and verify everything is good.

Potentially can fix the problem detected too (if there should be no live requests, nuke
the ref counts) but currently turned off so people will notice problems (battery life) and
file bugreports with the data of how it started.

bug:22632129
Change-Id: I84a67687f0b6dc43b2e429943935f4045ffc51ed
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
0d2abb5518d6a86619d2c2db04867c338b2092d4 17-Jul-2015 Robert Greenwalt <rgreenwalt@google.com> Support optional modem restart on certain errors.

Error counts are shared between all APNs, but fresh connect attempt
resets the counts.

bug:22455853
Change-Id: Id398a223d33d42f979b5cdc4a2bc263e92eb73cc
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
f15fec95574304db6a7f434fb606276f4b614e85 14-Jul-2015 Robert Greenwalt <rgreenwalt@google.com> Merge "Add logging for telephony network requests." into mnc-dev
2dde8b1659b1eb231e667bc19307ef294b627beb 09-Jul-2015 Robert Greenwalt <rgreenwalt@google.com> Add logging for telephony network requests.

Try to track and retain what happens to requests to get to the bottom of
20731384.

bug:20731384
bug:21641873
Change-Id: Iabb01b3866c6748323a967e26c008246b29bdb17
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
4bd0ae43eb0cb9969dee4f30cddc18a71da68190 10-Jul-2015 Jack Yu <jackyu@google.com> Fixed that phone service crashed during boot up issue.

bug: 22357173
Change-Id: I3b76a74c698e22c887b3482a3bdcbc34982ec658
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
60bc489803a3557526e1f95e34c237e70f28bc50 28-Jun-2015 Sungmin Choi <sungmin.choi@lge.com> Add sort parameter to query apns

Sometimes, result of query apns is not sorted by _id.
As a result, device tries to conntect data using unwilled apn.
For example, when user inserts 45005 SIM, create all apnlist as the followings:
1) L version
_id name
2516 SKT LTE INTERNET
2517 SKT 3G INTERNET
2518 SKT LTE Roaming
2519 SKT 3G Roaming
2) M version
_id name
2518 SKT LTE Roaming
2516 SKT LTE INTERNET
2519 SKT 3G Roaming
2517 SKT 3G INTERNET

Device tries to connect data using "Roaming apn", so user can't use data.
To fix it, add sort parameter to query apans.

Related-Bug: 22159434
Change-Id: I5743813236c8143fb83800b9ed0b2a98b33d6a51
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
bf660a4647db8151609cdfa0ecc4c96e1518947f 30-Jun-2015 Sungmin Choi <sungmin.choi@lge.com> Add getPreferredApn() in buildWaitingApns()

Now, only createAllApnList() calls getPreferredApn().
Unfortunately, in this time, getSubId() may not be proper value.
So getPreferredApn() could not get value which we want/set as preferred apn.
As a result, preferred apn is null and wrong apn info can be sent to modem
and be used by SETUP_DATA_CALL procedure.
To resolve this, just add getPreferredApn() in buildWaitingApns().

Bug: 22159434
Change-Id: Iee92325aa91c5c470328055746c321065a9829d4
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
9232dafa7ea833fc0b3a6024d6c7e23fc8e961ea 01-Jul-2015 Robert Greenwalt <rgreenwalt@google.com> Log reduction

Found all this while checking out 21957591. My work there was
a bust, but don't want to lose this logging cleanup.

bug: 22225815
Change-Id: I7a3e932e06d035066d4adbc10c99ecf2a20be5fd
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
735bc2f4524d68155765351912ffae11306c3bd5 13-May-2015 Chris Manton <cmanton@google.com> Reload Apn settings upon technology change

Service providers may require different APNs for
different radio access technologies (RATs).
If a RAT changes during a retry data connection
the device may repeatedly try to re-use invalid
APNs for the given technology.

This change adds a check for connection retry in
addition to failure to reload Apn settings.

bug: b/20098693
Change-Id: I5208699b06807e73bcb17413fa803c397249fbd7
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
63913dc903872c45bab7d2483d633d845dd9c5d6 13-May-2015 Amit Mahajan <amitmahajan@google.com> Move apn related helper functions from DcTracker to ApnSetting.

Bug: 10719093
Change-Id: I942ce59995afffd395f7d73e4fd70674db0f643f
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
aaf0e8d623b1e94004557573aef9235177ca19e3 16-Apr-2015 Amit Mahajan <amitmahajan@google.com> Adding bearer_bitmask support.

Change-Id: I4da0bdd6de16963a60218789154da17f40fec8cd
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
e05e489c16abe0311a783f089904f9f71fb7c399 16-Mar-2015 Vinit Deshpande <vinitd@google.com> Merge remote-tracking branch 'goog/mirror-m-wireless-internal-release'

Change-Id: I80c47b7384f104d5a3680cc34e9cbb11145ee4a0
c5ebc2100d4cd77c2bce7785180f3d7d735d48fc 11-Mar-2015 Lorenzo Colitti <lorenzo@google.com> am 68897126: Merge "Remove dead code, mostly DataStateTracker."

* commit '688971268675affdfe0bfe856f4100e0031fbf4c':
Remove dead code, mostly DataStateTracker.
efab986836683a6f8bb32ec92ff9da702b8fca15 21-Nov-2014 Paul Jensen <pauljensen@google.com> Remove dead code, mostly DataStateTracker.

Change-Id: I1433937bffdb29bd42fb1adbfcf0a50ceffac7dd
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
90c8cf76cc35ff4b510ec62c0f1a6ef22a0c4dc2 03-Mar-2015 Shishir Agrawal <shishir@google.com> resolved conflicts for merge of 1d92343e to lmp-mr1-wfc-dev

Change-Id: Ib0a8bc425ab43be4938d431d9aeaa236b76b0517
0469925aace7a2254e0cef90bd7398fbd72622fa 24-Feb-2015 Shishir Agrawal <shishir@google.com> DcTracker: Cleanup connections when IccRecords is destroyed.

The IccRecords are destroyed when the SIM goes through a state change like a
refresh reset. Attempting to setup data connections when in this case can lead
to incorrect APNs being passed to the radio.

The change will cleanup all data connections when IccRecords are disposed off.
New data connections will not be setup because SIM ready checks are done
before setting them up.

Bug: 19379406
Change-Id: Ide24ec3ab08bd8e76d4a98a47b4f0509987c11eb
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
0e42864afb21261d6bd2e9b4aa97f6d01d039a25 23-Feb-2015 Yashdev Singh <yashdevs@codeaurora.org> Telephony: Implementation of IWLAN

- Allow registration polling in radio off state.
- Disable default APN if current RAT is IWLAN.
- Allow non-default PDP activation in radio off state provided
current RAT is IWLAN.

Set data registration state in APM for IWLAN RAT
- APM causes data registration state to be POWER_OFF. Set it
to IN_SERVICE for iwlan case
- In APM, UNSOL_VOICE_NETWORK_STATE_CHANGED resets data RAT and
registration state to POWER_OFF. Ensure that this is done only
when current RAT is not IWLAN or when iwlan feature is not
available.

Change-Id: I419f3df987ef90bb5f31b0e381257a81dcc57c3b
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
0710ff7ae80f217782f08528c5406f6d26a29f75 04-Feb-2015 Robert Greenwalt <rgreenwalt@google.com> Add comments to explain what we're currently doing

The IMS merging of call state is non-obvious from the outside and while
the code here works it's a bit vulnerable to well-intended changes.

bug:19160309
Change-Id: I07c100dac544a3687d3efd6567b56c6e4376eefb
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
b79f845a0451895b0f0b8a926a8571511d476ce8 20-Jan-2015 Libin.Tang@motorola.com <w16529@motorola.com> Add an API to access the CDMAPhone/GSMPhone call tracker state for DCTracker to check

As concurrent voice/data is not supported for all RATs, the DCTracker checks
the default phone's call state through getState API as one of the conditions
to set up data call.
For device supports VOLTE, the default phone's getState reflects the
default phone(CDMAPhone/GSMPhone) and IMS phone call state.
So the data call can't set up if the VOLTE call is in progress.
As IMSPhone call state should not impact the data call setup, this CL is
to add an API to access the CDMAPhone/GSMPhone call tracker state for
DCTracker to check.

Bug: 19090488
Change-Id: I96bb29f80d81fa6b39e2e05f1d7f47a72244ed9b
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
45eaa2335e64a8ff1ad8d5e8224c580ef996f370 12-Jan-2015 Wink Saville <wink@google.com> Add additional debug logging.

Bug: 18950975
Change-Id: I2d826dc4c355d7b940fee90f1bdff946128166e6
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
9a90f1dde8fa4bd7b1606742909c2f2f28a28a2f 06-Jan-2015 Hui Wang <huiwang@motorola.com> On apn change, only clean up those data connection using the updated
apn setting

Bug: 18923165
Change-Id: I89a5772deb97437032edf642fdaa104eb4ed558e
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
2bb2331aa5c5285f70a7404d61ee71ede4831056 06-Jan-2015 Shishir Agrawal <shishir@google.com> Data roaming/enable settings should be per phone on a single SIM device.

On a multi-sim device it is dependent on the subId. But for a single SIM
device it should be a property of the device.

Bug: 18814559
Change-Id: I53ae2604db856914453aa4861e12b051700d187c
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
c2d1d6b2725b4611360d2725624a0d8905d75694 16-Dec-2014 Robert Greenwalt <rgreenwalt@google.com> Don't rety permanent failures on every RAT change

The code to retry on RAT change was added to catch cases where
we had disconnected because of the RAT (specifically the
RAT disallowed simultaneous voice and data). Made our
RAT-change handler more focused so it now will
retry failed networks if the new RAT causes a change
in voice concurrency or APN list.

bug:17944570
Change-Id: I3d46328f45584fdf9cf927b176104ff2c8233304
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
434fa420329b093f68d83862a637c7ded93a4daf 12-Dec-2014 Craig Lafayette <craiglafa@google.com> Fix build. Use isValidSubscriptionId in DcTracker.

Change-Id: I1cd2250a78daaac896070fbff58ad2c1a75c3b7f
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
2b0f0da4f9fe8449c578632b491e2f158c201bd5 10-Dec-2014 Stuart Scott <stuartscott@google.com> Do not allow data if defaults are not selected.

bug:15925985
bug:18269924
Change-Id: I2eca123a358eeadf9d22cfe6cc55627a9387546a
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
ffdf8ce51e37e5e45791c9ea11604aa00dffc88e 15-Jul-2014 Jing Zhao <zhaojing@motorola.com> Separate voice and data roaming state & roaming type.

It is possible for voice and data registered on different network,
so the roaming state could be different.

Set voice and data roaming status and roaming type separately.

Bug: 17318123
Change-Id: Iede9132cbf94bc9971702bd9232374585edd5cd0
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
c9e4b3e8c1be7626ddbb81d49457e529a4e33847 19-Nov-2014 Amit Mahajan <amitmahajan@google.com> Using default setting if setting+subid is not found.

We should do this for other settings as well; fixing just this for now
to fix HFA bug.

Bug: 18392680
Change-Id: I360bc19c4501020afd9dfa1cfb7e66ce2fad9536
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
91bce2abae052df918cb546b9c5d205706ede026 08-Nov-2014 Shishir Agrawal <shishir@google.com> NPE: DcTracker.isApnSupported should return false on null input.

Bug: 18238326
Change-Id: I4ceb4855c7c2e1dbfde123512690cd845e8c74a3
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
2ba7bb72c1706e265f7e572fcf2fa1887430dade 31-Oct-2014 xinhe <xinhe@google.com> Bad merge in DcTracker (lmp-sprout-dev): mAutoAttachOnCreationConfig
always set to true

Bug: 17684566
Change-Id: I904e0de44ce16c080f9f3fab83f064d76eb56e3c
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
b237a11044ed842d2865ff8c8716befb06b6ca25 25-Oct-2014 Wink Saville <wink@google.com> Change subId to int from long

Change-Id: Idae6335e63e7b1e4e714bc17e71b1a4705e38474
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
d10a9057b2dd78ea698dd64c25f1a5eff0c07614 24-Oct-2014 Amit Mahajan <amitmahajan@google.com> am 796d3c22: Change to consider SIGNAL_LOST as permanenet failure only if not attached.

* commit '796d3c22f21041116110735c92d7e2c3a7c8f60d':
Change to consider SIGNAL_LOST as permanenet failure only if not attached.
796d3c22f21041116110735c92d7e2c3a7c8f60d 24-Oct-2014 Amit Mahajan <amitmahajan@google.com> Change to consider SIGNAL_LOST as permanenet failure only if not attached.

Bug: 18062475
Change-Id: I6c1b220fbb3cc9798419ec190e83d3eaea16ec69
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
f37635ccc9835c19c25be947c2a755bc353eb542 23-Oct-2014 xinhe <xinhe@google.com> am d86df358: Device mobile data is not working though mobile data status indicator shows "H" with full signal

* commit 'd86df358b8fe07160caa12147b6e4ad34d378ce6':
Device mobile data is not working though mobile data status indicator shows "H" with full signal
d86df358b8fe07160caa12147b6e4ad34d378ce6 23-Oct-2014 xinhe <xinhe@google.com> Device mobile data is not working though mobile data status indicator shows
"H" with full signal

Fix: Do not merge the APN configures which have the same type element. If there
are multiple type elements in the confgures, they should be merge only if
there is no common set between them.

Bug:18080519
Change-Id: Ic3bf5979abdf1623ae57d7a9fc659f6c3005b869
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
7c580f7ad2dd8c631fc84a383a98f09990a78c13 22-Oct-2014 Paul Jensen <pauljensen@google.com> resolved conflicts for merge of 2b7b6016 to lmp-sprout-dev

Change-Id: Iaa354ddf634fa21a06eae961c7bdb5b1602e891e
2b7b6016c7a5f2c3ce9c7e623ea10a9fe9239dc2 15-Oct-2014 Paul Jensen <pauljensen@google.com> Show ProgressDialog when waiting for radio to turn on when provisioning.

Turning on the cellular radio when user selects the provisioning notification
can take 30-60s so a UI is needed to keep the user informed that the radio is
coming up. This is only for provisioning APN support (only AT&T tablets now).

bug:15990642
Change-Id: I1e77c3a1b1a24be7acc7cb3c925c002e5fa2d1a9
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
e5423c3025ca036ff884012e7f2208ce45e4398e 22-Oct-2014 Amit Mahajan <amitmahajan@google.com> am f63f536e: Merge "Change apn comparison (apnsSimilar()) to make sure same APNs are merged." into lmp-dev

* commit 'f63f536e81106549de980122f3efbef8fe86fab9':
Change apn comparison (apnsSimilar()) to make sure same APNs are merged.
61cdbcf2de392d043de0e4a533fbc615fc423000 21-Oct-2014 Amit Mahajan <amitmahajan@google.com> Change apn comparison (apnsSimilar()) to make sure same APNs are merged.

Bug: 18015631
Change-Id: I590bfb04600d6f6f6b0f552713b04616bc6a3330
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
6b4d4c9acc9a6a64a511cf1fbe403b2a6e24d25a 10-Oct-2014 Robert Greenwalt <rgreenwalt@google.com> am 8eb4b07b: Merge "Fix enabling of FailFast mechanism." into lmp-dev

* commit '8eb4b07b8535c04901cc46dc7860c87aa9e9fbfc':
Fix enabling of FailFast mechanism.
6395443719ec3ee0257085945e753d02f603886b 10-Oct-2014 Robert Greenwalt <rgreenwalt@google.com> Fix enabling of FailFast mechanism.

If you use the wrong obtainMessage it's cast into an Integer
and stored in obj instead of arg1. This causes us to retry onto
the provisioning apn in 3 seconds instead of 20 and speeds up
the process.

bug:15990642
Change-Id: I3deb32d49c9fa77b16af9daf5c6ffb682363f6d1
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
c0f0cb783124b8be684cbd7a45f0f1cd3cc3b60a 06-Oct-2014 Robert Greenwalt <rgreenwalt@google.com> resolved conflicts for merge of d8e86a5e to lmp-sprout-dev

Change-Id: I873ca35a7baf57e52a41918a7daade7467540c00
29c6659c8767212d23d417f2b7f032b6c0d82119 03-Oct-2014 Robert Greenwalt <rgreenwalt@google.com> Merge similar APNs together when loading All Apns.

They should have been merged together in the DB. Do it now
at this convenient point so that we don't end up
making duplicate requests for the same apn. That can lead
to duplicate calls with diff call IDs and then netd gets confuse
and things don't work.

bug:17634414
Change-Id: Ia77e43f53456f8ecadc9e94c20301fe8a52338d7
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
0e776303ca82b5bec5db19bb44e0f13b0c7c6400 01-Oct-2014 Etan Cohen <etancohen@google.com> Fixing build - missing import.

Change-Id: I47dc727ede78c3d253702de175c9070b03f59c8b
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
62022f7a40cca775a4e9214c10ce14ac0a53a017 01-Oct-2014 Robert Greenwalt <rgreenwalt@google.com> am 2b3d92bf: Merge "Support bearer-specific DUN APN on CDMA" into lmp-dev

* commit '2b3d92bf5b79eddc8299c1236a83b508b31f3432':
Support bearer-specific DUN APN on CDMA
2b3d92bf5b79eddc8299c1236a83b508b31f3432 01-Oct-2014 Robert Greenwalt <rgreenwalt@google.com> Merge "Support bearer-specific DUN APN on CDMA" into lmp-dev
44099501f5c43b316d7d61216953269963446be2 30-Sep-2014 Paul Jensen <pauljensen@google.com> resolved conflicts for merge of e818d6a4 to lmp-sprout-dev

Change-Id: I260e385eac19c18b3ee89ad799316db3a9c52bf2
1484bfe9c58cfd2ddf59a5b8dad7373a36de946d 22-Sep-2014 Robert Greenwalt <rgreenwalt@google.com> Support bearer-specific DUN APN on CDMA

The DUN apn needs to be listed last, and this should only be used on networks
that don't show the apn editor.

bug:17571681
Change-Id: Iefa676d3c741ffb2eef201a8683429ed9dbe44d1
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
b449dc75ef4b9cb996c34a11e758f7e6ca193240 17-Sep-2014 Paul Jensen <pauljensen@google.com> Move mobile provisioning APN support into telephony and rework.

This code had to be reworked to cooperate with the new multi-network
logic. The provisioning flow when using a provisioning APN is:
1. DcTracker detects connecting to provisioning APN, puts up
notification, and turns off radio (as per b/13190133, b/10328264).
2. User selects notification. ProvisionNotificationBroadcastReceiver
receives intent, turns on radio, enables fail-fast mode,
sets up provisioning logic in DcTrackerBase.
3. When radio connects again, DcTracker.completeConnection() launches
browser to facilitate activation. Note that activation can be
performed via any internet connection so it's not a problem that
browser isn't multi-network aware.

bug:17324098
Change-Id: Ibd1c42b1a75795f90a6483d3d0a5a14f88b193d8
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
bda761320929f714951c328bfec6a51a1978db97 23-Sep-2014 Wink Saville <wink@google.com> [DS] Data supports DSDS

Main modification:
1. Handle network requests for different subscriptions according
to the priority of the ApnContext
2. Handle data attach and detach procedures when switching the active
data subscription

Modifications in TelephonyNetworkFactory:
1. needNetworkFor; network request are dispatched to DctController for
determining the active data subscription.
2. releaseNetworkFor; DctController is notified that the network request is
going to be released and the active data subscription may be changed
after the release of network request.

DctController maintains all cellular network requests. When a new request
is sent to DctController the active data subscription would be determined
again. If active data subscription has not changed, the reference count of
corresponding ApnContext is increased. Otherwise, data detach procedure
will be triggered on previous data subscription and a data attach procedure
is triggered on the new active data subscription.

After data is attached, all network requests for the subscription will be
executed. That means reference count of corresponding ApnContext will be
increased.

When a network request is going to be released, the rererence count of the
ApnContext will be decreased. DctController will determine active data
subscription again after the request is released and data detach and attach
procedures will be triggered appropriately.

Change-Id: Ie991096a986e4580efd453f0d20e43971e3fa9a2
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
8f6f52e4f7598e44cea1f9e5f4781291f9060d1d 11-Sep-2014 Wink Saville <wink@google.com> Merge commit '3f52153a5409861eaa6e9aee5c8560bf3447cf48' into fix-merge-conflict

* commit '3f52153a5409861eaa6e9aee5c8560bf3447cf48':
setup data on connectable apns on apn changed even there have already been some apns connected

To fix this conflict I removed the "if (isDisconnected" but left the
test for defaultSubId. This needs to be retested on Sprout with multiple
SIMs and HH with one SIM.

Conflicts:
src/java/com/android/internal/telephony/dataconnection/DcTracker.java

Bug: 17426028
Change-Id: I9bf2738b744cee819a3e551080e4098508e1e7fe
3f52153a5409861eaa6e9aee5c8560bf3447cf48 09-Sep-2014 Hui Wang <huiwang@motorola.com> setup data on connectable apns on apn changed even there have already
been some apns connected

If default apn setting is added after other apn types connected, deafult apn
may not be able to be connected

Bug: 17426028
Change-Id: I5022ebde6ed1f8448755d9076aa5583a84895e00
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
f013b229922b88112f5b56c4ed1734c506e6ede7 09-Sep-2014 Etan Cohen <etancohen@google.com> am 231c3c62: Fix NPE due to access before checking for NULL of APN setting.

* commit '231c3c6271a27b5f03444f4d24b52c41c46566ab':
Fix NPE due to access before checking for NULL of APN setting.
231c3c6271a27b5f03444f4d24b52c41c46566ab 09-Sep-2014 Etan Cohen <etancohen@google.com> Fix NPE due to access before checking for NULL of APN setting.

Change-Id: I7bac303a2a5d562f7f1b2569ecfa467160be52a1
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
6bc4098827f3070a44b5e51508b455d7c7be9c07 01-Sep-2014 Wink Saville <wink@google.com> ksd to lmp-sprout-dev

Change-Id: I94eb65c62231b5831570bb0cbbbd9c916bee0a37
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
3262c21feb1eede2917450cfdfd3faa86ee70cab 25-Aug-2014 Shishir Agrawal <shishir@google.com> Allow MVNO tethering APNS through gservices flags.

The change allows multiple APNs to be specified in
Settings.Global.TETHER_DUN_APN. It also adds mvnoType, and mvnoMatchData
support to the ApnSetting class.

Bug: 12977533

Change-Id: I424fc405c1e6270bf55eadb130ed839d50575cf1
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
12fffcf0d8df6b8268806d9aa7cc7a662e73743b 30-Jul-2014 Jing Zhao <zhaojing@motorola.com> Fix improper mobile data connecting event

mAutoAttachOnCreation keeps DataConnection retry connecting
while ApnContext could still be turned into IDLE state.
Make mAutoAttachOnCreation configuable and keep consistency
between DataConnection and ApnContext

Bug: 17131842
Change-Id: Iebd4886959f5458c1b10c34d2e7f96f29c71d527
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
e9701717e43cc5aacbcf624f77a53be92350662c 08-Aug-2014 w19976 <w19976@motorola.com> Configure MTU based on network PCO MTU parameter

Add logic to obtain the mtu from the network PCO parameter and set it to kernel
when the mobile data connection is established. When there is no PCO mtu configured
from the network, the mtu size defined in the corresponding APN will be used. In case
no mtu size is defined for an APN used for data connection, the MCC/MNC based MTU
defined in the framework overaly will be applied.

bug:17046179
Change-Id: I6465d4b8f2076aaa380ae3617fb3f24adbe136d4
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
9d4ec7d45061f1da05f16cd244eb0a798e7f36bb 13-Aug-2014 Amit Mahajan <amitmahajan@google.com> Revert "Revert "add apn setting parameters, and set apn parameters to bp""

This reverts commit 01f27d2c616797e5ba821159f8aca7b75aa54ae1.

Change-Id: Id9e7cf180092f320f635084f805b97f6409d0f03
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
01f27d2c616797e5ba821159f8aca7b75aa54ae1 12-Aug-2014 Amit Mahajan <amitmahajan@google.com> Revert "add apn setting parameters, and set apn parameters to bp"

This reverts commit f4b74430a8c22ab58c3fbbd6c9e7a594514a8615.

Change-Id: I1f300741d858ff39ae573e576479613b084e4616
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
f4b74430a8c22ab58c3fbbd6c9e7a594514a8615 10-Aug-2014 Hui Wang <huiwang@motorola.com> add apn setting parameters, and set apn parameters to bp

Change-Id: I395b499eb0730894620614b3261bb6a784d53f46
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
76f43316a5a6082d601bffd4b6898d0bd81e11fc 17-Jul-2014 ram <ram.pl@samsung.com> IMS: Adding emergency PDN handling for no sim case.
(Changes already reviewed on klp-wireless-dev with CL 171814)

Change-Id: I732ad4ec350256478bb2ac974722f3b9cbd0e483
Signed-off-by: ram <ram.pl@samsung.com>
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
bc78e2f9988f380a3b88d4cb4a9c0b80b8f44bee 18-Jul-2014 ram <ram.pl@samsung.com> IMS: getPCSCF() API enhanced to support multiple APN types.

Change-Id: I5e60d4f153deff5f4cb658e0548a7d9bc399e8b7
Signed-off-by: ram <ram.pl@samsung.com>
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
cf5205f70eb1eac497164124187a088ecb03fff5 19-Jun-2014 Ram <ram.pl@samsung.com> IMS: Adding Support for Emergency APN in Telephony Framework (opt/telephony)

(NOTE: No SIM case will be covered in next patch)

Change-Id: I87e653e29674f0e4821484908f799d6b84659c72

Signed-off-by: Ram <ram.pl@samsung.com>
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
ed8ec7c629dccf60a2fc817f871bab879302fdbd 18-Jun-2014 Robert Greenwalt <rgreenwalt@google.com> Merge "Remove Obsolete enable/disableApn functions."
305122cd621385652826cf7d8cd4e651dc6b5e9f 17-Jun-2014 Robert Greenwalt <rgreenwalt@google.com> Don't tear down existing cell connections.

NetworkFactories signals indicate if we're interested in making new
connections, but should not be used to tear things down.
ConnectivityService will communicate disconnects directly with NetworkAgents
when it wants them to tear down.

This fixes broken lingers and also potential score ties.

bug:15612739
Change-Id: Ib39ddadaac84898d080764afc365f09f7dce4ffa
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
58c7be5dc52e9847470112c95aaf6bbab28f9b92 17-Jun-2014 Robert Greenwalt <rgreenwalt@google.com> Remove Obsolete enable/disableApn functions.

ConnectivityService now uses NetworkAgents instead and apps should use
ConnectivityManager.

Change-Id: Ifc5c8f5be802183e70a5d92b224c819815de00e6
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
50a562c63bf42017fe260b0ea299c3419a06a46d 13-Jun-2014 Robert Greenwalt <rgreenwalt@google.com> Merge "Listen for retry intents."
d32b58c8e7cea693c98f49b2291455e917cd9301 13-Jun-2014 Robert Greenwalt <rgreenwalt@google.com> Listen for retry intents.

Re-adding code stripped out during the NetworkAgent changes. Going back
to having ApnContexts pre-initialized at startup since they are no longer
NetworkAgents. This also lets us preregister for each of their retry alarms.

Undo of damage done by: https://googleplex-android-review.googlesource.com/#/c/476836/

bug:15563289
Change-Id: I6f8855eb24d913c73fef647d4219ae7041216e2b
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
91f8e19cdafe6382ec1469167e208e2e928123cc 13-Jun-2014 Wink Saville <wink@google.com> Merge "Merge kwd to master"
a8467dd0c524787104b1ccdddc5e8af10ba729ed 13-Jun-2014 Wink Saville <wink@google.com> Merge kwd to master

Change-Id: Idb607c0aa32f80fe4fe1539aedea7a221e9e7f04
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
b36f67e82882badcf856451e1ffc78ed388c2252 12-Jun-2014 Robert Greenwalt <rgreenwalt@google.com> am 781ada03: Merge "Make NetworkCapabilities publicly immutable." into lmp-preview-dev

* commit '781ada0374c0b111c5cf9488d171c046b3079ff3':
Make NetworkCapabilities publicly immutable.
fd555a178c05e409917f22745743ed59402208e6 09-Jun-2014 Robert Greenwalt <rgreenwalt@google.com> Make NetworkCapabilities publicly immutable.

Applying API council comments.

bug: 15142362
Change-Id: Ie0bde68b72656a676d90c0343b9756fe9268d8d6
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
62c954a7a7c4199956c127fcb575ed9114d44491 27-May-2014 Robert Greenwalt <rgreenwalt@google.com> Apply refactored NetworkFactory.

Make NetworkFactory a concrete class and divide responsibilites between it and NetworkAgent.
Factory will track requests and by default give a single connect/disconnect api for ease
of use. Then NetworkAgent is created and destroyed as needed with very simple logic.

Change-Id: I401c14a6e5466f2fc63b04219b97ff85bb9af291
(cherry picked from commit 071b9f85ac559a35430ed37c03a66271977b9d17)
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
f3ab6ab303e1da929ce26b7c5d63565bff136221 23-May-2014 Robert Greenwalt <rgreenwalt@google.com> Revert "Switching to NetworkAgent API"

This reverts commit bce3d2575122929bb27ec8a37d56e96da39a3ca2.

Change-Id: Ia7d1752d4ba9f74f55657c7dbe4d64d60064394f
(cherry picked from commit 608588e9af271f0f5640236809f27c626f9d98e9)
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
071b9f85ac559a35430ed37c03a66271977b9d17 27-May-2014 Robert Greenwalt <rgreenwalt@google.com> Apply refactored NetworkFactory.

Make NetworkFactory a concrete class and divide responsibilites between it and NetworkAgent.
Factory will track requests and by default give a single connect/disconnect api for ease
of use. Then NetworkAgent is created and destroyed as needed with very simple logic.

Change-Id: I401c14a6e5466f2fc63b04219b97ff85bb9af291
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
608588e9af271f0f5640236809f27c626f9d98e9 23-May-2014 Robert Greenwalt <rgreenwalt@google.com> Revert "Switching to NetworkAgent API"

This reverts commit bce3d2575122929bb27ec8a37d56e96da39a3ca2.

Change-Id: Ia7d1752d4ba9f74f55657c7dbe4d64d60064394f
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
220d43e0611edd0f3a2eb7a33bb38a008fff0868 29-May-2014 Wink Saville <wink@google.com> Revert "Fix build: Revert "am 9349bd96: am 7d604d74: am ccb1ae5a: Merge "When Data RAT changes the new RAT retry connectable APN\'s"""

This reverts commit a82185ccdc6df168fcd093bf49b9c2ada0e1c080.

The original commit used EVENT_DATA_RAT_CHANGED but it was defined
in frameworks/base/telephony/*/DctConstants.java by this AOSP
change:

fb61bfa4470332a7ccfca7a2df5e13baca49d9fa

And I'd forgetten to submit it. Now that EVENT_DATA_RAT_CHANGED
is defined I am reverting the revert.

Change-Id: Ied6665136cb6c36053c8fe03eee5e9f87b637f38
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
a82185ccdc6df168fcd093bf49b9c2ada0e1c080 29-May-2014 Ed Heyl <edheyl@google.com> Fix build: Revert "am 9349bd96: am 7d604d74: am ccb1ae5a: Merge "When Data RAT changes the new RAT retry connectable APN\'s""

This reverts commit a259f97accfbad749731e4e95152f2ef3f1115f7, reversing
changes made to cbb34dc8c740d77506d51bb1c9045402301da32e.
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
a259f97accfbad749731e4e95152f2ef3f1115f7 29-May-2014 Wink Saville <wink@google.com> am 9349bd96: am 7d604d74: am ccb1ae5a: Merge "When Data RAT changes the new RAT retry connectable APN\'s"

* commit '9349bd96eb30f992b76d2a5a84eb593a093fdeef':
When Data RAT changes the new RAT retry connectable APN's
50d5d9678ef0e14b2426979eb908afff773d40ec 01-Feb-2014 Zhang Wei-e7976c <e7976c@motorola.com> When Data RAT changes the new RAT retry connectable APN's

Issue: In the scenario where phone is in LTE and has data up and running, then user makes a voice
call. During voice call, devices moves out of LTE coverage and moves into 1X. Since 1X does not
support simultaneous voice and data, the data call will be dropped. When the device moves back
into LTE coverage later, device does not attempt to set up the data call again until the voice
call is ended. This causes the data stall.
Fix: register for EVENT_DATA_RAT_CHANGED and attempt SETUP_DATA_CALL upon receiving this event.

Change-Id: Ibe9e68295661f2f2ffaca3057d696df6a1db3f0c
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
4dfda5470a2582c0fb543ead6c79ccf598c580e0 16-May-2014 Robert Greenwalt <rgreenwalt@google.com> Add unregisterNetworkFactory

Telephony creates multiple network factories sometimes (Rat changes). Give
it the ability to unregister the prior ones first.

Also, pass a name for identification purposes.

bug: 15003007
Change-Id: I717d63363f25c446f8ecf38d933b1a35d744af6e
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
bce3d2575122929bb27ec8a37d56e96da39a3ca2 30-Apr-2014 Robert Greenwalt <rgreenwalt@google.com> Switching to NetworkAgent API

Change-Id: I7bca6f65ba1c616d821db50b0d24772520c787a7
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
96cce86cf08e37e0f09ed5057b1196e26b302743 09-Apr-2014 Robert Greenwalt <rgreenwalt@google.com> Replace LinkCapabilities with NetworkCapabilities

bug:13885501
Change-Id: I4ebc184c29278c385364ab0993c8783dfd9086fb
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
9c180aedfc9f0d20525c0128487d3500e6c0a715 02-May-2014 Jason Monk <jmonk@google.com> Support renaming of ProxyProperties to ProxyInfo

Change-Id: I151bb50bfafac46ad375dec4908e0470f2823d8d
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
a29f56db119b93cc5f66c1cf2091a70ef886b30c 14-Feb-2014 Wink Saville <wink@google.com> Merge "Handle DATA_CALL_LIST in DCC and update dataActivity properly"
b077af12dfe0abfcdd51ce5c9852940b89567e99 24-Aug-2013 Yashdev Singh <yashdevs@codeaurora.org> Handle DATA_CALL_LIST in DCC and update dataActivity properly

Update mActivity in DCC before notifyDataActivity. Without this change,
the notifyDataActivity was notifying incorrect data activity status
due to race condition between DCT when mActivity was updated and
DCC thread where notifyDataActivity was called.

Bug: 11596853
Change-Id: Iffb7bf369062264dd773338c732bc69318d90b73
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
0742246233c3f03f864d23e52d89e1845d994701 27-May-2013 Antonio Marín Cerezuela <amarin@swissms.ch> Telephony API extension v2

Added the following notifications:

public void notifyPreciseCallState(Phone sender);
public void notifyDisconnectCause(Connection.DisconnectCause cause, int preciseCause);
public void notifyPreciseDataConnectionFailed(Phone sender, String reason, String apnType, String apn, String failCause);

Change-Id: If3b88c679507c529b746046c4a17cf6d9974bd09
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
449cbf85380bd1d6716b7ab002da1efb9493bb02 15-Nov-2013 Wink Saville <wink@google.com> if provisioning apn conditionally restart the radio.

Some radios need a swift kick in the butt after provisioning.

Bug: 11673637
Change-Id: Ie758a303fd751d204fd6baa60217e88df6376aae
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
3fad7daba62dcb7aafc4adc7f8cc123726ed5a7c 31-Oct-2013 Robert Greenwalt <rgreenwalt@google.com> Add single-pdn arbitration.

If a device or network can only support a single data connection
then we need to tear down lower priority connections in favor
of higher priority requests.

bug:10212445
Change-Id: I5ff38ae3be993aee51b6716045e6857b4f2942af
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
c8dc0c8244aac9f3985a53bc94b8ec2e295db430 17-Oct-2013 Robert Greenwalt <rgreenwalt@google.com> Change how we use provisioning url so post works

Needed to do an http post instead of a get for one carrier.
Do this by putting an auto-submitting form in the data to be
interpreted as a html doc by the browser. The ACTION_VIEW
intent only works on http uri, but by specifying ACTION_MAIN/
CATEGORY_APP_BROWSER we could use data:text/html.

bug:11168810
Change-Id: Ifd33e1c3c7f9f40b6add39e446e6a7d7cde22549
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
45df26444864daad60afdd4d121ab4043da3834b 07-Sep-2013 Sungmin Choi <sungmin.choi@lge.com> telephony: Set profile DATA_PROFILE_TETHERED when DUN type

Bug: 11152852
Change-Id: I018e3dfb9c8183b11faedc83cc40be658173c4a3

Conflicts:
src/java/com/android/internal/telephony/dataconnection/DcTracker.java
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
150b65fc3b52beab23f0d714e4c3166f90d3985e 11-Sep-2013 Robert Greenwalt <rgreenwalt@google.com> Remove special code for fake CDMA APN

revert of https://android-review.googlesource.com/#/c/62943/2

Solved the need for sprint using bearer-specific APNs instead
as the phone type is not a reliable trigger.

bug: 9315957
Change-Id: I0e5545ab4706df2c5917c7534291644c5d8797b3
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
a08decf911ab55f06a0972a2ecb1995c46d9ac1e 30-Aug-2013 Wink Saville <wink@google.com> Merge "Add support for a provisioning apn." into klp-dev
c9b81a0c05128694c617fcdd67e73821895822fe 29-Aug-2013 Wink Saville <wink@google.com> Add support for a provisioning apn.

When there is a provisioning apn, such as lwaactivate from AT&T it is
not necessary nor desireble to try to make network connections as
they will be no TCP ACK's to SYN messages, except for a limited set
of operator white listed addresses.

This is implemented by adding two commands CMD_IS_PRVISIONING_APN
and CMD_ENABLE_MOBILE_PROVISIONING. These are used by ConnectivityService
CheckMp and to know when we are connected to a provisioning apn and to
turn actually bring up the connection when the user needs to provision.

Also, incorporate the sEnableFailFastRefCounter change from klp to make
a singleton and remove the RuntimeException.

Bug: 10328264
Change-Id: I3925004011bb1243793c4c1b963d923dc2b00cb5
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
9894b3fb2f35e21d9cfd45f233ed093589e14c26 24-Aug-2013 sy.yun <sy.yun@lge.com> fix trysetupdata when mAutoAttachOnCreation true

mAutoAttachOnCreation=true means that device can attach PS network
automatically. To do this, DCT should setup data call even PS is detached.
but when mAttached is false (PS detached) It blocks to setup data call
regardless of mAutoAttachOnCreation value. So changed to allow setup
data call when mAutoAttachOnCreation is true and mAttached is false.

Bug: 10196651
Change-Id: Ia121eb75cbbe932b94efe4c09eb3cb26f1ca1c52
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
b256cf8dcb3a478bd0b47a74a5e355c6f4c03d85 23-Aug-2013 Robert Greenwalt <rgreenwalt@google.com> Merge "fix mvno_match_data OutOfBounds Exception" into klp-dev
59a71354e0169c7877ffd56d476ddd65ecf5a88d 19-Aug-2013 Robert Greenwalt <rgreenwalt@google.com> fix mvno_match_data OutOfBounds Exception

When the length of mvno_match_data is greater than GID from IccRecord,
it will generate StringIndexOutOfBoundsException.
Threrefore, codes are changed to use startsWith() instead of subString().

Bug: 10171336
Change-Id: I827b1d3b861d74e736875bbec1ba5bd28c6c3941
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
7ab10e4710bdb54c6d9a5ee01cd443a42a2689f5 14-Aug-2013 Sungmin Choi <sungmin.choi@lge.com> Change set position of mAttached

When re-attach network after detaching, mAttached.get() is always false.
Although network is attached in modem side and state is connected,
phone cannot know whether connection state or not.
Because nobody notifies to phone.
So before notifyDataConnection(Phone.REASON_DATA_ATTACHED), set mAttached true

Bug: 10070685
Change-Id: Id1356e1c7e188bd484d892dc4255c3aefc81a032
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
11a8314b443c1f1fefa0636f40127f98449846d7 02-Aug-2013 Wink Saville <wink@google.com> am 4ce0e815: Merge "Create ApnSetting if none are found in database."

* commit '4ce0e815f8b0a796685fbc931cd6760c27172a0f':
Create ApnSetting if none are found in database.
f46817da20f9628b7e55d1bb6ff0493f82dd9d85 18-Jun-2013 Alex Yakavenka <ayakav@codeaurora.org> Create ApnSetting if none are found in database.

Bug: 9315957
Change-Id: I0cf0debb703f6a4cad35300315922a5566871f85
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
1b5fe200e47f40f82f0e28502a5f40bce64a82e6 27-Jul-2013 Wink Saville <wink@google.com> Add support for an initial APN

Add PhoneConstants.APN_TYPE_IA, DctConstants.APN_IA_ID and enhance
setInitialAttachApn to use the new Initial Attach apn.

Bug: 8733613
Change-Id: Ia627ac0cf5715660b6d02bb13a83d46ec1727b87
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
bbcd0e4257ad545a6466697088fc4ddec3464547 23-Jul-2013 Wink Saville <wink@google.com> Hipri should not be enabled when we initialize.

Without this fix hipri starts at boot mobile data won't be shutdown
as refCount won't go to zero.

Bug: 9475300
Change-Id: If9587fa5360d777328fda59bbea61a2cbd9fe804
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
e056c8263473f67dc78630f5535c3664fabacd23 02-Jul-2013 Wink Saville <wink@google.com> Merge commit '1f95c96e' into fix-merge-conflict

* commit '1f95c96e':
Add CMD_SET_ENABLE_FAIL_FAST_MOBILE_DATA to DcTracker.

Conflicts:
src/java/com/android/internal/telephony/dataconnection/DcTracker.java

Change-Id: I7c7234d1b13647a0534a77937ea51d4051043a55
ec107cb8a36181fa26e61ab51f423ba862deb0fa 28-Jun-2013 Wink Saville <wink@google.com> Add CMD_SET_ENABLE_FAIL_FAST_MOBILE_DATA to DcTracker.

To fail fast we turn off data stall detection and do no retires.

Bug: 9279964
Change-Id: I42c326a21e05aa301e9d974ed9ac1d59472780ec
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
017166876a51eda9ae6b3254119023604e249bc5 12-Jun-2013 Wink Saville <wink@google.com> Merge commit '6aebe10f' into fix-merge

* commit '6aebe10f':
Fail on permanent errors in DcTracker.

Conflicts:
src/java/com/android/internal/telephony/dataconnection/DcTracker.java

Change-Id: Icbee3d7c73fa170813e0683fb7c22dd78e08d6e8
4a65a2c9c5d5a46453064e7047582d9045e8addc 11-Jun-2013 Wink Saville <wink@google.com> Fail on permanent errors in DcTracker.

This reverts the retry added when fixing bug 9240744:

https://googleplex-android-review.git.corp.google.com/#/c/315817/2


Bug: 9373372
Change-Id: I15d8dcc2c04174d54dd33f8a34813fd72764fc77
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
fcc57e87d1620ab7dc877d65e7e85dca77132054 03-Jun-2013 Wink Saville <wink@google.com> Do not retry forever in DataConnection.

When we are initially to connect we limit the the number of
retries so as to go through the list of waiting apns. But if retry
forever is enabled, as it is with Verizon devices, we can burn the
battery down quickly because we're retrying with short initial
timeouts.

In this change I also increase the timeout between apn retries from
5 seconds to 20 seconds to further reduce battery drain when retrying.
And added a retry with a longer timeout if to keep the contract with
ConnectivityService that when enabled we will continue to retry.

Bug: 9240744
Change-Id: I45b9ec5300d602d838dbdeacdbd1fca0c4d65ee3
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
203e588e3c42a81aa8a56f595119c181a63b12ca 31-May-2013 Wink Saville <wink@google.com> Handling data registration and radio technology changing.

When the DataRegistrationState (aka DRS) or RilDataRadioTechnology changes
aka Radio Access Technology or RAT) while retrying the DataConnection
StateMachine will return the connection as lost immediately. This allows
the connection to be retried with the correct handling of the changed
DRS or RAT quickly, rather than having to wait until retires are exhausted.

Changes:

- Pass RAT in bringUp
- Add the capability to register for DRS/RAT changes with SST
- When DRS/RAT changes in DcRetryState return LOST_CONNECTION to DcTracker

Bug: 9069568
Change-Id: Id4f29a63421af65ce153d24d646c09f7a1e8269b
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
187a39f896f88eb6c5e4306d9595546654825976 29-May-2013 Wink Saville <wink@google.com> Change DcTracker to not connect or retry if detached.

If we're detached than there is no possibility of connecting
so fail early. Upon attaching enabled connections will be retried.

Bug: 9024828
Change-Id: I363cd4580aeea68d88eff0b48ce579d2f27a13f3
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
4a9b3afeb2ec4d573eca335a3706392ecf9f281e 28-May-2013 Wink Saville <wink@google.com> Change DcTracker construction so only initialization is preformed.

In initApnContexts applyNewState and onSetDependency met could cause
calls to trySetupData which can send notifications or even try to
bring up a connection. This can cause problems as not all objects are
initialized. In particular when I tried to change ApnContext#isReady
to be false it caused a call to mPhone.notifyDataConnection but mPhone
wasn't completely initialized and an NPE occurred.

Bug: 9022095
Change-Id: I6d1bf350f2803aa62fa21b6a6759685456bef6eb
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
5d5eea6ed231163c225144316b0d1913d48678a4 26-Apr-2013 Sungmin Choi <sungmin.choi@lge.com> Set initial attach apn for LTE network

When mobile register LTE network, APN provided by operators is needed.
If mobile does not have apn information, it could not register LTE network.
To deliver APN information which is used during LTE attach to modem chipset,
setLteAttachProfile() and RIL_REQUEST_SET_LTE_ATTACH_PROFILE command is added.

When Telephony DB is loaded or Telephony DB is changed, follow steps.
1. If preferred default ApnContext exists, this is delivered to modem chipset.
2. If preferred default ApnContext is null, find other ApnContext which can
handle default type.
3. If other ApnContext which can handle default type does not exist, any other
ApnContext delivered to modem chipset.

Then modem register LTE network with APN information delivered from AP.

Bug: 8733613

Change-Id: If84c62cddccf96a531dae0527ed1a6592ae76201
Signed-off-by: Seonju Oh <seonju.oh@lge.com>
Signed-off-by: Hyejin Kim <hyejin.kim@lge.com>
Signed-off-by: Sungmin Choi <sungmin.choi@lge.com>
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
da1dd2e1bccb6141109a65d4e40253f39c405537 21-May-2013 Wink Saville <wink@google.com> Retry even on permanent failures.

The contract with ConnectivityService is that we should continue
to try to connect as long as we're ready. With this change we continue
but length the delay if there were permanent failures.

Change-Id: I83acfd2b07740d3650756aa20dad67b3c53e40d6
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
74672e8ee972f12406b72551261b4cc7e0651933 18-May-2013 Wink Saville <wink@google.com> Fix setup of retry filters.

There were multiple registered filters for INTENT_RESTART_TRYSETUP_ALARM
this caused a retry not to fire and contributing to not recovering from
a RAT change error in identified by Samsung in post #22 of 8849653.

Bug: 8849653
Change-Id: I9c5cdb740d87a05dd69d72f8bc5596230b75d6f2
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
2428693913ae731d4ace3414429f5e91af24ea36 14-May-2013 Wink Saville <wink@google.com> Do a disconnect if ApnContext is ready but retrying or failed.

This change allows enabling of a ready ApnContext to reconnect if the
ApnContext is IDLE, FAILED or RETRYING. Without this change toggling
wifi or otherwise enabling the connection would not cause the connection
to be retried. Instead, toggling airplane mode would be required.

Bug: 8849653
Change-Id: I83f44dbfd412f4b0122a2108e22f36db94c59d18
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
4750c8c11836338b024e159f04f0cbd13c7444b9 29-Mar-2013 Wink Saville <wink@google.com> Fix TODO in ApnContext#setDataConnectionAc.

Callers that really need to tearDown should call it directly
rather than as a side effect of setDataConnectionAc. The fixes
a "DcActiveState ERROR no such apnContext=" message caused by
an unnecssary tearDown when disconnecting.

Change-Id: I11321d098444659d99dec97b59041cefebb3285e
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
1f2a2323572b2f3ab18234726cc1b048c670fbab 21-Mar-2013 Robert Greenwalt <rgreenwalt@google.com> Use new mechanism to get messenger to StateTracker

bug:8445208
Change-Id: Ice7dfb0b50c9481d359aed14a51372878185171c
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
454b1dfd508844b42eb775e4ab2359be74d3672b 23-Mar-2013 Wink Saville <wink@google.com> Rename a few files and variables.

Change-Id: I4e90dbf57797b9485920f943e24fa7a4c29d070b
/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DcTracker.java