Search in sources :

Example 1 with UidDetailProvider

use of com.android.settingslib.net.UidDetailProvider in project android_packages_apps_Settings by LineageOS.

the class DataUsageList method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final Context context = getActivity();
    if (!isBandwidthControlEnabled()) {
        Log.w(TAG, "No bandwidth control; leaving");
        getActivity().finish();
    }
    try {
        mStatsSession = services.mStatsService.openSession();
    } catch (RemoteException e) {
        throw new RuntimeException(e);
    }
    mUidDetailProvider = new UidDetailProvider(context);
    addPreferencesFromResource(R.xml.data_usage_list);
    mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
    mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA);
    mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP);
    final Bundle args = getArguments();
    mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
    mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE);
}
Also used : Context(android.content.Context) Bundle(android.os.Bundle) RemoteException(android.os.RemoteException) UidDetailProvider(com.android.settingslib.net.UidDetailProvider)

Example 2 with UidDetailProvider

use of com.android.settingslib.net.UidDetailProvider in project android_packages_apps_Settings by omnirom.

the class DataUsageList method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final Context context = getActivity();
    if (!isBandwidthControlEnabled()) {
        Log.w(TAG, "No bandwidth control; leaving");
        getActivity().finish();
    }
    try {
        mStatsSession = services.mStatsService.openSession();
    } catch (RemoteException e) {
        throw new RuntimeException(e);
    }
    mUidDetailProvider = new UidDetailProvider(context);
    addPreferencesFromResource(R.xml.data_usage_list);
    mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
    mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA);
    mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP);
    final Bundle args = getArguments();
    mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
    mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE);
}
Also used : Context(android.content.Context) Bundle(android.os.Bundle) RemoteException(android.os.RemoteException) UidDetailProvider(com.android.settingslib.net.UidDetailProvider)

Example 3 with UidDetailProvider

use of com.android.settingslib.net.UidDetailProvider in project android_packages_apps_Settings by omnirom.

the class AppDataUsage method onCreate.

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    mPackageManagerWrapper = new PackageManagerWrapperImpl(getPackageManager());
    final Bundle args = getArguments();
    try {
        mStatsSession = services.mStatsService.openSession();
    } catch (RemoteException e) {
        throw new RuntimeException(e);
    }
    mAppItem = (args != null) ? (AppItem) args.getParcelable(ARG_APP_ITEM) : null;
    mTemplate = (args != null) ? (NetworkTemplate) args.getParcelable(ARG_NETWORK_TEMPLATE) : null;
    if (mTemplate == null) {
        Context context = getContext();
        mTemplate = DataUsageUtils.getDefaultTemplate(context, DataUsageUtils.getDefaultSubscriptionId(context));
    }
    if (mAppItem == null) {
        int uid = (args != null) ? args.getInt(AppInfoBase.ARG_PACKAGE_UID, -1) : getActivity().getIntent().getIntExtra(AppInfoBase.ARG_PACKAGE_UID, -1);
        if (uid == -1) {
            // TODO: Log error.
            getActivity().finish();
        } else {
            addUid(uid);
            mAppItem = new AppItem(uid);
            mAppItem.addUid(uid);
        }
    } else {
        for (int i = 0; i < mAppItem.uids.size(); i++) {
            addUid(mAppItem.uids.keyAt(i));
        }
    }
    addPreferencesFromResource(R.xml.app_data_usage);
    mTotalUsage = findPreference(KEY_TOTAL_USAGE);
    mForegroundUsage = findPreference(KEY_FOREGROUND_USAGE);
    mBackgroundUsage = findPreference(KEY_BACKGROUND_USAGE);
    mCycle = (SpinnerPreference) findPreference(KEY_CYCLE);
    mCycleAdapter = new CycleAdapter(getContext(), mCycle, mCycleListener, false);
    if (mAppItem.key > 0) {
        if (mPackages.size() != 0) {
            try {
                ApplicationInfo info = mPackageManagerWrapper.getApplicationInfoAsUser(mPackages.valueAt(0), 0, UserHandle.getUserId(mAppItem.key));
                mIcon = IconDrawableFactory.newInstance(getActivity()).getBadgedIcon(info);
                mLabel = info.loadLabel(mPackageManagerWrapper.getPackageManager());
                mPackageName = info.packageName;
            } catch (PackageManager.NameNotFoundException e) {
            }
        }
        if (!UserHandle.isApp(mAppItem.key)) {
            removePreference(KEY_UNRESTRICTED_DATA);
            removePreference(KEY_RESTRICT_BACKGROUND);
        } else {
            mRestrictBackground = (SwitchPreference) findPreference(KEY_RESTRICT_BACKGROUND);
            mRestrictBackground.setOnPreferenceChangeListener(this);
            mUnrestrictedData = (SwitchPreference) findPreference(KEY_UNRESTRICTED_DATA);
            mUnrestrictedData.setOnPreferenceChangeListener(this);
        }
        mDataSaverBackend = new DataSaverBackend(getContext());
        mAppSettings = findPreference(KEY_APP_SETTINGS);
        mAppSettingsIntent = new Intent(Intent.ACTION_MANAGE_NETWORK_USAGE);
        mAppSettingsIntent.addCategory(Intent.CATEGORY_DEFAULT);
        PackageManager pm = getPackageManager();
        boolean matchFound = false;
        for (String packageName : mPackages) {
            mAppSettingsIntent.setPackage(packageName);
            if (pm.resolveActivity(mAppSettingsIntent, 0) != null) {
                matchFound = true;
                break;
            }
        }
        if (!matchFound) {
            removePreference(KEY_APP_SETTINGS);
            mAppSettings = null;
        }
        if (mPackages.size() > 1) {
            mAppList = (PreferenceCategory) findPreference(KEY_APP_LIST);
            getLoaderManager().initLoader(LOADER_APP_PREF, Bundle.EMPTY, mAppPrefCallbacks);
        } else {
            removePreference(KEY_APP_LIST);
        }
    } else {
        final Context context = getActivity();
        UidDetail uidDetail = new UidDetailProvider(context).getUidDetail(mAppItem.key, true);
        mIcon = uidDetail.icon;
        mLabel = uidDetail.label;
        mPackageName = context.getPackageName();
        removePreference(KEY_UNRESTRICTED_DATA);
        removePreference(KEY_APP_SETTINGS);
        removePreference(KEY_RESTRICT_BACKGROUND);
        removePreference(KEY_APP_LIST);
    }
}
Also used : Context(android.content.Context) Bundle(android.os.Bundle) ApplicationInfo(android.content.pm.ApplicationInfo) Intent(android.content.Intent) PackageManagerWrapperImpl(com.android.settings.applications.PackageManagerWrapperImpl) NetworkTemplate(android.net.NetworkTemplate) UidDetail(com.android.settingslib.net.UidDetail) PackageManager(android.content.pm.PackageManager) AppItem(com.android.settingslib.AppItem) RemoteException(android.os.RemoteException) UidDetailProvider(com.android.settingslib.net.UidDetailProvider)

