Android Library to determine Qibla direction
Add this to build.gradle
(project)
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Add this dependency to build.grdle
(module) or if you using gradle 7+ put it to setting.gradle
dependencies {
implementation 'com.github.derysudrajat:compass-qibla:1.0.0'
}
You can use this library just by add this code π₯³
CompassQibla.Builder(this)
.onDirectionChangeListener { qiblaDirection ->
qiblaDirection.isFacingQibla // boolean variable indentify if you facing qibla
qiblaDirection.compassAngle // float variable to rotate compass
qiblaDirection.needleAngle // float variable to rotate compass needle
// your awesome code here ...
}.build()
The QiblaDirection is data class variable, this is detail about it
QiblaDirection | ||
---|---|---|
Variable | Type | Description |
compassAngle | Float | a variable that can use to rotate your compass angle |
needleAngle | Float | a variable that can use to rotate your compass needle angle |
isFacingQibla | Boolean | a variable that identifies whether you are facing the Qibla or not |
Also, you can configure the permission listener π
CompassQibla.Builder(this)
.onPermissionGranted { permission ->
// handle if location permission was granted
}
.onPermissionDenied {
// handle if location permission was denied
}
.onDirectionChangeListener { qiblaDirection ->
// your awesome code here ...
}.build()
And last but not least if you wondering can I get the location address also? yes, you can! π
the Address variable is refer to android.location.Address
by android
CompassQibla.Builder(this)
.onGetLocationAddress { address ->
// handle location address result
}
.onDirectionChangeListener { qiblaDirection ->
// your awesome code here ...
}.build()
And this is the whole code that you can consume π₯
CompassQibla.Builder(this)
.onPermissionGranted { permission ->
// handle if location permission was granted
}
.onPermissionDenied {
// handle if location permission was denied
}
.onGetLocationAddress { address ->
// handle location address result
}
.onDirectionChangeListener { qiblaDirection ->
// your awesome code here ...
}.build()
Also you can check the sample app to get reference about this library
Keep chill and enjoyy πβ¨