1 package com.android.systemui.sensorprivacy 2 3 import android.content.Context 4 import android.content.DialogInterface 5 import android.content.res.Resources 6 import android.text.Html 7 import android.view.LayoutInflater 8 import android.view.View 9 import android.view.WindowManager 10 import android.widget.ImageView 11 import com.android.internal.widget.DialogTitle 12 import com.android.systemui.res.R 13 import com.android.systemui.statusbar.phone.SystemUIDialog 14 15 class SensorUseDialog( 16 context: Context, 17 val sensor: Int, 18 val clickListener: DialogInterface.OnClickListener, 19 val dismissListener: DialogInterface.OnDismissListener 20 ) : SystemUIDialog(context) { 21 22 // TODO move to onCreate (b/200815309) 23 init { 24 window!!.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED) 25 window!!.addSystemFlags( 26 WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS) 27 28 val layoutInflater = LayoutInflater.from(context) 29 val customTitleView = layoutInflater.inflate(R.layout.sensor_use_started_title, null) 30 customTitleView.requireViewById<DialogTitle>(R.id.sensor_use_started_title_message) 31 .setText(when (sensor) { 32 SensorUseStartedActivity.MICROPHONE -> 33 R.string.sensor_privacy_start_use_mic_dialog_title 34 SensorUseStartedActivity.CAMERA -> 35 R.string.sensor_privacy_start_use_camera_dialog_title 36 SensorUseStartedActivity.ALL_SENSORS -> 37 R.string.sensor_privacy_start_use_mic_camera_dialog_title 38 else -> Resources.ID_NULL 39 }) 40 customTitleView.requireViewById<ImageView>(R.id.sensor_use_microphone_icon).visibility = 41 if (sensor == SensorUseStartedActivity.MICROPHONE || 42 sensor == SensorUseStartedActivity.ALL_SENSORS) { 43 View.VISIBLE 44 } else { 45 View.GONE 46 } 47 customTitleView.requireViewById<ImageView>(R.id.sensor_use_camera_icon).visibility = 48 if (sensor == SensorUseStartedActivity.CAMERA || 49 sensor == SensorUseStartedActivity.ALL_SENSORS) { 50 View.VISIBLE 51 } else { 52 View.GONE 53 } 54 55 setCustomTitle(customTitleView) 56 setMessage(Html.fromHtml(context.getString(when (sensor) { 57 SensorUseStartedActivity.MICROPHONE -> 58 R.string.sensor_privacy_start_use_mic_dialog_content 59 SensorUseStartedActivity.CAMERA -> 60 R.string.sensor_privacy_start_use_camera_dialog_content 61 SensorUseStartedActivity.ALL_SENSORS -> 62 R.string.sensor_privacy_start_use_mic_camera_dialog_content 63 else -> Resources.ID_NULL 64 }), 0)) 65 66 setButton(BUTTON_POSITIVE, 67 context.getString(com.android.internal.R.string 68 .sensor_privacy_start_use_dialog_turn_on_button), clickListener) 69 setButton(BUTTON_NEGATIVE, 70 context.getString(com.android.internal.R.string 71 .cancel), clickListener) 72 73 setOnDismissListener(dismissListener) 74 75 setCancelable(false) 76 } 77 } 78