@@ -89,7 +89,6 @@ public AccessState GetCurrentStatus(GpsRequest request)
89
89
protected virtual List < string > GetPermissionSet ( GpsRequest request )
90
90
{
91
91
var realtime = request . BackgroundMode == GpsBackgroundMode . Realtime ;
92
- var requestBg = false ;
93
92
var permissionSet = new List < string > { P . AccessCoarseLocation } ;
94
93
if ( request . Accuracy > GpsAccuracy . Low )
95
94
permissionSet . Add ( P . AccessFineLocation ) ;
@@ -98,26 +97,24 @@ protected virtual List<string> GetPermissionSet(GpsRequest request)
98
97
{
99
98
case GpsBackgroundMode . Standard :
100
99
// just always request BG
101
- requestBg = ! realtime && OperatingSystem . IsAndroidVersionAtLeast ( 29 ) ;
100
+ if ( OperatingSystemShim . IsAndroidVersionAtLeast ( 29 ) )
101
+ permissionSet . Add ( P . AccessBackgroundLocation ) ;
102
102
break ;
103
103
104
104
case GpsBackgroundMode . Realtime :
105
105
// just always request BG
106
- requestBg = ! realtime && OperatingSystem . IsAndroidVersionAtLeast ( 29 ) ;
107
-
108
- if ( OperatingSystem . IsAndroidVersionAtLeast ( 31 ) )
106
+ if ( OperatingSystemShim . IsAndroidVersionAtLeast ( 31 ) )
109
107
permissionSet . Add ( P . ForegroundService ) ;
108
+ else
109
+ permissionSet . Add ( P . AccessBackgroundLocation ) ;
110
110
111
- if ( OperatingSystem . IsAndroidVersionAtLeast ( 33 ) )
111
+ if ( OperatingSystemShim . IsAndroidVersionAtLeast ( 33 ) )
112
112
permissionSet . Add ( P . PostNotifications ) ;
113
113
114
114
if ( OperatingSystem . IsAndroidVersionAtLeast ( 34 ) )
115
115
permissionSet . Add ( P . ForegroundServiceLocation ) ;
116
116
break ;
117
117
}
118
- if ( requestBg && OperatingSystem . IsAndroidVersionAtLeast ( 29 ) )
119
- permissionSet . Add ( P . AccessBackgroundLocation ) ;
120
-
121
118
return permissionSet ;
122
119
}
123
120
0 commit comments