summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/profiles
diff options
context:
space:
mode:
authorheydabop <heydabop@gmail.com>2015-03-31 14:59:03 -0500
committerAdnan Begovic <adnan@cyngn.com>2015-10-26 16:11:15 -0700
commit2676b7b1d2cd4aa73bb76a6a033a26fad27e3d1a (patch)
treeb9a05c21fa0a64dddb631bf692e63d7a72eb2491 /src/com/android/settings/profiles
parent9ac1e31e2f15b2d00e1eceff0537becfe2a655e3 (diff)
downloadpackages_apps_Settings-2676b7b1d2cd4aa73bb76a6a033a26fad27e3d1a.zip
packages_apps_Settings-2676b7b1d2cd4aa73bb76a6a033a26fad27e3d1a.tar.gz
packages_apps_Settings-2676b7b1d2cd4aa73bb76a6a033a26fad27e3d1a.tar.bz2
Add brightness settings to Profiles (1/2)
Change-Id: I7d76b49c134db6b61ed84e33f6897d90a16db630 (cherry picked from commit f5c90803094bd4432fd181ae8189b1d5718b44a7)
Diffstat (limited to 'src/com/android/settings/profiles')
-rw-r--r--src/com/android/settings/profiles/SetupActionsFragment.java50
-rw-r--r--src/com/android/settings/profiles/actions/ItemListAdapter.java3
-rw-r--r--src/com/android/settings/profiles/actions/item/BrightnessItem.java77
3 files changed, 129 insertions, 1 deletions
diff --git a/src/com/android/settings/profiles/SetupActionsFragment.java b/src/com/android/settings/profiles/SetupActionsFragment.java
index 6f3edb2..baa901e 100644
--- a/src/com/android/settings/profiles/SetupActionsFragment.java
+++ b/src/com/android/settings/profiles/SetupActionsFragment.java
@@ -18,6 +18,7 @@ package com.android.settings.profiles;
import android.app.Activity;
import android.app.AirplaneModeSettings;
import android.app.AlertDialog;
+import android.app.BrightnessSettings;
import android.app.ConnectionSettings;
import android.app.Dialog;
import android.app.Fragment;
@@ -67,6 +68,7 @@ import com.android.settings.cyanogenmod.DeviceUtils;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.profiles.actions.ItemListAdapter;
import com.android.settings.profiles.actions.item.AirplaneModeItem;
+import com.android.settings.profiles.actions.item.BrightnessItem;
import com.android.settings.profiles.actions.item.ConnectionOverrideItem;
import com.android.settings.profiles.actions.item.Header;
import com.android.settings.profiles.actions.item.Item;
@@ -204,6 +206,7 @@ public class SetupActionsFragment extends SettingsPreferenceFragment
mItems.add(new RingModeItem(mProfile.getRingMode()));
mItems.add(new AirplaneModeItem(mProfile.getAirplaneMode()));
mItems.add(new LockModeItem(mProfile));
+ mItems.add(new BrightnessItem(mProfile.getBrightness()));
mAdapter.notifyDataSetChanged();
}
@@ -710,6 +713,50 @@ public class SetupActionsFragment extends SettingsPreferenceFragment
builder.show();
}
+ public void requestBrightnessDialog(final BrightnessSettings brightnessSettings) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ builder.setTitle(R.string.profile_brightness_title);
+
+ final LayoutInflater inflater = LayoutInflater.from(getActivity());
+ final View view = inflater.inflate(R.layout.dialog_profiles_brightness_override, null);
+ final SeekBar seekBar = (SeekBar) view.findViewById(R.id.seekbar);
+ final CheckBox override = (CheckBox) view.findViewById(R.id.checkbox);
+ override.setChecked(brightnessSettings.isOverride());
+ override.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ brightnessSettings.setOverride(isChecked);
+ seekBar.setEnabled(isChecked);
+
+ mProfile.setBrightness(brightnessSettings);
+ mAdapter.notifyDataSetChanged();
+ updateProfile();
+ }
+ });
+ seekBar.setEnabled(brightnessSettings.isOverride());
+ seekBar.setMax(255);
+ seekBar.setProgress(brightnessSettings.getValue());
+ builder.setView(view);
+ builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ int value = seekBar.getProgress();
+ brightnessSettings.setValue(value);
+ mProfile.setBrightness(brightnessSettings);
+ mAdapter.notifyDataSetChanged();
+ updateProfile();
+ dialog.dismiss();
+ }
+ });
+ builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ }
+ });
+ builder.show();
+ }
+
private void requestProfileName() {
LayoutInflater inflater = LayoutInflater.from(getActivity());
View dialogView = inflater.inflate(R.layout.profile_name_dialog, null);
@@ -801,6 +848,9 @@ public class SetupActionsFragment extends SettingsPreferenceFragment
if (itemAtPosition instanceof AirplaneModeItem) {
AirplaneModeItem item = (AirplaneModeItem) itemAtPosition;
requestAirplaneModeDialog(item.getSettings());
+ } else if (itemAtPosition instanceof BrightnessItem) {
+ BrightnessItem item = (BrightnessItem) itemAtPosition;
+ requestBrightnessDialog(item.getSettings());
} else if (itemAtPosition instanceof LockModeItem) {
requestLockscreenModeDialog();
} else if (itemAtPosition instanceof RingModeItem) {
diff --git a/src/com/android/settings/profiles/actions/ItemListAdapter.java b/src/com/android/settings/profiles/actions/ItemListAdapter.java
index 793f28b..5da7532 100644
--- a/src/com/android/settings/profiles/actions/ItemListAdapter.java
+++ b/src/com/android/settings/profiles/actions/ItemListAdapter.java
@@ -35,7 +35,8 @@ public class ItemListAdapter extends ArrayAdapter<Item> {
RINGMODE_ITEM,
AIRPLANEMODE_ITEM,
LOCKSCREENMODE_ITEM,
- TRIGGER_ITEM
+ TRIGGER_ITEM,
+ BRIGHTNESS_ITEM
}
public ItemListAdapter(Context context, List<Item> items) {
diff --git a/src/com/android/settings/profiles/actions/item/BrightnessItem.java b/src/com/android/settings/profiles/actions/item/BrightnessItem.java
new file mode 100644
index 0000000..2792eff
--- /dev/null
+++ b/src/com/android/settings/profiles/actions/item/BrightnessItem.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2015 The CyanogenMod Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.profiles.actions.item;
+
+import android.app.BrightnessSettings;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+import com.android.settings.R;
+import com.android.settings.profiles.actions.ItemListAdapter;
+
+public class BrightnessItem implements Item {
+ BrightnessSettings mSettings;
+
+ public BrightnessItem(BrightnessSettings brightnessSettings) {
+ if (brightnessSettings == null) {
+ brightnessSettings = new BrightnessSettings();
+ }
+ mSettings = brightnessSettings;
+ }
+
+ @Override
+ public ItemListAdapter.RowType getRowType() {
+ return ItemListAdapter.RowType.BRIGHTNESS_ITEM;
+ }
+
+ @Override
+ public boolean isEnabled() {
+ return true;
+ }
+
+ @Override
+ public View getView(LayoutInflater inflater, View convertView, ViewGroup parent) {
+ View view;
+ if (convertView == null) {
+ view = inflater.inflate(R.layout.list_two_line_item, parent, false);
+ // Do some initialization
+ } else {
+ view = convertView;
+ }
+
+ TextView text = (TextView) view.findViewById(R.id.title);
+ text.setText(R.string.profile_brightness_title);
+
+ Context context = inflater.getContext();
+ TextView desc = (TextView) view.findViewById(R.id.summary);
+ if (mSettings.isOverride()) {
+ desc.setText(context.getResources().getString(
+ R.string.profile_brightness_override_summary,
+ (int)((mSettings.getValue() * 100f)/255)));
+ } else {
+ desc.setText(context.getString(R.string.profile_action_none));
+ }
+
+ return view;
+ }
+
+ public BrightnessSettings getSettings() {
+ return mSettings;
+ }
+
+}