Loading res/layout/dialog_profiles_brightness_override.xml 0 → 100644 +34 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- 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. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_horizontal"> <CheckBox android:id="@+id/checkbox" android:text="@string/profile_brightness_override_checkbox_label" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="20dip" /> <SeekBar android:id="@+id/seekbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="20dip" /> </LinearLayout> res/values/cm_strings.xml +5 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,11 @@ <string name="profile_lockmode_disabled_summary">Disable lock screen</string> <string name="profile_airplanemode_title">Airplane mode</string> <string name="profile_brightness_title">Screen brightness</string> <string name="profile_brightness_override_summary">Set to %1$d%%</string> <string name="profile_brightness_override_checkbox_label">Override brightness</string> <!-- Connection override toggles (not all are used at this time ) --> <string name="toggleWifi">Wi\u2011Fi</string> <string name="toggleWifiAp">Portable Wi\u2011Fi hotspot</string> Loading src/com/android/settings/profiles/SetupActionsFragment.java +50 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -71,6 +72,7 @@ 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.AppGroupItem; 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; Loading Loading @@ -208,6 +210,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())); // app groups if (SettingsActivity.showAdvancedPreferences(getActivity())) { Loading Loading @@ -746,6 +749,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); Loading Loading @@ -868,6 +915,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) { Loading src/com/android/settings/profiles/actions/ItemListAdapter.java +2 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,8 @@ public class ItemListAdapter extends ArrayAdapter<Item> { AIRPLANEMODE_ITEM, LOCKSCREENMODE_ITEM, TRIGGER_ITEM, APP_GROUP_ITEM APP_GROUP_ITEM, BRIGHTNESS_ITEM } public ItemListAdapter(Context context, List<Item> items) { Loading src/com/android/settings/profiles/actions/item/BrightnessItem.java 0 → 100644 +77 −0 Original line number Diff line number Diff line /* * 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; } } Loading
res/layout/dialog_profiles_brightness_override.xml 0 → 100644 +34 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- 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. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_horizontal"> <CheckBox android:id="@+id/checkbox" android:text="@string/profile_brightness_override_checkbox_label" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="20dip" /> <SeekBar android:id="@+id/seekbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="20dip" /> </LinearLayout>
res/values/cm_strings.xml +5 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,11 @@ <string name="profile_lockmode_disabled_summary">Disable lock screen</string> <string name="profile_airplanemode_title">Airplane mode</string> <string name="profile_brightness_title">Screen brightness</string> <string name="profile_brightness_override_summary">Set to %1$d%%</string> <string name="profile_brightness_override_checkbox_label">Override brightness</string> <!-- Connection override toggles (not all are used at this time ) --> <string name="toggleWifi">Wi\u2011Fi</string> <string name="toggleWifiAp">Portable Wi\u2011Fi hotspot</string> Loading
src/com/android/settings/profiles/SetupActionsFragment.java +50 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -71,6 +72,7 @@ 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.AppGroupItem; 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; Loading Loading @@ -208,6 +210,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())); // app groups if (SettingsActivity.showAdvancedPreferences(getActivity())) { Loading Loading @@ -746,6 +749,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); Loading Loading @@ -868,6 +915,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) { Loading
src/com/android/settings/profiles/actions/ItemListAdapter.java +2 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,8 @@ public class ItemListAdapter extends ArrayAdapter<Item> { AIRPLANEMODE_ITEM, LOCKSCREENMODE_ITEM, TRIGGER_ITEM, APP_GROUP_ITEM APP_GROUP_ITEM, BRIGHTNESS_ITEM } public ItemListAdapter(Context context, List<Item> items) { Loading
src/com/android/settings/profiles/actions/item/BrightnessItem.java 0 → 100644 +77 −0 Original line number Diff line number Diff line /* * 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; } }