├── .gradle
├── 2.10
│ └── taskArtifacts
│ │ ├── cache.properties
│ │ ├── cache.properties.lock
│ │ ├── fileHashes.bin
│ │ ├── fileSnapshots.bin
│ │ ├── outputFileStates.bin
│ │ └── taskArtifacts.bin
└── 2.14.1
│ ├── taskArtifacts
│ ├── cache.properties
│ ├── cache.properties.lock
│ ├── fileHashes.bin
│ ├── fileSnapshots.bin
│ ├── fileSnapshotsToTreeSnapshotsIndex.bin
│ └── taskArtifacts.bin
│ └── tasks
│ └── _app_compileDebugJavaWithJavac
│ ├── localClassSetAnalysis
│ ├── localClassSetAnalysis.bin
│ └── localClassSetAnalysis.lock
│ └── localJarClasspathSnapshot
│ ├── localJarClasspathSnapshot.bin
│ └── localJarClasspathSnapshot.lock
├── .idea
├── compiler.xml
├── copyright
│ └── profiles_settings.xml
├── encodings.xml
├── gradle.xml
├── libraries
│ ├── airmapview_1_3_0.xml
│ ├── android_maps_utils_0_4.xml
│ ├── animated_vector_drawable_23_3_0.xml
│ ├── appcompat_v7_23_3_0.xml
│ ├── butterknife_6_1_0.xml
│ ├── cardview_v7_23_3_0.xml
│ ├── design_23_3_0.xml
│ ├── gson_2_4.xml
│ ├── hamcrest_core_1_3.xml
│ ├── junit_4_12.xml
│ ├── library_1_0_19.xml
│ ├── library_1_1_0.xml
│ ├── mediarouter_v7_23_0_0.xml
│ ├── play_services_8_4_0.xml
│ ├── play_services_ads_8_4_0.xml
│ ├── play_services_analytics_8_4_0.xml
│ ├── play_services_appindexing_8_4_0.xml
│ ├── play_services_appinvite_8_4_0.xml
│ ├── play_services_appstate_8_4_0.xml
│ ├── play_services_auth_8_4_0.xml
│ ├── play_services_base_8_4_0.xml
│ ├── play_services_basement_8_4_0.xml
│ ├── play_services_cast_8_4_0.xml
│ ├── play_services_drive_8_4_0.xml
│ ├── play_services_fitness_8_4_0.xml
│ ├── play_services_games_8_4_0.xml
│ ├── play_services_gcm_8_4_0.xml
│ ├── play_services_identity_8_4_0.xml
│ ├── play_services_location_8_4_0.xml
│ ├── play_services_maps_8_4_0.xml
│ ├── play_services_measurement_8_4_0.xml
│ ├── play_services_nearby_8_4_0.xml
│ ├── play_services_panorama_8_4_0.xml
│ ├── play_services_plus_8_4_0.xml
│ ├── play_services_safetynet_8_4_0.xml
│ ├── play_services_vision_8_4_0.xml
│ ├── play_services_wallet_8_4_0.xml
│ ├── play_services_wearable_8_4_0.xml
│ ├── recyclerview_v7_23_3_0.xml
│ ├── support_annotations_23_3_0.xml
│ ├── support_v4_23_3_0.xml
│ └── support_vector_drawable_23_3_0.xml
├── misc.xml
├── modules.xml
├── runConfigurations.xml
├── vcs.xml
└── workspace.xml
├── Airbnb-Map-View.iml
├── AirbnbMapExample.iml
├── LICENSE
├── README.md
├── app
├── .gitignore
├── app-release.apk
├── app.iml
├── build.gradle
├── proguard-rules.pro
├── release.jks
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── purvotara
│ │ └── airbnbmapexample
│ │ └── ApplicationTest.java
│ ├── debug
│ └── res
│ │ └── values
│ │ └── google_maps_api.xml
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── purvotara
│ │ │ └── airbnbmapexample
│ │ │ ├── constants
│ │ │ └── NetworkConstants.java
│ │ │ ├── controller
│ │ │ └── BaseInterface.java
│ │ │ ├── model
│ │ │ ├── AddressModel.java
│ │ │ └── BaseModel.java
│ │ │ ├── network
│ │ │ ├── BaseNetwork.java
│ │ │ └── util
│ │ │ │ ├── CustomVolleyRequestQueue.java
│ │ │ │ ├── NetworkUtil.java
│ │ │ │ └── README
│ │ │ └── ui
│ │ │ ├── activity
│ │ │ ├── ListViewActivity.java
│ │ │ ├── MainActivity.java
│ │ │ ├── MapsActivity.java
│ │ │ ├── MovingMarkerActivity.java
│ │ │ ├── RecyclerViewLiteModeMapActivity.java
│ │ │ ├── SearchPlaceOnMapActivity.java
│ │ │ └── ShowDirectionActivity.java
│ │ │ ├── adapter
│ │ │ ├── ListViewAdapter.java
│ │ │ ├── MapAdapter.java
│ │ │ ├── PlaceAutocompleteAdapter.java
│ │ │ └── RecyclerViewLiteModeAdapter.java
│ │ │ ├── fragment
│ │ │ ├── MapFragment.java
│ │ │ └── MySupportMapFragment.java
│ │ │ ├── util
│ │ │ ├── GoogleMapUtis.java
│ │ │ ├── IconizedWindowAdapter.java
│ │ │ ├── PermissionUtils.java
│ │ │ └── Util.java
│ │ │ └── widget
│ │ │ ├── MyAnimationUtils.java
│ │ │ └── TouchableWrapper.java
│ └── res
│ │ ├── drawable-hdpi
│ │ ├── about_location_icon.png
│ │ ├── ic_add_circle_outline_white_48dp.png
│ │ ├── location.png
│ │ ├── location_distance.png
│ │ ├── location_icon.png
│ │ ├── location_icon_active.png
│ │ ├── location_icon_grey.png
│ │ ├── my_favourites_icon.png
│ │ ├── my_favourites_icon_active.png
│ │ ├── navigate.png
│ │ ├── navigation_icon.png
│ │ ├── rating_icon.png
│ │ ├── rating_icon_active.png
│ │ ├── spa_white.png
│ │ ├── star_gray_icon.png
│ │ └── toolbar_close_icon.png
│ │ ├── drawable-ldpi
│ │ ├── about_location_icon.png
│ │ ├── ic_add_circle_outline_white_48dp.png
│ │ ├── location.png
│ │ ├── location_distance.png
│ │ ├── location_icon.png
│ │ ├── location_icon_active.png
│ │ ├── location_icon_grey.png
│ │ ├── my_favourites_icon.png
│ │ ├── my_favourites_icon_active.png
│ │ ├── star_gray_icon.png
│ │ ├── star_icon_white.png
│ │ └── toolbar_close_icon.png
│ │ ├── drawable-mdpi
│ │ ├── about_location_icon.png
│ │ ├── end_green.png
│ │ ├── ic_add_circle_outline_white_48dp.png
│ │ ├── ic_send_grey600_48dp.png
│ │ ├── location.png
│ │ ├── location_distance.png
│ │ ├── location_icon.png
│ │ ├── location_icon_active.png
│ │ ├── location_icon_grey.png
│ │ ├── my_favourites_icon.png
│ │ ├── my_favourites_icon_active.png
│ │ ├── pushpin.png
│ │ ├── star_gray_icon.png
│ │ ├── star_icon_white.png
│ │ ├── start_blue.png
│ │ └── toolbar_close_icon.png
│ │ ├── drawable-xhdpi
│ │ ├── about_location_icon.png
│ │ ├── back_arrow_black.png
│ │ ├── back_arrow_white.png
│ │ ├── end_green.png
│ │ ├── ic_add_circle_outline_white_48dp.png
│ │ ├── ic_send_grey600_48dp.png
│ │ ├── locality.png
│ │ ├── location.png
│ │ ├── location_distance.png
│ │ ├── location_icon.png
│ │ ├── location_icon_active.png
│ │ ├── location_icon_grey.png
│ │ ├── my_favourites_icon.png
│ │ ├── my_favourites_icon_active.png
│ │ ├── pushpin.png
│ │ ├── rating_icon.png
│ │ ├── rating_icon_active.png
│ │ ├── star_gray_icon.png
│ │ ├── star_white.png
│ │ ├── star_white_icon.png
│ │ ├── start_blue.png
│ │ └── toolbar_close_icon.png
│ │ ├── drawable-xxhdpi
│ │ ├── about_location_icon.png
│ │ ├── end_green.png
│ │ ├── ic_add_circle_outline_white_48dp.png
│ │ ├── ic_send_grey600_48dp.png
│ │ ├── locality.png
│ │ ├── location.png
│ │ ├── location_distance.png
│ │ ├── location_icon.png
│ │ ├── location_icon_active.png
│ │ ├── location_icon_grey.png
│ │ ├── my_favourites_icon.png
│ │ ├── my_favourites_icon_active.png
│ │ ├── navigate.png
│ │ ├── navigation_icon.png
│ │ ├── pushpin.png
│ │ ├── rating_icon.png
│ │ ├── rating_icon_active.png
│ │ ├── star_gray_icon.png
│ │ ├── star_icon_white.png
│ │ ├── star_white.png
│ │ ├── star_white_icon.png
│ │ ├── start_blue.png
│ │ └── toolbar_close_icon.png
│ │ ├── drawable-xxxhdpi
│ │ ├── about_location_icon.png
│ │ ├── end_green.png
│ │ ├── ic_add_circle_outline_white_48dp.png
│ │ ├── ic_send_grey600_48dp.png
│ │ ├── locality.png
│ │ ├── location.png
│ │ ├── location_distance.png
│ │ ├── location_icon.png
│ │ ├── location_icon_active.png
│ │ ├── location_icon_grey.png
│ │ ├── my_favourites_icon.png
│ │ ├── my_favourites_icon_active.png
│ │ ├── navigate.png
│ │ ├── navigation_icon.png
│ │ ├── pushpin.png
│ │ ├── rating_icon.png
│ │ ├── rating_icon_active.png
│ │ ├── star_gray_icon.png
│ │ ├── star_icon_white.png
│ │ ├── star_white.png
│ │ ├── star_white_icon.png
│ │ ├── start_blue.png
│ │ └── toolbar_close_icon.png
│ │ ├── drawable
│ │ ├── Thumbs.db
│ │ ├── blue_border_button.xml
│ │ ├── blue_rounded_corners_bg.xml
│ │ ├── car.png
│ │ ├── car_small.png
│ │ ├── car_small_red.png
│ │ ├── dotted.xml
│ │ ├── dotted_line.xml
│ │ ├── line_divider.xml
│ │ ├── location_distance.png
│ │ ├── pin.png
│ │ ├── placeholder.png
│ │ ├── profile_img_bottomshadow.png
│ │ ├── profile_img_topshadow.png
│ │ ├── star_gray_icon.png
│ │ └── star_icon_white.png
│ │ ├── layout
│ │ ├── activity_list_view.xml
│ │ ├── activity_main.xml
│ │ ├── activity_maps.xml
│ │ ├── activity_moving_marker.xml
│ │ ├── activity_recycler_view_lite_mode_map.xml
│ │ ├── activity_search_place_on_map.xml
│ │ ├── activity_show_direction.xml
│ │ ├── deal_card_layout.xml
│ │ ├── google_places_search_items.xml
│ │ ├── item_lite_mode_layout.xml
│ │ ├── map_marker_text.xml
│ │ ├── map_marker_text_active.xml
│ │ ├── map_view_item.xml
│ │ └── marker_tooltip.xml
│ │ ├── menu
│ │ └── base.xml
│ │ ├── mipmap-hdpi
│ │ ├── deals_icon.png
│ │ ├── deals_icon_active.png
│ │ ├── ic_launcher.png
│ │ ├── map_pin_green.png
│ │ └── map_pin_white.png
│ │ ├── mipmap-mdpi
│ │ ├── deals_icon.png
│ │ ├── deals_icon_active.png
│ │ ├── ic_launcher.png
│ │ ├── map_pin_green.png
│ │ └── map_pin_white.png
│ │ ├── mipmap-xhdpi
│ │ ├── deals_icon.png
│ │ ├── deals_icon_active.png
│ │ ├── ic_launcher.png
│ │ ├── map_pin_green.png
│ │ └── map_pin_white.png
│ │ ├── mipmap-xxhdpi
│ │ ├── deals_icon.png
│ │ ├── deals_icon_active.png
│ │ ├── ic_launcher.png
│ │ ├── map_pin_green.png
│ │ └── map_pin_white.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── deals_icon.png
│ │ ├── deals_icon_active.png
│ │ ├── ic_launcher.png
│ │ ├── map_pin_green.png
│ │ └── map_pin_white.png
│ │ ├── values-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── release
│ └── res
│ │ └── values
│ │ └── google_maps_api.xml
│ └── test
│ └── java
│ └── com
│ └── purvotara
│ └── airbnbmapexample
│ └── ExampleUnitTest.java
├── build.gradle
├── build
├── generated
│ └── mockable-android-23.jar
└── intermediates
│ └── dex-cache
│ └── cache.xml
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── local.properties
└── settings.gradle
/.gradle/2.10/taskArtifacts/cache.properties:
--------------------------------------------------------------------------------
1 | #Fri Apr 15 17:03:06 IST 2016
2 |
--------------------------------------------------------------------------------
/.gradle/2.10/taskArtifacts/cache.properties.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.10/taskArtifacts/cache.properties.lock
--------------------------------------------------------------------------------
/.gradle/2.10/taskArtifacts/fileHashes.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.10/taskArtifacts/fileHashes.bin
--------------------------------------------------------------------------------
/.gradle/2.10/taskArtifacts/fileSnapshots.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.10/taskArtifacts/fileSnapshots.bin
--------------------------------------------------------------------------------
/.gradle/2.10/taskArtifacts/outputFileStates.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.10/taskArtifacts/outputFileStates.bin
--------------------------------------------------------------------------------
/.gradle/2.10/taskArtifacts/taskArtifacts.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.10/taskArtifacts/taskArtifacts.bin
--------------------------------------------------------------------------------
/.gradle/2.14.1/taskArtifacts/cache.properties:
--------------------------------------------------------------------------------
1 | #Tue Oct 04 12:35:21 IST 2016
2 |
--------------------------------------------------------------------------------
/.gradle/2.14.1/taskArtifacts/cache.properties.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.14.1/taskArtifacts/cache.properties.lock
--------------------------------------------------------------------------------
/.gradle/2.14.1/taskArtifacts/fileHashes.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.14.1/taskArtifacts/fileHashes.bin
--------------------------------------------------------------------------------
/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin
--------------------------------------------------------------------------------
/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin
--------------------------------------------------------------------------------
/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin
--------------------------------------------------------------------------------
/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
--------------------------------------------------------------------------------
/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
--------------------------------------------------------------------------------
/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
--------------------------------------------------------------------------------
/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
18 |
--------------------------------------------------------------------------------
/.idea/libraries/airmapview_1_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/android_maps_utils_0_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/animated_vector_drawable_23_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/appcompat_v7_23_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/butterknife_6_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/cardview_v7_23_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/design_23_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/gson_2_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/hamcrest_core_1_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/junit_4_12.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/library_1_0_19.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/library_1_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/mediarouter_v7_23_0_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_ads_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_analytics_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_appindexing_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_appinvite_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_appstate_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_auth_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_base_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_basement_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_cast_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_drive_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_fitness_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_games_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_gcm_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_identity_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_location_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_maps_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_measurement_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_nearby_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_panorama_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_plus_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_safetynet_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_vision_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_wallet_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/play_services_wearable_8_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/recyclerview_v7_23_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/support_annotations_23_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/support_v4_23_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.idea/libraries/support_vector_drawable_23_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 | 1.8
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Airbnb-Map-View.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/AirbnbMapExample.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Akash Nidhi P S
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Airbnb-Map-View
2 | This is a sample Android Application which has Google Map view similar to what AirBnb Android Application. Moving Markers like Uber/Ola. Custom Google Search for places. Recycler view with Animations added.
3 |
4 | [New] Google maps in Recycler view (Lite mode)
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/app/app-release.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/app-release.apk
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "23.0.2"
6 |
7 | defaultConfig {
8 | applicationId "com.purvotara.airbnbmapexample"
9 | minSdkVersion 16
10 | targetSdkVersion 23
11 | versionCode 1
12 | versionName "1.0"
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | }
21 |
22 | dependencies {
23 | compile fileTree(dir: 'libs', include: ['*.jar'])
24 | testCompile 'junit:junit:4.12'
25 | compile 'com.android.support:appcompat-v7:23.3.0'
26 | compile 'com.airbnb.android:airmapview:1.3.0'
27 | compile 'com.google.maps.android:android-maps-utils:0.4'
28 | compile 'com.google.android.gms:play-services:8.4.0'
29 | compile 'com.google.code.gson:gson:2.4'
30 | compile 'com.android.support:design:23.3.0'
31 | compile 'com.android.support:cardview-v7:23.3.0'
32 | compile 'com.android.support:recyclerview-v7:23.3.0'
33 | compile 'com.mcxiaoke.volley:library:1.0.19'
34 | compile 'com.github.jd-alexander:library:1.1.0'
35 | compile 'com.jakewharton:butterknife:6.1.0'
36 | }
37 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /home/akash/Android/Sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/app/release.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/release.jks
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/purvotara/airbnbmapexample/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/app/src/debug/res/values/google_maps_api.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 | AIzaSyBR06JQMaQrd_Fnqn643-IroL_vL_bg9LI
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
11 |
12 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
33 |
36 |
37 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/constants/NetworkConstants.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.constants;
2 |
3 | /**
4 | * Created by skyrreasure on 15/4/16.
5 | */
6 | public class NetworkConstants {
7 |
8 | public static final String ADDRESS_URL = "https://sky-firebase.firebaseapp.com/addresses.json";
9 |
10 | public static final String ERROR_MESSAGE = "error_msg";
11 | public static final String ADDRESS = "address";
12 | public static final String LATITUDE = "latitude";
13 | public static final String LONGITUDE = "longitude";
14 |
15 | public static final int ADDRESS_REQUEST = 1;
16 | }
17 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/controller/BaseInterface.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.controller;
2 |
3 | /**
4 | * Created by skytreasure on 06/03/16.
5 | *
6 | * This is the baseinterface, this should be implemented in all the Activities where network calls are made
7 | */
8 | public interface BaseInterface {
9 |
10 | /**
11 | * @param object
12 | * @param requestCode
13 | */
14 | void handleNetworkCall(Object object, int requestCode);
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/model/AddressModel.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.model;
2 |
3 | import android.content.Context;
4 |
5 | import com.android.volley.Request;
6 | import com.google.gson.Gson;
7 | import com.google.gson.annotations.Expose;
8 | import com.google.gson.annotations.SerializedName;
9 | import com.google.gson.reflect.TypeToken;
10 | import com.purvotara.airbnbmapexample.constants.NetworkConstants;
11 | import com.purvotara.airbnbmapexample.controller.BaseInterface;
12 | import com.purvotara.airbnbmapexample.network.BaseNetwork;
13 |
14 | import org.json.JSONArray;
15 | import org.json.JSONException;
16 | import org.json.JSONObject;
17 |
18 | import java.util.HashMap;
19 | import java.util.List;
20 |
21 | /**
22 | * Created by skytreasure on 15/4/16.
23 | */
24 | public class AddressModel extends BaseModel {
25 |
26 | @SerializedName("address_id")
27 | @Expose
28 | private Integer addressId;
29 | @SerializedName("mPincode")
30 | @Expose
31 | private String mPincode;
32 | @SerializedName("city")
33 | @Expose
34 | private String city;
35 | @SerializedName("line_1")
36 | @Expose
37 | private String line1;
38 | @SerializedName("line_2")
39 | @Expose
40 | private String line2;
41 | @SerializedName("longitude")
42 | @Expose
43 | private String longitude;
44 | @SerializedName("latitude")
45 | @Expose
46 | private String latitude;
47 | @SerializedName("address_type")
48 | @Expose
49 | private String addressType;
50 | @SerializedName("default")
51 | @Expose
52 | private Boolean _default;
53 | @SerializedName("image")
54 | @Expose
55 | private String image;
56 | @SerializedName("rating")
57 | @Expose
58 | private String rating;
59 | @SerializedName("distance")
60 | @Expose
61 | private String distance;
62 |
63 |
64 | /**
65 | * Constructor for the base model
66 | *
67 | * @param context the application mContext
68 | * @param baseInterface it is the instance of baseinterface,
69 | */
70 | public AddressModel(Context context, BaseInterface baseInterface) {
71 | super(context, baseInterface);
72 | }
73 |
74 | public void fetchAddressFromServer() {
75 | BaseNetwork baseNetwork = new BaseNetwork(mContext, this);
76 | baseNetwork.getJSONObjectForRequest(Request.Method.GET, NetworkConstants.ADDRESS_URL, null, NetworkConstants.ADDRESS_REQUEST);
77 |
78 | }
79 |
80 | @Override
81 | public void parseAndNotifyResponse(JSONObject response, int requestType) throws JSONException {
82 | try {
83 | // boolean error = response.getBoolean(NetworkConstants.ERROR);
84 | Gson gson = new Gson();
85 | switch (requestType) {
86 |
87 | case NetworkConstants.ADDRESS_REQUEST:
88 | JSONArray addressArray = response.getJSONArray(NetworkConstants.ADDRESS);
89 |
90 | List addressList = gson.fromJson(addressArray.toString(),
91 | new TypeToken>() {
92 | }.getType());
93 |
94 | mBaseInterface.handleNetworkCall(addressList, requestType);
95 | break;
96 | }
97 | } catch (Exception e) {
98 | mBaseInterface.handleNetworkCall(e.getMessage(), requestType);
99 | }
100 |
101 | }
102 |
103 | @Override
104 | public HashMap getRequestBodyObject(int requestType) {
105 | return null;
106 | }
107 |
108 | @Override
109 | public HashMap getRequestBodyString(int requestType) {
110 | return null;
111 | }
112 |
113 | public Integer getAddressId() {
114 | return addressId;
115 | }
116 |
117 | public void setAddressId(Integer addressId) {
118 | this.addressId = addressId;
119 | }
120 |
121 | public String getmPincode() {
122 | return mPincode;
123 | }
124 |
125 | public void setmPincode(String mPincode) {
126 | this.mPincode = mPincode;
127 | }
128 |
129 | public String getCity() {
130 | return city;
131 | }
132 |
133 | public void setCity(String city) {
134 | this.city = city;
135 | }
136 |
137 | public String getLine1() {
138 | return line1;
139 | }
140 |
141 | public void setLine1(String line1) {
142 | this.line1 = line1;
143 | }
144 |
145 | public String getLine2() {
146 | return line2;
147 | }
148 |
149 | public void setLine2(String line2) {
150 | this.line2 = line2;
151 | }
152 |
153 | public String getLongitude() {
154 | return longitude;
155 | }
156 |
157 | public void setLongitude(String longitude) {
158 | this.longitude = longitude;
159 | }
160 |
161 | public String getLatitude() {
162 | return latitude;
163 | }
164 |
165 | public void setLatitude(String latitude) {
166 | this.latitude = latitude;
167 | }
168 |
169 | public String getAddressType() {
170 | return addressType;
171 | }
172 |
173 | public void setAddressType(String addressType) {
174 | this.addressType = addressType;
175 | }
176 |
177 | public Boolean get_default() {
178 | return _default;
179 | }
180 |
181 | public void set_default(Boolean _default) {
182 | this._default = _default;
183 | }
184 |
185 | public String getImage() {
186 | return image;
187 | }
188 |
189 | public void setImage(String image) {
190 | this.image = image;
191 | }
192 |
193 | public String getRating() {
194 | return rating;
195 | }
196 |
197 | public void setRating(String rating) {
198 | this.rating = rating;
199 | }
200 |
201 | public String getDistance() {
202 | return distance;
203 | }
204 |
205 | public void setDistance(String distance) {
206 | this.distance = distance;
207 | }
208 | }
209 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/model/BaseModel.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.model;
2 |
3 | import android.content.Context;
4 |
5 | import com.purvotara.airbnbmapexample.controller.BaseInterface;
6 |
7 | import org.json.JSONException;
8 | import org.json.JSONObject;
9 |
10 | import java.util.HashMap;
11 |
12 | /**
13 | * Created by skyrreasure on 6/3/16.
14 | */
15 | public abstract class BaseModel {
16 | transient Context mContext;
17 | transient BaseInterface mBaseInterface;
18 |
19 | /**
20 | * Constructor for the base model
21 | *
22 | * @param context the application mContext
23 | * @param baseInterface it is the instance of baseinterface,
24 | * which is used for communication between model and the calling activity
25 | */
26 | public BaseModel(Context context, BaseInterface baseInterface) {
27 | mBaseInterface = baseInterface;
28 | mContext = context;
29 | }
30 |
31 |
32 | /**
33 | * Parses the response(JSONObject) and notifies the calling object based on the type of request
34 | *
35 | * @param response Response received from the network call
36 | * @param requestType Type of request raised eg USER_SIGN_IN_REQUEST
37 | */
38 | public abstract void parseAndNotifyResponse(JSONObject response, int requestType) throws JSONException;
39 |
40 | /**
41 | * It is used to get the request body for the network calls.
42 | *
43 | * @param requestType Type of request raised eg USER_SIGN_IN_REQUEST
44 | * @return HashMap returns the map
45 | */
46 | public abstract HashMap getRequestBodyObject(int requestType);
47 |
48 | /**
49 | * It is used to get the request body for the network calls.
50 | *
51 | * @param requestType Type of request raised eg USER_SIGN_IN_REQUEST
52 | * @return HashMap returns the map
53 | */
54 | public abstract HashMap getRequestBodyString(int requestType);
55 |
56 | }
57 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/network/BaseNetwork.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.network;
2 |
3 | import android.content.Context;
4 | import android.util.Log;
5 | import android.widget.Toast;
6 |
7 | import com.android.volley.AuthFailureError;
8 | import com.android.volley.DefaultRetryPolicy;
9 | import com.android.volley.NetworkResponse;
10 | import com.android.volley.Response;
11 | import com.android.volley.Response.ErrorListener;
12 | import com.android.volley.RetryPolicy;
13 | import com.android.volley.VolleyError;
14 | import com.android.volley.toolbox.JsonObjectRequest;
15 | import com.android.volley.toolbox.StringRequest;
16 | import com.purvotara.airbnbmapexample.constants.NetworkConstants;
17 | import com.purvotara.airbnbmapexample.model.BaseModel;
18 | import com.purvotara.airbnbmapexample.network.util.CustomVolleyRequestQueue;
19 | import com.purvotara.airbnbmapexample.network.util.NetworkUtil;
20 |
21 | import org.json.JSONArray;
22 | import org.json.JSONException;
23 | import org.json.JSONObject;
24 |
25 | import java.util.Collections;
26 | import java.util.HashMap;
27 | import java.util.Map;
28 |
29 | /**
30 | * Created by SkyTreasure on 02-01-2016.
31 | */
32 | public class BaseNetwork {
33 | private Context mContext;
34 | private BaseModel mBaseModel;
35 |
36 | public BaseNetwork(Context context, BaseModel baseModel) {
37 | mContext = context;
38 | mBaseModel = baseModel;
39 | }
40 |
41 | /**
42 | * Generates the generic request header
43 | *
44 | * @return RequestHeader HashMap
45 | */
46 | public HashMap getRequestHeaderForAuthorization() {
47 | HashMap requestHeader = new HashMap<>();
48 | requestHeader.put("Accept", "*/*");
49 | return requestHeader;
50 | }
51 |
52 | /**
53 | * Handle response(JSONObject) as per requirement
54 | *
55 | * @param response The network call response in the form of JSONObject
56 | * @param requestType The network Request Type
57 | */
58 | void handleResponse(JSONObject response, int requestType) throws JSONException {
59 | try {
60 |
61 | mBaseModel.parseAndNotifyResponse(response, requestType);
62 |
63 | } catch (Exception e) {
64 | //((BaseActivity) mContext).hideProgressDialog();
65 | Toast.makeText(mContext, response.getString(NetworkConstants.ERROR_MESSAGE), Toast.LENGTH_LONG).show();
66 | e.printStackTrace();
67 | }
68 | }
69 |
70 | /**
71 | * Handle all errors
72 | *
73 | * @param error Error generated due to network call
74 | */
75 | void handleError(VolleyError error) {
76 |
77 | // ((BaseActivity) mContext).hideProgressDialog();
78 | String errorMessage = null;
79 | try {
80 | errorMessage = new String(error.networkResponse.data, "UTF-8");
81 | JSONObject jsonObject = new JSONObject(errorMessage);
82 | JSONArray errorArray = new JSONArray(jsonObject.get("errors").toString());
83 | JSONObject firstError = new JSONObject(errorArray.get(0).toString());
84 | Log.d("Error", firstError.get("message").toString());
85 | } catch (Exception e) {
86 | e.printStackTrace();
87 | }
88 | // Toast.makeText(mContext, "Something went wrong", Toast.LENGTH_LONG).show();
89 |
90 | }
91 |
92 | /**
93 | * For Post Method with parameters in the content body
94 | *
95 | * @param methodType Type of network call eg, GET,POST, etc.
96 | * @param url The url to hit
97 | * @param paramsObject JsonObject for POST request, null for GET request
98 | * @param requestType Type of Network request
99 | */
100 | public void getJSONObjectForRequest(int methodType, String url, JSONObject paramsObject, final int requestType) {
101 | if (NetworkUtil.isInternetConnected(mContext)) {
102 | JsonObjectRequest jsObjRequest = new JsonObjectRequest
103 | (methodType, url, paramsObject, new Response.Listener() {
104 |
105 | @Override
106 | public void onResponse(JSONObject response) {
107 | try {
108 | handleResponse(response, requestType);
109 | } catch (JSONException e) {
110 | e.printStackTrace();
111 | }
112 | }
113 | }, new ErrorListener() {
114 | @Override
115 | public void onErrorResponse(VolleyError error) {
116 | handleError(error);
117 | }
118 | }) {
119 |
120 | @Override
121 | public String getBodyContentType() {
122 | return "application/x-www-form-urlencoded; charset=UTF-8";
123 | }
124 |
125 |
126 | @Override
127 | public Map getHeaders() throws AuthFailureError {
128 | return getRequestHeaderForAuthorization();
129 | }
130 |
131 | @Override
132 | protected Map getParams() throws AuthFailureError {
133 | Map params = new HashMap();
134 | return params;
135 | }
136 | };
137 | int socketTimeout = 5000;//30 seconds - change to what you want
138 | RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, 2, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
139 | jsObjRequest.setRetryPolicy(policy);
140 | CustomVolleyRequestQueue.getInstance(mContext).getRequestQueue().add(jsObjRequest);
141 | }
142 | }
143 |
144 | /**
145 | * For Post Method with parameters as form data
146 | *
147 | * @param methodType
148 | * @param url
149 | * @param paramsObject
150 | * @param requestType
151 | */
152 | public void getHashMapForRequest(int methodType, String url, final HashMap paramsObject, final int requestType) {
153 | if (NetworkUtil.isInternetConnected(mContext)) {
154 | StringRequest jsonObjRequest = new StringRequest(methodType, url,
155 | new Response.Listener() {
156 | @Override
157 | public void onResponse(String response) {
158 | try {
159 | handleResponse(new JSONObject(response), requestType);
160 | } catch (JSONException e) {
161 | e.printStackTrace();
162 | }
163 | }
164 | }, new ErrorListener() {
165 |
166 | @Override
167 | public void onErrorResponse(VolleyError error) {
168 | handleError(error);
169 | }
170 | }) {
171 |
172 | @Override
173 | public String getBodyContentType() {
174 | return "application/x-www-form-urlencoded; charset=UTF-8";
175 |
176 | }
177 |
178 | @Override
179 | protected Map getParams() throws AuthFailureError {
180 |
181 | return paramsObject;
182 | }
183 |
184 | @Override
185 | public Map getHeaders() throws AuthFailureError {
186 | return getRequestHeaderForAuthorization();
187 | }
188 |
189 | @Override
190 | protected Response parseNetworkResponse(NetworkResponse response) {
191 | if (response.headers == null) {
192 | // cant just set a new empty map because the member is final.
193 | response = new NetworkResponse(
194 | response.statusCode,
195 | response.data,
196 | Collections.emptyMap(), // this is the important line, set an empty but non-null map.
197 | response.notModified,
198 | response.networkTimeMs);
199 |
200 |
201 | }
202 |
203 | return super.parseNetworkResponse(response);
204 | }
205 |
206 | };
207 | int socketTimeout = 5000;//30 seconds - change to what you want
208 | RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, 2, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
209 | jsonObjRequest.setRetryPolicy(policy);
210 | CustomVolleyRequestQueue.getInstance(mContext).getRequestQueue().add(jsonObjRequest);
211 | }
212 | }
213 |
214 | }
215 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/network/util/CustomVolleyRequestQueue.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.network.util;
2 |
3 | import android.content.Context;
4 | import android.graphics.Bitmap;
5 | import android.util.LruCache;
6 |
7 | import com.android.volley.Cache;
8 | import com.android.volley.Network;
9 | import com.android.volley.RequestQueue;
10 | import com.android.volley.toolbox.BasicNetwork;
11 | import com.android.volley.toolbox.DiskBasedCache;
12 | import com.android.volley.toolbox.HurlStack;
13 | import com.android.volley.toolbox.ImageLoader;
14 |
15 | /**
16 | * Created by skytreasure on 30/12/15.
17 | *
18 | * Custom implementation of Volley Request Queue
19 | */
20 | public class CustomVolleyRequestQueue {
21 | private static CustomVolleyRequestQueue mInstance;
22 | private static Context mCtx;
23 | private RequestQueue mRequestQueue;
24 | private ImageLoader mImageLoader;
25 |
26 |
27 | private CustomVolleyRequestQueue(Context context) {
28 | mCtx = context;
29 |
30 | mRequestQueue = getRequestQueue();
31 |
32 | mImageLoader = new ImageLoader(mRequestQueue,
33 | new ImageLoader.ImageCache() {
34 | private final LruCache
35 | cache = new LruCache(20);
36 |
37 | @Override
38 | public Bitmap getBitmap(String url) {
39 | return cache.get(url);
40 | }
41 |
42 | @Override
43 | public void putBitmap(String url, Bitmap bitmap) {
44 | cache.put(url, bitmap);
45 | }
46 | });
47 | }
48 |
49 | public static synchronized CustomVolleyRequestQueue getInstance(Context context) {
50 | if (mInstance == null) {
51 | mInstance = new CustomVolleyRequestQueue(context);
52 | }
53 | return mInstance;
54 | }
55 |
56 | public RequestQueue getRequestQueue() {
57 | if (mRequestQueue == null) {
58 | Cache cache = new DiskBasedCache(mCtx.getCacheDir(), 10 * 1024 * 1024);
59 | Network network = new BasicNetwork(new HurlStack());
60 | mRequestQueue = new RequestQueue(cache, network);
61 | // Don't forget to start the volley request queue
62 | mRequestQueue.start();
63 | }
64 | return mRequestQueue;
65 | }
66 |
67 | public ImageLoader getImageLoader() {
68 | return mImageLoader;
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/network/util/NetworkUtil.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.network.util;
2 |
3 | import android.content.Context;
4 | import android.net.ConnectivityManager;
5 | import android.net.NetworkInfo;
6 |
7 | import com.android.volley.NetworkError;
8 |
9 | /**
10 | * Created by skytreasure on 30/12/15.
11 | *
12 | * Network Utility methods goes in this class
13 | */
14 | public class NetworkUtil {
15 | /**
16 | * Gives internet connection status - true if internet is connected
17 | *
18 | * @param context The context of the calling object
19 | * @return boolean isInternetConnected
20 | */
21 | public static boolean isInternetConnected(Context context) {
22 | final ConnectivityManager conMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
23 | final NetworkInfo activeNetwork = conMgr.getActiveNetworkInfo();
24 | if (activeNetwork != null && activeNetwork.isConnected()) {
25 | return true;
26 | } else {
27 | return false;
28 | }
29 | }
30 |
31 | /**
32 | * Checks if there's any network problem
33 | *
34 | * @param error
35 | * @return
36 | */
37 | public static boolean isNetworkProblem(Object error) {
38 | return (error instanceof NetworkError);
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/network/util/README:
--------------------------------------------------------------------------------
1 | All network util files
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/activity/ListViewActivity.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.activity;
2 |
3 | import android.graphics.Color;
4 | import android.graphics.PorterDuff;
5 | import android.support.v4.widget.SwipeRefreshLayout;
6 | import android.support.v7.app.AppCompatActivity;
7 | import android.os.Bundle;
8 | import android.support.v7.widget.LinearLayoutManager;
9 | import android.support.v7.widget.RecyclerView;
10 | import android.support.v7.widget.Toolbar;
11 | import android.view.View;
12 | import android.widget.ImageView;
13 | import android.widget.ProgressBar;
14 | import android.widget.RelativeLayout;
15 | import android.widget.TextView;
16 | import android.widget.Toast;
17 |
18 | import com.purvotara.airbnbmapexample.R;
19 | import com.purvotara.airbnbmapexample.constants.NetworkConstants;
20 | import com.purvotara.airbnbmapexample.controller.BaseInterface;
21 | import com.purvotara.airbnbmapexample.model.AddressModel;
22 | import com.purvotara.airbnbmapexample.ui.adapter.ListViewAdapter;
23 |
24 | import java.util.ArrayList;
25 | import java.util.List;
26 |
27 | public class ListViewActivity extends AppCompatActivity {
28 |
29 | ProgressBar mLoadingMoreDataProgress;
30 | private RecyclerView mRecyclerView;
31 | private ListViewAdapter mAdapter;
32 | private LinearLayoutManager mLayoutManager;
33 | // private Places mPlaces;
34 | private AddressModel mAddressModel;
35 | private int mPageNumber = 1;
36 | private boolean mHasMore = true;
37 | private List mAddressList = new ArrayList();
38 | private SwipeRefreshLayout mSwipeLayout;
39 |
40 |
41 |
42 |
43 | @Override
44 | protected void onCreate(Bundle savedInstanceState) {
45 | super.onCreate(savedInstanceState);
46 | setContentView(R.layout.activity_list_view);
47 |
48 | getSupportActionBar().setTitle("List View");
49 | mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container);
50 | mRecyclerView = (RecyclerView) findViewById(R.id.rv_lisiting);
51 |
52 | mLoadingMoreDataProgress = (ProgressBar) findViewById(R.id.loading_progress);
53 |
54 |
55 | mLoadingMoreDataProgress.getIndeterminateDrawable().setColorFilter(0xff00b1c7, PorterDuff.Mode.MULTIPLY);
56 | mLoadingMoreDataProgress.setVisibility(View.GONE);
57 |
58 |
59 | mRecyclerView.setHasFixedSize(false);
60 | mLayoutManager = new LinearLayoutManager(this);
61 | mRecyclerView.setLayoutManager(mLayoutManager);
62 | mAdapter = new ListViewAdapter(mAddressList, this);
63 | mRecyclerView.setAdapter(mAdapter);
64 | mRecyclerView.requestLayout();
65 |
66 | mSwipeLayout.setColorSchemeResources(R.color.gomalan_bule_bg);
67 |
68 | mAddressModel=new AddressModel(this, new BaseInterface() {
69 | @Override
70 | public void handleNetworkCall(Object object, int requestCode) {
71 | if (requestCode == NetworkConstants.ADDRESS_REQUEST) {
72 | if (object instanceof ArrayList) {
73 | mAddressList = new ArrayList<>();
74 | mAddressList = (ArrayList) object;
75 | mAdapter = new ListViewAdapter(mAddressList, ListViewActivity.this);
76 | mRecyclerView.setAdapter(mAdapter);
77 | mAdapter.notifyDataSetChanged();
78 | }
79 | else{
80 | Toast.makeText(ListViewActivity.this, (String)object,Toast.LENGTH_LONG).show();
81 | }
82 | }
83 | }
84 | });
85 |
86 |
87 |
88 | mAddressModel.fetchAddressFromServer();
89 |
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/activity/MapsActivity.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.activity;
2 |
3 | import android.os.Bundle;
4 | import android.support.v4.app.FragmentActivity;
5 |
6 | import com.google.android.gms.maps.CameraUpdateFactory;
7 | import com.google.android.gms.maps.GoogleMap;
8 | import com.google.android.gms.maps.OnMapReadyCallback;
9 | import com.google.android.gms.maps.SupportMapFragment;
10 | import com.google.android.gms.maps.model.LatLng;
11 | import com.google.android.gms.maps.model.MarkerOptions;
12 | import com.purvotara.airbnbmapexample.R;
13 | /**
14 | * Created by skyrreasure on 12/5/16.
15 | */
16 | public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
17 |
18 | private GoogleMap mMap;
19 |
20 | @Override
21 | protected void onCreate(Bundle savedInstanceState) {
22 | super.onCreate(savedInstanceState);
23 | setContentView(R.layout.activity_maps);
24 | // Obtain the SupportMapFragment and get notified when the map is ready to be used.
25 | SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
26 | .findFragmentById(R.id.map);
27 | mapFragment.getMapAsync(this);
28 | }
29 |
30 |
31 | /**
32 | * Manipulates the map once available.
33 | * This callback is triggered when the map is ready to be used.
34 | * This is where we can add markers or lines, add listeners or move the camera. In this case,
35 | * we just add a marker near Sydney, Australia.
36 | * If Google Play services is not installed on the device, the user will be prompted to install
37 | * it inside the SupportMapFragment. This method will only be triggered once the user has
38 | * installed Google Play services and returned to the app.
39 | */
40 | @Override
41 | public void onMapReady(GoogleMap googleMap) {
42 | mMap = googleMap;
43 |
44 | // Add a marker in Sydney and move the camera
45 | LatLng sydney = new LatLng(-34, 151);
46 | mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
47 | mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/activity/RecyclerViewLiteModeMapActivity.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.activity;
2 |
3 | import android.support.v4.widget.SwipeRefreshLayout;
4 | import android.support.v7.app.AppCompatActivity;
5 | import android.os.Bundle;
6 | import android.support.v7.widget.LinearLayoutManager;
7 | import android.support.v7.widget.RecyclerView;
8 | import android.widget.Toast;
9 |
10 | import com.purvotara.airbnbmapexample.R;
11 | import com.purvotara.airbnbmapexample.constants.NetworkConstants;
12 | import com.purvotara.airbnbmapexample.controller.BaseInterface;
13 | import com.purvotara.airbnbmapexample.model.AddressModel;
14 | import com.purvotara.airbnbmapexample.ui.adapter.ListViewAdapter;
15 | import com.purvotara.airbnbmapexample.ui.adapter.RecyclerViewLiteModeAdapter;
16 |
17 | import java.util.ArrayList;
18 | import java.util.List;
19 |
20 | public class RecyclerViewLiteModeMapActivity extends AppCompatActivity {
21 |
22 | private RecyclerView mRecyclerView;
23 | private LinearLayoutManager mLayoutManager;
24 | private RecyclerViewLiteModeAdapter mAdapter;
25 | private List addresses = new ArrayList();
26 | private AddressModel mAddressModel;
27 |
28 | @Override
29 | protected void onCreate(Bundle savedInstanceState) {
30 | super.onCreate(savedInstanceState);
31 | setContentView(R.layout.activity_recycler_view_lite_mode_map);
32 | getSupportActionBar().setTitle("Map View Lite Mode");
33 |
34 | mRecyclerView = (RecyclerView) findViewById(R.id.rv_list);
35 | mRecyclerView.setHasFixedSize(false);
36 | mLayoutManager = new LinearLayoutManager(this);
37 | mRecyclerView.setLayoutManager(mLayoutManager);
38 |
39 | mAdapter = new RecyclerViewLiteModeAdapter(addresses, this);
40 | mRecyclerView.setAdapter(mAdapter);
41 | mRecyclerView.requestLayout();
42 |
43 |
44 | mAddressModel=new AddressModel(this, new BaseInterface() {
45 | @Override
46 | public void handleNetworkCall(Object object, int requestCode) {
47 | if (requestCode == NetworkConstants.ADDRESS_REQUEST) {
48 | if (object instanceof ArrayList) {
49 | addresses = new ArrayList<>();
50 | addresses = (ArrayList) object;
51 | mAdapter = new RecyclerViewLiteModeAdapter(addresses, RecyclerViewLiteModeMapActivity.this);
52 | mRecyclerView.setAdapter(mAdapter);
53 | mAdapter.notifyDataSetChanged();
54 | mRecyclerView.requestLayout();
55 | }
56 | else{
57 | Toast.makeText(RecyclerViewLiteModeMapActivity.this, (String)object,Toast.LENGTH_LONG).show();
58 | }
59 | }
60 | }
61 | });
62 |
63 | mAddressModel.fetchAddressFromServer();
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/adapter/ListViewAdapter.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.adapter;
2 |
3 | import android.app.Activity;
4 | import android.content.Context;
5 | import android.support.v7.widget.RecyclerView;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 | import android.view.animation.Animation;
10 | import android.view.animation.AnimationUtils;
11 | import android.widget.Button;
12 | import android.widget.ImageView;
13 | import android.widget.LinearLayout;
14 | import android.widget.TextView;
15 |
16 | import com.android.volley.toolbox.ImageLoader;
17 | import com.purvotara.airbnbmapexample.R;
18 | import com.purvotara.airbnbmapexample.constants.NetworkConstants;
19 | import com.purvotara.airbnbmapexample.model.AddressModel;
20 | import com.purvotara.airbnbmapexample.network.util.CustomVolleyRequestQueue;
21 | import com.purvotara.airbnbmapexample.ui.widget.MyAnimationUtils;
22 |
23 | import java.util.List;
24 |
25 | /**
26 | * Created by akash on 15/5/16.
27 | */
28 | public class ListViewAdapter extends RecyclerView.Adapter {
29 | public static Context mContext;
30 | private static ImageLoader mImageLoader;
31 | private static AddressModel mPlaceModel;
32 | LayoutInflater layoutinflater;
33 | private List mPlaceList;
34 | private Activity mActivity;
35 | private ImageView mImageView;
36 | private int lastPosition = -1;
37 | int previousPosition=0;
38 |
39 | public ListViewAdapter(List places, Context context) {
40 | mContext = context;
41 | this.mPlaceList = places;
42 | layoutinflater = LayoutInflater.from(context);
43 | mActivity = (Activity) context;
44 | }
45 |
46 | @Override
47 | public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
48 | final View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.deal_card_layout, parent, false);
49 | ViewHolder viewHolder = new ViewHolder(itemLayoutView);
50 | return viewHolder;
51 | }
52 |
53 | @Override
54 | public void onBindViewHolder(ViewHolder holder, int position) {
55 | mPlaceModel = mPlaceList.get(position);
56 | mImageLoader = CustomVolleyRequestQueue.getInstance(mActivity).getImageLoader();
57 |
58 | holder.tvTitle.setText(mPlaceList.get(position).getLine1());
59 | holder.tvCategories.setText(mPlaceList.get(position).getLine2());
60 | holder.tvOffers.setText(mPlaceList.get(position).getCity());
61 | holder.tvDistanceInKm.setText(mPlaceList.get(position).getDistance());
62 | holder.tvRating.setText(mPlaceList.get(position).getRating());
63 |
64 | setImageViewFromUrl( mPlaceList.get(position).getImage(), holder.ivMain);
65 |
66 | if(position>previousPosition){
67 | new MyAnimationUtils().animate(holder,true);
68 | }else{
69 | new MyAnimationUtils().animate(holder,false);
70 | }
71 |
72 | previousPosition=position;
73 | }
74 |
75 | public void setImageViewFromUrl(String url, ImageView imageView) {
76 | mImageLoader.get(url, ImageLoader.getImageListener(imageView, 0, 0));
77 | imageView.setVisibility(View.VISIBLE);
78 |
79 | }
80 |
81 | @Override
82 | public int getItemCount() {
83 | return mPlaceList == null ? 0 : mPlaceList.size();
84 | }
85 |
86 |
87 | public static class ViewHolder extends RecyclerView.ViewHolder {
88 |
89 | public TextView tvTitle, tvRating, tvDistanceInKm, tvOffers, tvLocation, tvCategories;
90 | public ImageView ivMain;
91 | public Button mBook, mPay;
92 | private LinearLayout mItemLayout;
93 |
94 |
95 | public ViewHolder(View itemLayoutView) {
96 | super(itemLayoutView);
97 |
98 | tvTitle = (TextView) itemLayoutView.findViewById(R.id.tv_title);
99 | tvLocation = (TextView) itemLayoutView.findViewById(R.id.tv_location);
100 | tvCategories = (TextView) itemLayoutView.findViewById(R.id.tv_categories);
101 | tvRating = (TextView) itemLayoutView.findViewById(R.id.tv_rating);
102 | tvDistanceInKm = (TextView) itemLayoutView.findViewById(R.id.tv_distanceinkm);
103 | tvOffers = (TextView) itemLayoutView.findViewById(R.id.tv_offers);
104 | ivMain = (ImageView) itemLayoutView.findViewById(R.id.iv_main);
105 | mBook = (Button) itemLayoutView.findViewById(R.id.btn_book);
106 | mPay = (Button) itemLayoutView.findViewById(R.id.btn_pay);
107 |
108 |
109 |
110 | }
111 |
112 |
113 | }
114 | }
115 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/adapter/MapAdapter.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.adapter;
2 |
3 | import android.content.Context;
4 | import android.support.v4.app.Fragment;
5 | import android.support.v4.app.FragmentManager;
6 | import android.support.v4.app.FragmentPagerAdapter;
7 | import android.view.LayoutInflater;
8 |
9 | import com.purvotara.airbnbmapexample.model.AddressModel;
10 | import com.purvotara.airbnbmapexample.ui.fragment.MapFragment;
11 |
12 | import java.util.List;
13 |
14 | /**
15 | * Created by skyrreasure on 14/3/16.
16 | */
17 | public class MapAdapter extends FragmentPagerAdapter {
18 | LayoutInflater layoutInflater;
19 | List deals;
20 | Context mContext;
21 |
22 | public MapAdapter(FragmentManager fm, List deals, Context context) {
23 | super(fm);
24 | layoutInflater = LayoutInflater.from(context);
25 | this.deals = deals;
26 | this.mContext = context;
27 | }
28 |
29 | @Override
30 | public Fragment getItem(int position) {
31 | return new MapFragment(position, deals.get(position));
32 | }
33 |
34 | @Override
35 | public int getCount() {
36 | return this.deals.size();
37 | }
38 |
39 | @Override
40 | public float getPageWidth(int position) {
41 | return 0.95f;
42 | }
43 | }
44 |
45 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/adapter/RecyclerViewLiteModeAdapter.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.adapter;
2 |
3 | import android.annotation.SuppressLint;
4 | import android.app.Activity;
5 | import android.content.Context;
6 | import android.os.Build;
7 | import android.support.v7.widget.RecyclerView;
8 | import android.util.Log;
9 | import android.view.LayoutInflater;
10 | import android.view.View;
11 | import android.view.ViewGroup;
12 | import android.view.ViewTreeObserver;
13 | import android.widget.Button;
14 | import android.widget.ImageView;
15 | import android.widget.LinearLayout;
16 | import android.widget.TextView;
17 |
18 | import com.android.volley.toolbox.ImageLoader;
19 | import com.google.android.gms.maps.CameraUpdateFactory;
20 | import com.google.android.gms.maps.GoogleMap;
21 | import com.google.android.gms.maps.MapView;
22 | import com.google.android.gms.maps.MapsInitializer;
23 | import com.google.android.gms.maps.OnMapReadyCallback;
24 | import com.google.android.gms.maps.model.LatLng;
25 | import com.google.android.gms.maps.model.MarkerOptions;
26 | import com.purvotara.airbnbmapexample.R;
27 | import com.purvotara.airbnbmapexample.model.AddressModel;
28 | import com.purvotara.airbnbmapexample.network.util.CustomVolleyRequestQueue;
29 | import com.purvotara.airbnbmapexample.ui.widget.MyAnimationUtils;
30 |
31 | import java.util.ArrayList;
32 | import java.util.List;
33 |
34 | /**
35 | * Created by akash on 28/12/16.
36 | */
37 |
38 | public class RecyclerViewLiteModeAdapter extends RecyclerView.Adapter {
39 |
40 | public static Context mContext;
41 | LayoutInflater layoutinflater;
42 | private List addressModels=new ArrayList<>();
43 | private Activity mActivity;
44 | private int lastPosition = -1;
45 | private AddressModel mAddressModel;
46 | private static ViewHolder lastSelectedViewHolder;
47 | int previousPosition=0;
48 |
49 | public RecyclerViewLiteModeAdapter(List addressModelList, Context context) {
50 | mContext = context;
51 | this.addressModels = addressModelList;
52 | layoutinflater = LayoutInflater.from(context);
53 | mActivity = (Activity) context;
54 | }
55 |
56 | @Override
57 | public RecyclerViewLiteModeAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
58 | final View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_lite_mode_layout, parent, false);
59 | RecyclerViewLiteModeAdapter.ViewHolder viewHolder = new RecyclerViewLiteModeAdapter.ViewHolder(itemLayoutView);
60 | return viewHolder;
61 | }
62 |
63 | @Override
64 | public void onBindViewHolder(ViewHolder holder, int position) {
65 |
66 | holder.initializeMapView(position,addressModels.get(position));
67 |
68 | holder.tvTitle.setText(addressModels.get(position).getLine1());
69 | holder.tvCategories.setText(addressModels.get(position).getLine2());
70 | holder.tvOffers.setText(addressModels.get(position).getCity());
71 | holder.tvDistanceInKm.setText(addressModels.get(position).getDistance());
72 | holder.tvRating.setText(addressModels.get(position).getRating());
73 |
74 | if(position>previousPosition){
75 | new MyAnimationUtils().animate(holder,true);
76 | }else{
77 | new MyAnimationUtils().animate(holder,false);
78 | }
79 |
80 | previousPosition=position;
81 | }
82 |
83 |
84 |
85 | @Override
86 | public int getItemCount() {
87 | return addressModels == null ? 0 : addressModels.size();
88 | }
89 |
90 |
91 | public static class ViewHolder extends RecyclerView.ViewHolder implements OnMapReadyCallback
92 |
93 | {
94 |
95 | public TextView tvTitle, tvRating, tvDistanceInKm, tvOffers, tvLocation, tvCategories;
96 | public ImageView ivMain;
97 | public Button mBook, mPay;
98 | private LinearLayout mItemLayout;
99 |
100 | GoogleMap map;
101 | MapView mapView;
102 | boolean isMapReady=false;
103 | ViewHolder.MapInterface mapInterface;
104 | int position;
105 | AddressModel addressModel;
106 |
107 |
108 | public ViewHolder(View itemLayoutView) {
109 | super(itemLayoutView);
110 | mapView=(MapView) itemLayoutView.findViewById(R.id.lite_map);
111 | tvTitle = (TextView) itemLayoutView.findViewById(R.id.tv_title);
112 | tvLocation = (TextView) itemLayoutView.findViewById(R.id.tv_location);
113 | tvCategories = (TextView) itemLayoutView.findViewById(R.id.tv_categories);
114 | tvRating = (TextView) itemLayoutView.findViewById(R.id.tv_rating);
115 | tvDistanceInKm = (TextView) itemLayoutView.findViewById(R.id.tv_distanceinkm);
116 | tvOffers = (TextView) itemLayoutView.findViewById(R.id.tv_offers);
117 | ivMain = (ImageView) itemLayoutView.findViewById(R.id.iv_main);
118 | mBook = (Button) itemLayoutView.findViewById(R.id.btn_book);
119 | mPay = (Button) itemLayoutView.findViewById(R.id.btn_pay);
120 | }
121 |
122 | @Override
123 | public void onMapReady(GoogleMap googleMap) {
124 | MapsInitializer.initialize(mContext);
125 | map = googleMap;
126 | isMapReady=true;
127 | map.getUiSettings().setMapToolbarEnabled(false);
128 |
129 | if (mapView.getViewTreeObserver().isAlive()) {
130 | mapView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
131 | @SuppressWarnings("deprecation") // We use the new method when supported
132 | @SuppressLint("NewApi") // We check which build version we are using.
133 | @Override
134 | public void onGlobalLayout() {
135 | if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
136 | mapView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
137 | } else {
138 | mapView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
139 | }
140 | // showBoth(null);
141 | }
142 | });
143 | }
144 | try{
145 | setMapData(new LatLng(Double.parseDouble(addressModel.getLatitude()),Double.parseDouble(addressModel.getLongitude())));
146 | }catch(Exception e){
147 | e.printStackTrace();
148 | }
149 |
150 |
151 | // mapInterface.mapIsReadyToSet(this,position);
152 | }
153 |
154 | public void setMapData(LatLng newLatLng){
155 | if(map!=null){
156 | map.moveCamera(CameraUpdateFactory.newLatLngZoom(newLatLng, 13f));
157 | map.addMarker(new MarkerOptions().position(newLatLng));
158 | map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
159 | }else{
160 | Log.e("Map","Map null");
161 | }
162 | }
163 |
164 | public void initializeMapView(int pos,AddressModel address) {
165 | try{
166 | position=pos;
167 | addressModel=address;
168 | if (mapView != null) {
169 | // Initialise the MapView
170 | mapView.onCreate(null);
171 | // Set the map ready callback to receive the GoogleMap object
172 | mapView.getMapAsync(this);
173 |
174 | }else{
175 | Log.e("Map","Mapview null");
176 | }
177 | }catch (Exception e){
178 | e.printStackTrace();
179 | }
180 |
181 | }
182 |
183 | public interface MapInterface{
184 | public void mapIsReadyToSet(ViewHolder holder, int pos);
185 | }
186 |
187 | }
188 | }
189 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/fragment/MapFragment.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.fragment;
2 |
3 | import android.annotation.SuppressLint;
4 | import android.os.Bundle;
5 | import android.support.v4.app.Fragment;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 | import android.widget.Button;
10 | import android.widget.ImageView;
11 | import android.widget.LinearLayout;
12 | import android.widget.TextView;
13 |
14 | import com.android.volley.toolbox.ImageLoader;
15 | import com.purvotara.airbnbmapexample.R;
16 | import com.purvotara.airbnbmapexample.model.AddressModel;
17 | import com.purvotara.airbnbmapexample.network.util.CustomVolleyRequestQueue;
18 |
19 |
20 | /**
21 | * Created by skyrreasure on 14/3/16.
22 | */
23 | public class MapFragment extends Fragment {
24 |
25 | private static ImageLoader mImageLoader;
26 | int page_position;
27 | TextView tvTitle, tvLocation, tvCategory, tvRating, tvOffer, tvDistanceInKm, tvDescription, tvPhone;
28 | Button btnNavigate, btnBook;
29 | LinearLayout layoutItem;
30 | ImageView ivMain;
31 | private AddressModel dealModel;
32 |
33 | public MapFragment() {
34 |
35 | }
36 |
37 | @SuppressLint("ValidFragment")
38 | public MapFragment(int position, AddressModel placemodel) {
39 | this.page_position = position;
40 | this.dealModel = placemodel;
41 | }
42 |
43 | public AddressModel getDealModel() {
44 | return dealModel;
45 | }
46 |
47 |
48 | @Override
49 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
50 | ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.map_view_item, container, false);
51 | try {
52 | mImageLoader = CustomVolleyRequestQueue.getInstance(getActivity()).getImageLoader();
53 |
54 | tvTitle = (TextView) rootView.findViewById(R.id.tv_title);
55 | tvDescription = (TextView) rootView.findViewById(R.id.tv_categories);
56 | tvLocation=(TextView)rootView.findViewById(R.id.tv_offers);
57 | tvRating=(TextView)rootView.findViewById(R.id.tv_rating);
58 | tvDistanceInKm=(TextView)rootView.findViewById(R.id.tv_distanceinkm);
59 |
60 | tvTitle.setText(getDealModel().getLine1());
61 | tvDescription.setText(getDealModel().getLine2());
62 | tvLocation.setText(getDealModel().getCity());
63 | tvDistanceInKm.setText(getDealModel().getDistance());
64 | tvRating.setText(getDealModel().getRating());
65 |
66 | return rootView;
67 |
68 | } catch (Exception e) {
69 | e.printStackTrace();
70 | throw new RuntimeException("PlacesMapFragment:" + e.getStackTrace());
71 | }
72 |
73 | }
74 |
75 | }
76 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/fragment/MySupportMapFragment.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.fragment;
2 |
3 | import android.os.Bundle;
4 | import android.view.LayoutInflater;
5 | import android.view.View;
6 | import android.view.ViewGroup;
7 |
8 | import com.google.android.gms.maps.SupportMapFragment;
9 | import com.purvotara.airbnbmapexample.ui.widget.TouchableWrapper;
10 |
11 | /**
12 | * Created by skyrreasure on 5/4/16.
13 | */
14 | public class MySupportMapFragment extends SupportMapFragment {
15 | public View mOriginalContentView;
16 | public TouchableWrapper mTouchView;
17 |
18 | @Override
19 | public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
20 | mOriginalContentView = super.onCreateView(inflater, parent, savedInstanceState);
21 | mTouchView = new TouchableWrapper(getActivity());
22 | mTouchView.addView(mOriginalContentView);
23 | return mTouchView;
24 | }
25 |
26 | @Override
27 | public View getView() {
28 | return mOriginalContentView;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/util/GoogleMapUtis.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.util;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | import android.location.Location;
7 |
8 | import com.google.android.gms.maps.CameraUpdateFactory;
9 | import com.google.android.gms.maps.GoogleMap;
10 | import com.google.android.gms.maps.model.LatLng;
11 | import com.google.android.gms.maps.model.LatLngBounds;
12 | import com.google.android.gms.maps.model.Marker;
13 |
14 | public class GoogleMapUtis {
15 |
16 | public static void toggleStyle(GoogleMap googleMap) {
17 | if (GoogleMap.MAP_TYPE_NORMAL == googleMap.getMapType()) {
18 | googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
19 | } else {
20 | googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
21 | }
22 | }
23 |
24 | public static Location convertLatLngToLocation(LatLng latLng) {
25 | Location loc = new Location("someLoc");
26 | loc.setLatitude(latLng.latitude);
27 | loc.setLongitude(latLng.longitude);
28 | return loc;
29 | }
30 |
31 | public static float bearingBetweenLatLngs(LatLng begin,LatLng end) {
32 | Location beginL= convertLatLngToLocation(begin);
33 | Location endL= convertLatLngToLocation(end);
34 | return beginL.bearingTo(endL);
35 | }
36 |
37 | public static String encodeMarkerForDirection(Marker marker) {
38 | return marker.getPosition().latitude + "," + marker.getPosition().longitude;
39 | }
40 |
41 | public static void fixZoomForLatLngs(GoogleMap googleMap, List latLngs) {
42 | if (latLngs!=null && latLngs.size() > 0) {
43 | LatLngBounds.Builder bc = new LatLngBounds.Builder();
44 |
45 | for (LatLng latLng: latLngs) {
46 | bc.include(latLng);
47 | }
48 |
49 | googleMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bc.build(), 50),4000,null);
50 | }
51 | }
52 |
53 | public static void fixZoomForMarkers(GoogleMap googleMap, List markers) {
54 | if (markers!=null && markers.size() > 0) {
55 | LatLngBounds.Builder bc = new LatLngBounds.Builder();
56 |
57 | for (Marker marker : markers) {
58 | bc.include(marker.getPosition());
59 | }
60 |
61 | googleMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bc.build(), 50),4000,null);
62 | }
63 | }
64 |
65 | public static List getSampleLatLngs() {
66 | List latLngs = new ArrayList();
67 | latLngs.add(new LatLng(50.961813797827055,3.5168474167585373));
68 | latLngs.add(new LatLng(50.96085423274633,3.517405651509762));
69 | latLngs.add(new LatLng(50.96020550146382,3.5177918896079063));
70 | latLngs.add(new LatLng(50.95936754348453,3.518972061574459));
71 | latLngs.add(new LatLng(50.95877285446026,3.5199161991477013));
72 | latLngs.add(new LatLng(50.958179213755905,3.520646095275879));
73 | latLngs.add(new LatLng(50.95901719316589,3.5222768783569336));
74 | latLngs.add(new LatLng(50.95954430150347,3.523542881011963));
75 | latLngs.add(new LatLng(50.95873336312275,3.5244011878967285));
76 | latLngs.add(new LatLng(50.95955781702322,3.525688648223877));
77 | latLngs.add(new LatLng(50.958855004782116,3.5269761085510254));
78 | return latLngs;
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/util/IconizedWindowAdapter.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.util;
2 |
3 | import android.view.LayoutInflater;
4 | import android.view.View;
5 | import android.widget.TextView;
6 |
7 | import com.google.android.gms.maps.GoogleMap.InfoWindowAdapter;
8 | import com.google.android.gms.maps.model.Marker;
9 | import com.purvotara.airbnbmapexample.R;
10 |
11 | public class IconizedWindowAdapter implements InfoWindowAdapter {
12 | LayoutInflater inflater=null;
13 |
14 | public IconizedWindowAdapter(LayoutInflater inflater) {
15 | this.inflater=inflater;
16 | }
17 |
18 | @Override
19 | public View getInfoWindow(Marker marker) {
20 | return(null);
21 | }
22 |
23 | @Override
24 | public View getInfoContents(Marker marker) {
25 | View popup=inflater.inflate(R.layout.marker_tooltip, null);
26 |
27 | TextView tv=(TextView)popup.findViewById(R.id.title);
28 |
29 | tv.setText(marker.getTitle());
30 | tv=(TextView)popup.findViewById(R.id.snippet);
31 | tv.setText(marker.getSnippet());
32 |
33 | return(popup);
34 | }
35 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/util/PermissionUtils.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.util;
2 |
3 | import android.Manifest;
4 | import android.app.AlertDialog;
5 | import android.app.Dialog;
6 | import android.content.DialogInterface;
7 | import android.content.pm.PackageManager;
8 | import android.os.Bundle;
9 | import android.support.v4.app.ActivityCompat;
10 | import android.support.v4.app.DialogFragment;
11 | import android.support.v7.app.AppCompatActivity;
12 | import android.widget.Toast;
13 |
14 | import com.purvotara.airbnbmapexample.R;
15 |
16 |
17 | /**
18 | * Created by skyrreasure on 1/4/16.
19 | */
20 | public abstract class PermissionUtils {
21 |
22 | /**
23 | * Requests the fine location permission. If a rationale with an additional explanation should
24 | * be shown to the user, displays a dialog that triggers the request.
25 | */
26 | public static void requestPermission(AppCompatActivity activity, int requestId,
27 | String permission, boolean finishActivity) {
28 | if (ActivityCompat.shouldShowRequestPermissionRationale(activity, permission)) {
29 | // Display a dialog with rationale.
30 | PermissionUtils.RationaleDialog.newInstance(requestId, finishActivity)
31 | .show(activity.getSupportFragmentManager(), "dialog");
32 | } else {
33 | // Location permission has not been granted yet, request it.
34 | ActivityCompat.requestPermissions(activity, new String[]{permission}, requestId);
35 |
36 | }
37 | }
38 |
39 | /**
40 | * Checks if the result contains a {@link PackageManager#PERMISSION_GRANTED} result for a
41 | * permission from a runtime permissions request.
42 | *
43 | * @see android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback
44 | */
45 | public static boolean isPermissionGranted(String[] grantPermissions, int[] grantResults,
46 | String permission) {
47 | for (int i = 0; i < grantPermissions.length; i++) {
48 | if (permission.equals(grantPermissions[i])) {
49 | return grantResults[i] == PackageManager.PERMISSION_GRANTED;
50 | }
51 | }
52 | return false;
53 | }
54 |
55 | /**
56 | * A dialog that displays a permission denied message.
57 | */
58 | public static class PermissionDeniedDialog extends DialogFragment {
59 |
60 | private static final String ARGUMENT_FINISH_ACTIVITY = "finish";
61 |
62 | private boolean mFinishActivity = false;
63 |
64 | /**
65 | * Creates a new instance of this dialog and optionally finishes the calling Activity
66 | * when the 'Ok' button is clicked.
67 | */
68 | public static PermissionDeniedDialog newInstance(boolean finishActivity) {
69 | Bundle arguments = new Bundle();
70 | arguments.putBoolean(ARGUMENT_FINISH_ACTIVITY, finishActivity);
71 |
72 | PermissionDeniedDialog dialog = new PermissionDeniedDialog();
73 | dialog.setArguments(arguments);
74 | return dialog;
75 | }
76 |
77 | @Override
78 | public Dialog onCreateDialog(Bundle savedInstanceState) {
79 | mFinishActivity = getArguments().getBoolean(ARGUMENT_FINISH_ACTIVITY);
80 |
81 | return new AlertDialog.Builder(getActivity())
82 | .setMessage(R.string.location_permission_denied)
83 | .setPositiveButton(android.R.string.ok, null)
84 | .create();
85 | }
86 |
87 | @Override
88 | public void onDismiss(DialogInterface dialog) {
89 | super.onDismiss(dialog);
90 | if (mFinishActivity) {
91 | Toast.makeText(getActivity(), R.string.permission_required_toast,
92 | Toast.LENGTH_SHORT).show();
93 | getActivity().finish();
94 | }
95 | }
96 | }
97 |
98 | /**
99 | * A dialog that explains the use of the location permission and requests the necessary
100 | * permission.
101 | *
102 | * The activity should implement
103 | * {@link android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback}
104 | * to handle permit or denial of this permission request.
105 | */
106 | public static class RationaleDialog extends DialogFragment {
107 |
108 | private static final String ARGUMENT_PERMISSION_REQUEST_CODE = "requestCode";
109 |
110 | private static final String ARGUMENT_FINISH_ACTIVITY = "finish";
111 |
112 | private boolean mFinishActivity = false;
113 |
114 | /**
115 | * Creates a new instance of a dialog displaying the rationale for the use of the location
116 | * permission.
117 | *
118 | * The permission is requested after clicking 'ok'.
119 | *
120 | * @param requestCode Id of the request that is used to request the permission. It is
121 | * returned to the
122 | * {@link android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback}.
123 | * @param finishActivity Whether the calling Activity should be finished if the dialog is
124 | * cancelled.
125 | */
126 | public static RationaleDialog newInstance(int requestCode, boolean finishActivity) {
127 | Bundle arguments = new Bundle();
128 | arguments.putInt(ARGUMENT_PERMISSION_REQUEST_CODE, requestCode);
129 | arguments.putBoolean(ARGUMENT_FINISH_ACTIVITY, finishActivity);
130 | RationaleDialog dialog = new RationaleDialog();
131 | dialog.setArguments(arguments);
132 | return dialog;
133 | }
134 |
135 | @Override
136 | public Dialog onCreateDialog(Bundle savedInstanceState) {
137 | Bundle arguments = getArguments();
138 | final int requestCode = arguments.getInt(ARGUMENT_PERMISSION_REQUEST_CODE);
139 | mFinishActivity = arguments.getBoolean(ARGUMENT_FINISH_ACTIVITY);
140 |
141 | return new AlertDialog.Builder(getActivity())
142 | .setMessage(R.string.permission_rationale_location)
143 | .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
144 | @Override
145 | public void onClick(DialogInterface dialog, int which) {
146 | // After click on Ok, request the permission.
147 | ActivityCompat.requestPermissions(getActivity(),
148 | new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
149 | requestCode);
150 | // Do not finish the Activity while requesting permission.
151 | mFinishActivity = false;
152 | }
153 | })
154 | .setNegativeButton(android.R.string.cancel, null)
155 | .create();
156 | }
157 |
158 | @Override
159 | public void onDismiss(DialogInterface dialog) {
160 | super.onDismiss(dialog);
161 | if (mFinishActivity) {
162 | Toast.makeText(getActivity(),
163 | R.string.permission_required_toast,
164 | Toast.LENGTH_SHORT)
165 | .show();
166 | getActivity().finish();
167 | }
168 | }
169 | }
170 | }
171 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/util/Util.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.util;
2 |
3 | import android.content.Context;
4 | import android.net.ConnectivityManager;
5 | import android.net.NetworkInfo;
6 |
7 | /**
8 | * Created by skyrreasure on 12/5/16.
9 | */
10 | public class Util {
11 | public static final class Operations {
12 | private Operations() throws InstantiationException {
13 | throw new InstantiationException("This class is not for instantiation");
14 | }
15 | /**
16 | * Checks to see if the device is online before carrying out any operations.
17 | *
18 | * @return
19 | */
20 | public static boolean isOnline(Context context) {
21 | ConnectivityManager cm =
22 | (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
23 | NetworkInfo netInfo = cm.getActiveNetworkInfo();
24 | if (netInfo != null && netInfo.isConnectedOrConnecting()) {
25 | return true;
26 | }
27 | return false;
28 | }
29 | }
30 | private Util() throws InstantiationException {
31 | throw new InstantiationException("This class is not for instantiation");
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/widget/MyAnimationUtils.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.widget;
2 |
3 | import android.animation.AnimatorSet;
4 | import android.animation.ObjectAnimator;
5 | import android.support.v7.widget.RecyclerView;
6 |
7 |
8 | public class MyAnimationUtils {
9 |
10 |
11 | public static void animate(RecyclerView.ViewHolder holder , boolean goesDown){
12 |
13 | slidingAnimation(holder, goesDown);
14 |
15 | // slidingWithBounce(holder, goesDown);
16 |
17 | }
18 |
19 | private static void slidingAnimation(RecyclerView.ViewHolder holder, boolean goesDown){
20 |
21 | ObjectAnimator animatorTranslateY = ObjectAnimator.ofFloat(holder.itemView, "translationY", goesDown ? 200 : -200, 0);
22 |
23 | animatorTranslateY.setDuration(1000);
24 |
25 | animatorTranslateY.start();
26 |
27 | }
28 |
29 |
30 | private static void slidingWithBounce(RecyclerView.ViewHolder holder, boolean goesDown){
31 |
32 | AnimatorSet animatorSet = new AnimatorSet();
33 |
34 | ObjectAnimator animatorTranslateY = ObjectAnimator.ofFloat(holder.itemView, "translationY", goesDown? 200 : -200, 0);
35 | ObjectAnimator animatorTranslateX = ObjectAnimator.ofFloat(holder.itemView,"translationX",-30,30,-20,20,-5,5,0);
36 |
37 | animatorTranslateX.setDuration(1000);
38 | animatorTranslateY.setDuration(1000);
39 |
40 | animatorSet.playTogether ( animatorTranslateX, animatorTranslateY);
41 | animatorSet.start();
42 |
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/java/com/purvotara/airbnbmapexample/ui/widget/TouchableWrapper.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample.ui.widget;
2 |
3 | import android.content.Context;
4 | import android.os.SystemClock;
5 | import android.view.MotionEvent;
6 | import android.widget.FrameLayout;
7 |
8 | import com.purvotara.airbnbmapexample.ui.activity.SearchPlaceOnMapActivity;
9 |
10 |
11 | /**
12 | * Created by skyrreasure on 1/4/16.
13 | */
14 | public class TouchableWrapper extends FrameLayout {
15 | private static final long SCROLL_TIME = 200L; // 200 Milliseconds, but you can adjust that to your liking
16 | private long lastTouched = 0;
17 | private UpdateMapAfterUserInterection updateMapAfterUserInterection;
18 |
19 | public TouchableWrapper(Context context) {
20 | super(context);
21 | // Force the host activity to implement the UpdateMapAfterUserInterection Interface
22 | try {
23 | updateMapAfterUserInterection = (SearchPlaceOnMapActivity) context;
24 | } catch (ClassCastException e) {
25 | throw new ClassCastException(context.toString() + " must implement UpdateMapAfterUserInterection");
26 | }
27 | }
28 |
29 | @Override
30 | public boolean dispatchTouchEvent(MotionEvent ev) {
31 | switch (ev.getAction()) {
32 | case MotionEvent.ACTION_DOWN:
33 | lastTouched = SystemClock.uptimeMillis();
34 | break;
35 | case MotionEvent.ACTION_UP:
36 | final long now = SystemClock.uptimeMillis();
37 | if (now - lastTouched > SCROLL_TIME) {
38 | // Update the map
39 | updateMapAfterUserInterection.onUpdateMapAfterUserInterection();
40 | }
41 | break;
42 | }
43 | return super.dispatchTouchEvent(ev);
44 | }
45 |
46 | // Map Activity must implement this interface
47 | public interface UpdateMapAfterUserInterection {
48 | public void onUpdateMapAfterUserInterection();
49 | }
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/about_location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/about_location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_add_circle_outline_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/ic_add_circle_outline_white_48dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/location.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/location_distance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/location_distance.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/location_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/location_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/location_icon_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/location_icon_grey.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/my_favourites_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/my_favourites_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/my_favourites_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/my_favourites_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/navigate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/navigate.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/navigation_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/navigation_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/rating_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/rating_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/rating_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/rating_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/spa_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/spa_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/star_gray_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/star_gray_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/toolbar_close_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-hdpi/toolbar_close_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/about_location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/about_location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/ic_add_circle_outline_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/ic_add_circle_outline_white_48dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/location.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/location_distance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/location_distance.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/location_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/location_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/location_icon_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/location_icon_grey.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/my_favourites_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/my_favourites_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/my_favourites_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/my_favourites_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/star_gray_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/star_gray_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/star_icon_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/star_icon_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/toolbar_close_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-ldpi/toolbar_close_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/about_location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/about_location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/end_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/end_green.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_add_circle_outline_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/ic_add_circle_outline_white_48dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_send_grey600_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/ic_send_grey600_48dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/location.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/location_distance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/location_distance.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/location_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/location_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/location_icon_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/location_icon_grey.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/my_favourites_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/my_favourites_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/my_favourites_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/my_favourites_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/pushpin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/pushpin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/star_gray_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/star_gray_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/star_icon_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/star_icon_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/start_blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/start_blue.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/toolbar_close_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-mdpi/toolbar_close_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/about_location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/about_location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/back_arrow_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/back_arrow_black.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/back_arrow_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/back_arrow_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/end_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/end_green.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_add_circle_outline_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/ic_add_circle_outline_white_48dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_send_grey600_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/ic_send_grey600_48dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/locality.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/locality.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/location.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/location_distance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/location_distance.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/location_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/location_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/location_icon_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/location_icon_grey.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/my_favourites_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/my_favourites_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/my_favourites_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/my_favourites_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/pushpin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/pushpin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/rating_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/rating_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/rating_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/rating_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/star_gray_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/star_gray_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/star_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/star_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/star_white_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/star_white_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/start_blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/start_blue.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/toolbar_close_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xhdpi/toolbar_close_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/about_location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/about_location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/end_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/end_green.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_add_circle_outline_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/ic_add_circle_outline_white_48dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_send_grey600_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/ic_send_grey600_48dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/locality.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/locality.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/location.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/location_distance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/location_distance.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/location_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/location_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/location_icon_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/location_icon_grey.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/my_favourites_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/my_favourites_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/my_favourites_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/my_favourites_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/navigate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/navigate.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/navigation_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/navigation_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/pushpin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/pushpin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/rating_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/rating_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/rating_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/rating_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/star_gray_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/star_gray_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/star_icon_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/star_icon_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/star_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/star_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/star_white_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/star_white_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/start_blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/start_blue.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/toolbar_close_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxhdpi/toolbar_close_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/about_location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/about_location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/end_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/end_green.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_add_circle_outline_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/ic_add_circle_outline_white_48dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_send_grey600_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/ic_send_grey600_48dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/locality.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/locality.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/location.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/location_distance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/location_distance.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/location_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/location_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/location_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/location_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/location_icon_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/location_icon_grey.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/my_favourites_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/my_favourites_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/my_favourites_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/my_favourites_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/navigate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/navigate.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/navigation_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/navigation_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/pushpin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/pushpin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/rating_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/rating_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/rating_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/rating_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/star_gray_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/star_gray_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/star_icon_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/star_icon_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/star_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/star_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/star_white_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/star_white_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/start_blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/start_blue.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/toolbar_close_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable-xxxhdpi/toolbar_close_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable/Thumbs.db
--------------------------------------------------------------------------------
/app/src/main/res/drawable/blue_border_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/blue_rounded_corners_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/car.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable/car.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/car_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable/car_small.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/car_small_red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable/car_small_red.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/dotted.xml:
--------------------------------------------------------------------------------
1 |
2 | -
7 |
8 |
9 |
14 |
15 |
16 |
17 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/dotted_line.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/line_divider.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/location_distance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable/location_distance.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/pin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable/pin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/placeholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable/placeholder.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/profile_img_bottomshadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable/profile_img_bottomshadow.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/profile_img_topshadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable/profile_img_topshadow.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/star_gray_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable/star_gray_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/star_icon_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/drawable/star_icon_white.png
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_list_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
16 |
21 |
22 |
23 |
24 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
13 |
14 |
21 |
22 |
23 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_maps.xml:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_moving_marker.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
25 |
26 |
30 |
31 |
37 |
38 |
46 |
47 |
54 |
55 |
62 |
63 |
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_recycler_view_lite_mode_map.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_search_place_on_map.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
26 |
27 |
28 |
29 |
33 |
34 |
41 |
42 |
49 |
50 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_show_direction.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
25 |
26 |
30 |
31 |
37 |
38 |
46 |
47 |
54 |
55 |
62 |
63 |
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/google_places_search_items.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/map_marker_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/map_marker_text_active.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/map_view_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
19 |
20 |
25 |
26 |
27 |
34 |
35 |
50 |
51 |
62 |
63 |
79 |
80 |
88 |
89 |
100 |
101 |
114 |
115 |
116 |
130 |
131 |
132 |
137 |
138 |
153 |
154 |
170 |
171 |
186 |
187 |
188 |
189 |
190 |
197 |
198 |
199 |
200 |
201 |
202 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/marker_tooltip.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
15 |
16 |
20 |
21 |
27 |
28 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/base.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/deals_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-hdpi/deals_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/deals_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-hdpi/deals_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/map_pin_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-hdpi/map_pin_green.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/map_pin_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-hdpi/map_pin_white.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/deals_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-mdpi/deals_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/deals_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-mdpi/deals_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/map_pin_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-mdpi/map_pin_green.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/map_pin_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-mdpi/map_pin_white.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/deals_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xhdpi/deals_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/deals_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xhdpi/deals_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/map_pin_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xhdpi/map_pin_green.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/map_pin_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xhdpi/map_pin_white.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/deals_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xxhdpi/deals_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/deals_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xxhdpi/deals_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/map_pin_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xxhdpi/map_pin_green.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/map_pin_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xxhdpi/map_pin_white.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/deals_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xxxhdpi/deals_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/deals_icon_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xxxhdpi/deals_icon_active.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/map_pin_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xxxhdpi/map_pin_green.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/map_pin_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/app/src/main/res/mipmap-xxxhdpi/map_pin_white.png
--------------------------------------------------------------------------------
/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #00b1c7
4 | #0097a9
5 | #00b1c7
6 | #00b1c7
7 | #19c594
8 | #0097a9
9 |
10 |
11 | #FFFFFF
12 | #EEEEEE
13 | #44424242
14 |
15 | #FFFFFF
16 | #FFFFFFFF
17 | #99FFFFFF
18 | #000000
19 | #eeffffff
20 | #990000
21 | #009900
22 | #000099
23 | #FF9900
24 | #ffbf00
25 | #ff5240
26 | #080808
27 | #787878
28 | #00b1c7
29 | #19c594
30 | #0097a9
31 | #9D9D9D
32 | #8e76c6
33 |
34 |
35 | #00BCD4
36 | #0097A7
37 | #B2EBF2
38 | #607D8B
39 | #212121
40 | #727272
41 | #FFFFFF
42 | #B6B6B6
43 |
44 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | GoogleMap Collections
3 | Map
4 |
5 |
6 | Access to the location service is required to demonstrate the \'my location\' feature, which shows your current location on the map.
7 | This sample requires location permission to enable the \'my location\' layer. Please try again and grant access to use the location.\nIf the permission has been permanently denied, it can be enabled from the System Settings > Apps > \'Google Maps API Demos\'.
8 | Location permission is required for this demo.
9 | Map
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/release/res/values/google_maps_api.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 | YOUR_KEY_HERE
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/test/java/com/purvotara/airbnbmapexample/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.purvotara.airbnbmapexample;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.assertEquals;
6 |
7 | /**
8 | * To work on unit tests, switch the Test Artifact in the Build Variants view.
9 | */
10 | public class ExampleUnitTest {
11 | @Test
12 | public void addition_isCorrect() throws Exception {
13 | assertEquals(4, 2 + 2);
14 | }
15 | }
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:2.2.3'
9 |
10 | // NOTE: Do not place your application dependencies here; they belong
11 | // in the individual module build.gradle files
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | jcenter()
18 | }
19 | }
20 |
21 | task clean(type: Delete) {
22 | delete rootProject.buildDir
23 | }
24 |
--------------------------------------------------------------------------------
/build/generated/mockable-android-23.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/build/generated/mockable-android-23.jar
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SkyTreasure/Airbnb-Android-Google-Map-View/3383393ee4caf03408560a0d4283ca5626146544/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Oct 04 12:34:54 IST 2016
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
7 |
--------------------------------------------------------------------------------
/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10 | DEFAULT_JVM_OPTS=""
11 |
12 | APP_NAME="Gradle"
13 | APP_BASE_NAME=`basename "$0"`
14 |
15 | # Use the maximum available, or set MAX_FD != -1 to use that value.
16 | MAX_FD="maximum"
17 |
18 | warn ( ) {
19 | echo "$*"
20 | }
21 |
22 | die ( ) {
23 | echo
24 | echo "$*"
25 | echo
26 | exit 1
27 | }
28 |
29 | # OS specific support (must be 'true' or 'false').
30 | cygwin=false
31 | msys=false
32 | darwin=false
33 | case "`uname`" in
34 | CYGWIN* )
35 | cygwin=true
36 | ;;
37 | Darwin* )
38 | darwin=true
39 | ;;
40 | MINGW* )
41 | msys=true
42 | ;;
43 | esac
44 |
45 | # Attempt to set APP_HOME
46 | # Resolve links: $0 may be a link
47 | PRG="$0"
48 | # Need this for relative symlinks.
49 | while [ -h "$PRG" ] ; do
50 | ls=`ls -ld "$PRG"`
51 | link=`expr "$ls" : '.*-> \(.*\)$'`
52 | if expr "$link" : '/.*' > /dev/null; then
53 | PRG="$link"
54 | else
55 | PRG=`dirname "$PRG"`"/$link"
56 | fi
57 | done
58 | SAVED="`pwd`"
59 | cd "`dirname \"$PRG\"`/" >/dev/null
60 | APP_HOME="`pwd -P`"
61 | cd "$SAVED" >/dev/null
62 |
63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64 |
65 | # Determine the Java command to use to start the JVM.
66 | if [ -n "$JAVA_HOME" ] ; then
67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68 | # IBM's JDK on AIX uses strange locations for the executables
69 | JAVACMD="$JAVA_HOME/jre/sh/java"
70 | else
71 | JAVACMD="$JAVA_HOME/bin/java"
72 | fi
73 | if [ ! -x "$JAVACMD" ] ; then
74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75 |
76 | Please set the JAVA_HOME variable in your environment to match the
77 | location of your Java installation."
78 | fi
79 | else
80 | JAVACMD="java"
81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82 |
83 | Please set the JAVA_HOME variable in your environment to match the
84 | location of your Java installation."
85 | fi
86 |
87 | # Increase the maximum file descriptors if we can.
88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89 | MAX_FD_LIMIT=`ulimit -H -n`
90 | if [ $? -eq 0 ] ; then
91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92 | MAX_FD="$MAX_FD_LIMIT"
93 | fi
94 | ulimit -n $MAX_FD
95 | if [ $? -ne 0 ] ; then
96 | warn "Could not set maximum file descriptor limit: $MAX_FD"
97 | fi
98 | else
99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100 | fi
101 | fi
102 |
103 | # For Darwin, add options to specify how the application appears in the dock
104 | if $darwin; then
105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106 | fi
107 |
108 | # For Cygwin, switch paths to Windows format before running java
109 | if $cygwin ; then
110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112 | JAVACMD=`cygpath --unix "$JAVACMD"`
113 |
114 | # We build the pattern for arguments to be converted via cygpath
115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116 | SEP=""
117 | for dir in $ROOTDIRSRAW ; do
118 | ROOTDIRS="$ROOTDIRS$SEP$dir"
119 | SEP="|"
120 | done
121 | OURCYGPATTERN="(^($ROOTDIRS))"
122 | # Add a user-defined pattern to the cygpath arguments
123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125 | fi
126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
127 | i=0
128 | for arg in "$@" ; do
129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131 |
132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134 | else
135 | eval `echo args$i`="\"$arg\""
136 | fi
137 | i=$((i+1))
138 | done
139 | case $i in
140 | (0) set -- ;;
141 | (1) set -- "$args0" ;;
142 | (2) set -- "$args0" "$args1" ;;
143 | (3) set -- "$args0" "$args1" "$args2" ;;
144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150 | esac
151 | fi
152 |
153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154 | function splitJvmOpts() {
155 | JVM_OPTS=("$@")
156 | }
157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159 |
160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
161 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/local.properties:
--------------------------------------------------------------------------------
1 | ## This file is automatically generated by Android Studio.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must *NOT* be checked into Version Control Systems,
5 | # as it contains information specific to your local configuration.
6 | #
7 | # Location of the SDK. This is only used by Gradle.
8 | # For customization when using a Version Control System, please read the
9 | # header note.
10 | #Thu Mar 10 23:24:20 IST 2016
11 | ndk.dir=/home/akash/Android/Sdk/ndk-bundle
12 | sdk.dir=/home/akash/Android/Sdk
13 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------