Loading AconfigFlags.bp +6 −1 Original line number Diff line number Diff line Loading @@ -180,6 +180,12 @@ aconfig_declarations { ], } cc_aconfig_library { name: "android_location_flags_c_lib", vendor_available: true, aconfig_declarations: "android.location.flags-aconfig", } java_aconfig_library { name: "android.location.flags-aconfig-java", aconfig_declarations: "android.location.flags-aconfig", Loading Loading @@ -256,7 +262,6 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } // OS aconfig_declarations { name: "android.os.flags-aconfig", Loading location/java/android/location/flags/gnss.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -41,3 +41,10 @@ flag { description: "Flag for GNSS configuration from resource" bug: "317734846" } flag { name: "replace_future_elapsed_realtime_jni" namespace: "location" description: "Flag for replacing future elapsedRealtime in JNI" bug: "314328533" } services/core/jni/gnss/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -68,5 +68,6 @@ cc_defaults { "android.hardware.gnss@2.1", "android.hardware.gnss.measurement_corrections@1.0", "android.hardware.gnss.visibility_control@1.0", "android_location_flags_c_lib", ], } services/core/jni/gnss/Utils.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <android/hardware/gnss/1.0/IGnss.h> #include <android/hardware/gnss/2.0/IGnss.h> #include <android_location_flags.h> #include <utils/SystemClock.h> /* * Save a pointer to JavaVm to attach/detach threads executing Loading @@ -27,6 +28,8 @@ */ JavaVM* android::ScopedJniThreadAttach::sJvm; namespace location_flags = android::location::flags; namespace android { namespace { Loading Loading @@ -194,7 +197,12 @@ jobject translateGnssLocation(JNIEnv* env, const android::hardware::gnss::GnssLo flags = static_cast<uint32_t>(location.elapsedRealtime.flags); if (flags & android::hardware::gnss::ElapsedRealtime::HAS_TIMESTAMP_NS) { if (location_flags::replace_future_elapsed_realtime_jni() && location.elapsedRealtime.timestampNs > android::elapsedRealtimeNano()) { SET(ElapsedRealtimeNanos, android::elapsedRealtimeNano()); } else { SET(ElapsedRealtimeNanos, location.elapsedRealtime.timestampNs); } } else { SET(ElapsedRealtimeNanos, android::elapsedRealtimeNano()); } Loading Loading
AconfigFlags.bp +6 −1 Original line number Diff line number Diff line Loading @@ -180,6 +180,12 @@ aconfig_declarations { ], } cc_aconfig_library { name: "android_location_flags_c_lib", vendor_available: true, aconfig_declarations: "android.location.flags-aconfig", } java_aconfig_library { name: "android.location.flags-aconfig-java", aconfig_declarations: "android.location.flags-aconfig", Loading Loading @@ -256,7 +262,6 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } // OS aconfig_declarations { name: "android.os.flags-aconfig", Loading
location/java/android/location/flags/gnss.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -41,3 +41,10 @@ flag { description: "Flag for GNSS configuration from resource" bug: "317734846" } flag { name: "replace_future_elapsed_realtime_jni" namespace: "location" description: "Flag for replacing future elapsedRealtime in JNI" bug: "314328533" }
services/core/jni/gnss/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -68,5 +68,6 @@ cc_defaults { "android.hardware.gnss@2.1", "android.hardware.gnss.measurement_corrections@1.0", "android.hardware.gnss.visibility_control@1.0", "android_location_flags_c_lib", ], }
services/core/jni/gnss/Utils.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <android/hardware/gnss/1.0/IGnss.h> #include <android/hardware/gnss/2.0/IGnss.h> #include <android_location_flags.h> #include <utils/SystemClock.h> /* * Save a pointer to JavaVm to attach/detach threads executing Loading @@ -27,6 +28,8 @@ */ JavaVM* android::ScopedJniThreadAttach::sJvm; namespace location_flags = android::location::flags; namespace android { namespace { Loading Loading @@ -194,7 +197,12 @@ jobject translateGnssLocation(JNIEnv* env, const android::hardware::gnss::GnssLo flags = static_cast<uint32_t>(location.elapsedRealtime.flags); if (flags & android::hardware::gnss::ElapsedRealtime::HAS_TIMESTAMP_NS) { if (location_flags::replace_future_elapsed_realtime_jni() && location.elapsedRealtime.timestampNs > android::elapsedRealtimeNano()) { SET(ElapsedRealtimeNanos, android::elapsedRealtimeNano()); } else { SET(ElapsedRealtimeNanos, location.elapsedRealtime.timestampNs); } } else { SET(ElapsedRealtimeNanos, android::elapsedRealtimeNano()); } Loading