From ed0eecf7a2426321db816ece1daf8d1dbfbcd6b1 Mon Sep 17 00:00:00 2001 From: Pavel Zhamaitsiak Date: Wed, 27 Jan 2016 18:00:17 -0800 Subject: [PATCH] Add ITelephonyDebugSubscriber.aidl It can be used to subscribe for telephony debug events. Change-Id: I6f17b0409f1117abd2d4caac99d3301c43134c75 --- Android.mk | 1 + .../internal/telephony/ITelephonyDebug.aidl | 6 +- .../telephony/ITelephonyDebugSubscriber.aidl | 34 +++++++++ .../android/internal/telephony/TelephonyEvent.aidl | 19 +++++ .../android/internal/telephony/TelephonyEvent.java | 84 ++++++++++++++++++++++ 5 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 telephony/java/com/android/internal/telephony/ITelephonyDebugSubscriber.aidl create mode 100644 telephony/java/com/android/internal/telephony/TelephonyEvent.aidl create mode 100644 telephony/java/com/android/internal/telephony/TelephonyEvent.java diff --git a/Android.mk b/Android.mk index 3bc33bffb5bc..9192e966837e 100644 --- a/Android.mk +++ b/Android.mk @@ -406,6 +406,7 @@ LOCAL_SRC_FILES += \ telephony/java/com/android/internal/telephony/ISub.aidl \ telephony/java/com/android/internal/telephony/ITelephony.aidl \ telephony/java/com/android/internal/telephony/ITelephonyDebug.aidl \ + telephony/java/com/android/internal/telephony/ITelephonyDebugSubscriber.aidl \ telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl \ telephony/java/com/android/internal/telephony/IWapPushManager.aidl \ wifi/java/android/net/wifi/IWifiManager.aidl \ diff --git a/telephony/java/com/android/internal/telephony/ITelephonyDebug.aidl b/telephony/java/com/android/internal/telephony/ITelephonyDebug.aidl index 5dffa280fef2..069fcbf6f300 100644 --- a/telephony/java/com/android/internal/telephony/ITelephonyDebug.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephonyDebug.aidl @@ -16,8 +16,9 @@ package com.android.internal.telephony; -import android.os.Bundle; +import com.android.internal.telephony.ITelephonyDebugSubscriber; +import android.os.Bundle; /** * Interface used to interact with the Telephony debug service. @@ -36,4 +37,7 @@ interface ITelephonyDebug { * @param data optional */ void writeEvent(long timestamp, int phoneId, int tag, int param1, int param2, in Bundle data); + + void subscribe(in ITelephonyDebugSubscriber subscriber); + void unsubscribe(in ITelephonyDebugSubscriber subscriber); } diff --git a/telephony/java/com/android/internal/telephony/ITelephonyDebugSubscriber.aidl b/telephony/java/com/android/internal/telephony/ITelephonyDebugSubscriber.aidl new file mode 100644 index 000000000000..64eb0f1cc8f9 --- /dev/null +++ b/telephony/java/com/android/internal/telephony/ITelephonyDebugSubscriber.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2016 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.telephony; + +import com.android.internal.telephony.TelephonyEvent; + +import android.os.Bundle; + +/** + * Interface used to subscribe for events from Telephony debug service. + * + * {@hide} + */ +oneway interface ITelephonyDebugSubscriber { + + /** + * Called when Telephony debug service has events. + */ + void onEvents(in TelephonyEvent[] events); +} diff --git a/telephony/java/com/android/internal/telephony/TelephonyEvent.aidl b/telephony/java/com/android/internal/telephony/TelephonyEvent.aidl new file mode 100644 index 000000000000..1e74b319be2e --- /dev/null +++ b/telephony/java/com/android/internal/telephony/TelephonyEvent.aidl @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2016 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.telephony; + +parcelable TelephonyEvent; diff --git a/telephony/java/com/android/internal/telephony/TelephonyEvent.java b/telephony/java/com/android/internal/telephony/TelephonyEvent.java new file mode 100644 index 000000000000..26d466d6beb3 --- /dev/null +++ b/telephony/java/com/android/internal/telephony/TelephonyEvent.java @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2016 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.telephony; + +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; + +/** + * A parcelable used in ITelephonyDebugSubscriber.aidl + */ +public class TelephonyEvent implements Parcelable { + + final public long timestamp; + final public int phoneId; + final public int tag; + final public int param1; + final public int param2; + final public Bundle data; + + public TelephonyEvent(long timestamp, int phoneId, int tag, + int param1, int param2, Bundle data) { + this.timestamp = timestamp; + this.phoneId = phoneId; + this.tag = tag; + this.param1 = param1; + this.param2 = param2; + this.data = data; + } + + /** Implement the Parcelable interface */ + public static final Parcelable.Creator CREATOR + = new Parcelable.Creator (){ + public TelephonyEvent createFromParcel(Parcel source) { + final long timestamp = source.readLong(); + final int phoneId = source.readInt(); + final int tag = source.readInt(); + final int param1 = source.readInt(); + final int param2 = source.readInt(); + final Bundle data = source.readBundle(); + return new TelephonyEvent(timestamp, phoneId, tag, param1, param2, data); + } + + public TelephonyEvent[] newArray(int size) { + return new TelephonyEvent[size]; + } + }; + + /** Implement the Parcelable interface */ + @Override + public int describeContents() { + return 0; + } + + /** Implement the Parcelable interface */ + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeLong(timestamp); + dest.writeInt(phoneId); + dest.writeInt(tag); + dest.writeInt(param1); + dest.writeInt(param2); + dest.writeBundle(data); + } + + public String toString() { + return String.format("%d,%d,%d,%d,%d,%s", + timestamp, phoneId, tag, param1, param2, data); + } +} -- 2.11.0