• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2015 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 package com.android.systemui.tuner;
17 
18 import android.app.AlertDialog;
19 import android.app.Dialog;
20 import android.app.DialogFragment;
21 import android.content.DialogInterface;
22 import android.database.ContentObserver;
23 import android.net.Uri;
24 import android.os.Bundle;
25 import android.os.Handler;
26 import android.provider.Settings;
27 import android.provider.Settings.System;
28 import android.support.v14.preference.PreferenceFragment;
29 import android.support.v14.preference.SwitchPreference;
30 import android.support.v7.preference.Preference;
31 import android.support.v7.preference.Preference.OnPreferenceChangeListener;
32 import android.view.Menu;
33 import android.view.MenuInflater;
34 import android.view.MenuItem;
35 
36 import com.android.internal.logging.MetricsLogger;
37 import com.android.internal.logging.MetricsProto.MetricsEvent;
38 import com.android.systemui.R;
39 
40 public class TunerFragment extends PreferenceFragment {
41 
42     private static final String TAG = "TunerFragment";
43 
44     private static final String KEY_BATTERY_PCT = "battery_pct";
45 
46     public static final String SETTING_SEEN_TUNER_WARNING = "seen_tuner_warning";
47 
48     private static final String WARNING_TAG = "tuner_warning";
49 
50     private static final int MENU_REMOVE = Menu.FIRST + 1;
51 
52     @Override
onCreate(Bundle savedInstanceState)53     public void onCreate(Bundle savedInstanceState) {
54         super.onCreate(savedInstanceState);
55 
56         setHasOptionsMenu(true);
57     }
58 
59     @Override
onActivityCreated(Bundle savedInstanceState)60     public void onActivityCreated(Bundle savedInstanceState) {
61         super.onActivityCreated(savedInstanceState);
62         getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
63     }
64 
65     @Override
onCreatePreferences(Bundle savedInstanceState, String rootKey)66     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
67         addPreferencesFromResource(R.xml.tuner_prefs);
68 
69         if (Settings.Secure.getInt(getContext().getContentResolver(), SETTING_SEEN_TUNER_WARNING,
70                 0) == 0) {
71             if (getFragmentManager().findFragmentByTag(WARNING_TAG) == null) {
72                 new TunerWarningFragment().show(getFragmentManager(), WARNING_TAG);
73             }
74         }
75     }
76 
77     @Override
onResume()78     public void onResume() {
79         super.onResume();
80         getActivity().setTitle(R.string.system_ui_tuner);
81 
82         MetricsLogger.visibility(getContext(), MetricsEvent.TUNER, true);
83     }
84 
85     @Override
onPause()86     public void onPause() {
87         super.onPause();
88 
89         MetricsLogger.visibility(getContext(), MetricsEvent.TUNER, false);
90     }
91 
92     @Override
onCreateOptionsMenu(Menu menu, MenuInflater inflater)93     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
94         menu.add(Menu.NONE, MENU_REMOVE, Menu.NONE, R.string.remove_from_settings);
95     }
96 
97     @Override
onOptionsItemSelected(MenuItem item)98     public boolean onOptionsItemSelected(MenuItem item) {
99         switch (item.getItemId()) {
100             case android.R.id.home:
101                 getActivity().finish();
102                 return true;
103             case MENU_REMOVE:
104                 TunerService.showResetRequest(getContext(), new Runnable() {
105                     @Override
106                     public void run() {
107                         getActivity().finish();
108                     }
109                 });
110                 return true;
111         }
112         return super.onOptionsItemSelected(item);
113     }
114 
115     public static class TunerWarningFragment extends DialogFragment {
116         @Override
onCreateDialog(Bundle savedInstanceState)117         public Dialog onCreateDialog(Bundle savedInstanceState) {
118             return new AlertDialog.Builder(getContext())
119                     .setTitle(R.string.tuner_warning_title)
120                     .setMessage(R.string.tuner_warning)
121                     .setPositiveButton(R.string.got_it, new DialogInterface.OnClickListener() {
122                         @Override
123                         public void onClick(DialogInterface dialog, int which) {
124                             Settings.Secure.putInt(getContext().getContentResolver(),
125                                     SETTING_SEEN_TUNER_WARNING, 1);
126                         }
127                     }).show();
128         }
129     }
130 }
131