mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
94 lines
2.1 KiB
Plaintext
94 lines
2.1 KiB
Plaintext
// 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);
|
|
};
|