From 8ce107effa77111ac0e47daa4565e7421c89e66d Mon Sep 17 00:00:00 2001 From: John Spurlock Date: Wed, 26 Mar 2014 12:56:43 -0400 Subject: [PATCH] Update zen mode settings. Change-Id: I61b62dec9ddeb9314130151e397a65aed52e1af1 --- .../android/settings/ZenModeListPreference.java | 130 --------------------- src/com/android/settings/ZenModeSettings.java | 8 +- 2 files changed, 4 insertions(+), 134 deletions(-) delete mode 100644 src/com/android/settings/ZenModeListPreference.java diff --git a/src/com/android/settings/ZenModeListPreference.java b/src/com/android/settings/ZenModeListPreference.java deleted file mode 100644 index e405e0fe52..0000000000 --- a/src/com/android/settings/ZenModeListPreference.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (C) 2014 The Android Open Source 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; - -import android.content.ContentResolver; -import android.content.Context; -import android.database.ContentObserver; -import android.os.Handler; -import android.preference.ListPreference; -import android.preference.Preference; -import android.provider.Settings; -import android.util.AttributeSet; -import android.util.Log; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.ViewGroup; -import android.widget.ImageView; - -public class ZenModeListPreference extends ListPreference { - private static final String TAG = "ZenModeListPreference"; - private static final boolean DEBUG = false; - - private final Context mContext; - private final Handler mHandler = new Handler(); - private final ContentResolver mResolver; - - private ImageView mConfigure; - private int mMode; - - public ZenModeListPreference(Context context, AttributeSet attrs) { - super(context, attrs); - if (DEBUG) Log.d(TAG, "new ZenModeListPreference()"); - mContext = context; - mResolver = context.getContentResolver(); - setWidgetLayoutResource(R.layout.preference_zen_mode); - } - - public void init() { - if (DEBUG) Log.d(TAG, "init"); - loadZenModeSetting("init"); - setOnPreferenceChangeListener(new OnPreferenceChangeListener() { - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) { - if (DEBUG) Log.d(TAG, "onPreferenceChange " + newValue); - final boolean updateWithNewValue = saveZenModeSetting((String)newValue); - return updateWithNewValue; - } - }); - mResolver.registerContentObserver( - Settings.Global.getUriFor(Settings.Global.ZEN_MODE), - false, new SettingsObserver()); - } - - @Override - protected void onBindView(View view) { - if (DEBUG) Log.d(TAG, "onBindView"); - super.onBindView(view); - mConfigure = (ImageView)view.findViewById(R.id.configure_zen_mode); - updateConfigureVisibility(); - mConfigure.setOnClickListener(new OnClickListener(){ - @Override - public void onClick(View v) { - if (mMode != Settings.Global.ZEN_MODE_LIMITED) return; - if (mContext instanceof SettingsActivity) { - SettingsActivity sa = (SettingsActivity)mContext; - sa.startPreferencePanel(ZenModeSettings.class.getName(), - null, R.string.zen_mode_settings_title, null, null, 0); - } - } - }); - } - - private void updateConfigureVisibility() { - if (mConfigure != null) { - final boolean limited = mMode == Settings.Global.ZEN_MODE_LIMITED; - mConfigure.setVisibility(limited ? View.VISIBLE : View.GONE); - } - } - - private void loadZenModeSetting(String reason) { - if (DEBUG) Log.d(TAG, "loadZenModeSetting " + reason); - mMode = Settings.Global.getInt(mResolver, - Settings.Global.ZEN_MODE, Settings.Global.ZEN_MODE_OFF); - setValue(Integer.toString(mMode)); - updateConfigureVisibility(); - } - - private boolean saveZenModeSetting(String value) { - if (DEBUG) Log.d(TAG, "saveZenModeSetting " + value); - try { - final int v = Integer.valueOf(value); - checkZenMode(v); - return Settings.Global.putInt(mResolver, Settings.Global.ZEN_MODE, v); - } catch (Throwable t) { - Log.w(TAG, "Failed to update zen mode with value: " + value, t); - return false; - } - } - - private static void checkZenMode(int mode) { - if (mode < Settings.Global.ZEN_MODE_OFF || mode > Settings.Global.ZEN_MODE_FULL) { - throw new IllegalArgumentException("Invalid zen mode: " + mode); - } - } - - private final class SettingsObserver extends ContentObserver { - public SettingsObserver() { - super(mHandler); - } - - @Override - public void onChange(boolean selfChange) { - loadZenModeSetting("change"); - } - } -} diff --git a/src/com/android/settings/ZenModeSettings.java b/src/com/android/settings/ZenModeSettings.java index 15c3a5ce25..a0ce9d72cf 100644 --- a/src/com/android/settings/ZenModeSettings.java +++ b/src/com/android/settings/ZenModeSettings.java @@ -125,13 +125,13 @@ public class ZenModeSettings extends SettingsPreferenceFragment { private void addBuckets() { LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); - BucketView callView = new BucketView(android.R.drawable.ic_menu_call, "Calls", 0, - "Block all", "Starred contacts only", "Allow all"); + BucketView callView = new BucketView(android.R.drawable.ic_menu_call, "Phone Calls", 0, + "Block all", "Block all except..."); addView(callView, lp); lp.topMargin = 4; BucketView msgView = new BucketView(android.R.drawable.ic_menu_myplaces, - "Text & SMS Messages", 0, - "Block all", "Starred contacts only", "Allow all"); + "Texts, SMS, & Other Calls", 0, + "Block all", "Block all except..."); addView(msgView, lp); BucketView alarmView = new BucketView(android.R.drawable.ic_menu_agenda, "Alarms & Timers", 1, -- 2.11.0