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