Skip to content

Commit 14d07b7

Browse files
committed
Add directions and maki icons activities to TestApp (#48)
Add directions and maki icons.
1 parent 853114b commit 14d07b7

277 files changed

Lines changed: 845 additions & 17 deletions

File tree

Some content is hidden

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

libandroid/app/src/main/AndroidManifest.xml

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,39 +21,50 @@
2121
android:theme="@style/AppTheme.NoActionBar">
2222
<intent-filter>
2323
<action android:name="android.intent.action.MAIN" />
24+
2425
<category android:name="android.intent.category.LAUNCHER" />
2526
</intent-filter>
2627
</activity>
2728
<activity
2829
android:name=".directions.DirectionsV4Activity"
2930
android:label="Directions"
30-
android:theme="@style/AppTheme.NoActionBar"
31-
android:parentActivityName=".MainActivity"/>
32-
<!--<activity-->
33-
<!--android:name=".directions.DirectionsV5Activity"-->
34-
<!--android:label="Directions v5"-->
35-
<!--android:theme="@style/AppTheme.NoActionBar"-->
36-
<!--android:parentActivityName=".MainActivity"/>-->
31+
android:parentActivityName=".MainActivity"
32+
android:theme="@style/AppTheme.NoActionBar" />
33+
<!-- <activity -->
34+
<!-- android:name=".directions.DirectionsV5Activity" -->
35+
<!-- android:label="Directions v5" -->
36+
<!-- android:theme="@style/AppTheme.NoActionBar" -->
37+
<!-- android:parentActivityName=".MainActivity"/> -->
38+
<activity
39+
android:name=".icons.DirectionsIconsActivity"
40+
android:label="Directions Icons"
41+
android:parentActivityName=".MainActivity"
42+
android:theme="@style/AppTheme.NoActionBar" />
3743
<activity
3844
android:name=".geocoding.GeocodingReverseActivity"
3945
android:label="Reverse geocoding"
40-
android:theme="@style/AppTheme.NoActionBar"
41-
android:parentActivityName=".MainActivity"/>
46+
android:parentActivityName=".MainActivity"
47+
android:theme="@style/AppTheme.NoActionBar" />
4248
<activity
4349
android:name=".geocoding.GeocodingServiceActivity"
4450
android:label="Geocoding service"
45-
android:theme="@style/AppTheme.NoActionBar"
46-
android:parentActivityName=".MainActivity"/>
51+
android:parentActivityName=".MainActivity"
52+
android:theme="@style/AppTheme.NoActionBar" />
4753
<activity
4854
android:name=".geocoding.GeocodingWidgetActivity"
4955
android:label="Geocoding widget"
50-
android:theme="@style/AppTheme.NoActionBar"
51-
android:parentActivityName=".MainActivity"/>
56+
android:parentActivityName=".MainActivity"
57+
android:theme="@style/AppTheme.NoActionBar" />
58+
<activity
59+
android:name=".icons.MakiIconsActivity"
60+
android:label="Maki Icons"
61+
android:parentActivityName=".MainActivity"
62+
android:theme="@style/AppTheme.NoActionBar" />
5263
<activity
5364
android:name=".staticimage.StaticImageActivity"
5465
android:label="Static image"
55-
android:theme="@style/AppTheme.NoActionBar"
56-
android:parentActivityName=".MainActivity"/>
66+
android:parentActivityName=".MainActivity"
67+
android:theme="@style/AppTheme.NoActionBar" />
5768

5869
<!--
5970
Service to asynchronously fetch a location address using a Geocoder. Setting the
@@ -69,4 +80,4 @@
6980

7081
</application>
7182

72-
</manifest>
83+
</manifest>

libandroid/app/src/main/java/com/mapbox/services/android/testapp/MainActivity.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import com.mapbox.services.android.testapp.geocoding.GeocodingReverseActivity;
2222
import com.mapbox.services.android.testapp.geocoding.GeocodingServiceActivity;
2323
import com.mapbox.services.android.testapp.geocoding.GeocodingWidgetActivity;
24+
import com.mapbox.services.android.testapp.icons.DirectionsIconsActivity;
25+
import com.mapbox.services.android.testapp.icons.MakiIconsActivity;
2426
import com.mapbox.services.android.testapp.staticimage.StaticImageActivity;
2527
import com.mapbox.services.android.utils.PermissionsUtils;
2628

@@ -43,9 +45,11 @@ public class MainActivity extends AppCompatActivity {
4345
private final static List<SampleItem> samples = new ArrayList<>(Arrays.asList(
4446
new SampleItem("Directions", "", DirectionsV4Activity.class),
4547
//new SampleItem("Directions v5", "", DirectionsV5Activity.class),
48+
new SampleItem("Directions Icons", "", DirectionsIconsActivity.class),
4649
new SampleItem("Reverse geocoding", "", GeocodingReverseActivity.class),
4750
new SampleItem("Geocoding widget", "", GeocodingWidgetActivity.class),
4851
new SampleItem("Geocoding service", "", GeocodingServiceActivity.class),
52+
new SampleItem("Maki Icons", "", MakiIconsActivity.class),
4953
new SampleItem("Static image", "", StaticImageActivity.class)
5054
));
5155

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.mapbox.services.android.testapp.icons;
2+
3+
import android.content.res.Configuration;
4+
import android.os.Bundle;
5+
import android.support.design.widget.FloatingActionButton;
6+
import android.support.design.widget.Snackbar;
7+
import android.support.v7.app.AppCompatActivity;
8+
import android.support.v7.widget.GridLayoutManager;
9+
import android.support.v7.widget.RecyclerView;
10+
import android.support.v7.widget.Toolbar;
11+
import android.view.View;
12+
13+
import com.mapbox.services.android.testapp.R;
14+
15+
public class DirectionsIconsActivity extends AppCompatActivity {
16+
17+
private RecyclerView mRecyclerView;
18+
private RecyclerView.Adapter mAdapter;
19+
private RecyclerView.LayoutManager mLayoutManager;
20+
21+
@Override
22+
protected void onCreate(Bundle savedInstanceState) {
23+
super.onCreate(savedInstanceState);
24+
setContentView(R.layout.activity_directions_icons);
25+
26+
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
27+
setSupportActionBar(toolbar);
28+
29+
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
30+
31+
// The recycler view set up
32+
mRecyclerView = (RecyclerView) findViewById(R.id.directions_icon_recycler_view);
33+
mRecyclerView.setHasFixedSize(true);
34+
35+
// Use a grid layout manager
36+
int cols = (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE ? 4 : 3);
37+
mLayoutManager = new GridLayoutManager(this, cols);
38+
mRecyclerView.setLayoutManager(mLayoutManager);
39+
40+
// Specify an adapter
41+
mAdapter = new IconAdapter(DirectionsList.ICONS);
42+
mRecyclerView.setAdapter(mAdapter);
43+
}
44+
45+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package com.mapbox.services.android.testapp.icons;
2+
3+
import com.mapbox.services.android.testapp.R;
4+
5+
/**
6+
* Created by antonio on 4/28/16.
7+
*/
8+
public class DirectionsList {
9+
10+
/*
11+
* See: https://github.com/mapbox/directions-icons
12+
*
13+
* Conversion done with svg2android:
14+
*
15+
* $ npm install -g svg2android
16+
* $ find . -type f -exec echo cat \{\} \| svg2android \> \{\}.xml \; | sh
17+
*/
18+
19+
public final static int[] ICONS = new int[] {
20+
R.drawable.directions_arrive,
21+
R.drawable.directions_arrive_left,
22+
R.drawable.directions_arrive_right,
23+
R.drawable.directions_close,
24+
R.drawable.directions_continue,
25+
R.drawable.directions_continue_slight_left,
26+
R.drawable.directions_continue_slight_right,
27+
R.drawable.directions_continue_straight,
28+
R.drawable.directions_depart,
29+
R.drawable.directions_depart_left,
30+
R.drawable.directions_depart_right,
31+
R.drawable.directions_end_of_road_left,
32+
R.drawable.directions_end_of_road_right,
33+
R.drawable.directions_flag,
34+
R.drawable.directions_fork,
35+
R.drawable.directions_fork_left,
36+
R.drawable.directions_fork_right,
37+
R.drawable.directions_fork_slight_left,
38+
R.drawable.directions_fork_slight_right,
39+
R.drawable.directions_merge_left,
40+
R.drawable.directions_merge_right,
41+
R.drawable.directions_merge_slight_left,
42+
R.drawable.directions_merge_slight_right,
43+
R.drawable.directions_merge_straight,
44+
R.drawable.directions_new_name_left,
45+
R.drawable.directions_new_name_right,
46+
R.drawable.directions_new_name_slight_left,
47+
R.drawable.directions_new_name_slight_right,
48+
R.drawable.directions_new_name_straight,
49+
R.drawable.directions_ramp,
50+
R.drawable.directions_roundabout,
51+
R.drawable.directions_traffic_circle,
52+
R.drawable.directions_traffic_circle_left,
53+
R.drawable.directions_traffic_circle_right,
54+
R.drawable.directions_traffic_circle_slight_left,
55+
R.drawable.directions_traffic_circle_slight_right,
56+
R.drawable.directions_turn_left,
57+
R.drawable.directions_turn_right,
58+
R.drawable.directions_turn_sharp_left,
59+
R.drawable.directions_turn_sharp_right,
60+
R.drawable.directions_turn_slight_left,
61+
R.drawable.directions_turn_slight_right,
62+
R.drawable.directions_updown,
63+
R.drawable.directions_uturn};
64+
65+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package com.mapbox.services.android.testapp.icons;
2+
3+
import android.support.v7.widget.RecyclerView;
4+
import android.view.LayoutInflater;
5+
import android.view.ViewGroup;
6+
import android.widget.ImageView;
7+
8+
import com.mapbox.services.android.testapp.R;
9+
10+
/**
11+
* Created by antonio on 4/28/16.
12+
*/
13+
class IconAdapter extends RecyclerView.Adapter<IconAdapter.ViewHolder> {
14+
15+
private int[] iconList;
16+
17+
public class ViewHolder extends RecyclerView.ViewHolder {
18+
19+
public ImageView imageView;
20+
21+
public ViewHolder(ImageView imageView) {
22+
super(imageView);
23+
this.imageView = imageView;
24+
}
25+
}
26+
27+
public IconAdapter(int[] iconList) {
28+
this.iconList = iconList;
29+
}
30+
31+
@Override
32+
public IconAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
33+
ImageView imageView = (ImageView) LayoutInflater
34+
.from(parent.getContext())
35+
.inflate(R.layout.icon_layout, parent, false);
36+
imageView.setAdjustViewBounds(true);
37+
ViewHolder viewHolder = new ViewHolder(imageView);
38+
return viewHolder;
39+
}
40+
41+
@Override
42+
public void onBindViewHolder(IconAdapter.ViewHolder holder, int position) {
43+
holder.imageView.setImageResource(iconList[position]);
44+
}
45+
46+
@Override
47+
public int getItemCount() {
48+
return iconList.length;
49+
}
50+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.mapbox.services.android.testapp.icons;
2+
3+
import android.content.res.Configuration;
4+
import android.os.Bundle;
5+
import android.support.design.widget.FloatingActionButton;
6+
import android.support.design.widget.Snackbar;
7+
import android.support.v7.app.AppCompatActivity;
8+
import android.support.v7.widget.GridLayoutManager;
9+
import android.support.v7.widget.RecyclerView;
10+
import android.support.v7.widget.Toolbar;
11+
import android.view.View;
12+
13+
import com.mapbox.services.android.testapp.R;
14+
15+
public class MakiIconsActivity extends AppCompatActivity {
16+
17+
private RecyclerView mRecyclerView;
18+
private RecyclerView.Adapter mAdapter;
19+
private RecyclerView.LayoutManager mLayoutManager;
20+
21+
@Override
22+
protected void onCreate(Bundle savedInstanceState) {
23+
super.onCreate(savedInstanceState);
24+
setContentView(R.layout.activity_maki_icons);
25+
26+
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
27+
setSupportActionBar(toolbar);
28+
29+
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
30+
31+
// The recycler view set up
32+
mRecyclerView = (RecyclerView) findViewById(R.id.maki_icon_recycler_view);
33+
mRecyclerView.setHasFixedSize(true);
34+
35+
// Use a grid layout manager
36+
int cols = (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE ? 4 : 3);
37+
mLayoutManager = new GridLayoutManager(this, cols);
38+
mRecyclerView.setLayoutManager(mLayoutManager);
39+
40+
// Specify an adapter
41+
mAdapter = new IconAdapter(MakiList.ICONS_15);
42+
mRecyclerView.setAdapter(mAdapter);
43+
}
44+
45+
}

0 commit comments

Comments
 (0)