[Catalyst] Implement get{Read,Write}Permissions for Media volume
NO_IFTTT=Catalyst only Fix: 386143376 Test: devtool Flag: com.android.settings.flags.catalyst_sound_screen Change-Id: I1909c32ae1d067b095208b4a65ad53bd7080acf1
This commit is contained in:
@@ -16,7 +16,10 @@
|
|||||||
|
|
||||||
package com.android.settings.notification
|
package com.android.settings.notification
|
||||||
|
|
||||||
|
import android.Manifest.permission.MODIFY_AUDIO_SETTINGS
|
||||||
|
import android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.content.pm.PackageManager.FEATURE_AUTOMOTIVE
|
||||||
import android.media.AudioManager.STREAM_MUSIC
|
import android.media.AudioManager.STREAM_MUSIC
|
||||||
import android.os.UserManager
|
import android.os.UserManager
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
@@ -24,6 +27,8 @@ import com.android.settings.PreferenceRestrictionMixin
|
|||||||
import com.android.settings.R
|
import com.android.settings.R
|
||||||
import com.android.settingslib.datastore.KeyValueStore
|
import com.android.settingslib.datastore.KeyValueStore
|
||||||
import com.android.settingslib.datastore.NoOpKeyedObservable
|
import com.android.settingslib.datastore.NoOpKeyedObservable
|
||||||
|
import com.android.settingslib.datastore.Permissions
|
||||||
|
import com.android.settingslib.datastore.and
|
||||||
import com.android.settingslib.metadata.PersistentPreference
|
import com.android.settingslib.metadata.PersistentPreference
|
||||||
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
|
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
|
||||||
import com.android.settingslib.metadata.PreferenceIconProvider
|
import com.android.settingslib.metadata.PreferenceIconProvider
|
||||||
@@ -77,9 +82,19 @@ open class MediaVolumePreference :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun getReadPermissions(context: Context) = Permissions.EMPTY
|
||||||
|
|
||||||
override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) =
|
override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) =
|
||||||
ReadWritePermit.ALLOW
|
ReadWritePermit.ALLOW
|
||||||
|
|
||||||
|
override fun getWritePermissions(context: Context): Permissions? {
|
||||||
|
var permissions = Permissions.allOf(MODIFY_AUDIO_SETTINGS)
|
||||||
|
if (context.packageManager.hasSystemFeature(FEATURE_AUTOMOTIVE)) {
|
||||||
|
permissions = permissions and MODIFY_AUDIO_SETTINGS_PRIVILEGED
|
||||||
|
}
|
||||||
|
return permissions
|
||||||
|
}
|
||||||
|
|
||||||
override fun getWritePermit(context: Context, value: Int?, callingPid: Int, callingUid: Int) =
|
override fun getWritePermit(context: Context, value: Int?, callingPid: Int, callingUid: Int) =
|
||||||
ReadWritePermit.ALLOW
|
ReadWritePermit.ALLOW
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user