Java tutorial
/*** * Copyright (c) 2008-2011 CommonsWare, LLC * 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. * <p> * From _Tuning Android Applications_ * http://commonsware.com/AndTuning */ package com.cfap.cfadevicemanager.models; import android.content.Context; import android.content.pm.ApplicationInfo; import org.joda.time.DateTime; import java.util.HashMap; import java.util.Map; public class TrafficSnapshot { private Map<Integer, AppTrafficSnapshot> apps; private DateTime timeStamp; private TrafficSnapshot(Context context) { apps = new HashMap<>(); for (ApplicationInfo app : context.getPackageManager().getInstalledApplications(0)) { apps.put(app.uid, new AppTrafficSnapshot(app.uid, app.packageName, app.icon)); } timeStamp = DateTime.now(); } public static TrafficSnapshot getCurrentTrafficSnapshot(Context context) { return new TrafficSnapshot(context); } public String getDay() { return timeStamp.toString("dd-MMM-yyyy"); } public Map<Integer, AppTrafficSnapshot> getApps() { return apps; } public AppTrafficSnapshot getSnapshot(int uid) { return apps.get(uid); } }