am 3603dbd3: am 89c12530: XYZ Sample: update template-params, use new material support lib
* commit '3603dbd32b554113000c9c4d3f3b68db795797df':
XYZ Sample: update template-params, use new material support lib
diff --git a/wearable/wear/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/AttractionListFragment.java b/wearable/wear/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/AttractionListFragment.java
index 0f1bc8b..28f9127 100644
--- a/wearable/wear/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/AttractionListFragment.java
+++ b/wearable/wear/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/AttractionListFragment.java
@@ -216,7 +216,7 @@
@Override
public void onClick(View v) {
- mItemClickListener.onItemClick(v, getPosition());
+ mItemClickListener.onItemClick(v, getAdapterPosition());
}
}
diff --git a/wearable/wear/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/DetailFragment.java b/wearable/wear/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/DetailFragment.java
index 4d21009..1ab7326 100644
--- a/wearable/wear/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/DetailFragment.java
+++ b/wearable/wear/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/DetailFragment.java
@@ -21,12 +21,11 @@
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
+import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
import android.support.v4.app.NavUtils;
import android.text.TextUtils;
import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
@@ -83,6 +82,7 @@
TextView descTextView = (TextView) view.findViewById(R.id.descriptionTextView);
TextView distanceTextView = (TextView) view.findViewById(R.id.distanceTextView);
ImageView imageView = (ImageView) view.findViewById(R.id.imageView);
+ FloatingActionButton mapFab = (FloatingActionButton) view.findViewById(R.id.mapFab);
LatLng location = Utils.getLocation(getActivity());
String distance = Utils.formatDistanceBetween(location, mAttraction.location);
@@ -102,13 +102,18 @@
.placeholder(R.color.lighter_gray)
.override(imageSize, imageSize)
.into(imageView);
- return view;
- }
- @Override
- public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
- inflater.inflate(R.menu.detail, menu);
- super.onCreateOptionsMenu(menu, inflater);
+ mapFab.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.setData(Uri.parse(Constants.MAPS_INTENT_URI +
+ Uri.encode(mAttraction.name + ", " + mAttraction.city)));
+ startActivity(intent);
+ }
+ });
+
+ return view;
}
@Override
@@ -139,12 +144,6 @@
// Otherwise let the system handle navigating "up"
return false;
- case R.id.map:
- Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setData(Uri.parse(Constants.MAPS_INTENT_URI +
- Uri.encode(mAttraction.name + ", " + mAttraction.city)));
- startActivity(intent);
- return true;
}
return super.onOptionsItemSelected(item);
}
diff --git a/wearable/wear/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/ScaleTransition.java b/wearable/wear/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/ScaleTransition.java
new file mode 100644
index 0000000..ab4b91f
--- /dev/null
+++ b/wearable/wear/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/ScaleTransition.java
@@ -0,0 +1,42 @@
+package com.example.android.xyztouristattractions.ui;
+
+import android.animation.Animator;
+import android.animation.ObjectAnimator;
+import android.animation.PropertyValuesHolder;
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.os.Build;
+import android.transition.TransitionValues;
+import android.transition.Visibility;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewGroup;
+
+@TargetApi(Build.VERSION_CODES.LOLLIPOP)
+public class ScaleTransition extends Visibility {
+
+ public ScaleTransition(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public Animator createAnimation(View view, float startScale, float endScale, boolean appear) {
+ view.setScaleX(startScale);
+ view.setScaleY(startScale);
+ PropertyValuesHolder holderX = PropertyValuesHolder.ofFloat("scaleX", startScale, endScale);
+ PropertyValuesHolder holderY = PropertyValuesHolder.ofFloat("scaleY", startScale, endScale);
+ ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(view, holderX, holderY);
+ return animator;
+ }
+
+ @Override
+ public Animator onAppear(ViewGroup sceneRoot, View view, TransitionValues startValues,
+ TransitionValues endValues) {
+ return createAnimation(view, 0, 1, true);
+ }
+
+ @Override
+ public Animator onDisappear(ViewGroup sceneRoot, View view, TransitionValues startValues,
+ TransitionValues endValues) {
+ return createAnimation(view, 1, 0, false);
+ }
+}
\ No newline at end of file
diff --git a/wearable/wear/XYZTouristAttractions/Application/src/main/res/layout/fragment_detail.xml b/wearable/wear/XYZTouristAttractions/Application/src/main/res/layout/fragment_detail.xml
index dffeb4e..4b00e68 100644
--- a/wearable/wear/XYZTouristAttractions/Application/src/main/res/layout/fragment_detail.xml
+++ b/wearable/wear/XYZTouristAttractions/Application/src/main/res/layout/fragment_detail.xml
@@ -16,67 +16,86 @@
limitations under the License.
-->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
+<android.support.design.widget.CoordinatorLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:weightSum="100">
-
- <ImageView
- android:id="@+id/imageView"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="50"
- android:scaleType="centerCrop"
- android:transitionName="image" />
+ android:layout_height="match_parent">
<LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="?colorPrimary"
android:orientation="vertical"
- android:paddingStart="@dimen/keyline2"
- android:paddingEnd="@dimen/keyline3"
- android:paddingTop="@dimen/standard_margin"
- android:paddingBottom="@dimen/standard_margin"
- android:elevation="2dp">
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:weightSum="100">
- <TextView
- android:id="@+id/nameTextView"
+ <ImageView
+ android:id="@+id/imageView"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="50"
+ android:scaleType="centerCrop"
+ android:transitionName="image" />
+
+ <LinearLayout
+ android:id="@+id/textLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:maxLines="2"
- android:ellipsize="end"
- android:textIsSelectable="true"
- style="@style/TextAppearance.AppCompat.Title.Inverse"
- android:transitionName="title" />
+ android:background="?colorPrimary"
+ android:orientation="vertical"
+ android:paddingStart="@dimen/keyline2"
+ android:paddingEnd="@dimen/keyline3"
+ android:paddingTop="@dimen/standard_margin"
+ android:paddingBottom="@dimen/standard_margin"
+ android:elevation="2dp">
- <TextView
- android:id="@+id/distanceTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- style="@style/TextAppearance.AppCompat.Subhead.Inverse" />
+ <TextView
+ android:id="@+id/nameTextView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:maxLines="2"
+ android:ellipsize="end"
+ android:textIsSelectable="true"
+ style="@style/TextAppearance.AppCompat.Title.Inverse" />
+
+ <TextView
+ android:id="@+id/distanceTextView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/TextAppearance.AppCompat.Subhead.Inverse" />
+
+ </LinearLayout>
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="50"
+ android:paddingTop="@dimen/standard_margin"
+ android:paddingBottom="@dimen/standard_margin"
+ android:scrollbarStyle="outsideOverlay"
+ android:clipToPadding="false">
+
+ <TextView
+ android:id="@+id/descriptionTextView"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:textIsSelectable="true"
+ style="@style/TextAppearance.AppCompat.Body1"
+ android:paddingStart="@dimen/keyline2"
+ android:paddingEnd="@dimen/keyline3" />
+
+ </ScrollView>
</LinearLayout>
-
- <ScrollView
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="50"
- android:paddingTop="@dimen/standard_margin"
- android:paddingBottom="@dimen/standard_margin"
- android:scrollbarStyle="outsideOverlay"
- android:clipToPadding="false">
- <TextView
- android:id="@+id/descriptionTextView"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:textIsSelectable="true"
- style="@style/TextAppearance.AppCompat.Body1"
- android:paddingStart="@dimen/keyline2"
- android:paddingEnd="@dimen/keyline3" />
+ <android.support.design.widget.FloatingActionButton
+ android:id="@+id/mapFab"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:src="@drawable/ic_action_map"
+ app:layout_anchor="@id/textLayout"
+ app:layout_anchorGravity="bottom|start"
+ app:rippleColor="@color/colorFabRipple"
+ android:layout_marginStart="@dimen/small_margin"
+ android:clickable="true" />
- </ScrollView>
-
-</LinearLayout>
\ No newline at end of file
+</android.support.design.widget.CoordinatorLayout>
\ No newline at end of file
diff --git a/wearable/wear/XYZTouristAttractions/Application/src/main/res/layout/list_row.xml b/wearable/wear/XYZTouristAttractions/Application/src/main/res/layout/list_row.xml
index 25f55d0..b2cef57 100644
--- a/wearable/wear/XYZTouristAttractions/Application/src/main/res/layout/list_row.xml
+++ b/wearable/wear/XYZTouristAttractions/Application/src/main/res/layout/list_row.xml
@@ -49,21 +49,20 @@
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_toRightOf="@android:id/icon"
+ android:layout_toEndOf="@android:id/icon"
android:paddingTop="@dimen/small_margin"
android:paddingLeft="@dimen/small_margin"
android:paddingRight="@dimen/small_margin"
android:maxLines="1"
android:ellipsize="end"
style="?android:textAppearanceMedium"
- tools:text="Title 1"
- android:transitionName="image" />
+ tools:text="Title 1" />
<TextView
android:id="@android:id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_toRightOf="@android:id/icon"
+ android:layout_toEndOf="@android:id/icon"
android:layout_below="@android:id/text1"
android:padding="@dimen/small_margin"
android:ellipsize="end"
diff --git a/wearable/wear/XYZTouristAttractions/Application/src/main/res/menu/detail.xml b/wearable/wear/XYZTouristAttractions/Application/src/main/res/menu/detail.xml
deleted file mode 100644
index aeb5c98..0000000
--- a/wearable/wear/XYZTouristAttractions/Application/src/main/res/menu/detail.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- Copyright 2015 Google Inc. All rights reserved.
-
- 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.
- -->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- tools:context=".MainActivity" >
-
- <item android:id="@+id/map"
- android:title="@string/action_map"
- android:orderInCategory="100"
- android:icon="@drawable/ic_action_map"
- app:showAsAction="ifRoom" />
-
-</menu>
diff --git a/wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/shared_move.xml b/wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/shared_move.xml
new file mode 100644
index 0000000..3debfa0
--- /dev/null
+++ b/wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/shared_move.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+ 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.
+-->
+<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
+ android:startDelay="@android:integer/config_shortAnimTime">
+
+ <changeBounds>
+ <arcMotion />
+ </changeBounds>
+ <changeTransform/>
+ <changeClipBounds/>
+ <changeImageTransform/>
+
+</transitionSet>
diff --git a/wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/explode.xml b/wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/window_enter.xml
similarity index 77%
rename from wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/explode.xml
rename to wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/window_enter.xml
index 5dfa717..619ffdf 100644
--- a/wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/explode.xml
+++ b/wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/window_enter.xml
@@ -14,7 +14,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
+<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
+ android:transitionOrdering="sequential">
<explode>
<targets>
@@ -25,4 +26,11 @@
</targets>
</explode>
+ <transition class="com.example.android.xyztouristattractions.ui.ScaleTransition"
+ android:interpolator="@android:interpolator/overshoot">
+ <targets>
+ <target android:targetId="@id/mapFab" />
+ </targets>
+ </transition>
+
</transitionSet>
\ No newline at end of file
diff --git a/wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/explode.xml b/wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/window_return.xml
similarity index 70%
copy from wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/explode.xml
copy to wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/window_return.xml
index 5dfa717..0dae377 100644
--- a/wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/explode.xml
+++ b/wearable/wear/XYZTouristAttractions/Application/src/main/res/transition-v21/window_return.xml
@@ -14,7 +14,16 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
+<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
+ android:transitionOrdering="sequential">
+
+ <transition class="com.example.android.xyztouristattractions.ui.ScaleTransition"
+ android:interpolator="@android:interpolator/fast_out_linear_in"
+ android:duration="@android:integer/config_shortAnimTime">
+ <targets>
+ <target android:targetId="@id/mapFab" />
+ </targets>
+ </transition>
<explode>
<targets>
@@ -22,6 +31,7 @@
<target android:targetClass="android.widget.FrameLayout" />
<target android:targetClass="android.widget.LinearLayout" />
<target android:targetClass="android.widget.ImageView" />
+ <target android:excludeId="@id/mapFab" />
</targets>
</explode>
diff --git a/wearable/wear/XYZTouristAttractions/Application/src/main/res/values-v21/styles.xml b/wearable/wear/XYZTouristAttractions/Application/src/main/res/values-v21/styles.xml
index 319d664..d1221c5 100644
--- a/wearable/wear/XYZTouristAttractions/Application/src/main/res/values-v21/styles.xml
+++ b/wearable/wear/XYZTouristAttractions/Application/src/main/res/values-v21/styles.xml
@@ -21,8 +21,10 @@
<item name="android:windowActivityTransitions">true</item>
<item name="android:windowExitTransition">@transition/fade</item>
<item name="android:windowReenterTransition">@transition/fade</item>
- <item name="android:windowEnterTransition">@transition/explode</item>
- <item name="android:windowReturnTransition">@transition/explode</item>
+ <item name="android:windowEnterTransition">@transition/window_enter</item>
+ <item name="android:windowReturnTransition">@transition/window_return</item>
+ <item name="android:windowSharedElementEnterTransition">@transition/shared_move</item>
+ <item name="android:windowSharedElementExitTransition">@transition/shared_move</item>
<item name="android:windowAllowEnterTransitionOverlap">false</item>
<item name="android:windowAllowReturnTransitionOverlap">false</item>
<item name="android:windowSharedElementsUseOverlay">false</item>
diff --git a/wearable/wear/XYZTouristAttractions/Shared/src/main/res/values/colors.xml b/wearable/wear/XYZTouristAttractions/Shared/src/main/res/values/colors.xml
index 73c2b6c..2260336 100644
--- a/wearable/wear/XYZTouristAttractions/Shared/src/main/res/values/colors.xml
+++ b/wearable/wear/XYZTouristAttractions/Shared/src/main/res/values/colors.xml
@@ -20,5 +20,6 @@
<color name="colorPrimary">#4e6cef</color>
<color name="colorPrimaryDark">#2a36b1</color>
<color name="colorAccent">#ff7043</color>
+ <color name="colorFabRipple">#D84315</color>
</resources>
\ No newline at end of file
diff --git a/wearable/wear/XYZTouristAttractions/template-params.xml b/wearable/wear/XYZTouristAttractions/template-params.xml
index 51882ac..b6c484e 100644
--- a/wearable/wear/XYZTouristAttractions/template-params.xml
+++ b/wearable/wear/XYZTouristAttractions/template-params.xml
@@ -24,15 +24,16 @@
<has_handheld_app>true</has_handheld_app>
</wearable>
- <dependency>com.android.support:appcompat-v7:22.1.1</dependency>
- <dependency>com.google.android.gms:play-services-location:7.3.0</dependency>
- <dependency>com.google.maps.android:android-maps-utils:0.3.2</dependency>
- <dependency>com.github.bumptech.glide:glide:3.5.2</dependency>
- <dependency>com.android.support:recyclerview-v7:22.1.1</dependency>
- <dependency_wearable>com.google.android.gms:play-services-location:7.3.0</dependency_wearable>
- <dependency_shared>com.google.android.gms:play-services-wearable:7.3.0</dependency_shared>
- <dependency_shared>com.google.android.gms:play-services-location:7.3.0</dependency_shared>
- <dependency_shared>com.google.maps.android:android-maps-utils:0.3.2</dependency_shared>
+ <dependency>com.google.android.gms:play-services-location</dependency>
+ <dependency>com.google.maps.android:android-maps-utils:0.3.4</dependency>
+ <dependency>com.github.bumptech.glide:glide:3.6.0</dependency>
+ <dependency>com.android.support:appcompat-v7:22.2.0</dependency>
+ <dependency>com.android.support:recyclerview-v7:22.2.0</dependency>
+ <dependency>com.android.support:design:22.2.0</dependency>
+ <dependency_wearable>com.google.android.gms:play-services-location</dependency_wearable>
+ <dependency_shared>com.google.android.gms:play-services-wearable</dependency_shared>
+ <dependency_shared>com.google.android.gms:play-services-location</dependency_shared>
+ <dependency_shared>com.google.maps.android:android-maps-utils:0.3.4</dependency_shared>
<strings>
<intro>