android: specify whether or not receivers are exported (#579)

Per https://developer.android.com/about/versions/14/behavior-changes-14#runtime-receivers-exported, we need to register all receivers.

Fixes tailscale/corp#25021

Signed-off-by: kari-ts <kari@tailscale.com>
pull/580/head
kari-ts 1 year ago committed by GitHub
parent f96b6328df
commit 38abb03168
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -99,6 +99,14 @@
</intent-filter>
</receiver>
<receiver
android:name=".MDMSettingsChangedReceiver"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" />
</intent-filter>
</receiver>
<service
android:name=".IPNService"
android:exported="false"

@ -461,7 +461,7 @@ open class UninitializedApp : Application() {
// Register the receiver before stopping VPN
val intentFilter = IntentFilter(IPNService.ACTION_STOP_VPN)
this.registerReceiver(stopReceiver, intentFilter)
this.registerReceiver(stopReceiver, intentFilter, Context.RECEIVER_NOT_EXPORTED)
stopVPN()
}

@ -12,7 +12,7 @@ import com.tailscale.ipn.util.TSLog
class MDMSettingsChangedReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
if (intent?.action == android.content.Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED) {
if (intent?.action == Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED) {
TSLog.d("syspolicy", "MDM settings changed")
val restrictionsManager = context?.getSystemService(Context.RESTRICTIONS_SERVICE) as RestrictionsManager
MDMSettings.update(App.get(), restrictionsManager)

Loading…
Cancel
Save