1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.display;
import android.content.pm.ParceledListSlice;
import android.graphics.Point;
import android.hardware.display.BrightnessConfiguration;
import android.hardware.display.BrightnessInfo;
import android.hardware.display.Curve;
import android.hardware.display.IDisplayManagerCallback;
import android.hardware.display.IVirtualDisplayCallback;
import android.hardware.display.VirtualDisplayConfig;
import android.hardware.display.WifiDisplay;
import android.hardware.display.WifiDisplayStatus;
import android.media.projection.IMediaProjection;
import android.view.DisplayInfo;
import android.view.Surface;
/** @hide */
interface IDisplayManager {
@UnsupportedAppUsage
DisplayInfo getDisplayInfo(int displayId);
int[] getDisplayIds();
boolean isUidPresentOnDisplay(int uid, int displayId);
void registerCallback(in IDisplayManagerCallback callback);
void registerCallbackWithEventMask(in IDisplayManagerCallback callback, long eventsMask);
// Requires CONFIGURE_WIFI_DISPLAY permission.
// The process must have previously registered a callback.
void startWifiDisplayScan();
// Requires CONFIGURE_WIFI_DISPLAY permission.
void stopWifiDisplayScan();
// Requires CONFIGURE_WIFI_DISPLAY permission.
void connectWifiDisplay(String address);
// No permissions required.
void disconnectWifiDisplay();
// Requires CONFIGURE_WIFI_DISPLAY permission.
void renameWifiDisplay(String address, String alias);
// Requires CONFIGURE_WIFI_DISPLAY permission.
void forgetWifiDisplay(String address);
// Requires CONFIGURE_WIFI_DISPLAY permission.
void pauseWifiDisplay();
// Requires CONFIGURE_WIFI_DISPLAY permission.
void resumeWifiDisplay();
// No permissions required.
WifiDisplayStatus getWifiDisplayStatus();
// Requires WRITE_SECURE_SETTINGS permission.
void setUserDisabledHdrTypes(in int[] userDisabledTypes);
// Requires WRITE_SECURE_SETTINGS permission.
void setAreUserDisabledHdrTypesAllowed(boolean areUserDisabledHdrTypesAllowed);
// No permissions required.
boolean areUserDisabledHdrTypesAllowed();
// No permissions required.
int[] getUserDisabledHdrTypes();
// Requires CONFIGURE_DISPLAY_COLOR_MODE
void requestColorMode(int displayId, int colorMode);
// Requires CAPTURE_VIDEO_OUTPUT, CAPTURE_SECURE_VIDEO_OUTPUT, or an appropriate
// MediaProjection token for certain combinations of flags.
int createVirtualDisplay(in VirtualDisplayConfig virtualDisplayConfig,
in IVirtualDisplayCallback callback, in IMediaProjection projectionToken,
String packageName);
// No permissions required, but must be same Uid as the creator.
void resizeVirtualDisplay(in IVirtualDisplayCallback token,
int width, int height, int densityDpi);
// No permissions required but must be same Uid as the creator.
void setVirtualDisplaySurface(in IVirtualDisplayCallback token, in Surface surface);
// No permissions required but must be same Uid as the creator.
void releaseVirtualDisplay(in IVirtualDisplayCallback token);
// No permissions required but must be same Uid as the creator.
void setVirtualDisplayState(in IVirtualDisplayCallback token, boolean isOn);
// Get a stable metric for the device's display size. No permissions required.
Point getStableDisplaySize();
// Requires BRIGHTNESS_SLIDER_USAGE permission.
ParceledListSlice getBrightnessEvents(String callingPackage);
// Requires ACCESS_AMBIENT_LIGHT_STATS permission.
ParceledListSlice getAmbientBrightnessStats();
// Sets the global brightness configuration for a given user. Requires
// CONFIGURE_DISPLAY_BRIGHTNESS, and INTERACT_ACROSS_USER if the user being configured is not
// the same as the calling user.
void setBrightnessConfigurationForUser(in BrightnessConfiguration c, int userId,
String packageName);
// Sets the global brightness configuration for a given display. Requires
// CONFIGURE_DISPLAY_BRIGHTNESS.
void setBrightnessConfigurationForDisplay(in BrightnessConfiguration c, String uniqueDisplayId,
int userId, String packageName);
// Gets the brightness configuration for a given display. Requires
// CONFIGURE_DISPLAY_BRIGHTNESS.
BrightnessConfiguration getBrightnessConfigurationForDisplay(String uniqueDisplayId,
int userId);
// Gets the global brightness configuration for a given user. Requires
// CONFIGURE_DISPLAY_BRIGHTNESS, and INTERACT_ACROSS_USER if the user is not
// the same as the calling user.
BrightnessConfiguration getBrightnessConfigurationForUser(int userId);
// Gets the default brightness configuration if configured.
BrightnessConfiguration getDefaultBrightnessConfiguration();
// Gets the last requested minimal post processing settings for display with displayId.
boolean isMinimalPostProcessingRequested(int displayId);
// Temporarily sets the display brightness.
void setTemporaryBrightness(int displayId, float brightness);
// Saves the display brightness.
void setBrightness(int displayId, float brightness);
// Retrieves the display brightness.
float getBrightness(int displayId);
// Temporarily sets the auto brightness adjustment factor.
void setTemporaryAutoBrightnessAdjustment(float adjustment);
// Get the minimum brightness curve.
Curve getMinimumBrightnessCurve();
// Get Brightness Information for the specified display.
BrightnessInfo getBrightnessInfo(int displayId);
// Gets the id of the preferred wide gamut color space for all displays.
// The wide gamut color space is returned from composition pipeline
// based on hardware capability.
int getPreferredWideGamutColorSpaceId();
// When enabled the app requested display resolution and refresh rate is always selected
// in DisplayModeDirector regardless of user settings and policies for low brightness, low
// battery etc.
void setShouldAlwaysRespectAppRequestedMode(boolean enabled);
boolean shouldAlwaysRespectAppRequestedMode();
// Sets the refresh rate switching type.
void setRefreshRateSwitchingType(int newValue);
// Returns the refresh rate switching type.
int getRefreshRateSwitchingType();
}
|