| Index: components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/apiary/BlockingGCMRegistrar.java
|
| diff --git a/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/apiary/BlockingGCMRegistrar.java b/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/apiary/BlockingGCMRegistrar.java
|
| deleted file mode 100644
|
| index 16b014d50b764643f2433f843bf4fbc176fbf169..0000000000000000000000000000000000000000
|
| --- a/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/apiary/BlockingGCMRegistrar.java
|
| +++ /dev/null
|
| @@ -1,84 +0,0 @@
|
| -// Copyright 2014 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.components.devtools_bridge.apiary;
|
| -
|
| -import android.content.BroadcastReceiver;
|
| -import android.content.Context;
|
| -import android.content.Intent;
|
| -import android.content.IntentFilter;
|
| -import android.util.Log;
|
| -
|
| -import com.google.android.gcm.GCMConstants;
|
| -import com.google.android.gcm.GCMRegistrar;
|
| -
|
| -import java.io.IOException;
|
| -import java.util.concurrent.CountDownLatch;
|
| -
|
| -/**
|
| - * Helps using GCDRegistrar in blocking manner. If the app has not registered in GCM
|
| - * it sends registration request and waits for an intent with registration ID.
|
| - * Waiting may be interrupted. Must not be used on UI (or Context's main) looper.
|
| - */
|
| -public abstract class BlockingGCMRegistrar {
|
| - private static final String TAG = "BlockingGCMRegistrar";
|
| -
|
| - public String blockingGetRegistrationId(Context context)
|
| - throws InterruptedException, IOException {
|
| - assert context != null;
|
| -
|
| - Receiver receiver = new Receiver();
|
| - receiver.register(context);
|
| - try {
|
| - String result = GCMRegistrar.getRegistrationId(context);
|
| - if (result != null && !result.isEmpty()) return result;
|
| - GCMRegistrar.register(context, getSenderIds());
|
| - return receiver.awaitRegistrationId();
|
| - } finally {
|
| - receiver.unregister(context);
|
| - }
|
| - }
|
| -
|
| - protected abstract String[] getSenderIds();
|
| -
|
| - private static class Receiver extends BroadcastReceiver {
|
| - private final CountDownLatch mDone = new CountDownLatch(1);
|
| -
|
| - private String mRegistrationId;
|
| - private String mError;
|
| -
|
| - public void register(Context context) {
|
| - IntentFilter filter = new IntentFilter();
|
| - filter.addCategory(context.getPackageName());
|
| - filter.addAction(GCMConstants.INTENT_FROM_GCM_REGISTRATION_CALLBACK);
|
| - context.registerReceiver(this, filter);
|
| - }
|
| -
|
| - public void unregister(Context context) {
|
| - context.unregisterReceiver(this);
|
| - }
|
| -
|
| - public String awaitRegistrationId() throws InterruptedException, IOException {
|
| - mDone.await();
|
| - if (mRegistrationId != null) {
|
| - return mRegistrationId;
|
| - }
|
| - throw new IOException(mError);
|
| - }
|
| -
|
| - @Override
|
| - public void onReceive(Context context, Intent intent) {
|
| - assert intent.getAction().equals(GCMConstants.INTENT_FROM_GCM_REGISTRATION_CALLBACK);
|
| -
|
| - mRegistrationId = intent.getStringExtra(GCMConstants.EXTRA_REGISTRATION_ID);
|
| - mError = intent.getStringExtra(GCMConstants.EXTRA_ERROR);
|
| -
|
| - if (mRegistrationId != null || mError != null) {
|
| - mDone.countDown();
|
| - } else {
|
| - Log.e(TAG, "Unexpected intent: " + intent);
|
| - }
|
| - }
|
| - }
|
| -}
|
|
|