summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-04-04 23:22:55 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-04-04 23:22:55 +0000
commitfd33fe0e8a9084cb9cc427c3aa9453bdcb4a38c7 (patch)
tree246bbe5ee9ad5577cc6413ca6cd67e3fea68b9f6 /core/java
parentf8b98bb10dbdd5c4d7e7ae7592a1753e8b5489df (diff)
parent49efa718a86959e1fe996f05669c462c98f836f0 (diff)
Merge "Introduce a result class for IStatusBarService#registerStatusBar()" into qt-dev
Diffstat (limited to 'core/java')
-rw-r--r--core/java/com/android/internal/statusbar/IStatusBarService.aidl6
-rw-r--r--core/java/com/android/internal/statusbar/RegisterStatusBarResult.aidl19
-rw-r--r--core/java/com/android/internal/statusbar/RegisterStatusBarResult.java118
3 files changed, 139 insertions, 4 deletions
diff --git a/core/java/com/android/internal/statusbar/IStatusBarService.aidl b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
index 343761430762..5fee2c9bbdd3 100644
--- a/core/java/com/android/internal/statusbar/IStatusBarService.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
@@ -24,6 +24,7 @@ import android.service.notification.StatusBarNotification;
import android.hardware.biometrics.IBiometricServiceReceiverInternal;
import com.android.internal.statusbar.IStatusBar;
+import com.android.internal.statusbar.RegisterStatusBarResult;
import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.statusbar.StatusBarIconList;
import com.android.internal.statusbar.NotificationVisibility;
@@ -54,10 +55,7 @@ interface IStatusBarService
// ---- Methods below are for use by the status bar policy services ----
// You need the STATUS_BAR_SERVICE permission
- void registerStatusBar(IStatusBar callbacks, out List<String> iconSlots,
- out List<StatusBarIcon> iconList,
- out int[] switches, out List<IBinder> binders, out Rect fullscreenStackBounds,
- out Rect dockedStackBounds);
+ RegisterStatusBarResult registerStatusBar(IStatusBar callbacks);
void onPanelRevealed(boolean clearNotificationEffects, int numItems);
void onPanelHidden();
// Mark current notifications as "seen" and stop ringing, vibrating, blinking.
diff --git a/core/java/com/android/internal/statusbar/RegisterStatusBarResult.aidl b/core/java/com/android/internal/statusbar/RegisterStatusBarResult.aidl
new file mode 100644
index 000000000000..ec2e60480aea
--- /dev/null
+++ b/core/java/com/android/internal/statusbar/RegisterStatusBarResult.aidl
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) 2019 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 com.android.internal.statusbar;
+
+parcelable RegisterStatusBarResult;
diff --git a/core/java/com/android/internal/statusbar/RegisterStatusBarResult.java b/core/java/com/android/internal/statusbar/RegisterStatusBarResult.java
new file mode 100644
index 000000000000..b47ef125275f
--- /dev/null
+++ b/core/java/com/android/internal/statusbar/RegisterStatusBarResult.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2019 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 com.android.internal.statusbar;
+
+import android.graphics.Rect;
+import android.os.IBinder;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.util.ArrayMap;
+
+/**
+ * An immutable data object to return a set of values from StatusBarManagerService to its clients.
+ */
+public final class RegisterStatusBarResult implements Parcelable {
+ public final ArrayMap<String, StatusBarIcon> mIcons;
+ public final int mDisabledFlags1; // switch[0]
+ public final int mSystemUiVisibility; // switch[1]
+ public final boolean mMenuVisible; // switch[2]
+ public final int mImeWindowVis; // switch[3]
+ public final int mImeBackDisposition; // switch[4]
+ public final boolean mShowImeSwitcher; // switch[5]
+ public final int mDisabledFlags2; // switch[6]
+ public final int mFullscreenStackSysUiVisibility; // switch[7]
+ public final int mDockedStackSysUiVisibility; // switch[8]
+ public final IBinder mImeToken;
+ public final Rect mFullscreenStackBounds;
+ public final Rect mDockedStackBounds;
+
+ public RegisterStatusBarResult(ArrayMap<String, StatusBarIcon> icons, int disabledFlags1,
+ int systemUiVisibility, boolean menuVisible, int imeWindowVis, int imeBackDisposition,
+ boolean showImeSwitcher, int disabledFlags2, int fullscreenStackSysUiVisibility,
+ int dockedStackSysUiVisibility, IBinder imeToken, Rect fullscreenStackBounds,
+ Rect dockedStackBounds) {
+ mIcons = new ArrayMap<>(icons);
+ mDisabledFlags1 = disabledFlags1;
+ mSystemUiVisibility = systemUiVisibility;
+ mMenuVisible = menuVisible;
+ mImeWindowVis = imeWindowVis;
+ mImeBackDisposition = imeBackDisposition;
+ mShowImeSwitcher = showImeSwitcher;
+ mDisabledFlags2 = disabledFlags2;
+ mFullscreenStackSysUiVisibility = fullscreenStackSysUiVisibility;
+ mDockedStackSysUiVisibility = dockedStackSysUiVisibility;
+ mImeToken = imeToken;
+ mFullscreenStackBounds = fullscreenStackBounds;
+ mDockedStackBounds = dockedStackBounds;
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeTypedArrayMap(mIcons, flags);
+ dest.writeInt(mDisabledFlags1);
+ dest.writeInt(mSystemUiVisibility);
+ dest.writeBoolean(mMenuVisible);
+ dest.writeInt(mImeWindowVis);
+ dest.writeInt(mImeBackDisposition);
+ dest.writeBoolean(mShowImeSwitcher);
+ dest.writeInt(mDisabledFlags2);
+ dest.writeInt(mFullscreenStackSysUiVisibility);
+ dest.writeInt(mDockedStackSysUiVisibility);
+ dest.writeStrongBinder(mImeToken);
+ dest.writeParcelable(mFullscreenStackBounds, flags);
+ dest.writeParcelable(mDockedStackBounds, flags);
+ }
+
+ /**
+ * Used to make this class parcelable.
+ */
+ public static final Parcelable.Creator<RegisterStatusBarResult> CREATOR =
+ new Parcelable.Creator<RegisterStatusBarResult>() {
+ @Override
+ public RegisterStatusBarResult createFromParcel(Parcel source) {
+ final ArrayMap<String, StatusBarIcon> icons =
+ source.createTypedArrayMap(StatusBarIcon.CREATOR);
+ final int disabledFlags1 = source.readInt();
+ final int systemUiVisibility = source.readInt();
+ final boolean menuVisible = source.readBoolean();
+ final int imeWindowVis = source.readInt();
+ final int imeBackDisposition = source.readInt();
+ final boolean showImeSwitcher = source.readBoolean();
+ final int disabledFlags2 = source.readInt();
+ final int fullscreenStackSysUiVisibility = source.readInt();
+ final int dockedStackSysUiVisibility = source.readInt();
+ final IBinder imeToken = source.readStrongBinder();
+ final Rect fullscreenStackBounds = Rect.CREATOR.createFromParcel(source);
+ final Rect dockedStackBounds = Rect.CREATOR.createFromParcel(source);
+ return new RegisterStatusBarResult(icons, disabledFlags1, systemUiVisibility,
+ menuVisible, imeWindowVis, imeBackDisposition, showImeSwitcher,
+ disabledFlags2, fullscreenStackSysUiVisibility,
+ dockedStackSysUiVisibility, imeToken, fullscreenStackBounds,
+ dockedStackBounds);
+ }
+
+ @Override
+ public RegisterStatusBarResult[] newArray(int size) {
+ return new RegisterStatusBarResult[size];
+ }
+ };
+}