Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1026)

Unified Diff: build/android/pylib/device/intent.py

Issue 816543004: Update from https://crrev.com/308996 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/pylib/device/device_utils_test.py ('k') | build/android/pylib/gtest/gtest_test_instance.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/pylib/device/intent.py
diff --git a/build/android/pylib/device/intent.py b/build/android/pylib/device/intent.py
index 3e34f7920e493c9ccce248a4f9c2b43157d0f2ef..333b9f1f10878aded59556f25fe045495a3f4221 100644
--- a/build/android/pylib/device/intent.py
+++ b/build/android/pylib/device/intent.py
@@ -77,3 +77,37 @@ class Intent(object):
def package(self):
return self._package
+ @property
+ def am_args(self):
+ """Returns the intent as a list of arguments for the activity manager.
+
+ For details refer to the specification at:
+ - http://developer.android.com/tools/help/adb.html#IntentSpec
+ """
+ args = []
+ if self.action:
+ args.extend(['-a', self.action])
+ if self.data:
+ args.extend(['-d', self.data])
+ if self.category:
+ args.extend(arg for cat in self.category for arg in ('-c', cat))
+ if self.component:
+ args.extend(['-n', self.component])
+ if self.flags:
+ args.extend(['-f', self.flags])
+ if self.extras:
+ for key, value in self.extras.iteritems():
+ if value is None:
+ args.extend(['--esn', key])
+ elif isinstance(value, str):
+ args.extend(['--es', key, value])
+ elif isinstance(value, bool):
+ args.extend(['--ez', key, str(value)])
+ elif isinstance(value, int):
+ args.extend(['--ei', key, str(value)])
+ elif isinstance(value, float):
+ args.extend(['--ef', key, str(value)])
+ else:
+ raise NotImplementedError(
+ 'Intent does not know how to pass %s extras' % type(value))
+ return args
« no previous file with comments | « build/android/pylib/device/device_utils_test.py ('k') | build/android/pylib/gtest/gtest_test_instance.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698