diff --git a/src/com/android/settings/notification/ZenModeConditionSelection.java b/src/com/android/settings/notification/ZenModeConditionSelection.java deleted file mode 100644 index 248e35e489e..00000000000 --- a/src/com/android/settings/notification/ZenModeConditionSelection.java +++ /dev/null @@ -1,165 +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.notification; - -import android.animation.LayoutTransition; -import android.app.INotificationManager; -import android.content.Context; -import android.os.Handler; -import android.os.Message; -import android.os.RemoteException; -import android.os.ServiceManager; -import android.os.UserHandle; -import android.service.notification.Condition; -import android.service.notification.IConditionListener; -import android.service.notification.ZenModeConfig; -import android.text.TextUtils; -import android.util.Log; -import android.widget.CompoundButton; -import android.widget.RadioButton; -import android.widget.RadioGroup; - -import com.android.settings.R; - -import java.util.ArrayList; -import java.util.List; - -public class ZenModeConditionSelection extends RadioGroup { - private static final String TAG = "ZenModeConditionSelection"; - private static final boolean DEBUG = true; - - private final INotificationManager mNoMan; - private final H mHandler = new H(); - private final Context mContext; - private final List mConditions; - private final int mZenMode; - - private Condition mCondition; - - public ZenModeConditionSelection(Context context, int zenMode) { - super(context); - mContext = context; - mZenMode = zenMode; - mConditions = new ArrayList(); - setLayoutTransition(new LayoutTransition()); - final int p = mContext.getResources().getDimensionPixelSize(R.dimen.content_margin_left); - setPadding(p, p, p, 0); - mNoMan = INotificationManager.Stub.asInterface( - ServiceManager.getService(Context.NOTIFICATION_SERVICE)); - final RadioButton b = newRadioButton(null); - b.setText(mContext.getString(com.android.internal.R.string.zen_mode_forever)); - b.setChecked(true); - for (int i = ZenModeConfig.MINUTE_BUCKETS.length - 1; i >= 0; --i) { - handleCondition(ZenModeConfig.toTimeCondition(mContext, - ZenModeConfig.MINUTE_BUCKETS[i], UserHandle.myUserId())); - } - } - - private RadioButton newRadioButton(Condition condition) { - final RadioButton button = new RadioButton(mContext); - button.setTag(condition); - button.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (isChecked) { - setCondition((Condition) button.getTag()); - } - } - }); - addView(button); - return button; - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - requestZenModeConditions(Condition.FLAG_RELEVANT_NOW); - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - requestZenModeConditions(0 /*none*/); - } - - protected void requestZenModeConditions(int relevance) { - if (DEBUG) Log.d(TAG, "requestZenModeConditions " + Condition.relevanceToString(relevance)); - try { - mNoMan.requestZenModeConditions(mListener, relevance); - } catch (RemoteException e) { - // noop - } - } - - protected void handleConditions(Condition[] conditions) { - for (Condition c : conditions) { - handleCondition(c); - } - } - - protected void handleCondition(Condition c) { - if (mConditions.contains(c)) return; - RadioButton v = (RadioButton) findViewWithTag(c.id); - if (c.state == Condition.STATE_TRUE || c.state == Condition.STATE_UNKNOWN) { - if (v == null) { - v = newRadioButton(c); - } - } - if (v != null) { - v.setText(computeConditionText(c)); - v.setEnabled(c.state == Condition.STATE_TRUE); - } - mConditions.add(c); - } - - protected void setCondition(Condition c) { - if (DEBUG) Log.d(TAG, "setCondition " + c); - mCondition = c; - } - - public void confirmCondition() { - if (DEBUG) Log.d(TAG, "confirmCondition " + mCondition); - try { - mNoMan.setZenMode(mZenMode, mCondition != null ? mCondition.id : null, TAG); - } catch (RemoteException e) { - // noop - } - } - - private static String computeConditionText(Condition c) { - return !TextUtils.isEmpty(c.line1) ? c.line1 - : !TextUtils.isEmpty(c.summary) ? c.summary - : ""; - } - - private final IConditionListener mListener = new IConditionListener.Stub() { - @Override - public void onConditionsReceived(Condition[] conditions) { - if (conditions == null || conditions.length == 0) return; - mHandler.obtainMessage(H.CONDITIONS, conditions).sendToTarget(); - } - }; - - private final class H extends Handler { - private static final int CONDITIONS = 1; - - @Override - public void handleMessage(Message msg) { - if (msg.what == CONDITIONS) handleConditions((Condition[]) msg.obj); - } - } -}