1/*
2 * Copyright (C) 2013 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.systemui.settings;
18
19import android.app.Activity;
20import android.os.Bundle;
21import android.view.Gravity;
22import android.view.KeyEvent;
23import android.view.Window;
24import android.view.WindowManager;
25import android.widget.ImageView;
26
27import com.android.internal.logging.MetricsLogger;
28import com.android.systemui.R;
29
30/** A dialog that provides controls for adjusting the screen brightness. */
31public class BrightnessDialog extends Activity {
32
33    private BrightnessController mBrightnessController;
34
35    @Override
36    protected void onCreate(Bundle savedInstanceState) {
37        super.onCreate(savedInstanceState);
38
39        final Window window = getWindow();
40
41        window.setGravity(Gravity.TOP);
42        window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
43        window.requestFeature(Window.FEATURE_NO_TITLE);
44
45        setContentView(R.layout.quick_settings_brightness_dialog);
46
47        final ImageView icon = (ImageView) findViewById(R.id.brightness_icon);
48        final ToggleSlider slider = (ToggleSlider) findViewById(R.id.brightness_slider);
49        mBrightnessController = new BrightnessController(this, icon, slider);
50    }
51
52    @Override
53    protected void onStart() {
54        super.onStart();
55        mBrightnessController.registerCallbacks();
56        MetricsLogger.visible(this, MetricsLogger.BRIGHTNESS_DIALOG);
57    }
58
59    @Override
60    protected void onStop() {
61        super.onStop();
62        MetricsLogger.hidden(this, MetricsLogger.BRIGHTNESS_DIALOG);
63        mBrightnessController.unregisterCallbacks();
64    }
65
66    @Override
67    public boolean onKeyDown(int keyCode, KeyEvent event) {
68        if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
69                || keyCode == KeyEvent.KEYCODE_VOLUME_UP
70                || keyCode == KeyEvent.KEYCODE_VOLUME_MUTE) {
71            finish();
72        }
73
74        return super.onKeyDown(keyCode, event);
75    }
76}
77