diff options
author | Jeremy Walker <jewalker@google.com> | 2017-10-24 15:36:11 -0700 |
---|---|---|
committer | Jeremy Walker <jewalker@google.com> | 2017-10-24 17:05:37 -0700 |
commit | 417c1e5e79464808db9e2cc8625d87b2a1b5e1d0 (patch) | |
tree | 05709d7da9809a1d89bd7eae5450263870345041 /wearable | |
parent | d8b5621640750f458b6c6f13f459b5c03dc4a7e6 (diff) | |
download | android-417c1e5e79464808db9e2cc8625d87b2a1b5e1d0.tar.gz |
2/2: Updates remaining wear samples to new Ambient methods.
Bug: 67751763
Test: Manually tested all wear samples changed.
Change-Id: Iea289b4f0832e22b24b39b1431b7ee1fd04b6c6e
Diffstat (limited to 'wearable')
8 files changed, 139 insertions, 32 deletions
diff --git a/wearable/wear/SpeedTracker/Wearable/src/main/java/com/example/android/wearable/speedtracker/WearableMainActivity.java b/wearable/wear/SpeedTracker/Wearable/src/main/java/com/example/android/wearable/speedtracker/WearableMainActivity.java index 20ded86f..d6e2f3f8 100644 --- a/wearable/wear/SpeedTracker/Wearable/src/main/java/com/example/android/wearable/speedtracker/WearableMainActivity.java +++ b/wearable/wear/SpeedTracker/Wearable/src/main/java/com/example/android/wearable/speedtracker/WearableMainActivity.java @@ -30,6 +30,7 @@ import com.google.android.gms.wearable.Wearable; import android.Manifest; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; @@ -41,7 +42,8 @@ import android.os.Handler; import android.preference.PreferenceManager; import android.support.annotation.NonNull; import android.support.v4.app.ActivityCompat; -import android.support.wearable.activity.WearableActivity; +import android.support.v4.content.ContextCompat; +import android.support.wear.ambient.AmbientMode; import android.util.Log; import android.view.View; import android.widget.ImageView; @@ -60,7 +62,8 @@ import java.util.concurrent.TimeUnit; * and if the user exceeds the speed limit, it will turn red. In order to show the user that GPS * location data is coming in, a small green dot keeps on blinking while GPS data is available. */ -public class WearableMainActivity extends WearableActivity implements +public class WearableMainActivity extends Activity implements + AmbientMode.AmbientCallbackProvider, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, ActivityCompat.OnRequestPermissionsResultCallback, @@ -105,6 +108,12 @@ public class WearableMainActivity extends WearableActivity implements private boolean mWaitingForGpsSignal; + /** + * Ambient mode controller attached to this display. Used by the Activity to see if it is in + * ambient mode. + */ + private AmbientMode.AmbientController mAmbientController; + private GoogleApiClient mGoogleApiClient; private Handler mHandler = new Handler(); @@ -140,7 +149,8 @@ public class WearableMainActivity extends WearableActivity implements * in ambient mode, check this page: * https://developer.android.com/training/wearables/apps/always-on.html */ - setAmbientEnabled(); + // Enables Ambient mode. + mAmbientController = AmbientMode.attachAmbientSupport(this); mCalendar = Calendar.getInstance(); @@ -494,4 +504,35 @@ public class WearableMainActivity extends WearableActivity implements private boolean hasGps() { return getPackageManager().hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS); } + + @Override + public AmbientMode.AmbientCallback getAmbientCallback() { + return new MyAmbientCallback(); + } + + private class MyAmbientCallback extends AmbientMode.AmbientCallback { + /** Prepares the UI for ambient mode. */ + @Override + public void onEnterAmbient(Bundle ambientDetails) { + super.onEnterAmbient(ambientDetails); + + Log.d(TAG, "onEnterAmbient() " + ambientDetails); + + // Changes views to grey scale. + mSpeedTextView.setTextColor( + ContextCompat.getColor(getApplicationContext(), R.color.white)); + } + + /** Restores the UI to active (non-ambient) mode. */ + @Override + public void onExitAmbient() { + super.onExitAmbient(); + + Log.d(TAG, "onExitAmbient()"); + + // Changes views to color. + mSpeedTextView.setTextColor( + ContextCompat.getColor(getApplicationContext(), R.color.green)); + } + } }
\ No newline at end of file diff --git a/wearable/wear/SpeedTracker/template-params.xml b/wearable/wear/SpeedTracker/template-params.xml index 881d94eb..63170627 100644 --- a/wearable/wear/SpeedTracker/template-params.xml +++ b/wearable/wear/SpeedTracker/template-params.xml @@ -21,7 +21,7 @@ <package>com.example.android.wearable.speedtracker</package> <minSdk>18</minSdk> - <targetSdkVersion>25</targetSdkVersion> + <targetSdkVersion>26</targetSdkVersion> <minSdkVersionWear>23</minSdkVersionWear> <compileSdkVersionWear>26</compileSdkVersionWear> @@ -32,8 +32,8 @@ <has_handheld_app>true</has_handheld_app> </wearable> - <dependency>com.android.support:design:25.3.1</dependency> - <dependency_wearable>com.android.support:wear:26.0.0</dependency_wearable> + <dependency>com.android.support:design:27.0.0</dependency> + <dependency_wearable>com.android.support:wear:27.0.0</dependency_wearable> <dependency>com.google.android.gms:play-services-maps</dependency> <dependency>com.google.android.gms:play-services-location</dependency> diff --git a/wearable/wear/WearNotifications/Shared/build.gradle b/wearable/wear/WearNotifications/Shared/build.gradle index 0970e28a..d1035153 100644 --- a/wearable/wear/WearNotifications/Shared/build.gradle +++ b/wearable/wear/WearNotifications/Shared/build.gradle @@ -19,7 +19,7 @@ repositories { } dependencies { - compile 'com.android.support:support-v4:26.0.0' + compile 'com.android.support:support-v4:27.0.0' } // The sample build uses multiple directories to @@ -33,7 +33,7 @@ List<String> dirs = [ android { compileSdkVersion 26 - buildToolsVersion "25.0.3" + buildToolsVersion "26.0.1" defaultConfig { minSdkVersion 18 diff --git a/wearable/wear/WearNotifications/Wearable/src/main/java/com/example/android/wearable/wear/wearnotifications/StandaloneMainActivity.java b/wearable/wear/WearNotifications/Wearable/src/main/java/com/example/android/wearable/wear/wearnotifications/StandaloneMainActivity.java index eb8842cc..8edf2c9a 100644 --- a/wearable/wear/WearNotifications/Wearable/src/main/java/com/example/android/wearable/wear/wearnotifications/StandaloneMainActivity.java +++ b/wearable/wear/WearNotifications/Wearable/src/main/java/com/example/android/wearable/wear/wearnotifications/StandaloneMainActivity.java @@ -15,6 +15,7 @@ */ package com.example.android.wearable.wear.wearnotifications; +import android.app.Activity; import android.app.Notification; import android.app.PendingIntent; import android.content.Intent; @@ -30,9 +31,9 @@ import android.support.v4.app.NotificationCompat.MessagingStyle; import android.support.v4.app.NotificationManagerCompat; import android.support.v4.app.RemoteInput; import android.support.v4.content.ContextCompat; +import android.support.wear.ambient.AmbientMode; import android.support.wear.widget.WearableLinearLayoutManager; import android.support.wear.widget.WearableRecyclerView; -import android.support.wearable.activity.WearableActivity; import android.util.Log; import android.view.View; import android.widget.FrameLayout; @@ -53,7 +54,8 @@ import com.example.android.wearable.wear.wearnotifications.handlers.MessagingMai * standalone Android Wear apps. All {@link NotificationCompat} examples use * {@link NotificationCompat.Style}. */ -public class StandaloneMainActivity extends WearableActivity { +public class StandaloneMainActivity extends Activity implements + AmbientMode.AmbientCallbackProvider { private static final String TAG = "StandaloneMainActivity"; @@ -83,18 +85,26 @@ public class StandaloneMainActivity extends WearableActivity { private WearableRecyclerView mWearableRecyclerView; private CustomRecyclerAdapter mCustomRecyclerAdapter; + /** + * Ambient mode controller attached to this display. Used by Activity to see if it is in + * ambient mode. + */ + private AmbientMode.AmbientController mAmbientController; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d(TAG, "onCreate()"); setContentView(R.layout.activity_main); - setAmbientEnabled(); + + // Enables Ambient mode. + mAmbientController = AmbientMode.attachAmbientSupport(this); mNotificationManagerCompat = NotificationManagerCompat.from(getApplicationContext()); - mMainFrameLayout = (FrameLayout) findViewById(R.id.mainFrameLayout); - mWearableRecyclerView = (WearableRecyclerView) findViewById(R.id.recycler_view); + mMainFrameLayout = findViewById(R.id.mainFrameLayout); + mWearableRecyclerView = findViewById(R.id.recycler_view); // Aligns the first and last items on the list vertically centered on the screen. mWearableRecyclerView.setEdgeItemsCenteringEnabled(true); @@ -762,4 +772,30 @@ public class StandaloneMainActivity extends WearableActivity { intent.putExtra("app_uid", getApplicationInfo().uid); startActivity(intent); } + + @Override + public AmbientMode.AmbientCallback getAmbientCallback() { + return new MyAmbientCallback(); + } + + private class MyAmbientCallback extends AmbientMode.AmbientCallback { + /** Prepares the UI for ambient mode. */ + @Override + public void onEnterAmbient(Bundle ambientDetails) { + super.onEnterAmbient(ambientDetails); + + Log.d(TAG, "onEnterAmbient() " + ambientDetails); + // In our case, the assets are already in black and white, so we don't update UI. + } + + /** Restores the UI to active (non-ambient) mode. */ + @Override + public void onExitAmbient() { + super.onExitAmbient(); + + Log.d(TAG, "onExitAmbient()"); + // In our case, the assets are already in black and white, so we don't update UI. + } + } + }
\ No newline at end of file diff --git a/wearable/wear/WearNotifications/template-params.xml b/wearable/wear/WearNotifications/template-params.xml index 699b7606..f393959c 100644 --- a/wearable/wear/WearNotifications/template-params.xml +++ b/wearable/wear/WearNotifications/template-params.xml @@ -32,15 +32,15 @@ <has_handheld_app>true</has_handheld_app> </wearable> - <dependency>com.android.support:appcompat-v7:26.0.0</dependency> - <dependency>com.android.support:cardview-v7:26.0.0</dependency> - <dependency>com.android.support:design:26.0.0</dependency> + <dependency>com.android.support:appcompat-v7:27.0.0</dependency> + <dependency>com.android.support:cardview-v7:27.0.0</dependency> + <dependency>com.android.support:design:27.0.0</dependency> - <dependency_shared>com.android.support:support-v4:26.0.0</dependency_shared> + <dependency_shared>com.android.support:support-v4:27.0.0</dependency_shared> - <dependency_wearable>com.android.support:appcompat-v7:26.0.0</dependency_wearable> - <dependency_wearable>com.android.support:wear:26.0.0</dependency_wearable> - <dependency_wearable>com.android.support:design:26.0.0</dependency_wearable> + <dependency_wearable>com.android.support:appcompat-v7:27.0.0</dependency_wearable> + <dependency_wearable>com.android.support:wear:27.0.0</dependency_wearable> + <dependency_wearable>com.android.support:design:27.0.0</dependency_wearable> <!-- Include additional dependencies here.--> <!-- dependency>com.google.android.gms:play-services:5.0.+</dependency --> diff --git a/wearable/wear/WearVerifyRemoteApp/Wearable/build.gradle b/wearable/wear/WearVerifyRemoteApp/Wearable/build.gradle index fc4aaa4f..982cc9a4 100644 --- a/wearable/wear/WearVerifyRemoteApp/Wearable/build.gradle +++ b/wearable/wear/WearVerifyRemoteApp/Wearable/build.gradle @@ -22,14 +22,15 @@ repositories { dependencies { + compile 'com.android.support:wear:27.0.0' - compile 'com.google.android.gms:play-services-wearable:10.2.4' - compile 'com.android.support:support-v13:25.3.1' + compile 'com.google.android.gms:play-services-wearable:11.4.2' + compile 'com.android.support:support-v13:27.0.0' - provided 'com.google.android.wearable:wearable:2.0.3' + provided 'com.google.android.wearable:wearable:2.1.0' - compile 'com.google.android.support:wearable:2.0.3' + compile 'com.google.android.support:wearable:2.1.0' } @@ -43,9 +44,9 @@ List<String> dirs = [ android { - compileSdkVersion 25 + compileSdkVersion 26 - buildToolsVersion "25.0.3" + buildToolsVersion "26.0.1" defaultConfig { versionCode 1 @@ -53,7 +54,7 @@ android { minSdkVersion 23 - targetSdkVersion 25 + targetSdkVersion 26 } 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 31882b0b..feb31aae 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,6 +15,7 @@ */ package com.example.android.wearable.wear.wearverifyremoteapp; +import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; @@ -22,7 +23,7 @@ import android.os.Handler; import android.os.ResultReceiver; import android.support.annotation.NonNull; import android.support.annotation.Nullable; -import android.support.wearable.activity.WearableActivity; +import android.support.wear.ambient.AmbientMode; import android.support.wearable.view.ConfirmationOverlay; import android.util.Log; import android.view.View; @@ -46,7 +47,8 @@ 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 WearableActivity implements +public class MainWearActivity extends Activity implements + AmbientMode.AmbientCallbackProvider, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, CapabilityApi.CapabilityListener { @@ -113,7 +115,9 @@ public class MainWearActivity extends WearableActivity implements super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - setAmbientEnabled(); + + // Enables Ambient mode. + AmbientMode.attachAmbientSupport(this); mInformationTextView = (TextView) findViewById(R.id.information_text_view); mRemoteOpenButton = (Button) findViewById(R.id.remote_open_button); @@ -299,4 +303,29 @@ public class MainWearActivity extends WearableActivity implements } return bestNodeId; } + + @Override + public AmbientMode.AmbientCallback getAmbientCallback() { + return new MyAmbientCallback(); + } + + private class MyAmbientCallback extends AmbientMode.AmbientCallback { + /** Prepares the UI for ambient mode. */ + @Override + public void onEnterAmbient(Bundle ambientDetails) { + super.onEnterAmbient(ambientDetails); + + Log.d(TAG, "onEnterAmbient() " + ambientDetails); + // In our case, the assets are already in black and white, so we don't update UI. + } + + /** Restores the UI to active (non-ambient) mode. */ + @Override + public void onExitAmbient() { + super.onExitAmbient(); + + Log.d(TAG, "onExitAmbient()"); + // In our case, the assets are already in black and white, so we don't update UI. + } + } }
\ No newline at end of file diff --git a/wearable/wear/WearVerifyRemoteApp/template-params.xml b/wearable/wear/WearVerifyRemoteApp/template-params.xml index f45d4cb6..d76a9fa6 100644 --- a/wearable/wear/WearVerifyRemoteApp/template-params.xml +++ b/wearable/wear/WearVerifyRemoteApp/template-params.xml @@ -24,13 +24,13 @@ <minSdk>23</minSdk> <minSdkVersionWear>23</minSdkVersionWear> <targetSdkVersion>25</targetSdkVersion> - <targetSdkVersionWear>25</targetSdkVersionWear> + <targetSdkVersionWear>26</targetSdkVersionWear> <wearable> <has_handheld_app>true</has_handheld_app> </wearable> - <dependency>com.google.android.support:wearable:2.0.3</dependency> + <dependency_wearable>com.android.support:wear:27.0.0</dependency_wearable> <!-- Include additional dependencies here.--> <!-- dependency>com.google.android.gms:play-services:5.0.+</dependency --> |