diff options
author | Jeremy Walker <jewalker@google.com> | 2018-06-26 12:51:44 -0700 |
---|---|---|
committer | Jeremy Walker <jewalker@google.com> | 2018-07-02 12:48:52 -0700 |
commit | a06ec9916c9d94222f5c7b3e7846088e14bf10a0 (patch) | |
tree | 20321876a7fcabca0f2e484300c712d9cc74ce52 /wearable | |
parent | 84056fc1e94c576b97613e5382703cc6ca883962 (diff) | |
download | android-a06ec9916c9d94222f5c7b3e7846088e14bf10a0.tar.gz |
Updates verify sample with latest APIs.
Bug: 4368433
Test: Manual tests.
Change-Id: Idcb388471e7dfd83a738111407e5c329e7818ea0
Diffstat (limited to 'wearable')
4 files changed, 62 insertions, 154 deletions
diff --git a/wearable/wear/WearVerifyRemoteApp/Application/src/main/java/com/example/android/wearable/wear/wearverifyremoteapp/MainMobileActivity.java b/wearable/wear/WearVerifyRemoteApp/Application/src/main/java/com/example/android/wearable/wear/wearverifyremoteapp/MainMobileActivity.java index ed151193..e9e9a496 100644 --- a/wearable/wear/WearVerifyRemoteApp/Application/src/main/java/com/example/android/wearable/wear/wearverifyremoteapp/MainMobileActivity.java +++ b/wearable/wear/WearVerifyRemoteApp/Application/src/main/java/com/example/android/wearable/wear/wearverifyremoteapp/MainMobileActivity.java @@ -20,8 +20,6 @@ import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.ResultReceiver; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; @@ -29,14 +27,11 @@ import android.widget.Button; import android.widget.TextView; import android.widget.Toast; -import com.google.android.gms.common.ConnectionResult; -import com.google.android.gms.common.api.GoogleApiClient; -import com.google.android.gms.common.api.PendingResult; -import com.google.android.gms.common.api.ResultCallback; -import com.google.android.gms.wearable.CapabilityApi; +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.Task; +import com.google.android.gms.wearable.CapabilityClient; import com.google.android.gms.wearable.CapabilityInfo; import com.google.android.gms.wearable.Node; -import com.google.android.gms.wearable.NodeApi; import com.google.android.gms.wearable.Wearable; import com.google.android.wearable.intent.RemoteIntent; @@ -49,9 +44,7 @@ import java.util.Set; * user to open the app listing on the Wear devices' Play Store. */ public class MainMobileActivity extends AppCompatActivity implements - GoogleApiClient.ConnectionCallbacks, - GoogleApiClient.OnConnectionFailedListener, - CapabilityApi.CapabilityListener { + CapabilityClient.OnCapabilityChangedListener { private static final String TAG = "MainMobileActivity"; @@ -123,16 +116,14 @@ public class MainMobileActivity extends AppCompatActivity implements private Set<Node> mWearNodesWithApp; private List<Node> mAllConnectedNodes; - private GoogleApiClient mGoogleApiClient; - @Override protected void onCreate(Bundle savedInstanceState) { Log.d(TAG, "onCreate()"); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - mInformationTextView = (TextView) findViewById(R.id.information_text_view); - mRemoteOpenButton = (Button) findViewById(R.id.remote_open_button); + mInformationTextView = findViewById(R.id.information_text_view); + mRemoteOpenButton = findViewById(R.id.remote_open_button); mInformationTextView.setText(CHECKING_MESSAGE); @@ -142,49 +133,22 @@ public class MainMobileActivity extends AppCompatActivity implements openPlayStoreOnWearDevicesWithoutApp(); } }); - - mGoogleApiClient = new GoogleApiClient.Builder(this) - .addApi(Wearable.API) - .addConnectionCallbacks(this) - .addOnConnectionFailedListener(this) - .build(); } - @Override protected void onPause() { Log.d(TAG, "onPause()"); super.onPause(); - if ((mGoogleApiClient != null) && mGoogleApiClient.isConnected()) { - - Wearable.CapabilityApi.removeCapabilityListener( - mGoogleApiClient, - this, - CAPABILITY_WEAR_APP); - - mGoogleApiClient.disconnect(); - } + Wearable.getCapabilityClient(this).removeListener(this, CAPABILITY_WEAR_APP); } @Override protected void onResume() { Log.d(TAG, "onResume()"); super.onResume(); - if (mGoogleApiClient != null) { - mGoogleApiClient.connect(); - } - } - @Override - public void onConnected(@Nullable Bundle bundle) { - Log.d(TAG, "onConnected()"); - - // Set up listeners for capability changes (install/uninstall of remote app). - Wearable.CapabilityApi.addCapabilityListener( - mGoogleApiClient, - this, - CAPABILITY_WEAR_APP); + Wearable.getCapabilityClient(this).addListener(this, CAPABILITY_WEAR_APP); // Initial request for devices with our capability, aka, our Wear app installed. findWearDevicesWithApp(); @@ -196,16 +160,6 @@ public class MainMobileActivity extends AppCompatActivity implements findAllWearDevices(); } - @Override - public void onConnectionSuspended(int i) { - Log.d(TAG, "onConnectionSuspended(): connection to location client suspended: " + i); - } - - @Override - public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { - Log.e(TAG, "onConnectionFailed(): " + connectionResult); - } - /* * Updates UI when capabilities change (install/uninstall wear app). */ @@ -224,26 +178,25 @@ public class MainMobileActivity extends AppCompatActivity implements private void findWearDevicesWithApp() { Log.d(TAG, "findWearDevicesWithApp()"); - // You can filter this by FILTER_REACHABLE if you only want to open Nodes (Wear Devices) - // directly connect to your phone. - PendingResult<CapabilityApi.GetCapabilityResult> pendingResult = - Wearable.CapabilityApi.getCapability( - mGoogleApiClient, - CAPABILITY_WEAR_APP, - CapabilityApi.FILTER_ALL); + Task<CapabilityInfo> capabilityInfoTask = Wearable.getCapabilityClient(this) + .getCapability(CAPABILITY_WEAR_APP, CapabilityClient.FILTER_ALL); - pendingResult.setResultCallback(new ResultCallback<CapabilityApi.GetCapabilityResult>() { + capabilityInfoTask.addOnCompleteListener(new OnCompleteListener<CapabilityInfo>() { @Override - public void onResult(@NonNull CapabilityApi.GetCapabilityResult getCapabilityResult) { - Log.d(TAG, "onResult(): " + getCapabilityResult); + public void onComplete(Task<CapabilityInfo> task) { - if (getCapabilityResult.getStatus().isSuccess()) { - CapabilityInfo capabilityInfo = getCapabilityResult.getCapability(); + if (task.isSuccessful()) { + Log.d(TAG, "Capability request succeeded."); + + CapabilityInfo capabilityInfo = task.getResult(); mWearNodesWithApp = capabilityInfo.getNodes(); + + Log.d(TAG, "Capable Nodes: " + mWearNodesWithApp); + verifyNodeAndUpdateUI(); } else { - Log.d(TAG, "Failed CapabilityApi: " + getCapabilityResult.getStatus()); + Log.d(TAG, "Capability request failed to return any results."); } } }); @@ -252,20 +205,21 @@ public class MainMobileActivity extends AppCompatActivity implements private void findAllWearDevices() { Log.d(TAG, "findAllWearDevices()"); - PendingResult<NodeApi.GetConnectedNodesResult> pendingResult = - Wearable.NodeApi.getConnectedNodes(mGoogleApiClient); + Task<List<Node>> NodeListTask = Wearable.getNodeClient(this).getConnectedNodes(); - pendingResult.setResultCallback(new ResultCallback<NodeApi.GetConnectedNodesResult>() { + NodeListTask.addOnCompleteListener(new OnCompleteListener<List<Node>>() { @Override - public void onResult(@NonNull NodeApi.GetConnectedNodesResult getConnectedNodesResult) { + public void onComplete(Task<List<Node>> task) { - if (getConnectedNodesResult.getStatus().isSuccess()) { - mAllConnectedNodes = getConnectedNodesResult.getNodes(); - verifyNodeAndUpdateUI(); + if (task.isSuccessful()) { + Log.d(TAG, "Node request succeeded."); + mAllConnectedNodes = task.getResult(); } else { - Log.d(TAG, "Failed CapabilityApi: " + getConnectedNodesResult.getStatus()); + Log.d(TAG, "Node request failed to return any results."); } + + verifyNodeAndUpdateUI(); } }); } @@ -338,4 +292,4 @@ public class MainMobileActivity extends AppCompatActivity implements } } } -}
\ No newline at end of file +} diff --git a/wearable/wear/WearVerifyRemoteApp/Wearable/build.gradle b/wearable/wear/WearVerifyRemoteApp/Wearable/build.gradle index bb93be97..ac9f1454 100644 --- a/wearable/wear/WearVerifyRemoteApp/Wearable/build.gradle +++ b/wearable/wear/WearVerifyRemoteApp/Wearable/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.0.1' + classpath 'com.android.tools.build:gradle:3.1.3' } } @@ -21,15 +21,15 @@ repositories { dependencies { - compile 'com.android.support:wear:27.1.0' + implementation 'com.android.support:wear:27.1.1' - compile 'com.google.android.gms:play-services-wearable:11.8.0' - compile 'com.android.support:support-v13:27.1.0' + implementation 'com.google.android.gms:play-services-wearable:15.0.1' + implementation 'com.android.support:support-v13:27.1.1' - provided 'com.google.android.wearable:wearable:2.3.0' + compileOnly 'com.google.android.wearable:wearable:2.3.0' - compile 'com.google.android.support:wearable:2.3.0' + implementation 'com.google.android.support:wearable:2.3.0' } diff --git a/wearable/wear/WearVerifyRemoteApp/Wearable/src/main/java/com/example/android/wearable/wear/wearverifyremoteapp/MainWearActivity.java b/wearable/wear/WearVerifyRemoteApp/Wearable/src/main/java/com/example/android/wearable/wear/wearverifyremoteapp/MainWearActivity.java index 53b71aa7..6521b090 100644 --- a/wearable/wear/WearVerifyRemoteApp/Wearable/src/main/java/com/example/android/wearable/wear/wearverifyremoteapp/MainWearActivity.java +++ b/wearable/wear/WearVerifyRemoteApp/Wearable/src/main/java/com/example/android/wearable/wear/wearverifyremoteapp/MainWearActivity.java @@ -15,15 +15,13 @@ */ package com.example.android.wearable.wear.wearverifyremoteapp; -import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.ResultReceiver; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.wear.ambient.AmbientMode; +import android.support.v4.app.FragmentActivity; +import android.support.wear.ambient.AmbientModeSupport; import android.support.wearable.phone.PhoneDeviceType; import android.support.wearable.view.ConfirmationOverlay; import android.util.Log; @@ -31,11 +29,9 @@ import android.view.View; import android.widget.Button; import android.widget.TextView; -import com.google.android.gms.common.ConnectionResult; -import com.google.android.gms.common.api.GoogleApiClient; -import com.google.android.gms.common.api.PendingResult; -import com.google.android.gms.common.api.ResultCallback; -import com.google.android.gms.wearable.CapabilityApi; +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.Task; +import com.google.android.gms.wearable.CapabilityClient; import com.google.android.gms.wearable.CapabilityInfo; import com.google.android.gms.wearable.Node; import com.google.android.gms.wearable.Wearable; @@ -47,11 +43,9 @@ import java.util.Set; * Checks if the phone app is installed on remote device. If it is not, allows user to open app * listing on the phone's Play or App Store. */ -public class MainWearActivity extends Activity implements - AmbientMode.AmbientCallbackProvider, - GoogleApiClient.ConnectionCallbacks, - GoogleApiClient.OnConnectionFailedListener, - CapabilityApi.CapabilityListener { +public class MainWearActivity extends FragmentActivity implements + AmbientModeSupport.AmbientCallbackProvider, + CapabilityClient.OnCapabilityChangedListener { private static final String TAG = "MainWearActivity"; @@ -107,8 +101,6 @@ public class MainWearActivity extends Activity implements private Node mAndroidPhoneNodeWithApp; - private GoogleApiClient mGoogleApiClient; - @Override protected void onCreate(Bundle savedInstanceState) { Log.d(TAG, "onCreate()"); @@ -117,10 +109,10 @@ public class MainWearActivity extends Activity implements setContentView(R.layout.activity_main); // Enables Ambient mode. - AmbientMode.attachAmbientSupport(this); + AmbientModeSupport.attach(this); - mInformationTextView = (TextView) findViewById(R.id.information_text_view); - mRemoteOpenButton = (Button) findViewById(R.id.remote_open_button); + mInformationTextView = findViewById(R.id.information_text_view); + mRemoteOpenButton = findViewById(R.id.remote_open_button); mInformationTextView.setText(CHECKING_MESSAGE); @@ -130,12 +122,6 @@ public class MainWearActivity extends Activity implements openAppInStoreOnPhone(); } }); - - mGoogleApiClient = new GoogleApiClient.Builder(this) - .addApi(Wearable.API) - .addConnectionCallbacks(this) - .addOnConnectionFailedListener(this) - .build(); } @@ -144,48 +130,19 @@ public class MainWearActivity extends Activity implements Log.d(TAG, "onPause()"); super.onPause(); - if ((mGoogleApiClient != null) && mGoogleApiClient.isConnected()) { - Wearable.CapabilityApi.removeCapabilityListener( - mGoogleApiClient, - this, - CAPABILITY_PHONE_APP); - - mGoogleApiClient.disconnect(); - } + Wearable.getCapabilityClient(this).removeListener(this, CAPABILITY_PHONE_APP); } @Override protected void onResume() { Log.d(TAG, "onResume()"); super.onResume(); - if (mGoogleApiClient != null) { - mGoogleApiClient.connect(); - } - } - - @Override - public void onConnected(@Nullable Bundle bundle) { - Log.d(TAG, "onConnected()"); - // Set up listeners for capability changes (install/uninstall of remote app). - Wearable.CapabilityApi.addCapabilityListener( - mGoogleApiClient, - this, - CAPABILITY_PHONE_APP); + Wearable.getCapabilityClient(this).addListener(this, CAPABILITY_PHONE_APP); checkIfPhoneHasApp(); } - @Override - public void onConnectionSuspended(int i) { - Log.d(TAG, "onConnectionSuspended(): connection to location client suspended: " + i); - } - - @Override - public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { - Log.e(TAG, "onConnectionFailed(): " + connectionResult); - } - /* * Updates UI when capabilities change (install/uninstall phone app). */ @@ -199,26 +156,23 @@ public class MainWearActivity extends Activity implements private void checkIfPhoneHasApp() { Log.d(TAG, "checkIfPhoneHasApp()"); - PendingResult<CapabilityApi.GetCapabilityResult> pendingResult = - Wearable.CapabilityApi.getCapability( - mGoogleApiClient, - CAPABILITY_PHONE_APP, - CapabilityApi.FILTER_ALL); - - pendingResult.setResultCallback(new ResultCallback<CapabilityApi.GetCapabilityResult>() { + Task<CapabilityInfo> capabilityInfoTask = Wearable.getCapabilityClient(this) + .getCapability(CAPABILITY_PHONE_APP, CapabilityClient.FILTER_ALL); + capabilityInfoTask.addOnCompleteListener(new OnCompleteListener<CapabilityInfo>() { @Override - public void onResult(@NonNull CapabilityApi.GetCapabilityResult getCapabilityResult) { - Log.d(TAG, "onResult(): " + getCapabilityResult); + public void onComplete(Task<CapabilityInfo> task) { - if (getCapabilityResult.getStatus().isSuccess()) { - CapabilityInfo capabilityInfo = getCapabilityResult.getCapability(); + if (task.isSuccessful()) { + Log.d(TAG, "Capability request succeeded."); + CapabilityInfo capabilityInfo = task.getResult(); mAndroidPhoneNodeWithApp = pickBestNodeId(capabilityInfo.getNodes()); - verifyNodeAndUpdateUI(); } else { - Log.d(TAG, "Failed CapabilityApi: " + getCapabilityResult.getStatus()); + Log.d(TAG, "Capability request failed to return any results."); } + + verifyNodeAndUpdateUI(); } }); } @@ -301,11 +255,11 @@ public class MainWearActivity extends Activity implements } @Override - public AmbientMode.AmbientCallback getAmbientCallback() { + public AmbientModeSupport.AmbientCallback getAmbientCallback() { return new MyAmbientCallback(); } - private class MyAmbientCallback extends AmbientMode.AmbientCallback { + private class MyAmbientCallback extends AmbientModeSupport.AmbientCallback { /** Prepares the UI for ambient mode. */ @Override public void onEnterAmbient(Bundle ambientDetails) { diff --git a/wearable/wear/WearVerifyRemoteApp/template-params.xml b/wearable/wear/WearVerifyRemoteApp/template-params.xml index 6c3f3f9b..7b17a137 100644 --- a/wearable/wear/WearVerifyRemoteApp/template-params.xml +++ b/wearable/wear/WearVerifyRemoteApp/template-params.xml @@ -34,7 +34,7 @@ <dependency>com.google.android.support:wearable:2.3.0</dependency> - <dependency_wearable>com.android.support:wear:27.1.0</dependency_wearable> + <dependency_wearable>com.android.support:wear:27.1.1</dependency_wearable> <!-- Include additional dependencies here.--> <!-- dependency>com.google.android.gms:play-services:5.0.+</dependency --> |