1af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock/* 2af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * Copyright (C) 2014 The Android Open Source Project 3af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * 4af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * Licensed under the Apache License, Version 2.0 (the "License"); 5af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * you may not use this file except in compliance with the License. 6af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * You may obtain a copy of the License at 7af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * 8af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * http://www.apache.org/licenses/LICENSE-2.0 9af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * 10af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * Unless required by applicable law or agreed to in writing, software 11af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * distributed under the License is distributed on an "AS IS" BASIS, 12af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * See the License for the specific language governing permissions and 14af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * limitations under the License. 15af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock */ 16af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock 17af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlockpackage com.android.systemui.statusbar.policy; 18af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock 19b4782526f5600d9759baac64b23e0c0cd05e2050John Spurlockimport android.content.ComponentName; 20b2278d65714c0dd0a6f94d1913db1ebc8bfc8b06John Spurlockimport android.net.Uri; 21af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlockimport android.service.notification.Condition; 22b2278d65714c0dd0a6f94d1913db1ebc8bfc8b06John Spurlockimport android.service.notification.ZenModeConfig; 23b2278d65714c0dd0a6f94d1913db1ebc8bfc8b06John Spurlockimport android.service.notification.ZenModeConfig.ZenRule; 24af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock 258852905b0b3837e326127c6dfef6f699124ce715Jason Monkimport com.android.systemui.statusbar.policy.ZenModeController.Callback; 268852905b0b3837e326127c6dfef6f699124ce715Jason Monk 278852905b0b3837e326127c6dfef6f699124ce715Jason Monkpublic interface ZenModeController extends CallbackController<Callback> { 28b2278d65714c0dd0a6f94d1913db1ebc8bfc8b06John Spurlock void setZen(int zen, Uri conditionId, String reason); 29ae641c9ccd3f81214cee54a5f13804f1765187adJohn Spurlock int getZen(); 30b2278d65714c0dd0a6f94d1913db1ebc8bfc8b06John Spurlock ZenRule getManualRule(); 31b2278d65714c0dd0a6f94d1913db1ebc8bfc8b06John Spurlock ZenModeConfig getConfig(); 3289f060a1e0fa48c497855d061b5c9ec44bb576c8John Spurlock long getNextAlarm(); 3345601d6b64f2117b0bee1d23d55d420bbf273c5cJohn Spurlock boolean isZenAvailable(); 34b4782526f5600d9759baac64b23e0c0cd05e2050John Spurlock ComponentName getEffectsSuppressor(); 35ad680d46be19cbee16d42cbed4d2ed250648ac0bJohn Spurlock boolean isCountdownConditionSupported(); 36d9c75dba75ad4742dbaadc34db99d2b76cebca91John Spurlock int getCurrentUser(); 37f0a60dd2060148e5f7fc915d5ad9c313c0626a79Jason Monk boolean isVolumeRestricted(); 38af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock 39aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk public static interface Callback { 40aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk default void onZenChanged(int zen) {} 41aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk default void onConditionsChanged(Condition[] conditions) {} 42aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk default void onNextAlarmChanged() {} 43aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk default void onZenAvailableChanged(boolean available) {} 44aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk default void onEffectsSupressorChanged() {} 45aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk default void onManualRuleChanged(ZenRule rule) {} 46aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk default void onConfigChanged(ZenModeConfig config) {} 47af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock } 48d9c75dba75ad4742dbaadc34db99d2b76cebca91John Spurlock 49af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock}