[Catalyst] Update SettingsService

Bug: 373895596
Flag: com.android.settings.flags.catalyst_service
Test: Manual
Change-Id: I64d0b7bac3415894a8478fafe09b5f5d1a0ebb51
This commit is contained in:
Jacky Wang
2024-11-13 07:43:40 +08:00
parent b29b9b1b11
commit 9a8fe4107d

View File

@@ -16,15 +16,31 @@
package com.android.settings
import android.app.Application
import android.content.Intent
import android.os.IBinder
import com.android.settings.flags.Flags
import com.android.settingslib.graph.PreferenceSetterRequest
import com.android.settingslib.ipc.ApiPermissionChecker
import com.android.settingslib.service.PreferenceService
/** Service to expose settings APIs. */
class SettingsService : PreferenceService({ _, _, _ -> true }) {
class SettingsService :
PreferenceService(
graphPermissionChecker = ApiPermissionChecker.alwaysAllow(),
setterPermissionChecker = SetterPermissionChecker(),
) {
override fun onBind(intent: Intent): IBinder? {
return if (!Flags.catalystService()) null else super.onBind(intent)
}
override fun onBind(intent: Intent) =
if (Flags.catalystService()) super.onBind(intent) else null
}
/** Permission checker for external setter API. */
private class SetterPermissionChecker : ApiPermissionChecker<PreferenceSetterRequest> {
override fun hasPermission(
application: Application,
myUid: Int,
callingUid: Int,
request: PreferenceSetterRequest,
) = true
}