summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/sensorprivacy/SensorUseDialog.kt
blob: 71c5fad5322eba47ff10340c449254cb44adc732 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package com.android.systemui.sensorprivacy

import android.content.Context
import android.content.DialogInterface
import android.content.res.Resources
import android.text.Html
import android.view.LayoutInflater
import android.view.View
import android.view.WindowManager
import android.widget.ImageView
import com.android.internal.widget.DialogTitle
import com.android.systemui.R
import com.android.systemui.statusbar.phone.SystemUIDialog

class SensorUseDialog(
    context: Context,
    val sensor: Int,
    val clickListener: DialogInterface.OnClickListener,
    val dismissListener: DialogInterface.OnDismissListener
) : SystemUIDialog(context) {

    // TODO move to onCreate (b/200815309)
    init {
        window!!.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED)
        window!!.addSystemFlags(
                WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS)

        val layoutInflater = LayoutInflater.from(context)
        val customTitleView = layoutInflater.inflate(R.layout.sensor_use_started_title, null)
        customTitleView.requireViewById<DialogTitle>(R.id.sensor_use_started_title_message)
                .setText(when (sensor) {
                    SensorUseStartedActivity.MICROPHONE ->
                        R.string.sensor_privacy_start_use_mic_dialog_title
                    SensorUseStartedActivity.CAMERA ->
                        R.string.sensor_privacy_start_use_camera_dialog_title
                    SensorUseStartedActivity.ALL_SENSORS ->
                        R.string.sensor_privacy_start_use_mic_camera_dialog_title
                    else -> Resources.ID_NULL
                })
        customTitleView.requireViewById<ImageView>(R.id.sensor_use_microphone_icon).visibility =
                if (sensor == SensorUseStartedActivity.MICROPHONE ||
                        sensor == SensorUseStartedActivity.ALL_SENSORS) {
                    View.VISIBLE
                } else {
                    View.GONE
                }
        customTitleView.requireViewById<ImageView>(R.id.sensor_use_camera_icon).visibility =
                if (sensor == SensorUseStartedActivity.CAMERA ||
                        sensor == SensorUseStartedActivity.ALL_SENSORS) {
                    View.VISIBLE
                } else {
                    View.GONE
                }

        setCustomTitle(customTitleView)
        setMessage(Html.fromHtml(context.getString(when (sensor) {
            SensorUseStartedActivity.MICROPHONE ->
                R.string.sensor_privacy_start_use_mic_dialog_content
            SensorUseStartedActivity.CAMERA ->
                R.string.sensor_privacy_start_use_camera_dialog_content
            SensorUseStartedActivity.ALL_SENSORS ->
                R.string.sensor_privacy_start_use_mic_camera_dialog_content
            else -> Resources.ID_NULL
        }), 0))

        setButton(BUTTON_POSITIVE,
                context.getString(com.android.internal.R.string
                        .sensor_privacy_start_use_dialog_turn_on_button), clickListener)
        setButton(BUTTON_NEGATIVE,
                context.getString(com.android.internal.R.string
                        .cancel), clickListener)

        setOnDismissListener(dismissListener)

        setCancelable(false)
    }
}