Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
cordova-plugin-device-orientation
Advanced tools
With the W3C Device Orientation API, Android, iOS, and Windows devices may not need this plugin anymore.
However, on iOS 13+, potential issues with permissions and secure contexts can arise. Therefore it is recommended to use this plugin as it uses a native implementation.
This plugin provides access to the device's compass. The compass is a sensor that detects the direction or heading that the device is pointed, typically from the top of the device. It measures the heading in degrees from 0 to 359.99, where 0 is north.
Access is via a global navigator.compass
object.
Although the object is attached to the global scoped navigator
, it is not available until after the deviceready
event.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.compass);
}
Report issues on the Apache Cordova issue tracker
cordova plugin add cordova-plugin-device-orientation
Get the current compass heading. The compass heading is returned via a CompassHeading
object using the compassSuccess
callback function.
navigator.compass.getCurrentHeading(compassSuccess, compassError);
function onSuccess(heading) {
alert('Heading: ' + heading.magneticHeading);
};
function onError(error) {
alert('CompassError: ' + error.code);
};
navigator.compass.getCurrentHeading(onSuccess, onError);
Gets the device's current heading at a regular interval. Each time the heading
is retrieved, the headingSuccess
callback function is executed.
The returned watch ID references the compass watch interval. The watch
ID can be used with navigator.compass.clearWatch
to stop watching the navigator.compass.
var watchID = navigator.compass.watchHeading(compassSuccess, compassError, [compassOptions]);
compassOptions
may contain the following keys:
function onSuccess(heading) {
var element = document.getElementById('heading');
element.innerHTML = 'Heading: ' + heading.magneticHeading;
};
function onError(compassError) {
alert('Compass error: ' + compassError.code);
};
var options = {
frequency: 3000
}; // Update every 3 seconds
var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
Values for current heading are randomly generated in order to simulate the compass.
Only one watchHeading
can be in effect at one time in iOS. If a
watchHeading
uses a filter, calling getCurrentHeading
or
watchHeading
uses the existing filter value to specify heading
changes. Watching heading changes with a filter is more efficient than
with time intervals.
filter
.Stop watching the compass referenced by the watch ID parameter.
navigator.compass.clearWatch(watchID);
navigator.compass.watchHeading
.var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
// ... later on ...
navigator.compass.clearWatch(watchID);
A CompassHeading
object is returned to the compassSuccess
callback function.
magneticHeading: The heading in degrees from 0-359.99 at a single moment in time. (Number)
trueHeading: The heading relative to the geographic North Pole in degrees 0-359.99 at a single moment in time. A negative value indicates that the true heading can't be determined. (Number)
headingAccuracy: The deviation in degrees between the reported heading and the true heading. (Number)
timestamp: The time at which this heading was determined. (DOMTimeStamp)
The trueHeading
property is not supported, but reports the same value as magneticHeading
.
The headingAccuracy
property is always 0 because there is no difference between the magneticHeading
and trueHeading
.
trueHeading
property is only returned for location services enabled via navigator.geolocation.watchLocation()
.A CompassError
object is returned to the compassError
callback function when an error occurs.
CompassError.COMPASS_INTERNAL_ERR
CompassError.COMPASS_NOT_SUPPORTED
FAQs
Cordova Device Orientation Plugin
The npm package cordova-plugin-device-orientation receives a total of 638 weekly downloads. As such, cordova-plugin-device-orientation popularity was classified as not popular.
We found that cordova-plugin-device-orientation demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 19 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.