Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3ac0cd6 authored by Daniel Nishi's avatar Daniel Nishi
Browse files

Use the upstreamed StorageStatsSource wrapper.

This was upstreamed into SettingsLib when similar wrappers
started showing up in other projects. Settings, however, was
using the non-upstreamed version.

Change-Id: Iffadb75655165d3b64a25fd7b21e5b9765cb40be
Fixes: 35680800
Test: Settings Robotests still pass despite the data swap out.
parent 182e6ce2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,6 @@ import com.android.settings.applications.AppStateInstallAppsBridge.InstallAppsSt
import com.android.settings.applications.AppStateUsageBridge.UsageState;
import com.android.settings.core.InstrumentedPreferenceFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.deviceinfo.storage.StorageStatsSource;
import com.android.settings.fuelgauge.HighPowerDetail;
import com.android.settings.fuelgauge.PowerWhitelistBackend;
import com.android.settings.notification.AppNotificationSettings;
@@ -85,6 +84,7 @@ import com.android.settingslib.applications.ApplicationsState.AppEntry;
import com.android.settingslib.applications.ApplicationsState.AppFilter;
import com.android.settingslib.applications.ApplicationsState.CompoundFilter;
import com.android.settingslib.applications.ApplicationsState.VolumeFilter;
import com.android.settingslib.applications.StorageStatsSource;

import java.util.ArrayList;
import java.util.Collections;
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ import android.text.format.Formatter;

import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.deviceinfo.storage.StorageStatsSource;
import com.android.settingslib.applications.StorageStatsSource;

/**
 * MusicViewHolderController controls an Audio/Music file view in the ManageApplications view.
+0 −90
Original line number Diff line number Diff line
/*
 * Copyright (C) 2017 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.deviceinfo.storage;

import android.app.usage.StorageStats;
import android.app.usage.StorageStatsManager;
import android.content.Context;
import android.os.UserHandle;

/**
 * StorageStatsSource wraps the StorageStatsManager for testability purposes.
 */
public class StorageStatsSource {
    private StorageStatsManager mStorageStatsManager;

    public StorageStatsSource(Context context) {
        mStorageStatsManager = context.getSystemService(StorageStatsManager.class);
    }

    public ExternalStorageStats getExternalStorageStats(String volumeUuid, UserHandle user) {
        return new ExternalStorageStats(
                mStorageStatsManager.queryExternalStatsForUser(volumeUuid, user));
    }

    public AppStorageStats getStatsForUid(String volumeUuid, int uid) {
        return new AppStorageStatsImpl(mStorageStatsManager.queryStatsForUid(volumeUuid, uid));
    }

    public static class ExternalStorageStats {
        public long totalBytes;
        public long audioBytes;
        public long videoBytes;
        public long imageBytes;

        public ExternalStorageStats(long totalBytes, long audioBytes, long videoBytes,
                long imageBytes) {
            this.totalBytes = totalBytes;
            this.audioBytes = audioBytes;
            this.videoBytes = videoBytes;
            this.imageBytes = imageBytes;
        }

        public ExternalStorageStats(android.app.usage.ExternalStorageStats stats) {
            totalBytes = stats.getTotalBytes();
            audioBytes = stats.getAudioBytes();
            videoBytes = stats.getVideoBytes();
            imageBytes = stats.getImageBytes();
        }
    }

    public interface AppStorageStats {
        long getCodeBytes();
        long getDataBytes();
        long getCacheBytes();
    }

    public static class AppStorageStatsImpl implements AppStorageStats {
        private StorageStats mStats;

        public AppStorageStatsImpl(StorageStats stats) {
            mStats = stats;
        }

        public long getCodeBytes() {
            return mStats.getCodeBytes();
        }

        public long getDataBytes() {
            return mStats.getDataBytes();
        }

        public long getCacheBytes() {
            return mStats.getCacheBytes();
        }
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -32,8 +32,8 @@ import android.view.LayoutInflater;

import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.deviceinfo.storage.StorageStatsSource;
import com.android.settingslib.deviceinfo.StorageVolumeProvider;
import com.android.settingslib.applications.StorageStatsSource;

import org.junit.Before;
import org.junit.Test;