1914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal/*
2914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal * Copyright (C) 2017 The Android Open Source Project
3914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal *
4914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal * Licensed under the Apache License, Version 2.0 (the "License");
5914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal * you may not use this file except in compliance with the License.
6914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal * You may obtain a copy of the License at
7914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal *
8914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal *      http://www.apache.org/licenses/LICENSE-2.0
9914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal *
10914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal * Unless required by applicable law or agreed to in writing, software
11914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal * distributed under the License is distributed on an "AS IS" BASIS,
12914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal * See the License for the specific language governing permissions and
14914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal * limitations under the License.
15914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal */
16914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal
17914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysalpackage android.support.customtabs;
18914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal
19914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysalimport android.app.Service;
20914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysalimport android.content.Intent;
21914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysalimport android.os.Bundle;
22914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysalimport android.os.IBinder;
23914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysalimport android.os.RemoteException;
24914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal
25914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal/**
26914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal * A service to receive postMessage related communication from a Custom Tabs provider.
27914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal */
28914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysalpublic class PostMessageService extends Service {
29914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal    private IPostMessageService.Stub mBinder = new IPostMessageService.Stub() {
30914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal
31914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal        @Override
32914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal        public void onMessageChannelReady(
33914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal                ICustomTabsCallback callback, Bundle extras) throws RemoteException {
34914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal            callback.onMessageChannelReady(extras);
35914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal        }
36914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal
37914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal        @Override
38914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal        public void onPostMessage(ICustomTabsCallback callback,
39914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal                                  String message, Bundle extras) throws RemoteException {
40914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal            callback.onPostMessage(message, extras);
41914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal        }
42914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal    };
43914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal
44914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal    @Override
45914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal    public IBinder onBind(Intent intent) {
46914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal        return mBinder;
47914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal    }
48914073c7cf933229a3f51ddeddb63bb9725a70beYusuf Ozuysal}
49