Index: build/android/pylib/device/intent.py |
diff --git a/build/android/pylib/device/intent.py b/build/android/pylib/device/intent.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3e34f7920e493c9ccce248a4f9c2b43157d0f2ef |
--- /dev/null |
+++ b/build/android/pylib/device/intent.py |
@@ -0,0 +1,79 @@ |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+"""Manages intents and associated information. |
+ |
+This is generally intended to be used with functions that calls Android's |
+Am command. |
+""" |
+ |
+class Intent(object): |
+ |
+ def __init__(self, action='android.intent.action.VIEW', activity=None, |
+ category=None, component=None, data=None, extras=None, |
+ flags=None, package=None): |
+ """Creates an Intent. |
+ |
+ Args: |
+ action: A string containing the action. |
+ activity: A string that, with |package|, can be used to specify the |
+ component. |
+ category: A string or list containing any categories. |
+ component: A string that specifies the component to send the intent to. |
+ data: A string containing a data URI. |
+ extras: A dict containing extra parameters to be passed along with the |
+ intent. |
+ flags: A string containing flags to pass. |
+ package: A string that, with activity, can be used to specify the |
+ component. |
+ """ |
+ self._action = action |
+ self._activity = activity |
+ if isinstance(category, list) or category is None: |
+ self._category = category |
+ else: |
+ self._category = [category] |
+ self._component = component |
+ self._data = data |
+ self._extras = extras |
+ self._flags = flags |
+ self._package = package |
+ |
+ if self._component and '/' in component: |
+ self._package, self._activity = component.split('/', 1) |
+ elif self._package and self._activity: |
+ self._component = '%s/%s' % (package, activity) |
+ |
+ @property |
+ def action(self): |
+ return self._action |
+ |
+ @property |
+ def activity(self): |
+ return self._activity |
+ |
+ @property |
+ def category(self): |
+ return self._category |
+ |
+ @property |
+ def component(self): |
+ return self._component |
+ |
+ @property |
+ def data(self): |
+ return self._data |
+ |
+ @property |
+ def extras(self): |
+ return self._extras |
+ |
+ @property |
+ def flags(self): |
+ return self._flags |
+ |
+ @property |
+ def package(self): |
+ return self._package |
+ |