Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
98196d9
add op-sqlite and mendix/native
furkanarabaci Oct 10, 2024
fd695ff
use published version for mendix/native
furkanarabaci Nov 14, 2024
a6dd96e
Update package-lock and podfile.lock
UrazAkgultan Nov 18, 2024
2ab8116
Remove tgs mendix/native packages
UrazAkgultan Nov 18, 2024
e36a2e3
Merge branch 'main' into feature/op-sqlite
furkanarabaci Dec 9, 2024
183f36a
Update native binary version for iOS
furkanarabaci Dec 24, 2024
eeb9b36
Merge pull request #51 from mendix/moo/hermes-update-ios-native-binary
stelselim Dec 24, 2024
0674e88
Merge branch 'main' into feature/op-sqlite
furkanarabaci Jan 8, 2025
432185f
update op-sqlite, mendix/native and native binary version
furkanarabaci Jan 8, 2025
abadff9
Merge pull request #42 from mendix/feature/op-sqlite
stelselim Jan 27, 2025
2263957
Fix op-sqlite
UrazAkgultan Feb 4, 2025
11ee433
Merge pull request #54 from mendix/fix-op-sqlite-patch
UrazAkgultan Feb 7, 2025
0d8678b
bump the mendix native version
stelselim Feb 21, 2025
0a4c287
Merge pull request #57 from mendix/moo/update-mendix-native-7.0.1
stelselim Feb 21, 2025
de8a22d
increase build number, and version code.
stelselim Feb 25, 2025
da940d7
patch for broken kotlin function
stelselim Feb 25, 2025
044622b
adding fontScale to configChanges prevents crashing
stelselim Feb 25, 2025
c01af8b
Merge pull request #59 from mendix/moo/mx-10.20-release
stelselim Feb 26, 2025
7dab722
reanimated and bottomsheet update
karahanharunn Mar 4, 2025
b92e972
Merge pull request #60 from mendix/moo-1633/prevent-font-scale-crashe…
stelselim Mar 10, 2025
f4dc8bd
dependencies update
karahanharunn Mar 5, 2025
d551d04
lock update
karahanharunn Mar 11, 2025
61cfebb
lock update
karahanharunn Mar 11, 2025
3a3cb43
reverted react-native-file-viewer-turbo since ios needs a patch
karahanharunn Mar 13, 2025
b2e6d37
migrated cameraroll
karahanharunn Mar 13, 2025
856a2c3
Merge pull request #62 from mendix/dependency-update-10.20
vadymv-mendix Mar 21, 2025
44241f5
Bump RN version
vadymv-mendix Feb 5, 2025
11a29bf
Fix dependencies compatibility with RN 0.77
vadymv-mendix Feb 7, 2025
8bc031a
Update react-native-picker/picker
vadymv-mendix Feb 7, 2025
551a656
Update package-lock
vadymv-mendix Feb 7, 2025
d398a9d
post-rebase fixes
vadymv-mendix Feb 11, 2025
0c34b81
update binary version and mendix/native lib
vadymv-mendix Feb 11, 2025
f01f0e3
cleanup and upgrade dependencies
vadymv-mendix Feb 14, 2025
f3ebb9f
use default RN dev support manager to report bundling progress
vadymv-mendix Feb 18, 2025
f32d91a
update mendix/native and iOS pods
vadymv-mendix Feb 19, 2025
f6c056c
bump RN to 0.77.1
vadymv-mendix Mar 11, 2025
f3b85dc
Post-rebase cleanup
vadymv-mendix Mar 21, 2025
3d76cf7
[MOO-1747] - Fix anonymous session cookie issue
Mar 24, 2025
9e24667
Upgraded mendix native version to 8.0.1
Mar 24, 2025
2905431
Merge pull request #65 from mendix/moo-1747-fix-anonymous-session-coo…
YogendraShelke Mar 25, 2025
f245d58
Updated package lock
Mar 25, 2025
206e4a5
Merge pull request #67 from mendix/moo-1747-fix-package-lock
YogendraShelke Mar 25, 2025
140767c
applied patch for camera roll
karahanharunn Mar 25, 2025
75fbad4
reverted min sdk
karahanharunn Mar 26, 2025
5b67c45
reverted min sdk
karahanharunn Mar 26, 2025
b5d1a62
reverted comments
karahanharunn Mar 26, 2025
ff872ce
removed old patch
karahanharunn Mar 26, 2025
cf9083d
Merge pull request #68 from mendix/cameraRollApply-patch
stelselim Mar 26, 2025
f24c6bc
Merge branch 'main' into MOO-1776-upgrade-rn
vadymv-mendix Mar 31, 2025
b6e24a9
Merge pull request #55 from mendix/MOO-1776-upgrade-rn
vadymv-mendix Mar 31, 2025
32ee192
[MOO-1747] Upgrade mendix native
Apr 2, 2025
d702ea6
Merge pull request #69 from mendix/moo-1747-upgrade-mendix-native
vadymv-mendix Apr 2, 2025
6fb2629
[MOO-1879] Use a complementary value for colorOnPrimary to display in…
vadymv-mendix May 13, 2025
b3cdb7d
Merge pull request #80 from mendix/MOO-1879-fix-alert-theme-10.22
NikolaSimsic May 15, 2025
0cd4d3c
fix componenet json validation
UrazAkgultan May 27, 2025
01ee528
Merge pull request #84 from mendix/fix/components-json-path-validation
UrazAkgultan May 27, 2025
04d9f92
update build number
stelselim May 28, 2025
981dffa
Merge pull request #86 from mendix/moo/10.22-update-build-number
UrazAkgultan May 28, 2025
69e5077
update native binary version and @mendix/native
furkanarabaci May 30, 2025
3f1d203
Fix splash screen issue
YogendraShelke Apr 18, 2025
bb37fb5
Merge pull request #92 from mendix/splashScreen-10.24
karahanharunn Jun 12, 2025
aec054e
Merge pull request #88 from mendix/off/763-op-sqlite-backward-mx-10.24
furkanarabaci Jun 12, 2025
b9608af
update the store versions
stelselim Jul 2, 2025
4f4a4ea
Merge pull request #95 from mendix/moo/update-10-24
stelselim Jul 2, 2025
d43c84b
Upgrade @mendix/native version
YogendraShelke Jul 10, 2025
c00d139
Merge pull request #117 from mendix/mendix-native-upgrade
YogendraShelke Jul 10, 2025
e942a88
remove mendix AR, and change version
stelselim Jul 17, 2025
4da472d
Update build.gradle
stelselim Jul 17, 2025
1e78a3e
remove AR packages.
stelselim Jul 21, 2025
4696873
update Make It Native name
stelselim Jul 21, 2025
1adae8f
disable sample apps
stelselim Jul 28, 2025
7058ba6
Merge pull request #121 from mendix/moo/change-version-and-name
stelselim Jul 28, 2025
3fd4915
Upgrade RN to 0.77.3
vadymv-mendix Jul 30, 2025
5fe96d6
chore: upgrade pods
vadymv-mendix Jul 30, 2025
2b2e624
Add Cookie encryption flag to 10.24
furkanarabaci Aug 7, 2025
3136083
Merge pull request #128 from mendix/off/705-cookie-encryption-10.24
furkanarabaci Aug 7, 2025
b008583
chore: update Mendix native package to version 9.0.7 and upgrade Grad…
vadymv-mendix Aug 11, 2025
7e2a51e
Merge pull request #122 from mendix/MOO-1999-fix-rn-reload-crash-10.24
vadymv-mendix Aug 11, 2025
6910ab7
chore: Android 16kb pages compatibility
vadymv-mendix Sep 22, 2025
0f4e8e1
chore: update @mendix/native dependency to version 9.1.0 and remove l…
vadymv-mendix Sep 26, 2025
f364c67
Merge pull request #142 from mendix/moo/MOO-1945-android-16kb-pages-c…
vadymv-mendix Sep 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 8 additions & 71 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,56 +1,19 @@
apply plugin: "com.android.application"
apply plugin: "com.facebook.react"
apply plugin: "kotlin-android"
apply plugin: "com.google.gms.google-services"
apply plugin: "com.google.firebase.crashlytics"
apply plugin: "kotlin-android"
apply plugin: "kotlin-kapt"
apply plugin: 'org.jetbrains.kotlin.plugin.compose'
apply plugin: "androidx.navigation.safeargs.kotlin"

