Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43fba9a0 authored by Sherry Huang's avatar Sherry Huang
Browse files

TIS: Standardize TIS Event Extensions API

Define standardized AIDL interfaces for event extension package.

Flag: android.media.tv.flags.tif_extension_standardization
Bug: b/344029126
Test: local testing with m
Change-Id: I1b89d2e3f93ff41adf5e5ab6a363b63de3628701
parent 8a9da474
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.media.tv.extension.event;

import android.media.tv.extension.event.IEventDownloadListener;
import android.os.Bundle;
import android.os.IBinder;

/**
 * @hide
 */
interface IEventDownload {
    // Create an event download session and return it as a Ibinder for DVB/DTMB
    IBinder createSession(in Bundle eventDownloadParams, in IEventDownloadListener listener);
}
+26 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.media.tv.extension.event;

import android.os.Bundle;

/**
 * @hide
 */
oneway interface IEventDownloadListener {
    void onCompleted(in Bundle status);
}
+38 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.media.tv.extension.event;

import android.net.Uri;
import android.os.Bundle;

/**
 * @hide
 */
interface IEventDownloadSession {
    // Determine to execute barker channel or silent tune flow for related service type
    int isBarkerOrSequentialDownloadByServiceType(in Bundle eventDownloadParams);
    // Determine whether to start barker channel or silent tune flow.
    int isBarkerOrSequentialDownloadByServiceRecord(in Bundle eventDownloadParams);
    // Start event download.
    void startTuningMultiplex(in Uri channelUri);
    // Set active window channels.
    void setActiveWindowChannelInfo(in Uri[] activeWinChannelInfos);
    // Cancel barker channel or silent tune flow.
    void cancel();
    // Release barker channel or silent tune flow.
    void release();
}
+43 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.media.tv.extension.event;

import android.media.tv.extension.event.IEventMonitorListener;
import android.net.Uri;
import android.os.Bundle;

/**
 * @hide
 */
interface IEventMonitor {
    // Get present event information.
    Bundle getPresentEventInfo(long channelDbId);
    // Add present event information listener.
    void addPresentEventInfoListener(in IEventMonitorListener listener);
    // Remove present event information listener.
    void removePresentEventInfoListener(in IEventMonitorListener listener);
    // Get following event information.
    Bundle getFollowingEventInfo(long channelDbId);
    // Add following event information listener.
    void addFollowingEventInfoListener(in IEventMonitorListener listener);
    // Remove following event information listener.
    void removeFollowingEventInfoListener(in IEventMonitorListener listener);
    // Get SDT guidance information.
    Bundle getSdtGuidanceInfo(long channelDbId);
    // Set Event Background channel list info.
    void setBgmTuneChannelInfo(in Uri[] tuneChannelInfos);
}
+26 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.media.tv.extension.event;

import android.os.Bundle;

/**
 * @hide
 */
oneway interface IEventMonitorListener {
    void onInfoChanged(long channelDbId, in Bundle eventinfo);
}