Skip to content

Commit 78c0aed

Browse files
authored
feat: added material to samples (#1991)
* feat: added material to samples * feat: WIP * feat: added material to samples * feat: some more samples * feat: base activity * feat: some more samples
1 parent 0ebeb1f commit 78c0aed

File tree

85 files changed

+1526
-892
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+1526
-892
lines changed

ApiDemos/java/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ limitations under the License.
3838
android:icon="@mipmap/ic_launcher"
3939
android:label="@string/demo_title"
4040
android:supportsRtl="true"
41-
android:theme="@style/AppTheme">
41+
android:theme="@style/MaterialAppTheme">
4242

4343
<!--
4444
To add your Maps API key to this project:

ApiDemos/java/app/src/main/java/com/example/mapdemo/AdvancedMarkersDemoActivity.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,14 @@
1616
import android.graphics.Color;
1717
import android.os.Bundle;
1818
import android.util.Log;
19+
import android.view.View;
1920
import android.widget.TextView;
2021

22+
import androidx.activity.EdgeToEdge;
2123
import androidx.appcompat.app.AppCompatActivity;
24+
import androidx.core.graphics.Insets;
25+
import androidx.core.view.ViewCompat;
26+
import androidx.core.view.WindowInsetsCompat;
2227

2328
import com.google.android.gms.maps.CameraUpdateFactory;
2429
import com.google.android.gms.maps.GoogleMap;
@@ -36,7 +41,7 @@
3641
* possibilities.
3742
*/
3843
// [START maps_android_sample_marker_advanced]
39-
public class AdvancedMarkersDemoActivity extends AppCompatActivity implements OnMapReadyCallback {
44+
public class AdvancedMarkersDemoActivity extends SamplesBaseActivity implements OnMapReadyCallback {
4045

4146
private static final LatLng SINGAPORE = new LatLng(1.3521, 103.8198);
4247
private static final LatLng KUALA_LUMPUR = new LatLng(3.1390, 101.6869);
@@ -58,8 +63,11 @@ protected void onCreate(Bundle savedInstanceState) {
5863
if (mapFragment != null) {
5964
mapFragment.getMapAsync(this);
6065
}
66+
applyInsets(findViewById(R.id.map_container));
6167
}
6268

69+
70+
6371
@Override
6472
public void onMapReady(GoogleMap map) {
6573
map.moveCamera(CameraUpdateFactory.newLatLngZoom(SINGAPORE, ZOOM_LEVEL));

ApiDemos/java/app/src/main/java/com/example/mapdemo/BackgroundColorCustomizationDemoActivity.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
import android.os.Bundle;
1818
import android.widget.CheckBox;
19+
20+
import androidx.activity.EdgeToEdge;
1921
import androidx.annotation.Nullable;
2022
import androidx.appcompat.app.AppCompatActivity;
2123
import com.google.android.gms.common.internal.Preconditions;
@@ -24,12 +26,14 @@
2426
import com.google.android.gms.maps.SupportMapFragment;
2527
import com.google.android.gms.maps.model.LatLng;
2628
import com.google.android.gms.maps.model.MarkerOptions;
29+
import com.google.android.material.switchmaterial.SwitchMaterial;
2730

2831
/**
2932
* This shows how to create a simple activity with a custom background color appiled to the map, and
3033
* add a marker on the map.
34+
*
3135
*/
32-
public class BackgroundColorCustomizationDemoActivity extends AppCompatActivity
36+
public class BackgroundColorCustomizationDemoActivity extends SamplesBaseActivity
3337
implements OnMapReadyCallback {
3438

3539
@Override
@@ -42,6 +46,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
4246

4347
Preconditions.checkNotNull(mapFragment)
4448
.getMapAsync(this);
49+
applyInsets(findViewById(R.id.map_container));
4550
}
4651

4752
/**
@@ -52,7 +57,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
5257
public void onMapReady(GoogleMap map) {
5358
map.setMapType(GoogleMap.MAP_TYPE_NONE);
5459

55-
CheckBox mapTypeToggleCheckbox = (CheckBox) findViewById(R.id.map_type_toggle);
60+
SwitchMaterial mapTypeToggleCheckbox = findViewById(R.id.map_type_toggle);
5661
mapTypeToggleCheckbox.setOnCheckedChangeListener(
5762
(view, isChecked) -> map.setMapType(isChecked ? GoogleMap.MAP_TYPE_NORMAL : GoogleMap.MAP_TYPE_NONE));
5863

ApiDemos/java/app/src/main/java/com/example/mapdemo/BackgroundColorCustomizationProgrammaticDemoActivity.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import android.graphics.Color;
1818
import android.os.Bundle;
1919
import android.widget.CheckBox;
20+
21+
import androidx.activity.EdgeToEdge;
2022
import androidx.annotation.Nullable;
2123
import androidx.appcompat.app.AppCompatActivity;
2224
import androidx.fragment.app.FragmentTransaction;
@@ -31,7 +33,7 @@
3133
* This shows how to to instantiate a SupportMapFragment programmatically with a custom background
3234
* color applied to the map, and add a marker on the map.
3335
*/
34-
public class BackgroundColorCustomizationProgrammaticDemoActivity extends AppCompatActivity
36+
public class BackgroundColorCustomizationProgrammaticDemoActivity extends SamplesBaseActivity
3537
implements OnMapReadyCallback {
3638

3739
private static final String MAP_FRAGMENT_TAG = "map";
@@ -61,6 +63,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
6163
fragmentTransaction.commit();
6264
}
6365
mapFragment.getMapAsync(this);
66+
applyInsets(findViewById(R.id.map_container));
6467
}
6568

6669
@Override

ApiDemos/java/app/src/main/java/com/example/mapdemo/BasicMapDemoActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* This shows how to create a simple activity with a map and a marker on the map.
2929
*/
3030
// [START maps_android_sample_basic_map]
31-
public class BasicMapDemoActivity extends AppCompatActivity implements OnMapReadyCallback {
31+
public class BasicMapDemoActivity extends SamplesBaseActivity implements OnMapReadyCallback {
3232

3333
@Override
3434
protected void onCreate(Bundle savedInstanceState) {
@@ -38,6 +38,7 @@ protected void onCreate(Bundle savedInstanceState) {
3838
SupportMapFragment mapFragment =
3939
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
4040
mapFragment.getMapAsync(this);
41+
applyInsets(findViewById(R.id.map_container));
4142
}
4243

4344
/**

ApiDemos/java/app/src/main/java/com/example/mapdemo/CameraClampingDemoActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
/**
3535
* This shows how to constrain the camera to specific boundaries and zoom levels.
3636
*/
37-
public class CameraClampingDemoActivity extends AppCompatActivity
37+
public class CameraClampingDemoActivity extends SamplesBaseActivity
3838
implements OnMapReadyCallback, OnCameraIdleListener {
3939

4040
private static final String TAG = CameraClampingDemoActivity.class.getSimpleName();
@@ -81,6 +81,7 @@ protected void onCreate(Bundle savedInstanceState) {
8181
SupportMapFragment mapFragment =
8282
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
8383
mapFragment.getMapAsync(this);
84+
applyInsets(findViewById(R.id.map_container));
8485
}
8586

8687
@Override

ApiDemos/java/app/src/main/java/com/example/mapdemo/CameraDemoActivity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
* This shows how to change the camera position for the map.
4444
*/
4545
// [START maps_camera_events]
46-
public class CameraDemoActivity extends AppCompatActivity implements
46+
public class CameraDemoActivity extends SamplesBaseActivity implements
4747
OnCameraMoveStartedListener,
4848
OnCameraMoveListener,
4949
OnCameraMoveCanceledListener,
@@ -97,6 +97,7 @@ protected void onCreate(Bundle savedInstanceState) {
9797
SupportMapFragment mapFragment =
9898
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
9999
mapFragment.getMapAsync(this);
100+
applyInsets(findViewById(R.id.map_container));
100101
}
101102

102103
// [START_EXCLUDE silent]
@@ -126,6 +127,7 @@ public void onMapReady(GoogleMap googleMap) {
126127
}
127128

128129
// [START_EXCLUDE silent]
130+
129131
/**
130132
* When the map is not ready the CameraUpdateFactory cannot be used. This should be called on
131133
* all entry points that call methods on the Google Maps API.

ApiDemos/java/app/src/main/java/com/example/mapdemo/CircleDemoActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
/**
5656
* This shows how to draw circles on a map.
5757
*/
58-
public class CircleDemoActivity extends AppCompatActivity
58+
public class CircleDemoActivity extends SamplesBaseActivity
5959
implements OnSeekBarChangeListener, OnMarkerDragListener, OnMapLongClickListener,
6060
OnItemSelectedListener, OnMapReadyCallback {
6161

@@ -205,6 +205,7 @@ protected void onCreate(Bundle savedInstanceState) {
205205
SupportMapFragment mapFragment =
206206
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
207207
mapFragment.getMapAsync(this);
208+
applyInsets(findViewById(R.id.map_container));
208209
}
209210

210211
private String[] getResourceStrings(int[] resourceIds) {

ApiDemos/java/app/src/main/java/com/example/mapdemo/CloudBasedMapStylingDemoActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
* to style a map using this method, see:
2626
* https://developers.google.com/maps/documentation/android-sdk/cloud-based-map-styling
2727
**/
28-
public class CloudBasedMapStylingDemoActivity extends AppCompatActivity implements OnMapReadyCallback {
28+
public class CloudBasedMapStylingDemoActivity extends SamplesBaseActivity implements OnMapReadyCallback {
2929

3030
private static final String MAP_TYPE_KEY = "map_type";
3131
private GoogleMap map;
@@ -46,6 +46,7 @@ protected void onCreate(Bundle savedInstanceState) {
4646
mapFragment.getMapAsync(this);
4747

4848
setUpButtonListeners();
49+
applyInsets(findViewById(R.id.map_container));
4950
}
5051

5152
@Override

ApiDemos/java/app/src/main/java/com/example/mapdemo/DataDrivenBoundariesActivity.java

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
* https://developers.google.com/maps/documentation/android-sdk/dds-boundaries/overview
5858
*/
5959
// [START maps_android_data_driven_styling_boundaries]
60-
public class DataDrivenBoundariesActivity extends AppCompatActivity implements OnMapReadyCallback,
60+
public class DataDrivenBoundariesActivity extends SamplesBaseActivity implements OnMapReadyCallback,
6161
FeatureLayer.OnFeatureClickListener, PopupMenu.OnMenuItemClickListener {
6262
private static final String TAG = DataDrivenBoundariesActivity.class.getName();
6363

@@ -106,6 +106,7 @@ protected void onCreate(Bundle savedInstanceState) {
106106

107107
// [START_EXCLUDE silent]
108108
setupBoundarySelectorButton();
109+
applyInsets(findViewById(R.id.map_container));
109110
// [END_EXCLUDE]
110111
}
111112

@@ -318,21 +319,6 @@ private static int setAlphaValueOnColor(int color, float alpha) {
318319
return (color & 0x00ffffff) | (round(alpha * 255) << 24);
319320
}
320321

321-
/**
322-
* Applies insets to the container view to properly handle window insets.
323-
*
324-
* @param container the container view to apply insets to
325-
*/
326-
private static void applyInsets(View container) {
327-
ViewCompat.setOnApplyWindowInsetsListener(container,
328-
(view, insets) -> {
329-
Insets innerPadding = insets.getInsets(WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.displayCutout());
330-
view.setPadding(innerPadding.left, innerPadding.top, innerPadding.right, innerPadding.bottom);
331-
return insets;
332-
}
333-
);
334-
}
335-
336322
/**
337323
* Handles the click events for menu items in the boundary type selection menu.
338324
* This method is called when a user selects a boundary type (locality, administrative area, or country) from the menu.

ApiDemos/java/app/src/main/java/com/example/mapdemo/DataDrivenDatasetStylingActivity.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
* This is meant to work with the datasets in the res/raw directory.
5555
*/
5656
// [START maps_android_data_driven_styling_datasets]
57-
public class DataDrivenDatasetStylingActivity extends AppCompatActivity implements OnMapReadyCallback, FeatureLayer.OnFeatureClickListener {
57+
public class DataDrivenDatasetStylingActivity extends SamplesBaseActivity implements OnMapReadyCallback, FeatureLayer.OnFeatureClickListener {
5858
private record DataSet(
5959
String label,
6060
String datasetId,
@@ -109,7 +109,6 @@ private DataSet findDataSetByLabel(String label) {
109109
@Override
110110
protected void onCreate(Bundle savedInstanceState) {
111111
super.onCreate(savedInstanceState);
112-
EdgeToEdge.enable(this);
113112
setContentView(R.layout.data_driven_styling_demo);
114113

115114
// [START_EXCLUDE silent]
@@ -132,16 +131,6 @@ protected void onCreate(Bundle savedInstanceState) {
132131
applyInsets(findViewById(R.id.map_container));
133132
}
134133

135-
private static void applyInsets(View container) {
136-
ViewCompat.setOnApplyWindowInsetsListener(container,
137-
(view, insets) -> {
138-
Insets innerPadding = insets.getInsets(WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.displayCutout());
139-
view.setPadding(innerPadding.left, innerPadding.top, innerPadding.right, innerPadding.bottom);
140-
return insets;
141-
}
142-
);
143-
}
144-
145134
/**
146135
* Switches the currently displayed dataset to the one specified by the provided label.
147136
* <p>

ApiDemos/java/app/src/main/java/com/example/mapdemo/DemoDetails.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ public class DemoDetails {
3535
/**
3636
* The demo activity's class.
3737
*/
38-
public final Class<? extends AppCompatActivity> activityClass;
38+
public final Class<? extends SamplesBaseActivity> activityClass;
3939

4040
public DemoDetails(
41-
int titleId, int descriptionId, Class<? extends AppCompatActivity> activityClass) {
41+
int titleId, int descriptionId, Class<? extends SamplesBaseActivity> activityClass) {
4242
this.titleId = titleId;
4343
this.descriptionId = descriptionId;
4444
this.activityClass = activityClass;

ApiDemos/java/app/src/main/java/com/example/mapdemo/EventsDemoActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
* This shows how to listen to some {@link GoogleMap} events.
3333
*/
3434
// [START maps_android_sample_events]
35-
public class EventsDemoActivity extends AppCompatActivity
35+
public class EventsDemoActivity extends SamplesBaseActivity
3636
implements OnMapClickListener, OnMapLongClickListener, OnCameraIdleListener,
3737
OnMapReadyCallback {
3838

@@ -51,6 +51,7 @@ protected void onCreate(Bundle savedInstanceState) {
5151
SupportMapFragment mapFragment =
5252
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
5353
mapFragment.getMapAsync(this);
54+
applyInsets(findViewById(R.id.map_container));
5455
}
5556

5657
@Override

ApiDemos/java/app/src/main/java/com/example/mapdemo/GroundOverlayDemoActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
/**
4040
* This shows how to add a ground overlay to a map.
4141
*/
42-
public class GroundOverlayDemoActivity extends AppCompatActivity
42+
public class GroundOverlayDemoActivity extends SamplesBaseActivity
4343
implements OnSeekBarChangeListener, OnMapReadyCallback,
4444
GoogleMap.OnGroundOverlayClickListener {
4545

@@ -72,6 +72,7 @@ protected void onCreate(Bundle savedInstanceState) {
7272
SupportMapFragment mapFragment =
7373
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
7474
mapFragment.getMapAsync(this);
75+
applyInsets(findViewById(R.id.map_container));
7576
}
7677

7778
@Override

ApiDemos/java/app/src/main/java/com/example/mapdemo/IndoorDemoActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
/**
3535
* A demo activity showing how to use indoor.
3636
*/
37-
public class IndoorDemoActivity extends AppCompatActivity implements OnMapReadyCallback {
37+
public class IndoorDemoActivity extends SamplesBaseActivity implements OnMapReadyCallback {
3838

3939
private GoogleMap map;
4040

@@ -48,6 +48,7 @@ protected void onCreate(Bundle savedInstanceState) {
4848
SupportMapFragment mapFragment =
4949
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
5050
mapFragment.getMapAsync(this);
51+
applyInsets(findViewById(R.id.map_container));
5152
}
5253

5354
@Override

ApiDemos/java/app/src/main/java/com/example/mapdemo/LayersDemoActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
/**
4747
* Demonstrates the different base layers of a map.
4848
*/
49-
public class LayersDemoActivity extends AppCompatActivity
49+
public class LayersDemoActivity extends SamplesBaseActivity
5050
implements OnItemSelectedListener, OnMapReadyCallback,
5151
ActivityCompat.OnRequestPermissionsResultCallback {
5252

@@ -90,6 +90,7 @@ protected void onCreate(Bundle savedInstanceState) {
9090
SupportMapFragment mapFragment =
9191
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
9292
mapFragment.getMapAsync(this);
93+
applyInsets(findViewById(R.id.map_container));
9394
}
9495

9596
@Override

ApiDemos/java/app/src/main/java/com/example/mapdemo/LiteDemoActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
* launch the Google Maps Mobile application, {@link com.google.android.gms.maps.CameraUpdate}s
3838
* and {@link com.google.android.gms.maps.model.Polygon}s.
3939
*/
40-
public class LiteDemoActivity extends AppCompatActivity implements
40+
public class LiteDemoActivity extends SamplesBaseActivity implements
4141
OnMapAndViewReadyListener.OnGlobalLayoutAndMapReadyListener {
4242

4343
private static final LatLng BRISBANE = new LatLng(-27.47093, 153.0235);
@@ -73,6 +73,7 @@ protected void onCreate(Bundle savedInstanceState) {
7373
SupportMapFragment mapFragment =
7474
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
7575
new OnMapAndViewReadyListener(mapFragment, this);
76+
applyInsets(findViewById(R.id.map_container));
7677
}
7778

7879
/**

ApiDemos/java/app/src/main/java/com/example/mapdemo/LiteListDemoActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
* Note the use of the view holder pattern with the
4141
* {@link com.google.android.gms.maps.OnMapReadyCallback}.
4242
*/
43-
public class LiteListDemoActivity extends AppCompatActivity {
43+
public class LiteListDemoActivity extends SamplesBaseActivity {
4444

4545
private RecyclerView mRecyclerView;
4646

@@ -61,6 +61,7 @@ protected void onCreate(Bundle savedInstanceState) {
6161
mRecyclerView.setLayoutManager(mLinearLayoutManager);
6262
mRecyclerView.setAdapter(new MapAdapter(LIST_LOCATIONS));
6363
mRecyclerView.setRecyclerListener(mRecycleListener);
64+
applyInsets(findViewById(R.id.map_container));
6465
}
6566

6667
/** Create a menu to switch between Linear and Grid LayoutManager. */

0 commit comments

Comments
 (0)