1eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds/**
2eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds* Copyright (C) 2017 The Android Open Source Project
3eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds*
4eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds* Licensed under the Apache License, Version 2.0 (the "License");
5eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds* you may not use this file except in compliance with the License.
6eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds* You may obtain a copy of the License at
7eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds*
8eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds*      http://www.apache.org/licenses/LICENSE-2.0
9eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds*
10eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds* Unless required by applicable law or agreed to in writing, software
11eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds* distributed under the License is distributed on an "AS IS" BASIS,
12eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds* See the License for the specific language governing permissions and
14eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds* limitations under the License.
15eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds*/
16eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynoldspackage com.android.server.notification;
17eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds
18eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynoldsimport android.content.Context;
19eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynoldsimport android.util.Slog;
20eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds
21eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds/**
22eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds * Applies adjustments from the group helper and notification assistant
23eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds */
24eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynoldspublic class NotificationAdjustmentExtractor implements NotificationSignalExtractor {
25b71ce8680cc7416c39412c4a2b1b634a0346956fKweku Adams    private static final String TAG = "AdjustmentExtractor";
26eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds    private static final boolean DBG = false;
27eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds
28eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds
29eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds    public void initialize(Context ctx, NotificationUsageStats usageStats) {
30eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds        if (DBG) Slog.d(TAG, "Initializing  " + getClass().getSimpleName() + ".");
31eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds    }
32eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds
33eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds    public RankingReconsideration process(NotificationRecord record) {
34eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds        if (record == null || record.getNotification() == null) {
35eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds            if (DBG) Slog.d(TAG, "skipping empty notification");
36eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds            return null;
37eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds        }
38eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds        record.applyAdjustments();
39eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds
40eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds        return null;
41eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds    }
42eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds
43eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds    @Override
44eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds    public void setConfig(RankingConfig config) {
45eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds        // config is not used
46eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds    }
47c861a3ddbc9b6cb193e71dbb5da6162d119e2e98Julia Reynolds
48c861a3ddbc9b6cb193e71dbb5da6162d119e2e98Julia Reynolds    @Override
49c861a3ddbc9b6cb193e71dbb5da6162d119e2e98Julia Reynolds    public void setZenHelper(ZenModeHelper helper) {
50c861a3ddbc9b6cb193e71dbb5da6162d119e2e98Julia Reynolds
51c861a3ddbc9b6cb193e71dbb5da6162d119e2e98Julia Reynolds    }
52eb3dca71b5df7fdf6299a3e65eb5d6fe8cb7bcbcJulia Reynolds}
53