1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file 5 * except in compliance with the License. You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software distributed under the 10 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 11 * KIND, either express or implied. See the License for the specific language governing 12 * permissions and limitations under the License. 13 */ 14 15 package com.android.systemui.privacy 16 17 import android.content.Context 18 import com.android.systemui.R 19 20 typealias Privacy = PrivacyType 21 22 enum class PrivacyType(val nameId: Int, val iconId: Int) { 23 // This is uses the icons used by the corresponding permission groups in the AndroidManifest 24 TYPE_CAMERA(R.string.privacy_type_camera, 25 com.android.internal.R.drawable.perm_group_camera), 26 TYPE_MICROPHONE(R.string.privacy_type_microphone, 27 com.android.internal.R.drawable.perm_group_microphone), 28 TYPE_LOCATION(R.string.privacy_type_location, 29 com.android.internal.R.drawable.perm_group_location); 30 getNamenull31 fun getName(context: Context) = context.resources.getString(nameId) 32 33 fun getIcon(context: Context) = context.resources.getDrawable(iconId, context.theme) 34 } 35 36 data class PrivacyItem(val privacyType: PrivacyType, val application: PrivacyApplication) 37 38 data class PrivacyApplication(val packageName: String, val uid: Int) 39