diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2010-12-13 12:34:48 -0800 |
---|---|---|
committer | Android Code Review <code-review@android.com> | 2010-12-13 12:34:48 -0800 |
commit | 4b94c451d2c3aea27c007518318ea98671ae6ed3 (patch) | |
tree | a254360944a6059ca0331faf26a1679c06a8ab5b | |
parent | 19b23afadf1053a8e06cb3444d9cdae3405ad9a1 (diff) | |
parent | b247536aa3d458750edbc6b45b2348a994d83426 (diff) | |
download | base-tools_r8.tar.gz |
Merge "Added dropbox broadcast notification"tools_r9tools_r8froyo-plus-aosp
-rw-r--r-- | api/current.xml | 35 | ||||
-rw-r--r-- | core/java/android/os/DropBoxManager.java | 24 | ||||
-rw-r--r-- | services/java/com/android/server/DropBoxManagerService.java | 11 |
3 files changed, 67 insertions, 3 deletions
diff --git a/api/current.xml b/api/current.xml index 69d21a57c65e..f9db1e316c4a 100644 --- a/api/current.xml +++ b/api/current.xml @@ -117332,6 +117332,39 @@ <parameter name="tag" type="java.lang.String"> </parameter> </method> +<field name="ACTION_DROPBOX_ENTRY_ADDED" + type="java.lang.String" + transient="false" + volatile="false" + value=""android.intent.action.DROPBOX_ENTRY_ADDED"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="EXTRA_TAG" + type="java.lang.String" + transient="false" + volatile="false" + value=""tag"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="EXTRA_TIME" + type="java.lang.String" + transient="false" + volatile="false" + value=""time"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> <field name="IS_EMPTY" type="int" transient="false" @@ -216224,7 +216257,7 @@ deprecated="not deprecated" visibility="public" > -<parameter name="arg0" type="T"> +<parameter name="t" type="T"> </parameter> </method> </interface> diff --git a/core/java/android/os/DropBoxManager.java b/core/java/android/os/DropBoxManager.java index 4a0612cbb705..a044deffe367 100644 --- a/core/java/android/os/DropBoxManager.java +++ b/core/java/android/os/DropBoxManager.java @@ -54,6 +54,30 @@ public class DropBoxManager { public static final int IS_GZIPPED = 4; /** + * Broadcast Action: This is broadcast when a new entry is added in the dropbox. + * You must hold the {@link android.Manifest.permission#READ_LOGS} permission + * in order to receive this broadcast. + * + * <p class="note">This is a protected intent that can only be sent + * by the system. + */ + public static final String ACTION_DROPBOX_ENTRY_ADDED = + "android.intent.action.DROPBOX_ENTRY_ADDED"; + + /** + * Extra for {@link android.os.DropBoxManager#ACTION_DROPBOX_ENTRY_ADDED}: + * string containing the dropbox tag. + */ + public static final String EXTRA_TAG = "tag"; + + /** + * Extra for {@link android.os.DropBoxManager#ACTION_DROPBOX_ENTRY_ADDED}: + * long integer value containing time (in milliseconds since January 1, 1970 00:00:00 UTC) + * when the entry was created. + */ + public static final String EXTRA_TIME = "time"; + + /** * A single entry retrieved from the drop box. * This may include a reference to a stream, so you must call * {@link #close()} when you are done using it. diff --git a/services/java/com/android/server/DropBoxManagerService.java b/services/java/com/android/server/DropBoxManagerService.java index 0de11c65c856..2cabce10b6d9 100644 --- a/services/java/com/android/server/DropBoxManagerService.java +++ b/services/java/com/android/server/DropBoxManagerService.java @@ -211,8 +211,14 @@ public final class DropBoxManagerService extends IDropBoxManagerService.Stub { } } while (read > 0); - createEntry(temp, tag, flags); + long time = createEntry(temp, tag, flags); temp = null; + + Intent dropboxIntent = new Intent(DropBoxManager.ACTION_DROPBOX_ENTRY_ADDED); + dropboxIntent.putExtra(DropBoxManager.EXTRA_TAG, tag); + dropboxIntent.putExtra(DropBoxManager.EXTRA_TIME, time); + mContext.sendBroadcast(dropboxIntent, android.Manifest.permission.READ_LOGS); + } catch (IOException e) { Slog.e(TAG, "Can't write: " + tag, e); } finally { @@ -590,7 +596,7 @@ public final class DropBoxManagerService extends IDropBoxManagerService.Stub { } /** Moves a temporary file to a final log filename and enrolls it. */ - private synchronized void createEntry(File temp, String tag, int flags) throws IOException { + private synchronized long createEntry(File temp, String tag, int flags) throws IOException { long t = System.currentTimeMillis(); // Require each entry to have a unique timestamp; if there are entries @@ -629,6 +635,7 @@ public final class DropBoxManagerService extends IDropBoxManagerService.Stub { } else { enrollEntry(new EntryFile(temp, mDropBoxDir, tag, t, flags, mBlockSize)); } + return t; } /** |