blob: 0e5c8c105df838f26121af7a44f0012f2ec8d96f [file] [log] [blame]
Jason Monkaa573e92017-01-27 17:00:29 -05001/*
2 * Copyright (C) 2017 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
5 * except in compliance with the License. You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software distributed under the
10 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
11 * KIND, either express or implied. See the License for the specific language governing
12 * permissions and limitations under the License.
13 */
14
15package com.android.systemui.statusbar.policy;
16
17import android.content.res.Configuration;
18
19import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener;
20
21/**
22 * Common listener for configuration or subsets of configuration changes (like density or
23 * font scaling), providing easy static dependence on these events.
24 */
25public interface ConfigurationController extends CallbackController<ConfigurationListener> {
26
Jason Monke59dc402018-08-16 12:05:01 -040027 public void notifyThemeChanged();
28
Jason Monkaa573e92017-01-27 17:00:29 -050029 interface ConfigurationListener {
30 default void onConfigChanged(Configuration newConfig) {}
31 default void onDensityOrFontScaleChanged() {}
Lucas Dupin987f1932017-05-13 21:02:52 -070032 default void onOverlayChanged() {}
Lucas Dupin40ec6b782018-06-05 19:07:16 -070033 default void onUiModeChanged() {}
Jason Monke59dc402018-08-16 12:05:01 -040034 default void onThemeChanged() {}
Lucas Dupind2ddb442017-07-11 12:10:56 -070035 default void onLocaleListChanged() {}
Jason Monkaa573e92017-01-27 17:00:29 -050036 }
37}