Example 4 with UidDetailProvider

use of com.android.settingslib.net.UidDetailProvider in project android_packages_apps_Settings by crdroidandroid.

the class DataUsageList method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final Context context = getActivity();
    if (!isBandwidthControlEnabled()) {
        Log.w(TAG, "No bandwidth control; leaving");
        getActivity().finish();
    }
    try {
        mStatsSession = services.mStatsService.openSession();
    } catch (RemoteException e) {
        throw new RuntimeException(e);
    }
    mUidDetailProvider = new UidDetailProvider(context);
    addPreferencesFromResource(R.xml.data_usage_list);
    mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
    mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA);
    mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP);
    final Bundle args = getArguments();
    mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
    mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE);
}
Also used : Context(android.content.Context) Bundle(android.os.Bundle) RemoteException(android.os.RemoteException) UidDetailProvider(com.android.settingslib.net.UidDetailProvider)

Example 5 with UidDetailProvider

use of com.android.settingslib.net.UidDetailProvider in project android_packages_apps_Settings by DirtyUnicorns.

the class DataUsageList method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final Context context = getActivity();
    if (!isBandwidthControlEnabled()) {
        Log.w(TAG, "No bandwidth control; leaving");
        getActivity().finish();
    }
    try {
        mStatsSession = services.mStatsService.openSession();
    } catch (RemoteException e) {
        throw new RuntimeException(e);
    }
    mUidDetailProvider = new UidDetailProvider(context);
    addPreferencesFromResource(R.xml.data_usage_list);
    mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
    mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA);
    mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP);
    final Bundle args = getArguments();
    mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
    mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE);
}
Also used : Context(android.content.Context) Bundle(android.os.Bundle) RemoteException(android.os.RemoteException) UidDetailProvider(com.android.settingslib.net.UidDetailProvider)

Aggregations

UidDetailProvider (com.android.settingslib.net.UidDetailProvider)16 Bundle (android.os.Bundle)15 Context (android.content.Context)13 RemoteException (android.os.RemoteException)12 UidDetail (com.android.settingslib.net.UidDetail)9 AppItem (com.android.settingslib.AppItem)8 Intent (android.content.Intent)7 ApplicationInfo (android.content.pm.ApplicationInfo)7 PackageManager (android.content.pm.PackageManager)7 NetworkTemplate (android.net.NetworkTemplate)7 PackageManagerWrapperImpl (com.android.settings.applications.PackageManagerWrapperImpl)6 FragmentActivity (androidx.fragment.app.FragmentActivity)2 Test (org.junit.Test)2 Activity (android.app.Activity)1 TelephonyManager (android.telephony.TelephonyManager)1 ArrayList (java.util.ArrayList)1 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)1 Config (org.robolectric.annotation.Config)1