diff --git a/device.mk b/device.mk
index 5ac198a6..dd3635a9 100644
--- a/device.mk
+++ b/device.mk
@@ -450,6 +450,10 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.fingerprint.xml:system/etc/permissions/android.hardware.fingerprint.xml
+# GPS configuration file
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf
+
# Vendor seccomp policy files for media components:
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy
diff --git a/gps.conf b/gps.conf
new file mode 100644
index 00000000..1653bcc8
--- /dev/null
+++ b/gps.conf
@@ -0,0 +1,128 @@
+#Version check for XTRA
+#DISABLE = 0
+#AUTO = 1
+#XTRA2 = 2
+#XTRA3 = 3
+XTRA_VERSION_CHECK=1
+
+# Error Estimate
+# _SET = 1
+# _CLEAR = 0
+ERR_ESTIMATE=0
+
+# NTP Server
+# NTP_SERVER=time.gpsonextra.net
+# Asia
+# NTP_SERVER=asia.pool.ntp.org
+# Europe
+# NTP_SERVER=europe.pool.ntp.org
+# North America
+NTP_SERVER=north-america.pool.ntp.org
+# If NTP_SERVER is commented NTP_SERVER=time.izatcloud.net is used
+
+# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
+# 4 - Debug, 5 - Verbose
+# If DEBUG_LEVEL is commented, Android's logging levels will be used
+DEBUG_LEVEL = 2
+
+# Intermediate position report, 1=enable, 0=disable
+INTERMEDIATE_POS=0
+
+# GPS Capabilities bit mask
+# SCHEDULING = 0x01
+# MSB = 0x02
+# MSA = 0x04
+# ON_DEMAND_TIME = 0x10
+# GEOFENCE = 0x20
+# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE
+CAPABILITIES=0x37
+
+# Accuracy threshold for intermediate positions
+# less accurate positions are ignored, 0 for passing all positions
+# ACCURACY_THRES=5000
+
+################################
+##### AGPS server settings #####
+################################
+# Bitmask of slots that are available
+# for write/install to, where 1s indicate writable,
+# and the default value is 0 where no slots
+# are writable. For example, AGPS_CERT_WRITABLE_MASK
+# of b1000001010 makes 3 slots available
+# and the remaining 7 slots unwritable.
+# AGPS_CERT_WRITABLE_MASK=0
+
+################################
+# EXTRA SETTINGS
+################################
+# NMEA provider (1=Modem Processor, 0=Application Processor)
+NMEA_PROVIDER=0
+
+# Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE)
+SGLTE_TARGET=0
+
+##################################################
+# Select technology for LPPe Control Plane
+##################################################
+# 0x1: DBH for LPPe CP
+# 0x2: WLAN AP Measurements for LPPe CP
+LPPE_CP_TECHNOLOGY = 0
+
+##################################################
+# Select technology for LPPe User Plane
+##################################################
+# 0x1: DBH for LPPe UP
+# 0x2: WLAN AP Measurements for LPPe UP
+LPPE_UP_TECHNOLOGY = 0
+
+##################################################
+# AGPS_CONFIG_INJECT
+##################################################
+# enable/disable injection of AGPS configurations:
+# SUPL_VER
+# SUPL_HOST
+# SUPL_PORT
+# SUPL_MODE
+# SUPL_ES
+# C2K_HOST
+# C2K_PORT
+# LPP_PROFILE
+# A_GLONASS_POS_PROTOCOL_SELECT
+# USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL
+# GPS_LOCK
+# 0: disable
+# 1: enable
+AGPS_CONFIG_INJECT = 1
+
+# AP Coarse Timestamp Uncertainty
+##################################################
+# default : 10
+# or as per clock uncertainty of product
+AP_TIMESTAMP_UNCERTAINTY = 10
+
+#####################################
+#DR_SYNC Pulse Availability
+#####################################
+# 0 : DR_SYNC pulse not available (default)
+# 1 : DR_SYNC pulse available
+DR_SYNC_ENABLED = 0
+
+#####################################
+#PPS Device name
+#####################################
+PPS_DEVICENAME = /dev/pps0
+
+#####################################
+#AP Clock Accuracy
+#####################################
+AP_CLOCK_PPM = 100
+
+#####################################
+#MAX ms difference to detect missing pulse
+#####################################
+MISSING_PULSE_TIME_DELTA = 900
+
+#####################################
+#Propagation time uncertainty
+#####################################
+PROPAGATION_TIME_UNCERTAINTY = 1
\ No newline at end of file
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index 23e8990c..cba4f61b 100755
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -322,24 +322,6 @@
false
-
-
- - SUPL_HOST=supl.google.com
- - SUPL_PORT=7275
- - XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra3grc.bin
- - XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra3grc.bin
- - XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra3grc.bin
- - NTP_SERVER=north-america.pool.ntp.org
- - SUPL_MODE=1
- - SUPL_VER=0x20000
- - LPP_PROFILE=0
- - NMEA_PROVIDER=0
- - A_GLONASS_POS_PROTOCOL_SELECT=0
- - ERR_ESTIMATE=0
- - INTERMEDIATE_POS=0
- - SUPL_ES=0
-
-
- "/system/framework/arm64/boot-framework.oat"