/**
* This is the configuration block to customize your React Native Android app.
* By default you don't need to apply any configuration, just uncomment the lines you need.
*/
react {
/* Folders */
// The root of your project, i.e. where "package.json" lives. Default is '../..'
// root = file("../../")
// The folder where the react-native NPM package is. Default is ../../node_modules/react-native
// reactNativeDir = file("../../node_modules/react-native")
// The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen
// codegenDir = file("../../node_modules/@react-native/codegen")
// The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js
// cliFile = file("../../node_modules/react-native/cli.js")
/* Variants */
// The list of variants to that are debuggable. For those we're going to
// skip the bundling of the JS bundle and the assets. By default is just 'debug'.
// If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
debuggableVariants = ["productionDebug", "productionRelease"]
/* Bundling */
// A list containing the node command and its flags. Default is just 'node'.
// nodeExecutableAndArgs = ["node"]
//
// The command to run when bundling. By default is 'bundle'
// bundleCommand = "ram-bundle"
//
// The path to the CLI configuration file. Default is empty.
// bundleConfig = file(../rn-cli.config.js)
//
// The name of the generated asset file containing your JS bundle
// bundleAssetName = "MyApplication.android.bundle"
//
// The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
// entryFile = file("../js/MyApplication.android.js")
//
// A list of extra flags to pass to the 'bundle' commands.
// See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
// extraPackagerArgs = []
/* Hermes Commands */
// The hermes compiler command to run. By default it is 'hermesc'
// hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc"
//
// The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
// hermesFlags = ["-O", "-output-source-map"]
//

/* Autolinking */
autolinkLibrariesWithApp()
}
Expand All @@ -60,27 +23,6 @@ react {
*/
def enableProguardInReleaseBuilds = false

/**
* The preferred build flavor of JavaScriptCore (JSC)
*
* For example, to use the international variant, you can use:
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
*
* The international variant includes ICU i18n library and necessary data
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
* give correct results when using with locales other than en-US. Note that
* this variant is about 6MiB larger per architecture than default.
*/
def jscFlavor = "org.webkit:android-jsc:+"

/**
* Whether to load react from source or use the prepacked package
*
* Keep false for faster compilation and avoid the need for an NDK to be installed.
* Use true if you want to debug and modify RN source, say for patching.
*/
def reactNativeFromSource = BUILD_RN_FROM_SOURCE.toBoolean()

android {
ndkVersion rootProject.ndkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
Expand All @@ -91,14 +33,15 @@ android {
applicationId "com.mendix.developerapp.mx10"
minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion
versionCode 301
versionName "3.0.1"
versionCode 514
versionName "10.24.0"
missingDimensionStrategy "react-native-camera", "general"
testBuildType System.getProperty("testBuildType", "debug")
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildConfigField "boolean", "DETOX", "false"
buildConfigField "String", "RUNTIME_URL", '""'
buildConfigField "boolean", "OTA", "false"
manifestPlaceholders["cookieEncryption"] = project.hasProperty("mendixnative.cookieEncryption") ? project.property("mendixnative.cookieEncryption") : "false"
}
signingConfigs {
debug {
Expand All @@ -117,7 +60,7 @@ android {
}
release {
Properties releaseProps = new Properties()
def propFile = new File('./local.properties')
def propFile = new File('./keystores/debug.keystore.properties')
if (propFile.canRead()) {
releaseProps.load(new FileInputStream(propFile))

Expand Down Expand Up @@ -169,13 +112,7 @@ android {

dependencies {
// React Native Core
if (reactNativeFromSource) {
implementation project(":ReactAndroid")
} else {
implementation "com.facebook.react:react-android"
}

// Javascript engine
implementation "com.facebook.react:react-android:0.77.3"
implementation("com.facebook.react:hermes-android")

// Mendix dependencies
Expand Down
7 changes: 4 additions & 3 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.mendix.developerapp">
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:node="remove"
tools:ignore="QueryAllPackagesPermission"/>
Expand Down Expand Up @@ -74,7 +73,7 @@
android:supportsRtl="true">
<activity
android:name=".MainActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode|fontScale"
android:launchMode="singleTask"
android:screenOrientation="user"
android:windowSoftInputMode="stateHidden"
Expand Down Expand Up @@ -119,6 +118,8 @@
</service>
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="{{GEO_API_KEY}}"/>
<meta-data android:name="mendixnative.CookieEncryption"
android:value="${cookieEncryption}"/>
<meta-data
android:name="com.google.ar.core"
android:value="optional"/>
Expand Down
11 changes: 2 additions & 9 deletions android/app/src/main/assets/sample_apps.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"id": "lato_bikes_app",
"name": "Lato Bikes",
"description": "Control your Lato Bike via your device",
"runtimeUrl": "https://lato-bicycles.mendixcloud.com",
"runtimeUrl": "https://customer.lato-bicycles.com",
"backgroundImageName": "lato_bikes_app"
},
{
Expand All @@ -42,13 +42,6 @@
"description": "Showcases Atlas 3",
"runtimeUrl": "https://atlasdesignsystem.mendixcloud.com",
"backgroundImageName": "atlas_ref_app"
},
{
"id": "mendix_ar",
"name": "Mendix AR",
"description": "Showcases possible Mendix AR applications",
"runtimeUrl": "https://ar-examples-2.mendixcloud.com",
"backgroundImageName": "ar_app"
}
]
}
}
Binary file modified android/app/src/main/assets/sampleapps.zip
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ class FirebaseMessagingService: com.google.firebase.messaging.FirebaseMessagingS
val intent = Intent(Intent.ACTION_VIEW).apply {
this.data = uri
}
return PendingIntent.getActivity(context, MENDIX_AD_NOTIFICATION_ID, intent, PendingIntent.FLAG_ONE_SHOT)
return PendingIntent.getActivity(context, MENDIX_AD_NOTIFICATION_ID, intent, PendingIntent.FLAG_ONE_SHOT or PendingIntent.FLAG_IMMUTABLE)
}

private fun safeParseStringToUri(url: String?): Uri? {
Expand Down

This file was deleted.

2 changes: 1 addition & 1 deletion android/app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Make It Native 10</string>
<string name="app_name">Make It Native</string>
</resources>
2 changes: 1 addition & 1 deletion android/app/src/production/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<application android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode|fontScale"
android:launchMode="singleTask"
android:screenOrientation="user"
android:windowSoftInputMode="stateHidden"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ class MainActivity : AppCompatActivity(), DefaultHardwareBackBtnHandler, LaunchS
}

override fun requestPermissions(
permissions: Array<out String>,
permissions: Array<String>,
requestCode: Int,
listener: PermissionListener?
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ fun MendixProjectLoaderScreen(viewModel: ProjectLoaderViewModel) {
errorMessageTitle = stringResource(R.string.error_version_title)
primaryButtonText = stringResource(R.string.button_min_versions_guide)
secondaryButtonText = stringResource(R.string.button_custom_developer_app_guide)
primaryButtonOnPress = { viewModel.openInBrowser.invoke("https://docs.mendix.com/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-min-versions/") }
primaryButtonOnPress = { viewModel.openInBrowser.invoke("https://docs.mendix.com/refguide/mobile/getting-started-with-mobile/prerequisites/#get-min-app") }
secondaryButtonOnPress = { viewModel.openInBrowser.invoke("https://docs.mendix.com/howto8/mobile/how-to-devapps/") }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ package com.mendix.developerapp.mendixapp

import android.os.Bundle
import androidx.navigation.fragment.findNavController
import com.facebook.react.devsupport.overrideDevLoadingViewController
import com.facebook.react.devsupport.DefaultDevLoadingViewImplementation
import com.facebook.react.devsupport.setBundleDownloadListener
import com.mendix.developerapp.utilities.EmptyDevLoadingViewController
import com.mendix.mendixnative.react.MxConfiguration

class MendixProjectFragment : MendixProjectFragmentBase() {
Expand All @@ -23,8 +22,10 @@ class MendixProjectFragment : MendixProjectFragmentBase() {
// Setting up our download listener
reactNativeHost.reactInstanceManager.devSupportManager.apply {
setBundleDownloadListener(this, viewModel.devServerCallback)
overrideDevLoadingViewController(this, EmptyDevLoadingViewController())
}

// This now uses built-in RN mechanism to show bundling progress.
DefaultDevLoadingViewImplementation.setDevLoadingEnabled(true);
}

override fun onCloseProjectSelected() {
Expand Down
2 changes: 1 addition & 1 deletion android/app/src/production/res/values/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<!-- Primary brand color. -->
<item name="colorPrimary">@color/blue1</item>
<item name="colorPrimaryVariant">@color/blue2</item>
<item name="colorOnPrimary">@color/white</item>
<item name="colorOnPrimary">@color/black</item>
<item name="colorPrimaryDark">@color/blue1</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/blue2</item>
Expand Down
34 changes: 29 additions & 5 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,14 @@
buildscript {
ext {
buildToolsVersion = "35.0.0"
minSdkVersion = 23
minSdkVersion = 24
compileSdkVersion = 35
targetSdkVersion = 35
// needed by camera module
googlePlayServicesVersion = "17+"
// supportLibVersion = "28.0.0"
androidXAnnotation = "1.2.0"
androidXBrowser = "1.3.0"
lifecycleVersion = "2.0.0"
kotlin_version = "1.9.24"
kotlinVersion = "1.9.24"
nav_version = "2.8.3"
androidx_core_version = "1.6.0"
Expand All @@ -25,19 +23,20 @@ buildscript {
compose_ui_version = '1.7.4'
camerax_version = "1.3.4"

ndkVersion = "26.1.10909125"
ndkVersion = "27.3.13750724"
}

repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.2.2"
classpath "com.android.tools.build:gradle:8.8.2"
classpath "com.facebook.react:react-native-gradle-plugin"
classpath "com.google.gms:google-services:4.4.2"
classpath "de.undercouch:gradle-download-task:4.1.2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
classpath 'org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.0.21'
classpath "com.google.firebase:firebase-crashlytics-gradle:2.7.1"
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.8.3"

Expand Down Expand Up @@ -68,6 +67,31 @@ allprojects {
google()
maven { url 'https://jitpack.io' }
}

// Build all modules with Android 16KB pages enabled
plugins.withId('com.android.application') {
android {
defaultConfig {
externalNativeBuild {
cmake {
arguments "-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON"
}
}
}
}
}

plugins.withId('com.android.library') {
android {
defaultConfig {
externalNativeBuild {
cmake {
arguments "-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON"
}
}
}
}
}
}

apply plugin: "com.facebook.react.rootproject"
7 changes: 5 additions & 2 deletions android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,14 @@ android.useAndroidX=true
android.enableJetifier=true
# android.enableJetifier=true
org.gradle.configureondemand=true
BUILD_RN_FROM_SOURCE=false
# Use this property to specify which architecture you want to build.
# You can also override it from the CLI using
# ./gradlew <task> -PreactNativeArchitectures=x86_64
reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
android.suppressUnsupportedCompileSdk=33
android.defaults.buildfeatures.buildconfig=true
android.nonTransitiveRClass=true
android.nonTransitiveRClass=true
# enabled by default in RN 0.76 so we need to disable it explicitly
newArchEnabled=false
hermesEnabled=true
mendixnative.cookieEncryption=true
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
validateDistributionUrl=true
networkTimeout=10000
Loading