Upstream change I732234a22328a1bfcb603bb020547f543b6fd766 makes
RIL_UNSOL_DC_RT_INFO_CHANGED's responseFunction() NULL, without
protecting against it in RIL_onUnsolicitedResponse(), thus crash-
ing at least hammerhead's RIL stack upon mobile data connection.
https://android-review.googlesource.com/#/c/platform/hardware/ril/+/345950/
Change-Id: I6567019cb6daf6492a29e04cc9872e69b2ba456d
Signed-off-by: D. Andrei Măceș <Andrei.Maces@alumni.nd.edu>
(cherry picked from commit e73eafff8695ab28201acbc03a362d5b177047aa)
* All of the libsec-ril*.so libraries reference these symbols, but
Google finally dropped the non-inlined versions from libcutils with
Android 8.0. This could be handled with shims in numerous device
trees, but shim semantics and implementation aren't exactly stable
and we can handle it more cleanly here in one place.
* See LineageOS/android_system_core@103e8f560
Change-Id: I787372b739f3ace0d9cbbc33e4bffafa6876665e
* While msm8974 is not 64 bit, certain users of this libril will be
* A previous revision of this libril had 16 bytes of padding in this
struct for 64-bit platforms (due to word size and struct alignment),
but a change by me to use a long instead of a pointer and an int
broke this padding for 64-bit platforms because a long is still
just 8 bytes on 64-bit platforms, where 16 bytes is necessary
* Use two pointers as padding instead to make 64-bit great again
Change-Id: If599bdb625f7a45e083f5b30df512d12810be79b
* This is based on how it was done in cm-14.1, but redone
because the old code completely ignored signedness
* Samsung, in their stock RIL.java, reads index as an int,
sets the first 8 bits to index, the next 8 bits to call_id,
and ignores the upper 16 bytes of the int parcelled up
* This emulates that behavior here, except it only sends the
first 8 bits so that AOSP's RIL.java doesn't get confused
Change-Id: I5c78447fdef7d5fd7fc39addb970300ee1188cd1
* Sometimes, the modem is sending 1-2 extra fields with
the country mcc, which confuses ServiceStateTracker
* Drop the extra data here, instead of in our RIL class
[haggertk]: Forward port to ril-caf on lineage-15.
Change-Id: Ifbec67bb0dac271226bd8b5471deaf6a2ef33f2b
* Checking numInts and numStrings for strict equality when
we're not looping is dumb, because Samsung is notorious
for sending extra information in their RIL
* Check if there's *enough* data rather than the *exact amount*
to fix a bunch of invalid response errors
Change-Id: I14bc37240e5760b4629fcb74b64f25ad95d4fdfc
* For search, the number of strings returned for
RIL_REQUEST_QUERY_AVAILABLE_NETWORKS should be defined in the system
prop ro.ril.telephony.qan_resp_strings
Change-Id: Ie5bb8ba80c5ac93b7502da3b1bb3d2b4404ecd5e
* Samsung added an int to the end of the RIL_SMS_Response
struct in some of the variants (like vzw) but not all
* The presence of this field was discovered by examining
the stock RIL.java, which conditionally read an extra
int from the parcel, based on the device specific
CscFeature_RIL_SmsErrorClassRetry feature
* This causes SMS messages to show as "failed to send"
in the app, when they actually suceeded in sending
* Allow Samsung's custom struct and AOSP's to fix it
* Forward port to ril-caf on lineage-15.1
Change-Id: I6b3e545c2c42ab2de2ac11e93dfdf9546248080a
***** SIGNAL STRENGTH HACKS NOT PORTED YET *****
[javelinanddart]: Redo this code from 14.1 to include
the proper RIL_Call fixes, no Samsung unsol/request
handling as it was unnecessary, and a extensible way
to remap RIL unsols if necessary for the device
Change-Id: I59bad9925d141e6cefbc24d4eefdc0c79017852a
Pin critical system apps that always need to be responsive, no
mattter what:
- SystemUI for expanding the notification shade/navigation bar
- SF: Doesn't need introduction, but still gets zram'ed in certain
cases:
Total memory impact: About 5-6 MB (since regularly not all code is
loaded)
Test: Flash device with CL and make sure actions like expanding
notification shade isn't as janky under memory pressure anymore
Bug: 111132016
[aviraxp]: Original code pins the pre-odexed file of SytemUI, but we
do not dexpreopt priv-apps. So pin the SystemUI apk as well
just as what it is for camera pinning.
Change-Id: I3bc93204147502bec2e983f7ee37555294db308c
* This fixes the following error on camera-in-mediaserver devices:
E CameraService_proxy: Calling UID: 1013 doesn't match expected camera service UID!
Change-Id: I185e34e8983b286436bfc0fe36cfdf260ef78170
The files in arm/arm64 are symlinks and pinning symlinks is not
supported. Pin the target vdex file intead.
Bug: 73990433
Test: manual
Change-Id: I313e1f53487c0a21b615f65dc64c21a1ecb4b7d5
.vdex files have been added to allow pre-verified dex. The pinner
service needs to take this in account when pinning. Add pinning of
appropriate system .vdex files on 8996 targets.
Bug 33168521
Test: Tested manually by confirming pinning is successful
Change-Id: Ice2c3f0ec0b314963fb136793d9fa36ecba58490
* Pin key files into memory to prevent having to fetch from flash
after boot. Improves system performance by preventing page cache
thrash. Retrieves files from a device-specific overlay to allow
specialization.
Change-Id: I53f8227c66c44d3955422b41d623e450ec2be421
SUPL_ES=1 ensures the GnssLocationProvider and related framework code
accepts incoming SMS SUPL_INIT messages with ES-bit=1
(which allow redirection of the ESLP
end-point e.g. to the current local emergency services provider when
you are travelling) only during an emergency call
Bug: 115331218
Bug: 112159033
Test: Build pass
Change-Id: I5075f7887a184ce18bb1815b35a2ce7acd8bca10
Testing response times to time.android.com from around the globe reveals
in ms:-
Europe <30
Middle East <68
North America <150
Johannesburg 183
Buenos Aires 220
Tokyo 226
Sydney 276
Hong Kong 285
Brisbane 295
Mumbai 349
Beijing 4691
Shanghai 4906
Russia n/a
Whilst time.android.com is NOT used for GPS NTP, North American time servers
are, by specifying north-america.pool.ntp.org as default in the framework,
to align with pixel devices. I am assuming similar response times to these
servers from around the world.
Great for North America and it appears Europe but it does not address the
global issue. Also, the pool.ntp.org project forbids both hardware and
software vendors from using these default zone names.
http://www.pool.ntp.org/en/vendors.html
It makes sense, therefore, to leverage the ntp.org's existing 'android' vendor
name to make the default ntp server for GPS purposes:
1.android.pool.ntp.org this will return a random but accurate NTP server in
close geopraphic proximity to the device.
Testing on my own build in the UK seems to improve hot and cold TTFF
considerably.
Change-Id: I144af45757efa35b32daf034eece6e046d2bde79
* These should be set appropriately by carrier, and should already be
at the correct values by default in packages/apps/CarrierConfig
Change-Id: I433b110570c2b79b15076dadf58777e0289e347a
Add a device-specific SunlightEnhancement CMHW class.
In addition to enabling outdoor mode, crank the display brightness
up, allowing for much better visibility in bright sunlight.
Change-Id: I6a87d438a0aecd9e068de932d4133e69e0563cf8
* XTRA_SERVERs are important, right? Like to get the almanac data
necessary for aGPS. Without the XTRA download, the chip needs to
collect sufficient navigation messages from the birds to compute
where they are in order to make sense of the ranging signals.
* Well, it seems that O doesn't like reading these entries from the
gps.conf file.
When in gps.conf:
GpsXtraDownloader: No XTRA servers were specified in the GPS configuration
When in overlay:
<that noise doesn't exist>
* This seems to, finally, return GPS fix performance to what we had
in N.
Change-Id: I70679835ec5dea053c5aa3750acee628906d6390
[haggertk]:
* During bring-up of O, GPS was exhibiting different behavior from
N -- an appropriate number of satellites would immediately lock,
but a fix would not resolve for 30-90 seconds. Digging up this
change from the L-era allows GPS to resolve a fix in a nominal
amount of time.
Change-Id: If9fd67483fedee915d46f7b9d2a7e0851400de3c
The current logging macro always uses LOGE, which is
confusing to external developer looking at our logs.
Also changed LOC_LOGx definition to follow the same
syntax as that of LOC_LOGX.
Bug: 29499503
Change-Id: I803233a9d0b241bf9aeb2ee0d4bd2e7cc52ed75b
CRs-Fixed: 1113702
Explicitly add liblog as dependency for modules that use Android
logging. Also remove obsolete build flag.
Change-Id: I91a458b44ff34c91a8f6875f5c3e931f620c613a
Removing statement to set LOCAL_CLANG flag explicity to
true. It will be true by default.
Change-Id: I2eaba5a89e64088e3383b962dceaaa7e975e997a
CRs-Fixed: 989476