package com.smartisanos.sidebar;
import com.smartisanos.sidebar.util.AddContactManager;
import com.smartisanos.sidebar.util.AppManager;
import com.smartisanos.sidebar.util.ContactManager;
import com.smartisanos.sidebar.util.ResolveInfoManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class PackagesMonitor extends BroadcastReceiver {
private static final String TAG = PackagesMonitor.class.getName();
@Override
public void onReceive(Context context, Intent intent) {
// the context passed in is ReceiverRestrictedContext, don't use it
context = context.getApplicationContext();
String action = intent.getAction();
String packageName = intent.getData().getSchemeSpecificPart();
boolean replace = intent.getBooleanExtra(Intent.EXTRA_REPLACING, false);
if(Intent.ACTION_PACKAGE_REMOVED.equals(action)){
if (!replace) {
ResolveInfoManager.getInstance(context).onPackageRemoved(packageName);
AppManager.getInstance(context).onPackageRemoved(packageName);
AddContactManager.getInstance(context).onPackageRemoved(packageName);
ContactManager.getInstance(context).onPackageRemoved(packageName);
}
}else if(Intent.ACTION_PACKAGE_ADDED.equals(action)){
if (!replace) {
ResolveInfoManager.getInstance(context).onPackageAdded(packageName);
AppManager.getInstance(context).onPackageAdded(packageName);
AddContactManager.getInstance(context).onPackageAdded(packageName);
ContactManager.getInstance(context).onPackageAdded(packageName);
} else {
ResolveInfoManager.getInstance(context).onPackageUpdate(packageName);
AppManager.getInstance(context).onPackageUpdate(packageName);
}
}
}
}