diff --git a/ejected/android/app/build.gradle b/ejected/android/app/build.gradle new file mode 100644 index 0000000..653bb4b --- /dev/null +++ b/ejected/android/app/build.gradle @@ -0,0 +1,205 @@ +buildscript { + repositories { + google() + maven { url 'https://maven.fabric.io/public' } + } + + dependencies { + classpath 'io.fabric.tools:gradle:1.26.1' + } +} +apply plugin: 'com.android.application' +apply plugin: 'io.fabric' +apply plugin: 'devicefarm' + +repositories { + maven { url 'https://maven.fabric.io/public' } +} + +def safeExtGet(prop, fallback) { + rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback +} + +android { + compileSdkVersion safeExtGet("compileSdkVersion", 28) + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + defaultConfig { + applicationId 'com.dslak.vdsquiz' + minSdkVersion safeExtGet("minSdkVersion", 21) + targetSdkVersion safeExtGet("targetSdkVersion", 28) + versionCode 1 + versionName '1.0.0' + + multiDexEnabled true + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + // Deprecated. Used by net.openid:appauth + manifestPlaceholders = [ + 'appAuthRedirectScheme': 'host.exp.exponent' + ] + } + dexOptions { + javaMaxHeapSize System.getenv("DISABLE_DEX_MAX_HEAP") ? null : "8g" + } + + signingConfigs { + debug { + storeFile file('../debug.keystore') + } + release { + storeFile file(System.getenv("ANDROID_KEYSTORE_PATH") ?: "release-key.jks") + storePassword System.getenv("ANDROID_KEYSTORE_PASSWORD") + keyAlias System.getenv("ANDROID_KEY_ALIAS") + keyPassword System.getenv("ANDROID_KEY_PASSWORD") + } + } + buildTypes { + debug { + debuggable true + ext.enableCrashlytics = false + } + release { + minifyEnabled true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + consumerProguardFiles 'proguard-rules.pro' + signingConfig signingConfigs.release + } + } + lintOptions { + abortOnError false + } + packagingOptions { + pickFirst "**" + } +} + +devicefarm { + projectName System.getenv("DEVICEFARM_PROJECT_NAME") + devicePool System.getenv("DEVICEFARM_DEVICE_POOL") + executionTimeoutMinutes 40 + authentication { + + accessKey System.getenv("AWS_ACCESS_KEY_ID") + secretKey System.getenv("AWS_SECRET_ACCESS_KEY") + } +} + +configurations.all { + resolutionStrategy { + force 'org.webkit:android-jsc:r245459' + } +} + +// WHEN_PREPARING_SHELL_REMOVE_FROM_HERE + +apply from: 'expo.gradle' + +// WHEN_PREPARING_SHELL_REMOVE_TO_HERE + +apply from: "../../node_modules/react-native-unimodules/gradle.groovy" + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + + implementation 'com.android.support:multidex:1.0.1' + + // Our dependencies + implementation "com.android.support:appcompat-v7:$supportLibVersion" + + // Our dependencies from ExpoView + // DON'T ADD ANYTHING HERE THAT ISN'T IN EXPOVIEW. ONLY COPY THINGS FROM EXPOVIEW TO HERE. + implementation "com.android.support:appcompat-v7:$supportLibVersion" + implementation 'com.facebook.android:facebook-android-sdk:5.0.1' + implementation('com.facebook.android:audience-network-sdk:5.1.1') { + exclude module: 'play-services-ads' + } + compileOnly 'org.glassfish:javax.annotation:3.1.1' + implementation 'com.jakewharton:butterknife:9.0.0' + implementation 'de.greenrobot:eventbus:2.4.0' + + implementation 'com.squareup.picasso:picasso:2.5.2' + implementation 'com.google.android.gms:play-services-gcm:15.0.1' + implementation 'com.google.android.gms:play-services-analytics:16.0.1' + implementation 'com.google.android.gms:play-services-maps:15.0.1' + implementation 'com.google.android.gms:play-services-auth:15.0.1' + implementation 'com.google.android.gms:play-services-location:15.0.1' + implementation "com.madgag.spongycastle:core:1.53.0.0" + implementation "com.madgag.spongycastle:prov:1.53.0.0" + debugImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1' + // debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.4-beta1' + releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1' + implementation 'com.facebook.device.yearclass:yearclass:2.1.0' + implementation 'commons-io:commons-io:1.4' + implementation 'me.leolin:ShortcutBadger:1.1.4@aar' + implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0' + implementation 'commons-codec:commons-codec:1.10' + implementation 'com.segment.analytics.android:analytics:4.3.0' + implementation 'com.google.zxing:core:3.3.3' + implementation 'net.openid:appauth:0.4.1' + implementation 'com.airbnb.android:lottie:2.5.6' + implementation('io.nlopez.smartlocation:library:3.2.11') { + transitive = false + } + implementation "com.android.support:exifinterface:${safeExtGet("supportLibVersion", "28.0.0")}" + implementation 'com.squareup.okio:okio:1.9.0' + implementation 'com.facebook.soloader:soloader:0.6.0' + + // expo-file-system + implementation 'com.squareup.okhttp3:okhttp:3.10.0' + implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.10.0' + + // Testing + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' + // We use a modified build of com.android.support.test:runner:1.0.1. Explanation in maven-test/README + androidTestImplementation 'com.android.support.test:runner:1.0.1' + androidTestImplementation "com.android.support:support-annotations:${safeExtGet("supportLibVersion", "28.0.0")}" + androidTestImplementation 'com.google.code.findbugs:jsr305:3.0.0' + androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1' + androidTestImplementation 'com.azimolabs.conditionwatcher:conditionwatcher:0.2' + + testImplementation 'junit:junit:4.12' + testImplementation 'org.mockito:mockito-core:1.10.19' + testImplementation 'org.robolectric:robolectric:3.8' + testImplementation 'com.android.support.test:runner:1.0.2-alpha1' + testImplementation 'com.android.support.test:rules:1.0.2-alpha1' + + + implementation('host.exp.exponent:expoview:35.0.0@aar') { + transitive = true + exclude group: 'com.squareup.okhttp3', module: 'okhttp' + exclude group: 'com.squareup.okhttp3', module: 'okhttp-urlconnection' + } + + + + + api 'org.webkit:android-jsc:r245459' // needs to be before react-native + api 'com.facebook.react:react-native:33.0.0' + + + + + addUnimodulesDependencies([ + modulesPaths : [ + '../../node_modules' + ], + configuration: 'api', + target : 'react-native', + exclude : [ + // You can exclude unneeded modules here, eg. + // 'unimodules-face-detector-interface', + // 'expo-face-detector' + + // Adding a name here will also remove the package + // from auto-generated BasePackageList.java + ] + ]) + +} + +// This has to be down here for some reason +apply plugin: 'com.google.gms.google-services' diff --git a/ejected/android/app/expo.gradle b/ejected/android/app/expo.gradle new file mode 100644 index 0000000..3400cac --- /dev/null +++ b/ejected/android/app/expo.gradle @@ -0,0 +1,68 @@ +// Gradle script for detached apps. + +import org.apache.tools.ant.taskdefs.condition.Os + +void runBefore(String dependentTaskName, Task task) { + Task dependentTask = tasks.findByPath(dependentTaskName); + if (dependentTask != null) { + dependentTask.dependsOn task + } +} + +afterEvaluate { + def expoRoot = file("../../") + def inputExcludes = ["android/**", "ios/**"] + + task exponentPrebuildStep(type: Exec) { + workingDir expoRoot + if (Os.isFamily(Os.FAMILY_WINDOWS)) { + commandLine "cmd", "/c", ".\\node_modules\\expokit\\detach-scripts\\run-exp.bat" + } else { + commandLine "./node_modules/expokit/detach-scripts/run-exp.sh", "prepare-detached-build", "--platform", "android", expoRoot + } + } + runBefore("preBuild", exponentPrebuildStep) + + // Based on https://github.com/facebook/react-native/blob/master/react.gradle + + android.applicationVariants.each { variant -> + def folderName = variant.name + def targetName = folderName.capitalize() + + def assetsDir = file("$buildDir/intermediates/merged_assets/${folderName}/merge${targetName}Assets/out") + + // Bundle task name for variant + def bundleExpoAssetsTaskName = "bundle${targetName}ExpoAssets" + + def currentBundleTask = tasks.create( + name: bundleExpoAssetsTaskName, + type: Exec) { + description = "Expo bundle assets for ${targetName}." + + // Create dirs if they are not there (e.g. the "clean" task just ran) + doFirst { + assetsDir.mkdirs() + } + + // Set up inputs and outputs so gradle can cache the result + inputs.files fileTree(dir: expoRoot, excludes: inputExcludes) + outputs.dir assetsDir + + // Set up the call to exp + workingDir expoRoot + + if (Os.isFamily(Os.FAMILY_WINDOWS)) { + commandLine("cmd", "/c", ".\\node_modules\\expokit\\detach-scripts\\run-exp.bat", "bundle-assets", expoRoot, "--platform", "android", "--dest", assetsDir) + } else { + commandLine("./node_modules/expokit/detach-scripts/run-exp.sh", "bundle-assets", expoRoot, "--platform", "android", "--dest", assetsDir) + } + + enabled targetName.toLowerCase().contains("release") || targetName.toLowerCase().contains("prod") + } + + currentBundleTask.dependsOn("merge${targetName}Resources") + currentBundleTask.dependsOn("merge${targetName}Assets") + + runBefore("process${targetName}Resources", currentBundleTask) + } +} diff --git a/ejected/android/app/fabric.properties b/ejected/android/app/fabric.properties new file mode 100644 index 0000000..ddc40a7 --- /dev/null +++ b/ejected/android/app/fabric.properties @@ -0,0 +1,3 @@ +#Contains API Secret used to validate your application. Commit to internal source control; avoid making secret public. +#Sun Dec 13 13:22:06 PST 2015 +apiSecret=83176563693e1eefa1a91359c4151b88c3fd17e52ddf6d64416b7f1e0fa9cede diff --git a/ejected/android/app/google-services.json b/ejected/android/app/google-services.json new file mode 100644 index 0000000..4f2c045 --- /dev/null +++ b/ejected/android/app/google-services.json @@ -0,0 +1,50 @@ +{ + "project_info": { + "project_id": "exponent-5dd6d", + "project_number": "367315174693", + "name": "Expo Client" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:367315174693:android:f968efbb41d1fa7a", + "client_id": "android:host.exp.exponent", + "client_type": 1, + "android_client_info": { + "package_name": "com.dslak.vdsquiz", + "certificate_hash": "" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "" + } + ], + "services": { + "analytics_service": { + "status": 2, + "analytics_property": { + "tracking_id": "UA-76673608-1" + } + }, + "cloud_messaging_service": { + "status": 2, + "apns_config": [] + }, + "appinvite_service": { + "status": 1, + "other_platform_oauth_client": [] + }, + "google_signin_service": { + "status": 1 + }, + "ads_service": { + "status": 1 + } + } + } + ], + "client_info": [], + "ARTIFACT_VERSION": "1" +} diff --git a/ejected/android/app/proguard-rules.pro b/ejected/android/app/proguard-rules.pro new file mode 100644 index 0000000..ec13312 --- /dev/null +++ b/ejected/android/app/proguard-rules.pro @@ -0,0 +1,152 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/ide/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# 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 *; +#} + + +# THIS IS VERY VERY BAD. REMOVE AS SOON AS VERSIONING IS FIXED +-dontwarn ** + + +-dontnote ** + +-keep class host.exp.exponent.generated.AppConstants { *; } + +##### Crashlytics ##### +-keepattributes SourceFile,LineNumberTable + +##### Expo Universal Modules ##### + +-keepclassmembers class * { + @**.expo.core.interfaces.ExpoProp *; +} +-keepclassmembers class * { + @**.expo.core.interfaces.ExpoMethod *; +} + +-keep @**.expo.core.interfaces.DoNotStrip class * +-keepclassmembers class * { + @**.expo.core.interfaces.DoNotStrip *; +} + +##### React Native ##### +-keep,allowobfuscation @interface **.facebook.proguard.annotations.DoNotStrip +-keep,allowobfuscation @interface **.facebook.proguard.annotations.KeepGettersAndSetters +-keep,allowobfuscation @interface **.facebook.react.bridge.ReadableType + +# Do not strip any method/class that is annotated with @DoNotStrip +-keep @**.facebook.proguard.annotations.DoNotStrip class * +-keepclassmembers class * { + @**.facebook.proguard.annotations.DoNotStrip *; +} + +-keepclassmembers @**.facebook.proguard.annotations.KeepGettersAndSetters class * { + void set*(***); + *** get*(); +} + +-keep class * extends **.facebook.react.bridge.JavaScriptModule { *; } +-keep class * extends **.facebook.react.bridge.NativeModule { *; } +-keepclassmembers class * { @**.facebook.react.uimanager.UIProp ; } +-keepclassmembers class * { @**.facebook.react.uimanager.ReactProp ; } +-keepclassmembers class * { @**.facebook.react.uimanager.ReactPropGroup ; } + +# TODO: shouldn't need these two rules +-keep interface **.facebook.react.bridge.** { *; } +-keep enum **.facebook.react.bridge.** { *; } + +##### Versioned React Native ##### +-keep class **.facebook.** { *; } +-keep class abi** { *; } +-keep class versioned** { *; } +-keep class expo.modules** { *; } + +##### Butterknife ##### +-keep class butterknife.** { *; } +-dontwarn butterknife.internal.** +-keep class **$$ViewBinder { *; } + +-keepclasseswithmembernames class * { + @butterknife.* ; +} + +-keepclasseswithmembernames class * { + @butterknife.* ; +} + +##### Stetho ##### +-keep class **.facebook.stetho.** { *; } +-dontwarn **.facebook.stetho.** + +##### fresco ##### +# Keep our interfaces so they can be used by other ProGuard rules. +# See http://sourceforge.net/p/proguard/bugs/466/ +-keep,allowobfuscation @interface **.facebook.common.internal.DoNotStrip + +# Do not strip any method/class that is annotated with @DoNotStrip +-keep @**.facebook.common.internal.DoNotStrip class * +-keepclassmembers class * { + @**.facebook.common.internal.DoNotStrip *; +} + +# Keep native methods +-keepclassmembers class * { + native ; +} + +-dontwarn okio.** +-dontwarn javax.annotation.** +-dontwarn com.android.volley.toolbox.** + +##### okhttp ##### +-keepattributes Signature +-keepattributes *Annotation* +-keep class com.squareup.okhttp.** { *; } +-keep interface com.squareup.okhttp.** { *; } +# This is also needed by Picasso +-dontwarn com.squareup.okhttp.** + +-keep class okhttp3.** { *; } +-keep interface okhttp3.** { *; } +# This is also needed by Picasso +-dontwarn okhttp3.** + +##### okio ##### +-keep class sun.misc.Unsafe { *; } +-dontwarn java.nio.file.* +-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement +-dontwarn okio.** + +##### EventBus ##### +-keepclassmembers class ** { + public void onEvent*(***); +} + +# Only required if you use AsyncExecutor +-keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent { + (java.lang.Throwable); +} + +##### Amplitude ##### +-keep class com.amplitude.api.** {*;} + +##### DBFlow ##### +-keep class com.raizlabs.android.dbflow.config.GeneratedDatabaseHolder + +##### SpongyCastle ##### +-keep class org.spongycastle.** +-dontwarn org.spongycastle.jce.provider.X509LDAPCertStoreSpi +-dontwarn org.spongycastle.x509.util.LDAPStoreHelper diff --git a/ejected/android/app/src/main/AndroidManifest.xml b/ejected/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..8d34f6a --- /dev/null +++ b/ejected/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,369 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ejected/android/app/src/main/assets/kernel-manifest.json b/ejected/android/app/src/main/assets/kernel-manifest.json new file mode 100644 index 0000000..468f619 --- /dev/null +++ b/ejected/android/app/src/main/assets/kernel-manifest.json @@ -0,0 +1 @@ +{"android":{"package":"host.exp.exponent","publishBundlePath":"../android/app/src/main/assets/kernel.android.bundle"},"dependencies":["@expo/react-native-action-sheet","@expo/react-native-touchable-native-feedback-safe","@react-navigation/web","apollo-boost","apollo-cache-inmemory","dedent","es6-error","expo","expo-analytics-amplitude","expo-asset","expo-barcode-scanner","expo-blur","expo-camera","expo-constants","expo-font","expo-linear-gradient","expo-location","expo-permissions","expo-task-manager","expo-web-browser","graphql","graphql-tag","immutable","lodash","prop-types","querystring","react","react-apollo","react-native","react-native-appearance","react-native-fade-in-image","react-native-gesture-handler","react-native-infinite-scroll-view","react-native-maps","react-navigation","react-navigation-material-bottom-tabs","react-navigation-stack","react-navigation-tabs","react-redux","redux","redux-thunk","semver","sha1","url"],"description":"","extra":{"amplitudeApiKey":"081e5ec53f869b440b225d5e40ec73f9"},"icon":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png","iconUrl":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png","ios":{"bundleIdentifier":"host.exp.exponent","publishBundlePath":"../ios/Exponent/Supporting/kernel.ios.bundle","supportsTablet":true},"isKernel":true,"kernel":{"androidManifestPath":"../android/app/src/main/assets/kernel-manifest.json","iosManifestPath":"../ios/Exponent/Supporting/kernel-manifest.json"},"locales":{},"name":"expo-home","orientation":"portrait","packagerOpts":{"config":"metro.config.js"},"platforms":["ios","android"],"primaryColor":"#cccccc","privacy":"unlisted","scheme":"exp","sdkVersion":"UNVERSIONED","slug":"home","updates":{"checkAutomatically":"ON_LOAD","fallbackToCacheTimeout":0},"version":"35.0.0","id":"@exponent/home","revisionId":"35.0.0-r.j5K6M6VmKq","publishedTime":"2019-09-16T21:21:42.975Z","commitTime":"2019-09-16T21:21:43.016Z","bundleUrl":"https://exp.host/@exponent/home/bundle","releaseChannel":"default","hostUri":"exp.host/@exponent/home"} \ No newline at end of file diff --git a/ejected/android/app/src/main/java/host/exp/exponent/MainActivity.java b/ejected/android/app/src/main/java/host/exp/exponent/MainActivity.java new file mode 100644 index 0000000..ba5789a --- /dev/null +++ b/ejected/android/app/src/main/java/host/exp/exponent/MainActivity.java @@ -0,0 +1,46 @@ +package host.exp.exponent; + +import android.os.Bundle; + +import com.facebook.react.ReactPackage; + +import org.unimodules.core.interfaces.Package; + +import java.util.List; + +import host.exp.exponent.experience.DetachActivity; +import host.exp.exponent.generated.DetachBuildConstants; + +public class MainActivity extends DetachActivity { + + @Override + public String publishedUrl() { + return "exp://exp.host/@dslaky/VDS-Quiz"; + } + + @Override + public String developmentUrl() { + return DetachBuildConstants.DEVELOPMENT_URL; + } + + @Override + public List reactPackages() { + return ((MainApplication) getApplication()).getPackages(); + } + + @Override + public List expoPackages() { + return ((MainApplication) getApplication()).getExpoPackages(); + } + + @Override + public boolean isDebug() { + return BuildConfig.DEBUG; + } + + @Override + public Bundle initialProps(Bundle expBundle) { + // Add extra initialProps here + return expBundle; + } +} diff --git a/ejected/android/app/src/main/java/host/exp/exponent/MainApplication.java b/ejected/android/app/src/main/java/host/exp/exponent/MainApplication.java new file mode 100644 index 0000000..dbe27f3 --- /dev/null +++ b/ejected/android/app/src/main/java/host/exp/exponent/MainApplication.java @@ -0,0 +1,48 @@ +package host.exp.exponent; + +import com.facebook.react.ReactPackage; + +import org.unimodules.core.interfaces.Package; + +import java.util.Arrays; +import java.util.List; + +import expo.loaders.provider.interfaces.AppLoaderPackagesProviderInterface; +import host.exp.exponent.generated.BasePackageList; +import okhttp3.OkHttpClient; + +// Needed for `react-native link` +// import com.facebook.react.ReactApplication; + +public class MainApplication extends ExpoApplication implements AppLoaderPackagesProviderInterface { + + @Override + public boolean isDebug() { + return BuildConfig.DEBUG; + } + + // Needed for `react-native link` + public List getPackages() { + return Arrays.asList( + // Add your own packages here! + // TODO: add native modules! + + // Needed for `react-native link` + // new MainReactPackage() + ); + } + + public List getExpoPackages() { + return new BasePackageList().getPackageList(); + } + + @Override + public String gcmSenderId() { + return getString(R.string.gcm_defaultSenderId); + } + + public static OkHttpClient.Builder okHttpClientBuilder(OkHttpClient.Builder builder) { + // Customize/override OkHttp client here + return builder; + } +} diff --git a/ejected/android/app/src/main/java/host/exp/exponent/generated/AppConstants.java b/ejected/android/app/src/main/java/host/exp/exponent/generated/AppConstants.java new file mode 100644 index 0000000..57459f4 --- /dev/null +++ b/ejected/android/app/src/main/java/host/exp/exponent/generated/AppConstants.java @@ -0,0 +1,46 @@ +package host.exp.exponent.generated; + +import com.facebook.common.internal.DoNotStrip; + +import java.util.ArrayList; +import java.util.List; + +import host.exp.exponent.BuildConfig; +import host.exp.exponent.Constants; + +@DoNotStrip +public class AppConstants { + + public static final String VERSION_NAME = "1.0.0"; + public static String INITIAL_URL = "exp://exp.host/@dslaky/VDS-Quiz"; + public static final String SHELL_APP_SCHEME = "expc1313981c09d48258582690c225378d8"; + public static final String RELEASE_CHANNEL = "default"; + public static boolean SHOW_LOADING_VIEW_IN_SHELL_APP = true; + public static boolean ARE_REMOTE_UPDATES_ENABLED = true; + public static final List EMBEDDED_RESPONSES; + public static boolean FCM_ENABLED = false; + + static { + List embeddedResponses = new ArrayList<>(); + + // ADD EMBEDDED RESPONSES HERE + // START EMBEDDED RESPONSES + // END EMBEDDED RESPONSES + EMBEDDED_RESPONSES = embeddedResponses; + } + + // Called from expoview/Constants + public static Constants.ExpoViewAppConstants get() { + Constants.ExpoViewAppConstants constants = new Constants.ExpoViewAppConstants(); + constants.VERSION_NAME = VERSION_NAME; + constants.INITIAL_URL = INITIAL_URL; + constants.SHELL_APP_SCHEME = SHELL_APP_SCHEME; + constants.RELEASE_CHANNEL = RELEASE_CHANNEL; + constants.SHOW_LOADING_VIEW_IN_SHELL_APP = SHOW_LOADING_VIEW_IN_SHELL_APP; + constants.ARE_REMOTE_UPDATES_ENABLED = ARE_REMOTE_UPDATES_ENABLED; + constants.EMBEDDED_RESPONSES = EMBEDDED_RESPONSES; + constants.ANDROID_VERSION_CODE = BuildConfig.VERSION_CODE; + constants.FCM_ENABLED = FCM_ENABLED; + return constants; + } +} diff --git a/ejected/android/app/src/main/java/host/exp/exponent/generated/DetachBuildConstants.java b/ejected/android/app/src/main/java/host/exp/exponent/generated/DetachBuildConstants.java new file mode 100644 index 0000000..cc7d9a3 --- /dev/null +++ b/ejected/android/app/src/main/java/host/exp/exponent/generated/DetachBuildConstants.java @@ -0,0 +1,8 @@ +package host.exp.exponent.generated; + +// This file is auto-generated. Please don't rename! +public class DetachBuildConstants { + + public static final String DEVELOPMENT_URL = ""; + +} diff --git a/ejected/android/app/src/main/res/drawable-hdpi/ic_arrow_back_white_36dp.png b/ejected/android/app/src/main/res/drawable-hdpi/ic_arrow_back_white_36dp.png new file mode 100755 index 0000000..870bf2d Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-hdpi/ic_arrow_back_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-hdpi/ic_home_white_36dp.png b/ejected/android/app/src/main/res/drawable-hdpi/ic_home_white_36dp.png new file mode 100755 index 0000000..e5a80ee Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-hdpi/ic_home_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-hdpi/ic_logo_white_32dp.png b/ejected/android/app/src/main/res/drawable-hdpi/ic_logo_white_32dp.png new file mode 100644 index 0000000..a22b051 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-hdpi/ic_logo_white_32dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-hdpi/ic_refresh_white_36dp.png b/ejected/android/app/src/main/res/drawable-hdpi/ic_refresh_white_36dp.png new file mode 100755 index 0000000..fe4285f Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-hdpi/ic_refresh_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-hdpi/ic_share_white_36dp.png b/ejected/android/app/src/main/res/drawable-hdpi/ic_share_white_36dp.png new file mode 100755 index 0000000..36490a3 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-hdpi/ic_share_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-mdpi/ic_arrow_back_white_36dp.png b/ejected/android/app/src/main/res/drawable-mdpi/ic_arrow_back_white_36dp.png new file mode 100755 index 0000000..5fa4948 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-mdpi/ic_arrow_back_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-mdpi/ic_home_white_36dp.png b/ejected/android/app/src/main/res/drawable-mdpi/ic_home_white_36dp.png new file mode 100755 index 0000000..24d2df3 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-mdpi/ic_home_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-mdpi/ic_logo_white_32dp.png b/ejected/android/app/src/main/res/drawable-mdpi/ic_logo_white_32dp.png new file mode 100644 index 0000000..2999fe6 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-mdpi/ic_logo_white_32dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-mdpi/ic_refresh_white_36dp.png b/ejected/android/app/src/main/res/drawable-mdpi/ic_refresh_white_36dp.png new file mode 100755 index 0000000..cd16fdd Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-mdpi/ic_refresh_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-mdpi/ic_share_white_36dp.png b/ejected/android/app/src/main/res/drawable-mdpi/ic_share_white_36dp.png new file mode 100755 index 0000000..93b3c21 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-mdpi/ic_share_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xhdpi/ic_arrow_back_white_36dp.png b/ejected/android/app/src/main/res/drawable-xhdpi/ic_arrow_back_white_36dp.png new file mode 100755 index 0000000..4057cc5 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xhdpi/ic_arrow_back_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xhdpi/ic_home_white_36dp.png b/ejected/android/app/src/main/res/drawable-xhdpi/ic_home_white_36dp.png new file mode 100755 index 0000000..fd40ac3 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xhdpi/ic_home_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xhdpi/ic_logo_white_32dp.png b/ejected/android/app/src/main/res/drawable-xhdpi/ic_logo_white_32dp.png new file mode 100644 index 0000000..b8f82b0 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xhdpi/ic_logo_white_32dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xhdpi/ic_refresh_white_36dp.png b/ejected/android/app/src/main/res/drawable-xhdpi/ic_refresh_white_36dp.png new file mode 100755 index 0000000..72128fe Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xhdpi/ic_refresh_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xhdpi/ic_share_white_36dp.png b/ejected/android/app/src/main/res/drawable-xhdpi/ic_share_white_36dp.png new file mode 100755 index 0000000..9963c6a Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xhdpi/ic_share_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxhdpi/ic_arrow_back_white_36dp.png b/ejected/android/app/src/main/res/drawable-xxhdpi/ic_arrow_back_white_36dp.png new file mode 100755 index 0000000..9daba3b Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxhdpi/ic_arrow_back_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxhdpi/ic_home_white_36dp.png b/ejected/android/app/src/main/res/drawable-xxhdpi/ic_home_white_36dp.png new file mode 100755 index 0000000..cc0f231 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxhdpi/ic_home_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxhdpi/ic_logo_white_32dp.png b/ejected/android/app/src/main/res/drawable-xxhdpi/ic_logo_white_32dp.png new file mode 100644 index 0000000..9a3d1ee Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxhdpi/ic_logo_white_32dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxhdpi/ic_refresh_white_36dp.png b/ejected/android/app/src/main/res/drawable-xxhdpi/ic_refresh_white_36dp.png new file mode 100755 index 0000000..833e672 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxhdpi/ic_refresh_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxhdpi/ic_share_white_36dp.png b/ejected/android/app/src/main/res/drawable-xxhdpi/ic_share_white_36dp.png new file mode 100755 index 0000000..aab7ddb Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxhdpi/ic_share_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_dark.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_dark.png new file mode 100644 index 0000000..12ef0b7 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_dark.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_dark_filled.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_dark_filled.png new file mode 100644 index 0000000..12ef0b7 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_dark_filled.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_filled.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_filled.png new file mode 100644 index 0000000..e30d066 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_filled.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_new_filled.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_new_filled.png new file mode 100644 index 0000000..b91d961 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/big_logo_new_filled.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_36dp.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_36dp.png new file mode 100755 index 0000000..01f3262 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_home_white_36dp.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_home_white_36dp.png new file mode 100755 index 0000000..33ed8bb Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_home_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_logo_white_32dp.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_logo_white_32dp.png new file mode 100644 index 0000000..faf5469 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_logo_white_32dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_refresh_white_36dp.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_refresh_white_36dp.png new file mode 100755 index 0000000..87ab2d6 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_refresh_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_share_white_36dp.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_share_white_36dp.png new file mode 100755 index 0000000..cf3072e Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/ic_share_white_36dp.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/notification_icon.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/notification_icon.png new file mode 100644 index 0000000..1a6a822 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/notification_icon.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/pin_white.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/pin_white.png new file mode 100644 index 0000000..ac29ed2 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/pin_white.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/pin_white_fade.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/pin_white_fade.png new file mode 100644 index 0000000..7e64b0d Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/pin_white_fade.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/shell_launch_background_image.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/shell_launch_background_image.png new file mode 100644 index 0000000..b4df59e Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/shell_launch_background_image.png differ diff --git a/ejected/android/app/src/main/res/drawable-xxxhdpi/shell_notification_icon.png b/ejected/android/app/src/main/res/drawable-xxxhdpi/shell_notification_icon.png new file mode 100644 index 0000000..1a6a822 Binary files /dev/null and b/ejected/android/app/src/main/res/drawable-xxxhdpi/shell_notification_icon.png differ diff --git a/ejected/android/app/src/main/res/drawable/splash_background.xml b/ejected/android/app/src/main/res/drawable/splash_background.xml new file mode 100644 index 0000000..2fe3c47 --- /dev/null +++ b/ejected/android/app/src/main/res/drawable/splash_background.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/ejected/android/app/src/main/res/layout/error_activity_new.xml b/ejected/android/app/src/main/res/layout/error_activity_new.xml new file mode 100644 index 0000000..3c3e69a --- /dev/null +++ b/ejected/android/app/src/main/res/layout/error_activity_new.xml @@ -0,0 +1,9 @@ + + diff --git a/ejected/android/app/src/main/res/layout/error_console_fragment.xml b/ejected/android/app/src/main/res/layout/error_console_fragment.xml new file mode 100644 index 0000000..b382220 --- /dev/null +++ b/ejected/android/app/src/main/res/layout/error_console_fragment.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + diff --git a/ejected/android/app/src/main/res/layout/error_console_list_item.xml b/ejected/android/app/src/main/res/layout/error_console_list_item.xml new file mode 100644 index 0000000..ad1b727 --- /dev/null +++ b/ejected/android/app/src/main/res/layout/error_console_list_item.xml @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/ejected/android/app/src/main/res/layout/error_fragment.xml b/ejected/android/app/src/main/res/layout/error_fragment.xml new file mode 100644 index 0000000..5a5e1a7 --- /dev/null +++ b/ejected/android/app/src/main/res/layout/error_fragment.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/ejected/android/app/src/main/res/layout/exponent_button.xml b/ejected/android/app/src/main/res/layout/exponent_button.xml new file mode 100644 index 0000000..3c3f585 --- /dev/null +++ b/ejected/android/app/src/main/res/layout/exponent_button.xml @@ -0,0 +1,8 @@ + + \ No newline at end of file diff --git a/ejected/android/app/src/main/res/layout/exponent_check_box.xml b/ejected/android/app/src/main/res/layout/exponent_check_box.xml new file mode 100644 index 0000000..9196095 --- /dev/null +++ b/ejected/android/app/src/main/res/layout/exponent_check_box.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/ejected/android/app/src/main/res/layout/exponent_dev_activity.xml b/ejected/android/app/src/main/res/layout/exponent_dev_activity.xml new file mode 100644 index 0000000..ada895f --- /dev/null +++ b/ejected/android/app/src/main/res/layout/exponent_dev_activity.xml @@ -0,0 +1,31 @@ + + + + + + + + diff --git a/ejected/android/app/src/main/res/layout/notification.xml b/ejected/android/app/src/main/res/layout/notification.xml new file mode 100644 index 0000000..486be3a --- /dev/null +++ b/ejected/android/app/src/main/res/layout/notification.xml @@ -0,0 +1,67 @@ + + + + + +