summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/SystemFacade.java
diff options
context:
space:
mode:
authorSteve Howard <showard@google.com>2010-07-21 11:41:30 -0700
committerSteve Howard <showard@google.com>2010-07-21 19:03:51 -0700
commit0a77c62a82503b38c484e0079648f0231dd85d53 (patch)
treeb6e9999d7f527bc8addf005aa881005e3e66ba3c /src/com/android/providers/downloads/SystemFacade.java
parentb5629da794cb3c1ca1970d206343743b165b9644 (diff)
downloadandroid_packages_providers_DownloadProvider-0a77c62a82503b38c484e0079648f0231dd85d53.tar.gz
android_packages_providers_DownloadProvider-0a77c62a82503b38c484e0079648f0231dd85d53.tar.bz2
android_packages_providers_DownloadProvider-0a77c62a82503b38c484e0079648f0231dd85d53.zip
Public API support for broadcasts and connectivity control.
* Three new DB fields, one indicating whether a download was initiated by the public API or not, two to hold connectivity control info. DB migration to add these fields and code in DownloadProvider.insert() to handle them. * Change broadcast intent code to match public API spec, for public API downloads only. (Legacy code can go away once existing clients are converted over to the new API.) * Introduce SystemFacade methods for sending broadcasts and checking package ownership; this facilitates new tests of broadcast code. * Change DownloadInfo.canUseNetwork() to obey new connectivity controls available in public API, but again, retain legacy behavior for downloads initiated directly through DownloadProvider * New test cases to cover the new behavior Also made a couple changes to reduce some test flakiness I was observing: * in tearDown(), wait for any running UpdateThread to complete * in PublicApiFunctionalTest.setUp(), if the test directory already exists, remove it rather than aborting DB changes for broadcast + roaming support Change-Id: I60f39fc133f678f3510880ea6eb9f639358914b4
Diffstat (limited to 'src/com/android/providers/downloads/SystemFacade.java')
-rw-r--r--src/com/android/providers/downloads/SystemFacade.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/SystemFacade.java b/src/com/android/providers/downloads/SystemFacade.java
index 2addbf82..d48e6b80 100644
--- a/src/com/android/providers/downloads/SystemFacade.java
+++ b/src/com/android/providers/downloads/SystemFacade.java
@@ -1,6 +1,9 @@
package com.android.providers.downloads;
+import android.content.Intent;
+import android.content.pm.PackageManager.NameNotFoundException;
+
interface SystemFacade {
/**
@@ -24,4 +27,14 @@ interface SystemFacade {
* there's no limit
*/
public Integer getMaxBytesOverMobile();
+
+ /**
+ * Send a broadcast intent.
+ */
+ public void sendBroadcast(Intent intent);
+
+ /**
+ * Returns true if the specified UID owns the specified package name.
+ */
+ public boolean userOwnsPackage(int uid, String pckg) throws NameNotFoundException;
}