| /* |
| * Copyright (C) 2016 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.datausage; |
| |
| import com.android.settings.applications.AppStateBaseBridge; |
| import com.android.settingslib.applications.ApplicationsState; |
| import com.android.settingslib.applications.ApplicationsState.AppEntry; |
| |
| import java.util.ArrayList; |
| |
| public class AppStateDataUsageBridge extends AppStateBaseBridge { |
| |
| private static final String TAG = "AppStateDataUsageBridge"; |
| |
| private final DataSaverBackend mDataSaverBackend; |
| |
| public AppStateDataUsageBridge(ApplicationsState appState, Callback callback, |
| DataSaverBackend backend) { |
| super(appState, callback); |
| mDataSaverBackend = backend; |
| } |
| |
| @Override |
| protected void loadAllExtraInfo() { |
| ArrayList<AppEntry> apps = mAppSession.getAllApps(); |
| final int N = apps.size(); |
| for (int i = 0; i < N; i++) { |
| AppEntry app = apps.get(i); |
| app.extraInfo = new DataUsageState(mDataSaverBackend.isAllowlisted(app.info.uid), |
| mDataSaverBackend.isDenylisted(app.info.uid)); |
| } |
| } |
| |
| @Override |
| protected void updateExtraInfo(AppEntry app, String pkg, int uid) { |
| app.extraInfo = new DataUsageState(mDataSaverBackend.isAllowlisted(uid), |
| mDataSaverBackend.isDenylisted(uid)); |
| } |
| |
| public static class DataUsageState { |
| public boolean isDataSaverAllowlisted; |
| public boolean isDataSaverDenylisted; |
| |
| public DataUsageState(boolean isDataSaverAllowlisted, boolean isDataSaverDenylisted) { |
| this.isDataSaverAllowlisted = isDataSaverAllowlisted; |
| this.isDataSaverDenylisted = isDataSaverDenylisted; |
| } |
| } |
| } |