diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2019-06-05 10:15:59 +0200 |
---|---|---|
committer | tobrun <tobrun.van.nuland@gmail.com> | 2019-06-05 11:35:37 +0200 |
commit | 598f62dc2434bfc83e227b8ce1b2324e674827aa (patch) | |
tree | 831e3fc2f5d7a134a62f5fdabf9ed6e5ac479a63 | |
parent | 76d8fd0a798ac49445b0211f4c3b04909a61e344 (diff) | |
download | qtlocation-mapboxgl-upstream/tvn-downstream-app.tar.gz |
[android] - add downstream test appupstream/tvn-downstream-app
32 files changed, 566 insertions, 8 deletions
diff --git a/platform/android/.gitignore b/platform/android/.gitignore index f5affd93c7..af68f9c007 100644 --- a/platform/android/.gitignore +++ b/platform/android/.gitignore @@ -20,6 +20,7 @@ gradle/configuration.gradle # Token file MapboxGLAndroidSDKTestApp/src/main/res/values/developer-config.xml +MapboxGLAndroidSDKDownstreamApp/src/main/res/values/developer-config.xml # Capture files captures/ diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/.gitignore b/platform/android/MapboxGLAndroidSDKDownstreamApp/.gitignore new file mode 100644 index 0000000000..796b96d1c4 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/.gitignore @@ -0,0 +1 @@ +/build diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/build.gradle b/platform/android/MapboxGLAndroidSDKDownstreamApp/build.gradle new file mode 100644 index 0000000000..6805837205 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/build.gradle @@ -0,0 +1,78 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 28 + + defaultConfig { + applicationId "com.mapbox.mapboxsdk.downstream" + minSdkVersion androidVersions.minSdkVersion + targetSdkVersion androidVersions.targetSdkVersion + versionCode 1 + versionName "0.0.1" + testInstrumentationRunner "com.mapbox.mapboxsdk.InstrumentationRunner" + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + lintOptions { + baseline file("lint-baseline-local.xml") + checkAllWarnings true + warningsAsErrors true + disable 'MissingTranslation', 'GoogleAppIndexingWarning', 'UnpackedNativeCode', 'IconDipSize', 'TypographyQuotes' + abortOnError false + } + + buildTypes { + release { + minifyEnabled true + shrinkResources true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.debug + } + } + + dexOptions { + maxProcessCount 8 + javaMaxHeapSize "2g" + preDexLibraries true + } +} + +dependencies { + implementation dependenciesList.kotlinLib + + implementation project(':MapboxGLAndroidSDK') + implementation dependenciesList.mapboxJavaTurf + + implementation dependenciesList.supportAppcompatV7 + implementation dependenciesList.supportRecyclerView + implementation dependenciesList.supportDesign + implementation dependenciesList.supportConstraintLayout + + implementation dependenciesList.gmsLocation + implementation dependenciesList.timber + debugImplementation dependenciesList.leakCanaryDebug + releaseImplementation dependenciesList.leakCanaryRelease + + androidTestImplementation dependenciesList.supportAnnotations + androidTestImplementation dependenciesList.testRunner + androidTestImplementation dependenciesList.testRules + androidTestImplementation dependenciesList.testEspressoCore + androidTestImplementation dependenciesList.testEspressoIntents + androidTestImplementation dependenciesList.testEspressoContrib + androidTestImplementation dependenciesList.testUiAutomator + + implementation('com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v7:0.6.0') { + exclude group: 'com.mapbox.mapboxsdk', module: 'mapbox-android-sdk' + } +} + +apply from: "${rootDir}/gradle/gradle-make.gradle" +apply from: "${rootDir}/gradle/gradle-config.gradle" +apply from: "${rootDir}/gradle/gradle-checkstyle.gradle" +apply from: "${rootDir}/gradle/gradle-lint.gradle" +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions'
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/proguard-rules.pro b/platform/android/MapboxGLAndroidSDKDownstreamApp/proguard-rules.pro new file mode 100644 index 0000000000..f1b424510d --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/androidTest/java/com/mapbox/mapboxsdk/downstream/ExampleInstrumentedTest.kt b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/androidTest/java/com/mapbox/mapboxsdk/downstream/ExampleInstrumentedTest.kt new file mode 100644 index 0000000000..19a89dcb9e --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/androidTest/java/com/mapbox/mapboxsdk/downstream/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.mapbox.mapboxsdk.downstream + +import android.support.test.InstrumentationRegistry +import android.support.test.runner.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getTargetContext() + assertEquals("com.mapbox.mapboxsdk.downstream", appContext.packageName) + } +} diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/AndroidManifest.xml b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..4ff2ca67a4 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/AndroidManifest.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.mapbox.mapboxsdk.downstream"> + + <application + android:allowBackup="true" + android:icon="@mipmap/ic_launcher" + android:label="@string/app_name" + android:roundIcon="@mipmap/ic_launcher_round" + android:supportsRtl="true" + android:theme="@style/AppTheme"> + <activity android:name=".MapActivity"> + </activity> + <activity android:name=".MainActivity"> + <intent-filter> + <action android:name="android.intent.action.MAIN"/> + + <category android:name="android.intent.category.LAUNCHER"/> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/java/com/mapbox/mapboxsdk/downstream/MainActivity.java b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/java/com/mapbox/mapboxsdk/downstream/MainActivity.java new file mode 100644 index 0000000000..49a509432a --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/java/com/mapbox/mapboxsdk/downstream/MainActivity.java @@ -0,0 +1,94 @@ +package com.mapbox.mapboxsdk.downstream; + +import android.content.Intent; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v7.app.AppCompatActivity; +import android.view.View; +import com.google.gson.JsonObject; +import com.mapbox.mapboxsdk.Mapbox; +import com.mapbox.mapboxsdk.geometry.LatLng; +import com.mapbox.mapboxsdk.geometry.LatLngBounds; +import com.mapbox.mapboxsdk.log.Logger; +import com.mapbox.mapboxsdk.maps.Style; +import com.mapbox.mapboxsdk.offline.OfflineManager; +import com.mapbox.mapboxsdk.offline.OfflineRegion; +import com.mapbox.mapboxsdk.offline.OfflineRegionError; +import com.mapbox.mapboxsdk.offline.OfflineRegionStatus; +import com.mapbox.mapboxsdk.offline.OfflineTilePyramidRegionDefinition; +import timber.log.Timber; + +public class MainActivity extends AppCompatActivity { + + private final static String TAG = "Main"; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_donwload); + + Mapbox.getInstance(this, getString(R.string.mapbox_access_token)); + + OfflineManager offlineManager = OfflineManager.getInstance(this); + + LatLngBounds latLngBounds = new LatLngBounds.Builder() + .include(new LatLng(50.849772, 5.688173)) + .include(new LatLng(50.843630, 5.710903)) + .build(); + + float pixelRatio = getResources().getDisplayMetrics().density; + + OfflineTilePyramidRegionDefinition definition = new OfflineTilePyramidRegionDefinition( + Style.MAPBOX_STREETS, latLngBounds, 16, 20, pixelRatio + ); + + offlineManager.createOfflineRegion(definition, convertRegionName("test"), new OfflineManager.CreateOfflineRegionCallback() { + @Override + public void onCreate(OfflineRegion offlineRegion) { + offlineRegion.setDownloadState(OfflineRegion.STATE_ACTIVE); + offlineRegion.setObserver(new OfflineRegion.OfflineRegionObserver() { + @Override + public void onStatusChanged(OfflineRegionStatus status) { + if (status.isComplete()) { + View button = findViewById(R.id.button); + button.setVisibility(View.VISIBLE); + button.setOnClickListener(v -> { + Intent intent = new Intent(v.getContext(), MapActivity.class); + startActivity(intent); + }); + } + } + + @Override + public void onError(OfflineRegionError error) { + Logger.e(TAG, error.getMessage()); + } + + @Override + public void mapboxTileCountLimitExceeded(long limit) { + + } + }); + } + + @Override + public void onError(String error) { + Logger.e(TAG, error); + } + }); + } + + public static final String JSON_CHARSET = "UTF-8"; + public static final String JSON_FIELD_REGION_NAME = "FIELD_REGION_NAME"; + + public static byte[] convertRegionName(String regionName) { + try { + JsonObject jsonObject = new JsonObject(); + jsonObject.addProperty(JSON_FIELD_REGION_NAME, regionName); + return jsonObject.toString().getBytes(JSON_CHARSET); + } catch (Exception exception) { + Timber.e(exception, "Failed to encode metadata: "); + } + return null; + } +}
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/java/com/mapbox/mapboxsdk/downstream/MapActivity.java b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/java/com/mapbox/mapboxsdk/downstream/MapActivity.java new file mode 100644 index 0000000000..47309c3fc5 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/java/com/mapbox/mapboxsdk/downstream/MapActivity.java @@ -0,0 +1,112 @@ +package com.mapbox.mapboxsdk.downstream; + +import android.animation.ValueAnimator; +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.widget.TextView; +import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; +import com.mapbox.mapboxsdk.geometry.LatLng; +import com.mapbox.mapboxsdk.maps.MapView; +import com.mapbox.mapboxsdk.maps.Style; +import com.mapbox.mapboxsdk.plugins.annotation.Symbol; +import com.mapbox.mapboxsdk.plugins.annotation.SymbolManager; +import com.mapbox.mapboxsdk.plugins.annotation.SymbolOptions; +import com.mapbox.mapboxsdk.utils.BitmapUtils; +import timber.log.Timber; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +/** + * Activity showcasing adding symbols using the annotation plugin + */ +public class MapActivity extends AppCompatActivity { + + private static final String ID_ICON = "airport"; + + private MapView mapView; + private SymbolManager symbolManager; + private Symbol symbol; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + mapView = findViewById(R.id.mapView); + mapView.onCreate(savedInstanceState); + mapView.getMapAsync(mapboxMap -> mapboxMap.setStyle(Style.MAPBOX_STREETS, style -> { + findViewById(R.id.fabStyles).setOnClickListener(v -> mapboxMap.setStyle(Style.DARK)); + + mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(50.846317, 5.698414), 17)); + + style.addImage(ID_ICON, BitmapUtils.getBitmapFromDrawable(getResources().getDrawable(R.drawable.mapbox_marker_icon_default)), false); + + // create symbol manager + symbolManager = new SymbolManager(mapView, mapboxMap, style); + symbolManager.setIconAllowOverlap(true); + symbolManager.setTextAllowOverlap(true); + + // create a symbol + SymbolOptions symbolOptions = new SymbolOptions() + .withLatLng(new LatLng(50.846202, 5.69738)) + .withIconImage(ID_ICON) + .withTextFont(new String[]{"Open Sans Regular","Arial Unicode MS Regular"}) + .withIconSize(1.3f) + .withTextField("Hello World") + .withZIndex(10); + symbol = symbolManager.create(symbolOptions); + Timber.e(symbol.toString()); + + + })); + } + + @Override + protected void onStart() { + super.onStart(); + mapView.onStart(); + } + + @Override + protected void onResume() { + super.onResume(); + mapView.onResume(); + } + + @Override + protected void onPause() { + super.onPause(); + mapView.onPause(); + } + + @Override + protected void onStop() { + super.onStop(); + mapView.onStop(); + } + + @Override + public void onLowMemory() { + super.onLowMemory(); + mapView.onLowMemory(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + + if (symbolManager != null) { + symbolManager.onDestroy(); + } + + mapView.onDestroy(); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + mapView.onSaveInstanceState(outState); + } +}
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/drawable-v24/ic_launcher_foreground.xml b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000000..6348baae39 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:aapt="http://schemas.android.com/aapt" + android:width="108dp" + android:height="108dp" + android:viewportHeight="108" + android:viewportWidth="108"> + <path + android:fillType="evenOdd" + android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z" + android:strokeColor="#00000000" + android:strokeWidth="1"> + <aapt:attr name="android:fillColor"> + <gradient + android:endX="78.5885" + android:endY="90.9159" + android:startX="48.7653" + android:startY="61.0927" + android:type="linear"> + <item + android:color="#44000000" + android:offset="0.0"/> + <item + android:color="#00000000" + android:offset="1.0"/> + </gradient> + </aapt:attr> + </path> + <path + android:fillColor="#FFFFFF" + android:fillType="nonZero" + android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z" + android:strokeColor="#00000000" + android:strokeWidth="1"/> +</vector> diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/drawable/ic_launcher_background.xml b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000000..a0ad202f9e --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> +<vector + xmlns:android="http://schemas.android.com/apk/res/android" + android:height="108dp" + android:width="108dp" + android:viewportHeight="108" + android:viewportWidth="108"> + <path android:fillColor="#008577" + android:pathData="M0,0h108v108h-108z"/> + <path android:fillColor="#00000000" android:pathData="M9,0L9,108" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M19,0L19,108" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M29,0L29,108" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M39,0L39,108" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M49,0L49,108" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M59,0L59,108" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M69,0L69,108" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M79,0L79,108" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M89,0L89,108" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M99,0L99,108" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M0,9L108,9" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M0,19L108,19" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M0,29L108,29" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M0,39L108,39" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M0,49L108,49" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M0,59L108,59" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M0,69L108,69" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M0,79L108,79" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M0,89L108,89" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M0,99L108,99" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M19,29L89,29" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M19,39L89,39" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M19,49L89,49" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M19,59L89,59" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M19,69L89,69" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M19,79L89,79" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M29,19L29,89" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M39,19L39,89" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M49,19L49,89" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M59,19L59,89" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M69,19L69,89" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> + <path android:fillColor="#00000000" android:pathData="M79,19L79,89" + android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> +</vector> diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/layout/activity_donwload.xml b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/layout/activity_donwload.xml new file mode 100644 index 0000000000..b8364d4a8a --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/layout/activity_donwload.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.constraint.ConstraintLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/coordinator_layout" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <Button + android:id="@+id/button" + android:layout_width="match_parent" android:layout_height="wrap_content" + android:text="Click me" android:visibility="gone"/> + +</android.support.constraint.ConstraintLayout>
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/layout/activity_main.xml b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000000..403db8afda --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/layout/activity_main.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.constraint.ConstraintLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/coordinator_layout" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <com.mapbox.mapboxsdk.maps.MapView + android:id="@+id/mapView" + android:layout_width="match_parent" + android:layout_height="match_parent"/> + + <TextView + android:id="@+id/draggable_position_tv" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:visibility="gone"/> + + <android.support.design.widget.FloatingActionButton + android:id="@+id/fabStyles" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="16dp" + android:tint="@android:color/white" + app:backgroundTint="@color/colorAccent" + app:fabSize="normal" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:srcCompat="@drawable/mapbox_marker_icon_default"/> + +</android.support.constraint.ConstraintLayout>
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000000..bbd3e02123 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> + <background android:drawable="@drawable/ic_launcher_background"/> + <foreground android:drawable="@drawable/ic_launcher_foreground"/> +</adaptive-icon>
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000000..bbd3e02123 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> + <background android:drawable="@drawable/ic_launcher_background"/> + <foreground android:drawable="@drawable/ic_launcher_foreground"/> +</adaptive-icon>
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-hdpi/ic_launcher.png b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000000..898f3ed59a --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-hdpi/ic_launcher_round.png b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-hdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 0000000000..dffca3601e --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-hdpi/ic_launcher_round.png diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-mdpi/ic_launcher.png b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000000..64ba76f75e --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-mdpi/ic_launcher_round.png b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-mdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 0000000000..dae5e08234 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-mdpi/ic_launcher_round.png diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xhdpi/ic_launcher.png b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000000..e5ed46597e --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xhdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 0000000000..14ed0af350 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xhdpi/ic_launcher_round.png diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxhdpi/ic_launcher.png b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000000..b0907cac3b --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 0000000000..d8ae031549 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000000..2c18de9e66 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 0000000000..beed3cdd2c --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/colors.xml b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/colors.xml new file mode 100644 index 0000000000..69b22338c6 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <color name="colorPrimary">#008577</color> + <color name="colorPrimaryDark">#00574B</color> + <color name="colorAccent">#D81B60</color> +</resources> diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/developer-config.xml b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/developer-config.xml new file mode 100644 index 0000000000..008015299c --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/developer-config.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="mapbox_access_token">YOUR_MAPBOX_ACCESS_TOKEN_GOES_HERE</string> +</resources>
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/strings.xml b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/strings.xml new file mode 100644 index 0000000000..80dd3b0615 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ +<resources> + <string name="app_name">MapboxGLAndroidSDKDownstreamApp</string> +</resources> diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/styles.xml b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/styles.xml new file mode 100644 index 0000000000..5885930df6 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/main/res/values/styles.xml @@ -0,0 +1,11 @@ +<resources> + + <!-- Base application theme. --> + <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> + <!-- Customize your theme here. --> + <item name="colorPrimary">@color/colorPrimary</item> + <item name="colorPrimaryDark">@color/colorPrimaryDark</item> + <item name="colorAccent">@color/colorAccent</item> + </style> + +</resources> diff --git a/platform/android/MapboxGLAndroidSDKDownstreamApp/src/test/java/com/mapbox/mapboxsdk/downstream/ExampleUnitTest.kt b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/test/java/com/mapbox/mapboxsdk/downstream/ExampleUnitTest.kt new file mode 100644 index 0000000000..9ef8e51954 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKDownstreamApp/src/test/java/com/mapbox/mapboxsdk/downstream/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.mapbox.mapboxsdk.downstream + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/build.gradle b/platform/android/MapboxGLAndroidSDKTestApp/build.gradle index ca280436ea..16189af645 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/build.gradle +++ b/platform/android/MapboxGLAndroidSDKTestApp/build.gradle @@ -85,8 +85,5 @@ apply from: "${rootDir}/gradle/gradle-make.gradle" apply from: "${rootDir}/gradle/gradle-config.gradle" apply from: "${rootDir}/gradle/gradle-checkstyle.gradle" apply from: "${rootDir}/gradle/gradle-lint.gradle" - - - apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-android-extensions'
\ No newline at end of file diff --git a/platform/android/build.gradle b/platform/android/build.gradle index 947e5adb1a..5c63d3c65a 100644 --- a/platform/android/build.gradle +++ b/platform/android/build.gradle @@ -1,4 +1,6 @@ -buildscript { +buildscript { + ext.kotlin_version = '1.3.31' + apply from: "${rootDir}/gradle/dependencies.gradle" repositories { @@ -13,7 +15,7 @@ buildscript { classpath dependenciesList.artifactoryPlugin classpath dependenciesList.androidPublishPlugin classpath dependenciesList.jacocoPlugin - } + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { @@ -35,4 +37,4 @@ subprojects { // Load build system information. If this file does not exist, run // `make platform/android/gradle/configuration.gradle` apply from: "${rootDir}/gradle/configuration.gradle" -apply from: "${rootDir}/gradle/download-schema.gradle"
\ No newline at end of file +apply from: "${rootDir}/gradle/download-schema.gradle" diff --git a/platform/android/settings.gradle b/platform/android/settings.gradle index c0315fed04..cc9fd88b95 100644 --- a/platform/android/settings.gradle +++ b/platform/android/settings.gradle @@ -1 +1 @@ -include ':MapboxGLAndroidSDK', ':MapboxGLAndroidSDKTestApp', ':MapboxGLAndroidSDKLint'
\ No newline at end of file +include ':MapboxGLAndroidSDK', ':MapboxGLAndroidSDKTestApp', ':MapboxGLAndroidSDKLint', ':MapboxGLAndroidSDKDownstreamApp'
\ No newline at end of file |