diff options
Diffstat (limited to 'android')
27 files changed, 692 insertions, 0 deletions
diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..d969418 --- /dev/null +++ b/android/app/build.gradle | |||
@@ -0,0 +1,119 @@ | |||
1 | apply plugin: "com.android.application" | ||
2 | apply plugin: "org.jetbrains.kotlin.android" | ||
3 | apply plugin: "com.facebook.react" | ||
4 | |||
5 | /** | ||
6 | * This is the configuration block to customize your React Native Android app. | ||
7 | * By default you don't need to apply any configuration, just uncomment the lines you need. | ||
8 | */ | ||
9 | react { | ||
10 | /* Folders */ | ||
11 | // The root of your project, i.e. where "package.json" lives. Default is '..' | ||
12 | // root = file("../") | ||
13 | // The folder where the react-native NPM package is. Default is ../node_modules/react-native | ||
14 | // reactNativeDir = file("../node_modules/react-native") | ||
15 | // The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen | ||
16 | // codegenDir = file("../node_modules/@react-native/codegen") | ||
17 | // The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js | ||
18 | // cliFile = file("../node_modules/react-native/cli.js") | ||
19 | |||
20 | /* Variants */ | ||
21 | // The list of variants to that are debuggable. For those we're going to | ||
22 | // skip the bundling of the JS bundle and the assets. By default is just 'debug'. | ||
23 | // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. | ||
24 | // debuggableVariants = ["liteDebug", "prodDebug"] | ||
25 | |||
26 | /* Bundling */ | ||
27 | // A list containing the node command and its flags. Default is just 'node'. | ||
28 | // nodeExecutableAndArgs = ["node"] | ||
29 | // | ||
30 | // The command to run when bundling. By default is 'bundle' | ||
31 | // bundleCommand = "ram-bundle" | ||
32 | // | ||
33 | // The path to the CLI configuration file. Default is empty. | ||
34 | // bundleConfig = file(../rn-cli.config.js) | ||
35 | // | ||
36 | // The name of the generated asset file containing your JS bundle | ||
37 | // bundleAssetName = "MyApplication.android.bundle" | ||
38 | // | ||
39 | // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' | ||
40 | // entryFile = file("../js/MyApplication.android.js") | ||
41 | // | ||
42 | // A list of extra flags to pass to the 'bundle' commands. | ||
43 | // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle | ||
44 | // extraPackagerArgs = [] | ||
45 | |||
46 | /* Hermes Commands */ | ||
47 | // The hermes compiler command to run. By default it is 'hermesc' | ||
48 | // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" | ||
49 | // | ||
50 | // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" | ||
51 | // hermesFlags = ["-O", "-output-source-map"] | ||
52 | } | ||
53 | |||
54 | /** | ||
55 | * Set this to true to Run Proguard on Release builds to minify the Java bytecode. | ||
56 | */ | ||
57 | def enableProguardInReleaseBuilds = false | ||
58 | |||
59 | /** | ||
60 | * The preferred build flavor of JavaScriptCore (JSC) | ||
61 | * | ||
62 | * For example, to use the international variant, you can use: | ||
63 | * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` | ||
64 | * | ||
65 | * The international variant includes ICU i18n library and necessary data | ||
66 | * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that | ||
67 | * give correct results when using with locales other than en-US. Note that | ||
68 | * this variant is about 6MiB larger per architecture than default. | ||
69 | */ | ||
70 | def jscFlavor = 'org.webkit:android-jsc:+' | ||
71 | |||
72 | android { | ||
73 | ndkVersion rootProject.ext.ndkVersion | ||
74 | buildToolsVersion rootProject.ext.buildToolsVersion | ||
75 | compileSdk rootProject.ext.compileSdkVersion | ||
76 | |||
77 | namespace "com.cyberbadge_mobile" | ||
78 | defaultConfig { | ||
79 | applicationId "com.cyberbadge_mobile" | ||
80 | minSdkVersion rootProject.ext.minSdkVersion | ||
81 | targetSdkVersion rootProject.ext.targetSdkVersion | ||
82 | versionCode 1 | ||
83 | versionName "1.0" | ||
84 | } | ||
85 | signingConfigs { | ||
86 | debug { | ||
87 | storeFile file('debug.keystore') | ||
88 | storePassword 'android' | ||
89 | keyAlias 'androiddebugkey' | ||
90 | keyPassword 'android' | ||
91 | } | ||
92 | } | ||
93 | buildTypes { | ||
94 | debug { | ||
95 | signingConfig signingConfigs.debug | ||
96 | } | ||
97 | release { | ||
98 | // Caution! In production, you need to generate your own keystore file. | ||
99 | // see https://reactnative.dev/docs/signed-apk-android. | ||
100 | signingConfig signingConfigs.debug | ||
101 | minifyEnabled enableProguardInReleaseBuilds | ||
102 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" | ||
103 | } | ||
104 | } | ||
105 | } | ||
106 | |||
107 | dependencies { | ||
108 | // The version of react-native is set by the React Native Gradle Plugin | ||
109 | implementation("com.facebook.react:react-android") | ||
110 | implementation("com.facebook.react:flipper-integration") | ||
111 | |||
112 | if (hermesEnabled.toBoolean()) { | ||
113 | implementation("com.facebook.react:hermes-android") | ||
114 | } else { | ||
115 | implementation jscFlavor | ||
116 | } | ||
117 | } | ||
118 | |||
119 | apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) | ||
diff --git a/android/app/debug.keystore b/android/app/debug.keystore new file mode 100644 index 0000000..364e105 --- /dev/null +++ b/android/app/debug.keystore | |||
Binary files differ | |||
diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 0000000..11b0257 --- /dev/null +++ b/android/app/proguard-rules.pro | |||
@@ -0,0 +1,10 @@ | |||
1 | # Add project specific ProGuard rules here. | ||
2 | # By default, the flags in this file are appended to flags specified | ||
3 | # in /usr/local/Cellar/android-sdk/24.3.3/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: | ||
diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..eb98c01 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml | |||
@@ -0,0 +1,9 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
3 | xmlns:tools="http://schemas.android.com/tools"> | ||
4 | |||
5 | <application | ||
6 | android:usesCleartextTraffic="true" | ||
7 | tools:targetApi="28" | ||
8 | tools:ignore="GoogleAppIndexingWarning"/> | ||
9 | </manifest> | ||
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..4122f36 --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml | |||
@@ -0,0 +1,25 @@ | |||
1 | <manifest xmlns:android="http://schemas.android.com/apk/res/android"> | ||
2 | |||
3 | <uses-permission android:name="android.permission.INTERNET" /> | ||
4 | |||
5 | <application | ||
6 | android:name=".MainApplication" | ||
7 | android:label="@string/app_name" | ||
8 | android:icon="@mipmap/ic_launcher" | ||
9 | android:roundIcon="@mipmap/ic_launcher_round" | ||
10 | android:allowBackup="false" | ||
11 | android:theme="@style/AppTheme"> | ||
12 | <activity | ||
13 | android:name=".MainActivity" | ||
14 | android:label="@string/app_name" | ||
15 | android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode" | ||
16 | android:launchMode="singleTask" | ||
17 | android:windowSoftInputMode="adjustResize" | ||
18 | android:exported="true"> | ||
19 | <intent-filter> | ||
20 | <action android:name="android.intent.action.MAIN" /> | ||
21 | <category android:name="android.intent.category.LAUNCHER" /> | ||
22 | </intent-filter> | ||
23 | </activity> | ||
24 | </application> | ||
25 | </manifest> | ||
diff --git a/android/app/src/main/java/com/cyberbadge_mobile/MainActivity.kt b/android/app/src/main/java/com/cyberbadge_mobile/MainActivity.kt new file mode 100644 index 0000000..1417a4e --- /dev/null +++ b/android/app/src/main/java/com/cyberbadge_mobile/MainActivity.kt | |||
@@ -0,0 +1,22 @@ | |||
1 | package com.cyberbadge_mobile | ||
2 | |||
3 | import com.facebook.react.ReactActivity | ||
4 | import com.facebook.react.ReactActivityDelegate | ||
5 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled | ||
6 | import com.facebook.react.defaults.DefaultReactActivityDelegate | ||
7 | |||
8 | class MainActivity : ReactActivity() { | ||
9 | |||
10 | /** | ||
11 | * Returns the name of the main component registered from JavaScript. This is used to schedule | ||
12 | * rendering of the component. | ||
13 | */ | ||
14 | override fun getMainComponentName(): String = "cyberbadge_mobile" | ||
15 | |||
16 | /** | ||
17 | * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] | ||
18 | * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] | ||
19 | */ | ||
20 | override fun createReactActivityDelegate(): ReactActivityDelegate = | ||
21 | DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled) | ||
22 | } | ||
diff --git a/android/app/src/main/java/com/cyberbadge_mobile/MainApplication.kt b/android/app/src/main/java/com/cyberbadge_mobile/MainApplication.kt new file mode 100644 index 0000000..3fc08cf --- /dev/null +++ b/android/app/src/main/java/com/cyberbadge_mobile/MainApplication.kt | |||
@@ -0,0 +1,45 @@ | |||
1 | package com.cyberbadge_mobile | ||
2 | |||
3 | import android.app.Application | ||
4 | import com.facebook.react.PackageList | ||
5 | import com.facebook.react.ReactApplication | ||
6 | import com.facebook.react.ReactHost | ||
7 | import com.facebook.react.ReactNativeHost | ||
8 | import com.facebook.react.ReactPackage | ||
9 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load | ||
10 | import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost | ||
11 | import com.facebook.react.defaults.DefaultReactNativeHost | ||
12 | import com.facebook.react.flipper.ReactNativeFlipper | ||
13 | import com.facebook.soloader.SoLoader | ||
14 | |||
15 | class MainApplication : Application(), ReactApplication { | ||
16 | |||
17 | override val reactNativeHost: ReactNativeHost = | ||
18 | object : DefaultReactNativeHost(this) { | ||
19 | override fun getPackages(): List<ReactPackage> { | ||
20 | // Packages that cannot be autolinked yet can be added manually here, for example: | ||
21 | // packages.add(new MyReactNativePackage()); | ||
22 | return PackageList(this).packages | ||
23 | } | ||
24 | |||
25 | override fun getJSMainModuleName(): String = "index" | ||
26 | |||
27 | override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG | ||
28 | |||
29 | override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED | ||
30 | override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED | ||
31 | } | ||
32 | |||
33 | override val reactHost: ReactHost | ||
34 | get() = getDefaultReactHost(this.applicationContext, reactNativeHost) | ||
35 | |||
36 | override fun onCreate() { | ||
37 | super.onCreate() | ||
38 | SoLoader.init(this, false) | ||
39 | if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { | ||
40 | // If you opted-in for the New Architecture, we load the native entry point for this app. | ||
41 | load() | ||
42 | } | ||
43 | ReactNativeFlipper.initializeFlipper(this, reactNativeHost.reactInstanceManager) | ||
44 | } | ||
45 | } | ||
diff --git a/android/app/src/main/res/drawable/rn_edit_text_material.xml b/android/app/src/main/res/drawable/rn_edit_text_material.xml new file mode 100644 index 0000000..73b37e4 --- /dev/null +++ b/android/app/src/main/res/drawable/rn_edit_text_material.xml | |||
@@ -0,0 +1,36 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (C) 2014 The Android Open Source Project | ||
3 | |||
4 | Licensed under the Apache License, Version 2.0 (the "License"); | ||
5 | you may not use this file except in compliance with the License. | ||
6 | You may obtain a copy of the License at | ||
7 | |||
8 | http://www.apache.org/licenses/LICENSE-2.0 | ||
9 | |||
10 | Unless required by applicable law or agreed to in writing, software | ||
11 | distributed under the License is distributed on an "AS IS" BASIS, | ||
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
13 | See the License for the specific language governing permissions and | ||
14 | limitations under the License. | ||
15 | --> | ||
16 | <inset xmlns:android="http://schemas.android.com/apk/res/android" | ||
17 | android:insetLeft="@dimen/abc_edit_text_inset_horizontal_material" | ||
18 | android:insetRight="@dimen/abc_edit_text_inset_horizontal_material" | ||
19 | android:insetTop="@dimen/abc_edit_text_inset_top_material" | ||
20 | android:insetBottom="@dimen/abc_edit_text_inset_bottom_material"> | ||
21 | |||
22 | <selector> | ||
23 | <!-- | ||
24 | This file is a copy of abc_edit_text_material (https://bit.ly/3k8fX7I). | ||
25 | The item below with state_pressed="false" and state_focused="false" causes a NullPointerException. | ||
26 | NullPointerException:tempt to invoke virtual method 'android.graphics.drawable.Drawable android.graphics.drawable.Drawable$ConstantState.newDrawable(android.content.res.Resources)' | ||
27 | |||
28 | <item android:state_pressed="false" android:state_focused="false" android:drawable="@drawable/abc_textfield_default_mtrl_alpha"/> | ||
29 | |||
30 | For more info, see https://bit.ly/3CdLStv (react-native/pull/29452) and https://bit.ly/3nxOMoR. | ||
31 | --> | ||
32 | <item android:state_enabled="false" android:drawable="@drawable/abc_textfield_default_mtrl_alpha"/> | ||
33 | <item android:drawable="@drawable/abc_textfield_activated_mtrl_alpha"/> | ||
34 | </selector> | ||
35 | |||
36 | </inset> | ||
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..a2f5908 --- /dev/null +++ b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png | |||
Binary files differ | |||
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000..1b52399 --- /dev/null +++ b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png | |||
Binary files differ | |||
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..ff10afd --- /dev/null +++ b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png | |||
Binary files differ | |||
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000..115a4c7 --- /dev/null +++ b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png | |||
Binary files differ | |||
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..dcd3cd8 --- /dev/null +++ b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png | |||
Binary files differ | |||
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000..459ca60 --- /dev/null +++ b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png | |||
Binary files differ | |||
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..8ca12fe --- /dev/null +++ b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png | |||
Binary files differ | |||
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..8e19b41 --- /dev/null +++ b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png | |||
Binary files differ | |||
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..b824ebd --- /dev/null +++ b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png | |||
Binary files differ | |||
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..4c19a13 --- /dev/null +++ b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png | |||
Binary files differ | |||
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..6e77bed --- /dev/null +++ b/android/app/src/main/res/values/strings.xml | |||
@@ -0,0 +1,3 @@ | |||
1 | <resources> | ||
2 | <string name="app_name">cyberbadge_mobile</string> | ||
3 | </resources> | ||
diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..7ba83a2 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml | |||
@@ -0,0 +1,9 @@ | |||
1 | <resources> | ||
2 | |||
3 | <!-- Base application theme. --> | ||
4 | <style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar"> | ||
5 | <!-- Customize your theme here. --> | ||
6 | <item name="android:editTextBackground">@drawable/rn_edit_text_material</item> | ||
7 | </style> | ||
8 | |||
9 | </resources> | ||
diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..cb9d623 --- /dev/null +++ b/android/build.gradle | |||
@@ -0,0 +1,21 @@ | |||
1 | buildscript { | ||
2 | ext { | ||
3 | buildToolsVersion = "34.0.0" | ||
4 | minSdkVersion = 21 | ||
5 | compileSdkVersion = 34 | ||
6 | targetSdkVersion = 34 | ||
7 | ndkVersion = "25.1.8937393" | ||
8 | kotlinVersion = "1.8.0" | ||
9 | } | ||
10 | repositories { | ||
11 | google() | ||
12 | mavenCentral() | ||
13 | } | ||
14 | dependencies { | ||
15 | classpath("com.android.tools.build:gradle") | ||
16 | classpath("com.facebook.react:react-native-gradle-plugin") | ||
17 | classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") | ||
18 | } | ||
19 | } | ||
20 | |||
21 | apply plugin: "com.facebook.react.rootproject" | ||
diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..a46a5b9 --- /dev/null +++ b/android/gradle.properties | |||
@@ -0,0 +1,41 @@ | |||
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: -Xmx512m -XX:MaxMetaspaceSize=256m | ||
13 | org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m | ||
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 | ||
19 | |||
20 | # AndroidX package structure to make it clearer which packages are bundled with the | ||
21 | # Android operating system, and which are packaged with your app's APK | ||
22 | # https://developer.android.com/topic/libraries/support-library/androidx-rn | ||
23 | android.useAndroidX=true | ||
24 | # Automatically convert third-party libraries to use AndroidX | ||
25 | android.enableJetifier=true | ||
26 | |||
27 | # Use this property to specify which architecture you want to build. | ||
28 | # You can also override it from the CLI using | ||
29 | # ./gradlew <task> -PreactNativeArchitectures=x86_64 | ||
30 | reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 | ||
31 | |||
32 | # Use this property to enable support to the new architecture. | ||
33 | # This will allow you to use TurboModules and the Fabric render in | ||
34 | # your application. You should enable this flag either if you want | ||
35 | # to write custom TurboModules/Fabric components OR use libraries that | ||
36 | # are providing them. | ||
37 | newArchEnabled=false | ||
38 | |||
39 | # Use this property to enable or disable the Hermes JS engine. | ||
40 | # If set to false, you will be using JSC instead. | ||
41 | hermesEnabled=true | ||
diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..7f93135 --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.jar | |||
Binary files differ | |||
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..d11cdd9 --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties | |||
@@ -0,0 +1,7 @@ | |||
1 | distributionBase=GRADLE_USER_HOME | ||
2 | distributionPath=wrapper/dists | ||
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip | ||
4 | networkTimeout=10000 | ||
5 | validateDistributionUrl=true | ||
6 | zipStoreBase=GRADLE_USER_HOME | ||
7 | zipStorePath=wrapper/dists | ||
diff --git a/android/gradlew b/android/gradlew new file mode 100755 index 0000000..0adc8e1 --- /dev/null +++ b/android/gradlew | |||
@@ -0,0 +1,249 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # | ||
4 | # Copyright © 2015-2021 the original authors. | ||
5 | # | ||
6 | # Licensed under the Apache License, Version 2.0 (the "License"); | ||
7 | # you may not use this file except in compliance with the License. | ||
8 | # You may obtain a copy of the License at | ||
9 | # | ||
10 | # https://www.apache.org/licenses/LICENSE-2.0 | ||
11 | # | ||
12 | # Unless required by applicable law or agreed to in writing, software | ||
13 | # distributed under the License is distributed on an "AS IS" BASIS, | ||
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
15 | # See the License for the specific language governing permissions and | ||
16 | # limitations under the License. | ||
17 | # | ||
18 | |||
19 | ############################################################################## | ||
20 | # | ||
21 | # Gradle start up script for POSIX generated by Gradle. | ||
22 | # | ||
23 | # Important for running: | ||
24 | # | ||
25 | # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is | ||
26 | # noncompliant, but you have some other compliant shell such as ksh or | ||
27 | # bash, then to run this script, type that shell name before the whole | ||
28 | # command line, like: | ||
29 | # | ||
30 | # ksh Gradle | ||
31 | # | ||
32 | # Busybox and similar reduced shells will NOT work, because this script | ||
33 | # requires all of these POSIX shell features: | ||
34 | # * functions; | ||
35 | # * expansions «$var», «${var}», «${var:-default}», «${var+SET}», | ||
36 | # «${var#prefix}», «${var%suffix}», and «$( cmd )»; | ||
37 | # * compound commands having a testable exit status, especially «case»; | ||
38 | # * various built-in commands including «command», «set», and «ulimit». | ||
39 | # | ||
40 | # Important for patching: | ||
41 | # | ||
42 | # (2) This script targets any POSIX shell, so it avoids extensions provided | ||
43 | # by Bash, Ksh, etc; in particular arrays are avoided. | ||
44 | # | ||
45 | # The "traditional" practice of packing multiple parameters into a | ||
46 | # space-separated string is a well documented source of bugs and security | ||
47 | # problems, so this is (mostly) avoided, by progressively accumulating | ||
48 | # options in "$@", and eventually passing that to Java. | ||
49 | # | ||
50 | # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, | ||
51 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; | ||
52 | # see the in-line comments for details. | ||
53 | # | ||
54 | # There are tweaks for specific operating systems such as AIX, CygWin, | ||
55 | # Darwin, MinGW, and NonStop. | ||
56 | # | ||
57 | # (3) This script is generated from the Groovy template | ||
58 | # https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt | ||
59 | # within the Gradle project. | ||
60 | # | ||
61 | # You can find Gradle at https://github.com/gradle/gradle/. | ||
62 | # | ||
63 | ############################################################################## | ||
64 | |||
65 | # Attempt to set APP_HOME | ||
66 | |||
67 | # Resolve links: $0 may be a link | ||
68 | app_path=$0 | ||
69 | |||
70 | # Need this for daisy-chained symlinks. | ||
71 | while | ||
72 | APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path | ||
73 | [ -h "$app_path" ] | ||
74 | do | ||
75 | ls=$( ls -ld "$app_path" ) | ||
76 | link=${ls#*' -> '} | ||
77 | case $link in #( | ||
78 | /*) app_path=$link ;; #( | ||
79 | *) app_path=$APP_HOME$link ;; | ||
80 | esac | ||
81 | done | ||
82 | |||
83 | # This is normally unused | ||
84 | # shellcheck disable=SC2034 | ||
85 | APP_BASE_NAME=${0##*/} | ||
86 | # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) | ||
87 | APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit | ||
88 | |||
89 | # Use the maximum available, or set MAX_FD != -1 to use that value. | ||
90 | MAX_FD=maximum | ||
91 | |||
92 | warn () { | ||
93 | echo "$*" | ||
94 | } >&2 | ||
95 | |||
96 | die () { | ||
97 | echo | ||
98 | echo "$*" | ||
99 | echo | ||
100 | exit 1 | ||
101 | } >&2 | ||
102 | |||
103 | # OS specific support (must be 'true' or 'false'). | ||
104 | cygwin=false | ||
105 | msys=false | ||
106 | darwin=false | ||
107 | nonstop=false | ||
108 | case "$( uname )" in #( | ||
109 | CYGWIN* ) cygwin=true ;; #( | ||
110 | Darwin* ) darwin=true ;; #( | ||
111 | MSYS* | MINGW* ) msys=true ;; #( | ||
112 | NONSTOP* ) nonstop=true ;; | ||
113 | esac | ||
114 | |||
115 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | ||
116 | |||
117 | |||
118 | # Determine the Java command to use to start the JVM. | ||
119 | if [ -n "$JAVA_HOME" ] ; then | ||
120 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | ||
121 | # IBM's JDK on AIX uses strange locations for the executables | ||
122 | JAVACMD=$JAVA_HOME/jre/sh/java | ||
123 | else | ||
124 | JAVACMD=$JAVA_HOME/bin/java | ||
125 | fi | ||
126 | if [ ! -x "$JAVACMD" ] ; then | ||
127 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME | ||
128 | |||
129 | Please set the JAVA_HOME variable in your environment to match the | ||
130 | location of your Java installation." | ||
131 | fi | ||
132 | else | ||
133 | JAVACMD=java | ||
134 | if ! command -v java >/dev/null 2>&1 | ||
135 | then | ||
136 | die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||
137 | |||
138 | Please set the JAVA_HOME variable in your environment to match the | ||
139 | location of your Java installation." | ||
140 | fi | ||
141 | fi | ||
142 | |||
143 | # Increase the maximum file descriptors if we can. | ||
144 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then | ||
145 | case $MAX_FD in #( | ||
146 | max*) | ||
147 | # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. | ||
148 | # shellcheck disable=SC3045 | ||
149 | MAX_FD=$( ulimit -H -n ) || | ||
150 | warn "Could not query maximum file descriptor limit" | ||
151 | esac | ||
152 | case $MAX_FD in #( | ||
153 | '' | soft) :;; #( | ||
154 | *) | ||
155 | # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. | ||
156 | # shellcheck disable=SC3045 | ||
157 | ulimit -n "$MAX_FD" || | ||
158 | warn "Could not set maximum file descriptor limit to $MAX_FD" | ||
159 | esac | ||
160 | fi | ||
161 | |||
162 | # Collect all arguments for the java command, stacking in reverse order: | ||
163 | # * args from the command line | ||
164 | # * the main class name | ||
165 | # * -classpath | ||
166 | # * -D...appname settings | ||
167 | # * --module-path (only if needed) | ||
168 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. | ||
169 | |||
170 | # For Cygwin or MSYS, switch paths to Windows format before running java | ||
171 | if "$cygwin" || "$msys" ; then | ||
172 | APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) | ||
173 | CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) | ||
174 | |||
175 | JAVACMD=$( cygpath --unix "$JAVACMD" ) | ||
176 | |||
177 | # Now convert the arguments - kludge to limit ourselves to /bin/sh | ||
178 | for arg do | ||
179 | if | ||
180 | case $arg in #( | ||
181 | -*) false ;; # don't mess with options #( | ||
182 | /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath | ||
183 | [ -e "$t" ] ;; #( | ||
184 | *) false ;; | ||
185 | esac | ||
186 | then | ||
187 | arg=$( cygpath --path --ignore --mixed "$arg" ) | ||
188 | fi | ||
189 | # Roll the args list around exactly as many times as the number of | ||
190 | # args, so each arg winds up back in the position where it started, but | ||
191 | # possibly modified. | ||
192 | # | ||
193 | # NB: a `for` loop captures its iteration list before it begins, so | ||
194 | # changing the positional parameters here affects neither the number of | ||
195 | # iterations, nor the values presented in `arg`. | ||
196 | shift # remove old arg | ||
197 | set -- "$@" "$arg" # push replacement arg | ||
198 | done | ||
199 | fi | ||
200 | |||
201 | |||
202 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||
203 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' | ||
204 | |||
205 | # Collect all arguments for the java command; | ||
206 | # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of | ||
207 | # shell script including quotes and variable substitutions, so put them in | ||
208 | # double quotes to make sure that they get re-expanded; and | ||
209 | # * put everything else in single quotes, so that it's not re-expanded. | ||
210 | |||
211 | set -- \ | ||
212 | "-Dorg.gradle.appname=$APP_BASE_NAME" \ | ||
213 | -classpath "$CLASSPATH" \ | ||
214 | org.gradle.wrapper.GradleWrapperMain \ | ||
215 | "$@" | ||
216 | |||
217 | # Stop when "xargs" is not available. | ||
218 | if ! command -v xargs >/dev/null 2>&1 | ||
219 | then | ||
220 | die "xargs is not available" | ||
221 | fi | ||
222 | |||
223 | # Use "xargs" to parse quoted args. | ||
224 | # | ||
225 | # With -n1 it outputs one arg per line, with the quotes and backslashes removed. | ||
226 | # | ||
227 | # In Bash we could simply go: | ||
228 | # | ||
229 | # readarray ARGS < <( xargs -n1 <<<"$var" ) && | ||
230 | # set -- "${ARGS[@]}" "$@" | ||
231 | # | ||
232 | # but POSIX shell has neither arrays nor command substitution, so instead we | ||
233 | # post-process each arg (as a line of input to sed) to backslash-escape any | ||
234 | # character that might be a shell metacharacter, then use eval to reverse | ||
235 | # that process (while maintaining the separation between arguments), and wrap | ||
236 | # the whole thing up as a single "set" statement. | ||
237 | # | ||
238 | # This will of course break if any of these variables contains a newline or | ||
239 | # an unmatched quote. | ||
240 | # | ||
241 | |||
242 | eval "set -- $( | ||
243 | printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | | ||
244 | xargs -n1 | | ||
245 | sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | | ||
246 | tr '\n' ' ' | ||
247 | )" '"$@"' | ||
248 | |||
249 | exec "$JAVACMD" "$@" | ||
diff --git a/android/gradlew.bat b/android/gradlew.bat new file mode 100644 index 0000000..6689b85 --- /dev/null +++ b/android/gradlew.bat | |||
@@ -0,0 +1,92 @@ | |||
1 | @rem | ||
2 | @rem Copyright 2015 the original author or authors. | ||
3 | @rem | ||
4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); | ||
5 | @rem you may not use this file except in compliance with the License. | ||
6 | @rem You may obtain a copy of the License at | ||
7 | @rem | ||
8 | @rem https://www.apache.org/licenses/LICENSE-2.0 | ||
9 | @rem | ||
10 | @rem Unless required by applicable law or agreed to in writing, software | ||
11 | @rem distributed under the License is distributed on an "AS IS" BASIS, | ||
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
13 | @rem See the License for the specific language governing permissions and | ||
14 | @rem limitations under the License. | ||
15 | @rem | ||
16 | |||
17 | @if "%DEBUG%"=="" @echo off | ||
18 | @rem ########################################################################## | ||
19 | @rem | ||
20 | @rem Gradle startup script for Windows | ||
21 | @rem | ||
22 | @rem ########################################################################## | ||
23 | |||
24 | @rem Set local scope for the variables with windows NT shell | ||
25 | if "%OS%"=="Windows_NT" setlocal | ||
26 | |||
27 | set DIRNAME=%~dp0 | ||
28 | if "%DIRNAME%"=="" set DIRNAME=. | ||
29 | @rem This is normally unused | ||
30 | set APP_BASE_NAME=%~n0 | ||
31 | set APP_HOME=%DIRNAME% | ||
32 | |||
33 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. | ||
34 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi | ||
35 | |||
36 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||
37 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" | ||
38 | |||
39 | @rem Find java.exe | ||
40 | if defined JAVA_HOME goto findJavaFromJavaHome | ||
41 | |||
42 | set JAVA_EXE=java.exe | ||
43 | %JAVA_EXE% -version >NUL 2>&1 | ||
44 | if %ERRORLEVEL% equ 0 goto execute | ||
45 | |||
46 | echo. | ||
47 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||
48 | echo. | ||
49 | echo Please set the JAVA_HOME variable in your environment to match the | ||
50 | echo location of your Java installation. | ||
51 | |||
52 | goto fail | ||
53 | |||
54 | :findJavaFromJavaHome | ||
55 | set JAVA_HOME=%JAVA_HOME:"=% | ||
56 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe | ||
57 | |||
58 | if exist "%JAVA_EXE%" goto execute | ||
59 | |||
60 | echo. | ||
61 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% | ||
62 | echo. | ||
63 | echo Please set the JAVA_HOME variable in your environment to match the | ||
64 | echo location of your Java installation. | ||
65 | |||
66 | goto fail | ||
67 | |||
68 | :execute | ||
69 | @rem Setup the command line | ||
70 | |||
71 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | ||
72 | |||
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 %* | ||
76 | |||
77 | :end | ||
78 | @rem End local scope for the variables with windows NT shell | ||
79 | if %ERRORLEVEL% equ 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 | set EXIT_CODE=%ERRORLEVEL% | ||
85 | if %EXIT_CODE% equ 0 set EXIT_CODE=1 | ||
86 | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% | ||
87 | exit /b %EXIT_CODE% | ||
88 | |||
89 | :mainEnd | ||
90 | if "%OS%"=="Windows_NT" endlocal | ||
91 | |||
92 | :omega | ||
diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..78dfcf7 --- /dev/null +++ b/android/settings.gradle | |||
@@ -0,0 +1,4 @@ | |||
1 | rootProject.name = 'cyberbadge_mobile' | ||
2 | apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) | ||
3 | include ':app' | ||
4 | includeBuild('../node_modules/@react-native/gradle-plugin') | ||