mirror of https://github.com/YTVanced/VancedMicroG
Start adding support for wearable API
This commit is contained in:
parent
2f2745d6e9
commit
ad1d47e1cf
2
GmsApi
2
GmsApi
|
@ -1 +1 @@
|
||||||
Subproject commit c4db81d1fcf5c301f34e12d5675b9b50c507bd42
|
Subproject commit 3c19d84eaa9842a2526166a38ad445125dbd2300
|
|
@ -10,6 +10,7 @@ import android.content.pm.PackageManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import org.microg.gms.Constants;
|
import org.microg.gms.Constants;
|
||||||
|
import org.microg.gms.PublicApi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility class for verifying that the Google Play services APK is available and up-to-date on
|
* Utility class for verifying that the Google Play services APK is available and up-to-date on
|
||||||
|
@ -19,6 +20,7 @@ import org.microg.gms.Constants;
|
||||||
* TODO: methods :)
|
* TODO: methods :)
|
||||||
*/
|
*/
|
||||||
public class GooglePlayServicesUtil {
|
public class GooglePlayServicesUtil {
|
||||||
|
@PublicApi(exclude = true)
|
||||||
private static final String TAG = "GooglePlayServicesUtil";
|
private static final String TAG = "GooglePlayServicesUtil";
|
||||||
|
|
||||||
public static final String GMS_ERROR_DIALOG = "GooglePlayServicesErrorDialog";
|
public static final String GMS_ERROR_DIALOG = "GooglePlayServicesErrorDialog";
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.google.android.gms.common.api;
|
package com.google.android.gms.common.api;
|
||||||
|
|
||||||
|
import org.microg.gms.PublicApi;
|
||||||
import org.microg.gms.common.api.ApiBuilder;
|
import org.microg.gms.common.api.ApiBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -14,14 +15,17 @@ import org.microg.gms.common.api.ApiBuilder;
|
||||||
* <p/>
|
* <p/>
|
||||||
* See {@link GoogleApiClient.Builder} for usage examples.
|
* See {@link GoogleApiClient.Builder} for usage examples.
|
||||||
*/
|
*/
|
||||||
|
@PublicApi
|
||||||
public final class Api<O extends Api.ApiOptions> {
|
public final class Api<O extends Api.ApiOptions> {
|
||||||
|
|
||||||
private final ApiBuilder<O> builder;
|
private final ApiBuilder<O> builder;
|
||||||
|
|
||||||
|
@PublicApi(exclude = true)
|
||||||
public Api(ApiBuilder<O> builder) {
|
public Api(ApiBuilder<O> builder) {
|
||||||
this.builder = builder;
|
this.builder = builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PublicApi(exclude = true)
|
||||||
public ApiBuilder<O> getBuilder() {
|
public ApiBuilder<O> getBuilder() {
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
@ -30,28 +34,33 @@ public final class Api<O extends Api.ApiOptions> {
|
||||||
* Base interface for API options. These are used to configure specific parameters for
|
* Base interface for API options. These are used to configure specific parameters for
|
||||||
* individual API surfaces. The default implementation has no parameters.
|
* individual API surfaces. The default implementation has no parameters.
|
||||||
*/
|
*/
|
||||||
|
@PublicApi
|
||||||
public interface ApiOptions {
|
public interface ApiOptions {
|
||||||
/**
|
/**
|
||||||
* Base interface for {@link ApiOptions} in {@link Api}s that have options.
|
* Base interface for {@link ApiOptions} in {@link Api}s that have options.
|
||||||
*/
|
*/
|
||||||
|
@PublicApi
|
||||||
public interface HasOptions extends ApiOptions {
|
public interface HasOptions extends ApiOptions {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base interface for {@link ApiOptions} that are not required, don't exist.
|
* Base interface for {@link ApiOptions} that are not required, don't exist.
|
||||||
*/
|
*/
|
||||||
|
@PublicApi
|
||||||
public interface NotRequiredOptions extends ApiOptions {
|
public interface NotRequiredOptions extends ApiOptions {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link ApiOptions} implementation for {@link Api}s that do not take any options.
|
* {@link ApiOptions} implementation for {@link Api}s that do not take any options.
|
||||||
*/
|
*/
|
||||||
|
@PublicApi
|
||||||
public final class NoOptions implements NotRequiredOptions {
|
public final class NoOptions implements NotRequiredOptions {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base interface for {@link ApiOptions} that are optional.
|
* Base interface for {@link ApiOptions} that are optional.
|
||||||
*/
|
*/
|
||||||
|
@PublicApi
|
||||||
public interface Optional extends HasOptions, NotRequiredOptions {
|
public interface Optional extends HasOptions, NotRequiredOptions {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import android.view.View;
|
||||||
import com.google.android.gms.common.ConnectionResult;
|
import com.google.android.gms.common.ConnectionResult;
|
||||||
|
|
||||||
import org.microg.gms.Constants;
|
import org.microg.gms.Constants;
|
||||||
|
import org.microg.gms.PublicApi;
|
||||||
import org.microg.gms.common.api.GoogleApiClientImpl;
|
import org.microg.gms.common.api.GoogleApiClientImpl;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -37,6 +38,7 @@ import java.util.concurrent.TimeUnit;
|
||||||
* method and then call {@link #connect()} in {@link Activity#onStart()} and {@link #disconnect()}
|
* method and then call {@link #connect()} in {@link Activity#onStart()} and {@link #disconnect()}
|
||||||
* in {@link Activity#onStop()}, regardless of the state.
|
* in {@link Activity#onStop()}, regardless of the state.
|
||||||
*/
|
*/
|
||||||
|
@PublicApi
|
||||||
public interface GoogleApiClient {
|
public interface GoogleApiClient {
|
||||||
/**
|
/**
|
||||||
* Connects the client to Google Play services. Blocks until the connection either succeeds or
|
* Connects the client to Google Play services. Blocks until the connection either succeeds or
|
||||||
|
@ -217,6 +219,7 @@ public interface GoogleApiClient {
|
||||||
/**
|
/**
|
||||||
* Builder to configure a {@link GoogleApiClient}.
|
* Builder to configure a {@link GoogleApiClient}.
|
||||||
*/
|
*/
|
||||||
|
@PublicApi
|
||||||
public class Builder {
|
public class Builder {
|
||||||
private final Context context;
|
private final Context context;
|
||||||
private final Map<Api, Api.ApiOptions> apis = new HashMap<>();
|
private final Map<Api, Api.ApiOptions> apis = new HashMap<>();
|
||||||
|
@ -412,6 +415,7 @@ public interface GoogleApiClient {
|
||||||
* Provides callbacks that are called when the client is connected or disconnected from the
|
* Provides callbacks that are called when the client is connected or disconnected from the
|
||||||
* service. Most applications implement {@link #onConnected(Bundle)} to start making requests.
|
* service. Most applications implement {@link #onConnected(Bundle)} to start making requests.
|
||||||
*/
|
*/
|
||||||
|
@PublicApi
|
||||||
public interface ConnectionCallbacks {
|
public interface ConnectionCallbacks {
|
||||||
/**
|
/**
|
||||||
* A suspension cause informing that the service has been killed.
|
* A suspension cause informing that the service has been killed.
|
||||||
|
@ -456,6 +460,7 @@ public interface GoogleApiClient {
|
||||||
* the service. See {@link ConnectionResult} for a list of error codes and suggestions for
|
* the service. See {@link ConnectionResult} for a list of error codes and suggestions for
|
||||||
* resolution.
|
* resolution.
|
||||||
*/
|
*/
|
||||||
|
@PublicApi
|
||||||
public interface OnConnectionFailedListener {
|
public interface OnConnectionFailedListener {
|
||||||
/**
|
/**
|
||||||
* Called when there was an error connecting the client to the service.
|
* Called when there was an error connecting the client to the service.
|
||||||
|
|
|
@ -12,6 +12,10 @@ import org.microg.gms.common.ForwardConnectionCallbacks;
|
||||||
import org.microg.gms.common.ForwardConnectionFailedListener;
|
import org.microg.gms.common.ForwardConnectionFailedListener;
|
||||||
import org.microg.gms.common.api.AbstractPlayServicesClient;
|
import org.microg.gms.common.api.AbstractPlayServicesClient;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class is deprecated as of play services 6.5, do not use it in production systems,
|
||||||
|
* it's just a forwarder for the {@link FusedLocationProviderApi}.
|
||||||
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public class LocationClient extends AbstractPlayServicesClient {
|
public class LocationClient extends AbstractPlayServicesClient {
|
||||||
public static final String KEY_LOCATION_CHANGED = "com.google.android.location.LOCATION";
|
public static final String KEY_LOCATION_CHANGED = "com.google.android.location.LOCATION";
|
||||||
|
|
|
@ -1,32 +1,17 @@
|
||||||
package com.google.android.gms.location;
|
package com.google.android.gms.location;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Looper;
|
|
||||||
|
|
||||||
import com.google.android.gms.common.api.AccountInfo;
|
|
||||||
import com.google.android.gms.common.api.Api;
|
import com.google.android.gms.common.api.Api;
|
||||||
import com.google.android.gms.common.api.GoogleApiClient;
|
|
||||||
|
|
||||||
import org.microg.gms.common.api.ApiBuilder;
|
|
||||||
import org.microg.gms.common.api.ApiConnection;
|
|
||||||
import org.microg.gms.location.FusedLocationProviderApiImpl;
|
import org.microg.gms.location.FusedLocationProviderApiImpl;
|
||||||
import org.microg.gms.location.GeofencingApiImpl;
|
import org.microg.gms.location.GeofencingApiImpl;
|
||||||
import org.microg.gms.location.LocationClientImpl;
|
import org.microg.gms.location.LocationServicesApiBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The main entry point for location services integration.
|
* The main entry point for location services integration.
|
||||||
*/
|
*/
|
||||||
public class LocationServices {
|
public class LocationServices {
|
||||||
public static final Api<Api.ApiOptions.NoOptions> API = new Api<>(
|
public static final Api<Api.ApiOptions.NoOptions> API = new Api<>(new
|
||||||
new ApiBuilder<Api.ApiOptions.NoOptions>() {
|
LocationServicesApiBuilder());
|
||||||
@Override
|
|
||||||
public ApiConnection build(Context context, Looper looper,
|
|
||||||
Api.ApiOptions.NoOptions options,
|
|
||||||
AccountInfo accountInfo, GoogleApiClient.ConnectionCallbacks callbacks,
|
|
||||||
GoogleApiClient.OnConnectionFailedListener connectionFailedListener) {
|
|
||||||
return new LocationClientImpl(context, callbacks, connectionFailedListener);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
public static final FusedLocationProviderApi FusedLocationApi = new
|
public static final FusedLocationProviderApi FusedLocationApi = new
|
||||||
FusedLocationProviderApiImpl();
|
FusedLocationProviderApiImpl();
|
||||||
public static final GeofencingApi GeofencingApi = new GeofencingApiImpl();
|
public static final GeofencingApi GeofencingApi = new GeofencingApiImpl();
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014-2015 µg Project Team
|
||||||
|
*
|
||||||
|
* 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 com.google.android.gms.wearable;
|
||||||
|
|
||||||
|
public interface DataApi {
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014-2015 µg Project Team
|
||||||
|
*
|
||||||
|
* 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 com.google.android.gms.wearable;
|
||||||
|
|
||||||
|
public interface MessageApi {
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014-2015 µg Project Team
|
||||||
|
*
|
||||||
|
* 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 com.google.android.gms.wearable;
|
||||||
|
|
||||||
|
public interface NodeApi {
|
||||||
|
}
|
|
@ -0,0 +1,47 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014-2015 µg Project Team
|
||||||
|
*
|
||||||
|
* 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 com.google.android.gms.wearable;
|
||||||
|
|
||||||
|
import com.google.android.gms.common.api.Api;
|
||||||
|
import com.google.android.gms.common.api.GoogleApiClient;
|
||||||
|
|
||||||
|
import org.microg.gms.wearable.DataApiImpl;
|
||||||
|
import org.microg.gms.wearable.MessageApiImpl;
|
||||||
|
import org.microg.gms.wearable.NodeApiImpl;
|
||||||
|
import org.microg.gms.wearable.WearableApiBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An API for the Android Wear platform.
|
||||||
|
*/
|
||||||
|
public class Wearable {
|
||||||
|
/**
|
||||||
|
* Token to pass to {@link GoogleApiClient.Builder#addApi(Api)} to enable the Wearable features.
|
||||||
|
*/
|
||||||
|
public static final Api<WearableOptions> API = new Api<>(new WearableApiBuilder());
|
||||||
|
|
||||||
|
public static final DataApi DataApi = new DataApiImpl();
|
||||||
|
public static final MessageApi MessageApi = new MessageApiImpl();
|
||||||
|
public static final NodeApi NodeApi = new NodeApiImpl();
|
||||||
|
|
||||||
|
public static class WearableOptions implements Api.ApiOptions.Optional {
|
||||||
|
public static class Builder {
|
||||||
|
public WearableOptions build() {
|
||||||
|
return new WearableOptions();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014-2015 µg Project Team
|
||||||
|
*
|
||||||
|
* 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 org.microg.gms.location;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Looper;
|
||||||
|
|
||||||
|
import com.google.android.gms.common.api.AccountInfo;
|
||||||
|
import com.google.android.gms.common.api.Api;
|
||||||
|
import com.google.android.gms.common.api.GoogleApiClient;
|
||||||
|
|
||||||
|
import org.microg.gms.common.api.ApiBuilder;
|
||||||
|
import org.microg.gms.common.api.ApiConnection;
|
||||||
|
|
||||||
|
public class LocationServicesApiBuilder implements ApiBuilder<Api.ApiOptions.NoOptions> {
|
||||||
|
@Override
|
||||||
|
public ApiConnection build(Context context, Looper looper,
|
||||||
|
Api.ApiOptions.NoOptions options,
|
||||||
|
AccountInfo accountInfo, GoogleApiClient.ConnectionCallbacks callbacks,
|
||||||
|
GoogleApiClient.OnConnectionFailedListener connectionFailedListener) {
|
||||||
|
return new LocationClientImpl(context, callbacks, connectionFailedListener);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014-2015 µg Project Team
|
||||||
|
*
|
||||||
|
* 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 org.microg.gms.wearable;
|
||||||
|
|
||||||
|
import com.google.android.gms.wearable.DataApi;
|
||||||
|
|
||||||
|
public class DataApiImpl implements DataApi {
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014-2015 µg Project Team
|
||||||
|
*
|
||||||
|
* 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 org.microg.gms.wearable;
|
||||||
|
|
||||||
|
import com.google.android.gms.wearable.MessageApi;
|
||||||
|
|
||||||
|
public class MessageApiImpl implements MessageApi {
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014-2015 µg Project Team
|
||||||
|
*
|
||||||
|
* 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 org.microg.gms.wearable;
|
||||||
|
|
||||||
|
import com.google.android.gms.wearable.NodeApi;
|
||||||
|
|
||||||
|
public class NodeApiImpl implements NodeApi {
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014-2015 µg Project Team
|
||||||
|
*
|
||||||
|
* 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 org.microg.gms.wearable;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Looper;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.google.android.gms.common.api.AccountInfo;
|
||||||
|
import com.google.android.gms.common.api.GoogleApiClient;
|
||||||
|
import com.google.android.gms.wearable.Wearable;
|
||||||
|
|
||||||
|
import org.microg.gms.common.api.ApiBuilder;
|
||||||
|
import org.microg.gms.common.api.ApiConnection;
|
||||||
|
|
||||||
|
public class WearableApiBuilder implements ApiBuilder<Wearable.WearableOptions> {
|
||||||
|
private static final String TAG = "GmsWearableApi";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiConnection build(Context context, Looper looper, Wearable.WearableOptions options,
|
||||||
|
AccountInfo accountInfo, GoogleApiClient.ConnectionCallbacks callbacks,
|
||||||
|
GoogleApiClient.OnConnectionFailedListener connectionFailedListener) {
|
||||||
|
Log.d(TAG, "Wearables not supported");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue