From eae63f9561b5449c9924d4f85ad26dac6a8ce370 Mon Sep 17 00:00:00 2001 From: Jan-Felix Schmakeit Date: Wed, 27 May 2015 13:23:17 +1000 Subject: [PATCH 1/2] Add map to FrameLayout and add margins based on wearable window insets. Change-Id: Ibc882dd56f975f52549e2c28fd2c43934e0f356e --- AndroidWearMap/{app => Wearable}/.gitignore | 0 AndroidWearMap/{app => Wearable}/build.gradle | 2 +- .../{app => Wearable}/libs/.gitignore | 0 .../{app => Wearable}/proguard-rules.pro | 0 .../src/debug/res/values/google_maps_api.xml | 0 .../src/main/AndroidManifest.xml | 0 .../example/androidwearmap/MainActivity.java | 31 ++++++++++++++++++ .../src/main/res/layout/activity_main.xml | 21 ++++++++---- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../src/main/res/values/strings.xml | 0 AndroidWearMap/settings.gradle | 2 +- 14 files changed, 48 insertions(+), 8 deletions(-) rename AndroidWearMap/{app => Wearable}/.gitignore (100%) rename AndroidWearMap/{app => Wearable}/build.gradle (95%) rename AndroidWearMap/{app => Wearable}/libs/.gitignore (100%) rename AndroidWearMap/{app => Wearable}/proguard-rules.pro (100%) rename AndroidWearMap/{app => Wearable}/src/debug/res/values/google_maps_api.xml (100%) rename AndroidWearMap/{app => Wearable}/src/main/AndroidManifest.xml (100%) rename AndroidWearMap/{app => Wearable}/src/main/java/com/example/androidwearmap/MainActivity.java (68%) rename AndroidWearMap/{app => Wearable}/src/main/res/layout/activity_main.xml (65%) rename AndroidWearMap/{app => Wearable}/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename AndroidWearMap/{app => Wearable}/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename AndroidWearMap/{app => Wearable}/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename AndroidWearMap/{app => Wearable}/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename AndroidWearMap/{app => Wearable}/src/main/res/values/strings.xml (100%) diff --git a/AndroidWearMap/app/.gitignore b/AndroidWearMap/Wearable/.gitignore similarity index 100% rename from AndroidWearMap/app/.gitignore rename to AndroidWearMap/Wearable/.gitignore diff --git a/AndroidWearMap/app/build.gradle b/AndroidWearMap/Wearable/build.gradle similarity index 95% rename from AndroidWearMap/app/build.gradle rename to AndroidWearMap/Wearable/build.gradle index c77942ce..8a449683 100644 --- a/AndroidWearMap/app/build.gradle +++ b/AndroidWearMap/Wearable/build.gradle @@ -45,5 +45,5 @@ dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.android.support:wearable:1.1.0' - compile 'com.google.android.gms:play-services:7.3.0' + compile 'com.google.android.gms:play-services:7.5.0' } diff --git a/AndroidWearMap/app/libs/.gitignore b/AndroidWearMap/Wearable/libs/.gitignore similarity index 100% rename from AndroidWearMap/app/libs/.gitignore rename to AndroidWearMap/Wearable/libs/.gitignore diff --git a/AndroidWearMap/app/proguard-rules.pro b/AndroidWearMap/Wearable/proguard-rules.pro similarity index 100% rename from AndroidWearMap/app/proguard-rules.pro rename to AndroidWearMap/Wearable/proguard-rules.pro diff --git a/AndroidWearMap/app/src/debug/res/values/google_maps_api.xml b/AndroidWearMap/Wearable/src/debug/res/values/google_maps_api.xml similarity index 100% rename from AndroidWearMap/app/src/debug/res/values/google_maps_api.xml rename to AndroidWearMap/Wearable/src/debug/res/values/google_maps_api.xml diff --git a/AndroidWearMap/app/src/main/AndroidManifest.xml b/AndroidWearMap/Wearable/src/main/AndroidManifest.xml similarity index 100% rename from AndroidWearMap/app/src/main/AndroidManifest.xml rename to AndroidWearMap/Wearable/src/main/AndroidManifest.xml diff --git a/AndroidWearMap/app/src/main/java/com/example/androidwearmap/MainActivity.java b/AndroidWearMap/Wearable/src/main/java/com/example/androidwearmap/MainActivity.java similarity index 68% rename from AndroidWearMap/app/src/main/java/com/example/androidwearmap/MainActivity.java rename to AndroidWearMap/Wearable/src/main/java/com/example/androidwearmap/MainActivity.java index 0f158a83..99ae9b60 100644 --- a/AndroidWearMap/app/src/main/java/com/example/androidwearmap/MainActivity.java +++ b/AndroidWearMap/Wearable/src/main/java/com/example/androidwearmap/MainActivity.java @@ -26,6 +26,9 @@ import com.google.android.gms.maps.model.MarkerOptions; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.wearable.view.DismissOverlayView; +import android.view.View; +import android.view.WindowInsets; +import android.widget.FrameLayout; /** * Sample that shows how to set up a basic Google Map on Android Wear. @@ -43,6 +46,7 @@ public class MainActivity extends FragmentActivity implements OnMapReadyCallback /** * The map. It is initialized when the map has been fully loaded and is ready to be used. + * * @see #onMapReady(com.google.android.gms.maps.GoogleMap) */ private GoogleMap mMap; @@ -53,6 +57,33 @@ public class MainActivity extends FragmentActivity implements OnMapReadyCallback // Set the layout. It only contains a SupportMapFragment and a DismissOverlay. setContentView(R.layout.activity_main); + // Retrieve the containers for the root of the layout and the map. Margins will need to be + // set on them to account for the system window insets. + final FrameLayout topFrameLayout = (FrameLayout) findViewById(R.id.root_container); + final FrameLayout mapFrameLayout = (FrameLayout) findViewById(R.id.map_container); + + // Set the system view insets on the containers when they become available. + topFrameLayout.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() { + @Override + public WindowInsets onApplyWindowInsets(View v, WindowInsets insets) { + // Call through to super implementation and apply insets + insets = topFrameLayout.onApplyWindowInsets(insets); + + FrameLayout.LayoutParams params = + (FrameLayout.LayoutParams) mapFrameLayout.getLayoutParams(); + + // Add Wearable insets to FrameLayout container holding map as margins + params.setMargins( + insets.getSystemWindowInsetLeft(), + insets.getSystemWindowInsetTop(), + insets.getSystemWindowInsetRight(), + insets.getSystemWindowInsetBottom()); + mapFrameLayout.setLayoutParams(params); + + return insets; + } + }); + // Obtain the DismissOverlayView and display the intro help text. mDismissOverlay = (DismissOverlayView) findViewById(R.id.dismiss_overlay); mDismissOverlay.setIntroText(R.string.intro_text); diff --git a/AndroidWearMap/app/src/main/res/layout/activity_main.xml b/AndroidWearMap/Wearable/src/main/res/layout/activity_main.xml similarity index 65% rename from AndroidWearMap/app/src/main/res/layout/activity_main.xml rename to AndroidWearMap/Wearable/src/main/res/layout/activity_main.xml index 53bf2ac3..5883d3fb 100644 --- a/AndroidWearMap/app/src/main/res/layout/activity_main.xml +++ b/AndroidWearMap/Wearable/src/main/res/layout/activity_main.xml @@ -19,17 +19,26 @@ - + + + + + - \ No newline at end of file + \ No newline at end of file diff --git a/AndroidWearMap/app/src/main/res/mipmap-hdpi/ic_launcher.png b/AndroidWearMap/Wearable/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from AndroidWearMap/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to AndroidWearMap/Wearable/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/AndroidWearMap/app/src/main/res/mipmap-mdpi/ic_launcher.png b/AndroidWearMap/Wearable/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from AndroidWearMap/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to AndroidWearMap/Wearable/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/AndroidWearMap/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/AndroidWearMap/Wearable/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from AndroidWearMap/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to AndroidWearMap/Wearable/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/AndroidWearMap/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/AndroidWearMap/Wearable/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from AndroidWearMap/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to AndroidWearMap/Wearable/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/AndroidWearMap/app/src/main/res/values/strings.xml b/AndroidWearMap/Wearable/src/main/res/values/strings.xml similarity index 100% rename from AndroidWearMap/app/src/main/res/values/strings.xml rename to AndroidWearMap/Wearable/src/main/res/values/strings.xml diff --git a/AndroidWearMap/settings.gradle b/AndroidWearMap/settings.gradle index 0eaf9426..ff969282 100644 --- a/AndroidWearMap/settings.gradle +++ b/AndroidWearMap/settings.gradle @@ -14,4 +14,4 @@ * limitations under the License. */ -include ':app' +include ':Wearable' From ab79c2a7baa93eec95598d72667d12aa9264dbef Mon Sep 17 00:00:00 2001 From: Jan-Felix Schmakeit Date: Mon, 6 Jul 2015 11:21:55 +1000 Subject: [PATCH 2/2] Clean up AndroidWearMap sample and update to Google Play Services 7.8. Use MapFragment instead of SupportMapFragment and add a .gitingore file. Change-Id: Id89502cb8fdaa1898e30435e8f09ab6cdd4e986a --- .gitignore | 6 ++++++ AndroidWearMap/Wearable/build.gradle | 8 ++++---- .../java/com/example/androidwearmap/MainActivity.java | 11 +++++------ .../Wearable/src/main/res/layout/activity_main.xml | 2 +- 4 files changed, 16 insertions(+), 11 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..73145024 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +build/ +.idea +.gradle +*.iml +local.properties +.DS_Store diff --git a/AndroidWearMap/Wearable/build.gradle b/AndroidWearMap/Wearable/build.gradle index 8a449683..0361f1c2 100644 --- a/AndroidWearMap/Wearable/build.gradle +++ b/AndroidWearMap/Wearable/build.gradle @@ -18,13 +18,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 21 - buildToolsVersion "21.1.2" + compileSdkVersion 22 + buildToolsVersion "22.0.1" defaultConfig { applicationId "com.example.androidwearmap" minSdkVersion 21 - targetSdkVersion 21 + targetSdkVersion 22 versionCode 1 versionName "1.0" } @@ -45,5 +45,5 @@ dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.android.support:wearable:1.1.0' - compile 'com.google.android.gms:play-services:7.5.0' + compile 'com.google.android.gms:play-services:7.8.0' } diff --git a/AndroidWearMap/Wearable/src/main/java/com/example/androidwearmap/MainActivity.java b/AndroidWearMap/Wearable/src/main/java/com/example/androidwearmap/MainActivity.java index 99ae9b60..6d6e11a1 100644 --- a/AndroidWearMap/Wearable/src/main/java/com/example/androidwearmap/MainActivity.java +++ b/AndroidWearMap/Wearable/src/main/java/com/example/androidwearmap/MainActivity.java @@ -18,13 +18,13 @@ package com.example.androidwearmap; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; +import com.google.android.gms.maps.MapFragment; import com.google.android.gms.maps.OnMapReadyCallback; -import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; +import android.app.Activity; import android.os.Bundle; -import android.support.v4.app.FragmentActivity; import android.support.wearable.view.DismissOverlayView; import android.view.View; import android.view.WindowInsets; @@ -33,7 +33,7 @@ import android.widget.FrameLayout; /** * Sample that shows how to set up a basic Google Map on Android Wear. */ -public class MainActivity extends FragmentActivity implements OnMapReadyCallback, +public class MainActivity extends Activity implements OnMapReadyCallback, GoogleMap.OnMapLongClickListener { private static final LatLng SYDNEY = new LatLng(-33.85704, 151.21522); @@ -90,9 +90,8 @@ public class MainActivity extends FragmentActivity implements OnMapReadyCallback mDismissOverlay.showIntroIfNecessary(); // Obtain the MapFragment and set the async listener to be notified when the map is ready. - SupportMapFragment mapFragment = - (SupportMapFragment) getSupportFragmentManager() - .findFragmentById(R.id.map); + MapFragment mapFragment = + (MapFragment) getFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); } diff --git a/AndroidWearMap/Wearable/src/main/res/layout/activity_main.xml b/AndroidWearMap/Wearable/src/main/res/layout/activity_main.xml index 5883d3fb..9d396e0c 100644 --- a/AndroidWearMap/Wearable/src/main/res/layout/activity_main.xml +++ b/AndroidWearMap/Wearable/src/main/res/layout/activity_main.xml @@ -33,7 +33,7 @@ android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" - android:name="com.google.android.gms.maps.SupportMapFragment"/> + android:name="com.google.android.gms.maps.MapFragment"/>