| Index: chrome/android/java_staging/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java
|
| diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java
|
| deleted file mode 100644
|
| index a0082ab56e14bd85ef15b246033a87e99e62ad54..0000000000000000000000000000000000000000
|
| --- a/chrome/android/java_staging/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java
|
| +++ /dev/null
|
| @@ -1,139 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.chrome.browser.gsa;
|
| -
|
| -import android.content.ComponentName;
|
| -import android.content.Context;
|
| -import android.content.Intent;
|
| -import android.content.ServiceConnection;
|
| -import android.os.Bundle;
|
| -import android.os.Handler;
|
| -import android.os.IBinder;
|
| -import android.os.Message;
|
| -import android.os.Messenger;
|
| -import android.os.RemoteException;
|
| -import android.util.Log;
|
| -
|
| -import org.chromium.chrome.browser.ChromeMobileApplication;
|
| -
|
| -/**
|
| - * A simple client that connects and talks to the GSAService using Messages.
|
| - */
|
| -public class GSAServiceClient {
|
| - private static final String TAG = "GSAServiceClient";
|
| -
|
| - /**
|
| - * Constants for gsa communication. These should not change without corresponding changes on the
|
| - * service side in GSA.
|
| - */
|
| - private static final String GSA_SERVICE =
|
| - "com.google.android.ssb.action.SSB_SERVICE";
|
| - public static final int REQUEST_REGISTER_CLIENT = 2;
|
| - public static final int RESPONSE_UPDATE_SSB = 3;
|
| -
|
| - public static final String KEY_GSA_STATE = "ssb_service:ssb_state";
|
| - public static final String KEY_GSA_CONTEXT = "ssb_service:ssb_context";
|
| - public static final String KEY_GSA_PACKAGE_NAME = "ssb_service:ssb_package_name";
|
| -
|
| - /** Messenger to handle incoming messages from the service */
|
| - private final Messenger mMessenger = new Messenger(new IncomingHandler());
|
| - private final GSAServiceConnection mConnection;
|
| - private final GSAHelper mGsaHelper;
|
| - private Context mContext;
|
| -
|
| - /** Messenger for communicating with service. */
|
| - private Messenger mService;
|
| -
|
| -
|
| - /**
|
| - * Handler of incoming messages from service.
|
| - */
|
| - private class IncomingHandler extends Handler {
|
| - @Override
|
| - public void handleMessage(Message msg) {
|
| - if (msg.what == RESPONSE_UPDATE_SSB) {
|
| - if (mService == null) return;
|
| - Bundle bundle = (Bundle) msg.obj;
|
| - String account =
|
| - mGsaHelper.getGSAAccountFromState(bundle.getByteArray(KEY_GSA_STATE));
|
| - GSAState.getInstance(mContext.getApplicationContext()).setGsaAccount(account);
|
| - } else {
|
| - super.handleMessage(msg);
|
| - }
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * Constructs an instance of this class.
|
| - */
|
| - public GSAServiceClient(Context context) {
|
| - mContext = context;
|
| - mConnection = new GSAServiceConnection();
|
| - mGsaHelper = ((ChromeMobileApplication) mContext.getApplicationContext())
|
| - .createGsaHelper();
|
| - }
|
| -
|
| - /**
|
| - * Establishes a connection to the service. Call this method once the callback passed here is
|
| - * ready to handle calls.
|
| - * If you pass in an GSA context, it will be sent up the service as soon as the connection is
|
| - * established.
|
| - * @return Whether or not the connection to the service was established successfully.
|
| - */
|
| - public boolean connect() {
|
| - if (mService != null) Log.e(TAG, "Already connected.");
|
| - Intent intent = new Intent(GSA_SERVICE).setPackage(GSAState.SEARCH_INTENT_PACKAGE);
|
| - return mContext.bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
|
| - }
|
| -
|
| - /**
|
| - * Disconnects from the service and resets the client's state.
|
| - */
|
| - public void disconnect() {
|
| - if (mService == null) return;
|
| -
|
| - mContext.unbindService(mConnection);
|
| - mContext = null;
|
| - mService = null;
|
| - }
|
| -
|
| - /**
|
| - * Indicates whether or not the client is currently connected to the service.
|
| - * @return true if connected, false otherwise.
|
| - */
|
| - public boolean isConnected() {
|
| - return mService != null;
|
| - }
|
| -
|
| - private class GSAServiceConnection implements ServiceConnection {
|
| - private static final String SERVICE_CONNECTION_TAG = "GSAServiceConnection";
|
| -
|
| - @Override
|
| - public void onServiceDisconnected(ComponentName name) {
|
| - mService = null;
|
| - }
|
| -
|
| - @Override
|
| - public void onServiceConnected(ComponentName name, IBinder service) {
|
| - // Ignore this call if we disconnected in the meantime.
|
| - if (mContext == null) return;
|
| -
|
| - mService = new Messenger(service);
|
| - try {
|
| - Message registerClientMessage = Message.obtain(
|
| - null, REQUEST_REGISTER_CLIENT);
|
| - registerClientMessage.replyTo = mMessenger;
|
| - Bundle b = mGsaHelper.getBundleForRegisteringGSAClient(mContext);
|
| - registerClientMessage.setData(b);
|
| - registerClientMessage.getData().putString(
|
| - KEY_GSA_PACKAGE_NAME, mContext.getPackageName());
|
| - mService.send(registerClientMessage);
|
| - // Send prepare overlay message if there is a pending GSA context.
|
| - } catch (RemoteException e) {
|
| - Log.w(SERVICE_CONNECTION_TAG, "GSAServiceConnection - remote call failed", e);
|
| - }
|
| - }
|
| - }
|
| -}
|
|
|