summaryrefslogtreecommitdiff
path: root/src/com
diff options
context:
space:
mode:
authorMark Brophy <mbrophy@google.com>2011-07-25 16:32:08 +0100
committerMark Brophy <mbrophy@google.com>2011-07-25 16:34:17 +0100
commit1f298d3dec8ac178cac0d61eba296bd9099ea11d (patch)
tree2ba2923b494f993ecfcc17a452970b8df6fc4531 /src/com
parenteea776684be05ee9418f2f3ee63effbb834421ac (diff)
downloadApplicationsProvider-1f298d3dec8ac178cac0d61eba296bd9099ea11d.tar.gz
Catch disabled packages in ApplicationsProvider.
ApplicationsProvider overrides PackageMonitor.onSomePackagesChanged to watch for package changes. However, this isn't called when an application is disabled When GooglePartnerServices disables the "Books" app because the phone is outside the US, ApplicationsProvider doesn't see this, so QSB still shows the Books app. Override onPackageModified as well, and post an update for that package, so we'll remove the app from the DB. Bug: 5029707 Change-Id: I48f5a608f174b56544f52e379c80db309d2dff47
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/providers/applications/ApplicationsProvider.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/com/android/providers/applications/ApplicationsProvider.java b/src/com/android/providers/applications/ApplicationsProvider.java
index 04ed5db..2d58ce8 100644
--- a/src/com/android/providers/applications/ApplicationsProvider.java
+++ b/src/com/android/providers/applications/ApplicationsProvider.java
@@ -82,6 +82,7 @@ public class ApplicationsProvider extends ContentProvider {
// Messages for mHandler
private static final int MSG_UPDATE_ALL = 0;
+ private static final int MSG_UPDATE_PACKAGE = 1;
public static final String _ID = "_id";
public static final String NAME = "name";
@@ -150,6 +151,11 @@ public class ApplicationsProvider extends ContentProvider {
public void onSomePackagesChanged() {
postUpdateAll();
}
+
+ @Override
+ public void onPackageModified(String packageName) {
+ postUpdatePackage(packageName);
+ }
}
// Broadcast receiver for updating applications list when the locale changes.
@@ -199,6 +205,9 @@ public class ApplicationsProvider extends ContentProvider {
case MSG_UPDATE_ALL:
updateApplicationsList(null);
break;
+ case MSG_UPDATE_PACKAGE:
+ updateApplicationsList((String) msg.obj);
+ break;
default:
Log.e(TAG, "Unknown message: " + msg.what);
break;
@@ -218,6 +227,13 @@ public class ApplicationsProvider extends ContentProvider {
mHandler.sendMessageDelayed(msg, UPDATE_DELAY_MILLIS);
}
+ private void postUpdatePackage(String packageName) {
+ Message msg = Message.obtain();
+ msg.what = MSG_UPDATE_PACKAGE;
+ msg.obj = packageName;
+ mHandler.sendMessageDelayed(msg, UPDATE_DELAY_MILLIS);
+ }
+
// ----------
// END ASYC UPDATE CODE
// ----------