Index: mojo/services/android/interfaces/activity.mojom |
diff --git a/mojo/services/android/interfaces/activity.mojom b/mojo/services/android/interfaces/activity.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..370cfe05a145156934a4c783c3bb990ea2be66a0 |
--- /dev/null |
+++ b/mojo/services/android/interfaces/activity.mojom |
@@ -0,0 +1,93 @@ |
+// Copyright 2015 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. |
+ |
+// This file has been imported from |
+// https://github.com/flutter/engine/blob/master/sky/services/activity/activity.mojom |
+[DartPackage="mojo_services"] |
+module activity; |
+ |
+struct StringExtra { |
+ string name; |
+ string value; |
+}; |
+ |
+struct ComponentName { |
+ string package_name; |
+ string class_name; |
+}; |
+ |
+struct Intent { |
+ string action; |
+ string url; |
+ uint32 flags; |
+ ComponentName? component; |
+ array<StringExtra>? string_extras; |
+ string? type; |
+}; |
+ |
+struct TaskDescription { |
+ string? label; |
+ uint32 primaryColor; |
+}; |
+ |
+enum SystemUIVisibility { |
+ STANDARD, |
+ FULLSCREEN, |
+ IMMERSIVE, |
+}; |
+ |
+// See http://developer.android.com/intl/es/reference/android/R.attr.html#screenOrientation |
+enum ScreenOrientation { |
+ UNSPECIFIED, |
+ LANDSCAPE, |
+ PORTRAIT, |
+ NOSENSOR, |
+}; |
+ |
+// TODO(abarth): This interface seems very specific to Android. Do we want to |
+// have a higher-level abstraction here? Do we want a collection |
+// of services that only work on specific platforms? We need to |
+// figure out how to rationalize this interface across platforms. |
+[ServiceName="activity::Activity"] |
+interface Activity { |
+ GetUserFeedback(UserFeedback& user_feedback); |
+ |
+ StartActivity(Intent intent); |
+ FinishCurrentActivity(); |
+ SetTaskDescription(TaskDescription description); |
+ SetSystemUIVisibility(SystemUIVisibility visibility); |
+ SetRequestedOrientation(ScreenOrientation orientation); |
+}; |
+ |
+[ServiceName="activity::PathService"] |
+interface PathService { |
+ // Where the application files are. |
+ GetAppDataDir() => (string path); |
+ |
+ // Where to store long-term files. |
+ GetFilesDir() => (string path); |
+ |
+ // Where to store short-term files. |
+ GetCacheDir() => (string path); |
+}; |
+ |
+enum HapticFeedbackType { |
+ LONG_PRESS, |
+ VIRTUAL_KEY, |
+ KEYBOARD_TAP, |
+ CLOCK_TICK, |
+}; |
+ |
+enum AuralFeedbackType { |
+ CLICK, |
+ NAVIGATION_LEFT, |
+ NAVIGATION_UP, |
+ NAVIGATION_RIGHT, |
+ NAVIGATION_DOWN, |
+}; |
+ |
+interface UserFeedback { |
+ PerformHapticFeedback(HapticFeedbackType type); |
+ PerformAuralFeedback(AuralFeedbackType type); |
+}; |