zouyong il y a 5 ans
commit
d0af80c8cc
100 fichiers modifiés avec 3872 ajouts et 0 suppressions
  1. 5 0
      .gitignore
  2. 53 0
      CMakeLists.txt
  3. BIN
      KeyStore/mokakey.jks
  4. 3 0
      KeyStore/mokakey_README.md
  5. 3 0
      README.md
  6. 150 0
      app/AndroidManifest.xml
  7. 162 0
      app/build.gradle
  8. 34 0
      app/gradle.properties
  9. BIN
      app/libs/GDTSDK.unionNormal.4.351.1221.aar
  10. BIN
      app/libs/anythink_banner.aar
  11. BIN
      app/libs/anythink_china_core.aar
  12. BIN
      app/libs/anythink_core.aar
  13. BIN
      app/libs/anythink_interstitial.aar
  14. BIN
      app/libs/anythink_native.aar
  15. BIN
      app/libs/anythink_network_gdt.aar
  16. BIN
      app/libs/anythink_network_kuaishou.aar
  17. BIN
      app/libs/anythink_network_pangle_china.aar
  18. BIN
      app/libs/anythink_network_sigmob.aar
  19. BIN
      app/libs/anythink_rewardvideo.aar
  20. BIN
      app/libs/anythink_splash.aar
  21. BIN
      app/libs/dy-task-sdk-2.0.7.aar
  22. BIN
      app/libs/gson-2.8.4.jar
  23. BIN
      app/libs/kssdk-ad--3.3.9-publishRelease-4ea04e00c.aar
  24. BIN
      app/libs/miit_mdid_1.0.10.aar
  25. BIN
      app/libs/open_ad_sdk_3.6.1.0.aar
  26. BIN
      app/libs/tramini_sdk.aar
  27. BIN
      app/libs/umeng-abtest-v1.0.0.aar
  28. BIN
      app/libs/umeng-asms-armeabi-v1.2.2.aar
  29. BIN
      app/libs/umeng-common-9.3.8.jar
  30. BIN
      app/libs/windAd-3.0.1.aar
  31. 81 0
      app/proguard-rules.pro
  32. 25 0
      app/src/com/aries/kxnly/mz/ad/Constants.java
  33. 98 0
      app/src/com/aries/kxnly/mz/ad/FullScreenAD.java
  34. 96 0
      app/src/com/aries/kxnly/mz/ad/InterstitalAD.java
  35. 146 0
      app/src/com/aries/kxnly/mz/ad/NativeExpressAD.java
  36. 213 0
      app/src/com/aries/kxnly/mz/ad/NativeRender.java
  37. 170 0
      app/src/com/aries/kxnly/mz/ad/RewardVideoAD.java
  38. 100 0
      app/src/com/aries/kxnly/mz/ad/SplashADActivity.java
  39. 43 0
      app/src/com/aries/kxnly/mz/receiver/DownloadObserver.java
  40. 23 0
      app/src/com/aries/kxnly/mz/receiver/DownloadReceiver.java
  41. 27 0
      app/src/com/aries/kxnly/mz/receiver/InstallReceiver.java
  42. 54 0
      app/src/com/aries/kxnly/mz/utils/CheckUtil.java
  43. 100 0
      app/src/com/aries/kxnly/mz/utils/DownloadUtil.java
  44. 93 0
      app/src/com/aries/kxnly/mz/utils/MiitHelper.java
  45. 118 0
      app/src/com/aries/kxnly/mz/utils/MobileInfoUtil.java
  46. 18 0
      app/src/com/aries/kxnly/mz/utils/ToastUtil.java
  47. 138 0
      app/src/com/aries/kxnly/mz/utils/UMUtil.java
  48. 91 0
      app/src/com/aries/kxnly/mz/utils/WechatUtil.java
  49. 99 0
      app/src/com/aries/kxnly/mz/wxapi/WXEntryActivity.java
  50. 480 0
      app/src/com/cocos/game/MainActivity.java
  51. 41 0
      app/src/com/cocos/game/MainApplication.java
  52. 8 0
      build-cfg.json
  53. 29 0
      build.gradle
  54. BIN
      gradle/wrapper/gradle-wrapper.jar
  55. 5 0
      gradle/wrapper/gradle-wrapper.properties
  56. 183 0
      gradlew
  57. 100 0
      gradlew.bat
  58. 29 0
      jni/main.cpp
  59. 8 0
      local.properties
  60. 38 0
      proj/build/HappyFarm/generated/source/buildConfig/debug/com/aries/kxnly/mz/BuildConfig.java
  61. 1 0
      proj/build/HappyFarm/intermediates/annotation_processor_list/debug/annotationProcessors.json
  62. 10 0
      proj/build/HappyFarm/intermediates/compatible_screen_manifest/debug/output-metadata.json
  63. 17 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/compile-file-map.properties
  64. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-af/values-af.xml
  65. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-am/values-am.xml
  66. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-ar/values-ar.xml
  67. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-az/values-az.xml
  68. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-b+sr+Latn/values-b+sr+Latn.xml
  69. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-be/values-be.xml
  70. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-bg/values-bg.xml
  71. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-bn/values-bn.xml
  72. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-bs/values-bs.xml
  73. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-ca/values-ca.xml
  74. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-cs/values-cs.xml
  75. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-da/values-da.xml
  76. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-de/values-de.xml
  77. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-el/values-el.xml
  78. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rAU/values-en-rAU.xml
  79. 21 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rCA/values-en-rCA.xml
  80. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rGB/values-en-rGB.xml
  81. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rIN/values-en-rIN.xml
  82. 21 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rXC/values-en-rXC.xml
  83. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-es-rUS/values-es-rUS.xml
  84. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-es/values-es.xml
  85. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-et/values-et.xml
  86. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-eu/values-eu.xml
  87. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-fa/values-fa.xml
  88. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-fi/values-fi.xml
  89. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-fr-rCA/values-fr-rCA.xml
  90. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-fr/values-fr.xml
  91. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-gl/values-gl.xml
  92. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-gu/values-gu.xml
  93. 4 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-h720dp-v13/values-h720dp-v13.xml
  94. 8 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-hdpi-v4/values-hdpi-v4.xml
  95. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-hi/values-hi.xml
  96. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-hr/values-hr.xml
  97. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-hu/values-hu.xml
  98. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-hy/values-hy.xml
  99. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-in/values-in.xml
  100. 22 0
      proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-is/values-is.xml

+ 5 - 0
.gitignore

@@ -0,0 +1,5 @@
+.gradle/
+.idea/
+app/assets/
+app/release/
+instantapp/

+ 53 - 0
CMakeLists.txt

@@ -0,0 +1,53 @@
+cmake_minimum_required(VERSION 3.8)
+
+option(APP_NAME "Project Name" "HappyFarm")
+project(${APP_NAME} CXX)
+
+include(${CMAKE_CURRENT_LIST_DIR}/../common/CMakeLists.txt)
+
+
+set(LIB_NAME cocos)
+
+set(PROJ_SOURCES
+    ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/Game.h
+    ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/Game.cpp
+    ${CMAKE_CURRENT_LIST_DIR}/jni/main.cpp
+)
+
+
+if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/jsb_module_register.cpp)
+    file(COPY "${COCOS_X_PATH}/cocos/bindings/manual/jsb_module_register.cpp"
+        DESTINATION ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/)
+endif()
+
+
+# -------------- SRART ---------------
+# USED BY COCOS SERVICE, DON'T REMOVE!
+if(EXISTS ${RES_DIR}/proj/service.cmake)
+    set(SERVICE_NATIVE_DIR ${CMAKE_CURRENT_LIST_DIR})
+    include(${RES_DIR}/proj/service.cmake)
+endif()
+# --------------  END ----------------
+
+list(APPEND PROJ_SOURCES
+    ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/jsb_module_register.cpp
+)
+
+add_library(${LIB_NAME} SHARED ${PROJ_SOURCES})
+
+
+# -------------- SRART ---------------
+# USED BY COCOS SERVICE, DON'T REMOVE!
+if(COMMAND service_insert_library)
+    service_insert_library()
+endif()
+# --------------  END ----------------
+
+target_link_libraries(${LIB_NAME}
+    "-Wl,--whole-archive" cocos2d_jni "-Wl,--no-whole-archive"
+    cocos2d
+)
+
+target_include_directories(${LIB_NAME} PRIVATE
+    ${CMAKE_CURRENT_LIST_DIR}/../common/Classes
+)

BIN
KeyStore/mokakey.jks


+ 3 - 0
KeyStore/mokakey_README.md

@@ -0,0 +1,3 @@
+文件名:mokakey.jks
+别名:mokakey
+密码:szmoka

+ 3 - 0
README.md

@@ -0,0 +1,3 @@
+# Wangzhuan_Android
+
+网赚项目安卓工程

+ 150 - 0
app/AndroidManifest.xml

@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.aries.kxnly.mz"
+    android:installLocation="auto">
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
+    <uses-permission android:name="android.permission.GET_TASKS" />
+    <uses-permission android:name="android.permission.WAKE_LOCK" />
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+
+    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
+
+    <application
+        android:name="com.cocos.game.MainApplication"
+        android:allowBackup="true"
+        android:hardwareAccelerated="true"
+        android:icon="@mipmap/ic_launcher"
+        android:label="@string/app_name"
+        android:usesCleartextTraffic="true">
+
+        <!--        下载完成广播注册-->
+        <receiver android:name="com.aries.kxnly.mz.receiver.DownloadReceiver">
+            <intent-filter>
+                <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
+                <action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED" />
+            </intent-filter>
+        </receiver>
+
+        <!--        安装完成广播-->
+        <receiver android:name="com.aries.kxnly.mz.receiver.InstallReceiver">
+            <intent-filter>
+                <action android:name="android.intent.action.PACKAGE_ADDED" />
+                <action android:name="android.intent.action.PACKAGE_REPLACED" />
+                <action android:name="android.intent.action.PACKAGE_REMOVED" />
+            </intent-filter>
+        </receiver>
+
+        <!-- Tell CocosNativeActivity the name of our .so -->
+        <meta-data
+            android:name="android.app.lib_name"
+            android:value="cocos" />
+
+        <activity
+            android:name="com.cocos.game.MainActivity"
+            android:configChanges="orientation|keyboardHidden|screenSize|screenLayout"
+            android:fitsSystemWindows="true"
+            android:label="@string/app_name"
+            android:launchMode="singleTop"
+            android:resizeableActivity="false"
+            android:screenOrientation="portrait"
+            android:taskAffinity="com.aries.kxnly.mz"
+            android:theme="@style/openTheme">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+
+        <activity
+            android:name="com.aries.kxnly.mz.wxapi.WXEntryActivity"
+            android:configChanges="orientation|keyboardHidden|screenSize|screenLayout"
+            android:exported="true"
+            android:fitsSystemWindows="true"
+            android:label="@string/app_name"
+            android:launchMode="singleTop"
+            android:screenOrientation="portrait"
+            android:taskAffinity="com.aries.kxnly.mz"
+            android:theme="@style/wxTheme" />
+
+        <!--        开屏广告布局-->
+        <activity
+            android:name=".ad.SplashADActivity"
+            android:configChanges="orientation|keyboardHidden|screenSize|screenLayout"
+            android:fitsSystemWindows="true"
+            android:label="@string/app_name"
+            android:launchMode="singleTop"
+            android:screenOrientation="portrait"
+            android:taskAffinity="com.aries.kxnly.mz"
+            android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
+            <!--            <intent-filter>-->
+            <!--                <action android:name="android.intent.action.MAIN" />-->
+            <!--                <category android:name="android.intent.category.LAUNCHER" />-->
+            <!--            </intent-filter>-->
+        </activity>
+
+        <activity
+            android:name="com.cocos.lib.CocosEditBoxActivity"
+            android:configChanges="orientation|keyboardHidden|screenSize|screenLayout"
+            android:screenOrientation="behind"
+            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
+
+        <provider
+            android:name="android.support.v4.content.FileProvider"
+            android:authorities="${applicationId}.fileprovider"
+            android:exported="false"
+            android:grantUriPermissions="true">
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/file_path" />
+        </provider>
+
+
+        <uses-library
+            android:name="org.apache.http.legacy"
+            android:required="false" />
+        <!-- source file: china/network_sdk/pangle/AndroidManifest.xml -->
+        <provider
+            android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
+            android:authorities="${applicationId}.TTMultiProvider"
+            android:exported="false" />
+        <provider
+            android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
+            android:authorities="${applicationId}.TTFileProvider"
+            android:exported="false"
+            android:grantUriPermissions="true">
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/anythink_bk_tt_file_path" />
+        </provider>
+        <!-- source file: china/network_sdk/gdt/AndroidManifest.xml -->
+
+        <provider
+            android:name="com.qq.e.comm.GDTFileProvider"
+            android:authorities="${applicationId}.gdt.fileprovider"
+            android:exported="false"
+            android:grantUriPermissions="true">
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/anythink_bk_gdt_file_path" />
+        </provider>
+
+        <provider
+            android:name="com.sigmob.sdk.SigmobFileProvider"
+            android:authorities="${applicationId}.sigprovider"
+            android:exported="false"
+            android:grantUriPermissions="true">
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/anythink_bk_sigmob_file_path" />
+        </provider>
+    </application>
+
+</manifest>

+ 162 - 0
app/build.gradle

@@ -0,0 +1,162 @@
+import org.apache.tools.ant.taskdefs.condition.Os
+
+apply plugin: 'com.android.application'
+RES_PATH = RES_PATH.replace("\\", "/")
+COCOS_ENGINE_PATH = COCOS_ENGINE_PATH.replace("\\", "/")
+
+buildDir = "${RES_PATH}/proj/build/$project.name"
+android {
+    compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
+    buildToolsVersion PROP_BUILD_TOOLS_VERSION
+    ndkPath PROP_NDK_PATH
+
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
+
+    defaultConfig {
+//        applicationId APPLICATION_ID
+        applicationId "${PACKAGE_NAME}"
+        minSdkVersion PROP_MIN_SDK_VERSION
+        targetSdkVersion PROP_TARGET_SDK_VERSION
+        multiDexEnabled true
+        versionCode "${VERSION_CODE}".toInteger()
+        versionName "${VERSION_NAME}"
+
+        externalNativeBuild {
+            cmake {
+                targets "cocos"
+                arguments "-DRES_DIR=${RES_PATH}", "-DCOCOS_X_PATH=${COCOS_ENGINE_PATH}", "-DANDROID_STL=c++_static", "-DANDROID_TOOLCHAIN=clang", "-DANDROID_ARM_NEON=TRUE", "-DANDROID_LD=gold"
+                cppFlags "-frtti -fexceptions -fsigned-char"
+            }
+            ndk { abiFilters PROP_APP_ABI.split(':') }
+        }
+
+    }
+
+    sourceSets.main {
+        java.srcDirs "../src", "src"
+        res.srcDirs "../res", 'res'
+        jniLibs.srcDirs "../libs", 'libs'
+        manifest.srcFile "AndroidManifest.xml"
+        assets.srcDir "assets"
+        jniLibs {
+            // Vulkan validation layer
+            // srcDir "${android.ndkDirectory}/sources/third_party/vulkan/src/build-android/jniLibs"
+        }
+    }
+
+    externalNativeBuild {
+        cmake {
+            path "../CMakeLists.txt"
+            buildStagingDirectory "${RES_PATH}/proj/build"
+        }
+    }
+
+    signingConfigs {
+
+        release {
+            if (project.hasProperty("RELEASE_STORE_FILE") && !RELEASE_STORE_FILE.isEmpty()) {
+                storeFile file(RELEASE_STORE_FILE)
+                storePassword RELEASE_STORE_PASSWORD
+                keyAlias RELEASE_KEY_ALIAS
+                keyPassword RELEASE_KEY_PASSWORD
+            }
+        }
+    }
+
+    buildTypes {
+        release {
+            debuggable false
+            jniDebuggable false
+            renderscriptDebuggable false
+            if (project.hasProperty("RELEASE_STORE_FILE")) {
+                signingConfig signingConfigs.release
+            }
+
+            /**
+             * 配置BuildConfig自动获取字段
+             */
+            buildConfigField "String", "TF_CHANNEL", "${TF_CHANNEL}"
+            buildConfigField "String", "JL_AID", "${JL_AID}"
+            buildConfigField "String", "JL_CHANNEL", "${JL_CHANNEL}"
+            buildConfigField "String", "KS_AID", "${KS_AID}"
+            buildConfigField "String", "KS_ANAME", "${KS_ANAME}"
+            buildConfigField "String", "KS_CHANNEL", "${KS_CHANNEL}"
+            buildConfigField "String", "UM_AID", "${UM_AID}"
+            buildConfigField "String", "UM_CHANNEL", "${UM_CHANNEL}"
+            buildConfigField "String", "UM_SECRET", "${UM_SECRET}"
+            buildConfigField "String", "WX_APP_ID", "${WX_APP_ID}"
+            buildConfigField "String", "TOPON", "${TOPON}"
+        }
+
+        debug {
+            debuggable true
+            jniDebuggable true
+            renderscriptDebuggable true
+            signingConfig signingConfigs.release
+
+            buildConfigField "String", "TF_CHANNEL", "${TF_CHANNEL}"
+            buildConfigField "String", "JL_AID", "${JL_AID}"
+            buildConfigField "String", "JL_CHANNEL", "${JL_CHANNEL}"
+            buildConfigField "String", "KS_AID", "${KS_AID}"
+            buildConfigField "String", "KS_ANAME", "${KS_ANAME}"
+            buildConfigField "String", "KS_CHANNEL", "${KS_CHANNEL}"
+            buildConfigField "String", "UM_AID", "${UM_AID}"
+            buildConfigField "String", "UM_CHANNEL", "${UM_CHANNEL}"
+            buildConfigField "String", "UM_SECRET", "${UM_SECRET}"
+            buildConfigField "String", "WX_APP_ID", "${WX_APP_ID}"
+            buildConfigField "String", "TOPON", "${TOPON}"
+        }
+    }
+
+    //CONFIG IN SERVER
+//    applicationVariants.all { variant ->
+//        variant.outputs.all {
+//            variant.getPackageApplication().outputDirectory = new File("./release")
+//        }
+//    }
+}
+
+android.applicationVariants.all { variant ->
+
+    def outputDir = "${projectDir}/assets"
+    def sourceDir = "${RES_PATH}/assets"
+
+    // assert file("${sourceDir}/res").exists()
+
+    delete "${outputDir}"
+    def targetName = variant.name.capitalize()
+    def copyTaskName = "copy${targetName}ResourcesToAssets"
+
+    tasks.register(copyTaskName) {
+
+        copy {
+            from sourceDir
+            into outputDir
+        }
+    }
+
+    tasks.getByName("pre${targetName}Build").dependsOn copyTaskName
+
+}
+
+dependencies {
+    implementation fileTree(dir: '../libs', include: ['*.jar', '*.aar'])
+    implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
+    implementation fileTree(dir: "${COCOS_ENGINE_PATH}/cocos/platform/android/java/libs", include: ['*.jar'])
+    implementation project(':libservice')
+    implementation project(':libcocos')
+
+    implementation "com.android.support:design:27.1.1"
+    implementation 'com.android.support:multidex:1.0.3'
+    implementation "com.android.support:support-v4:27.1.1"
+    implementation "com.android.support:appcompat-v7:27.1.1"
+    implementation "com.android.support:recyclerview-v7:27.1.1"
+
+    implementation "com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+"
+
+    implementation "com.github.bumptech.glide:glide:4.8.0"
+    annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
+}

+ 34 - 0
app/gradle.properties

@@ -0,0 +1,34 @@
+# TF_CHANNEL="5";    //1 巨量 2 快手 3 广点通
+# JL_AID="215656";    	  //巨量appid
+# JL_CHANNEL="juliang";    //巨量渠道
+# # YYB_AID="215656"
+# # YYB_CHANNEL="yingyongbao_kaixinnongleyuan"
+# KS_AID="67132";        //快手appid
+# KS_ANAME="LegendOfNavigation";      //快手appname
+# KS_CHANNEL="kuaishou";    //快手渠道
+# UM_AID="607ea8095844f15425dff5c6";        //友盟appid
+# UM_CHANNEL="um_kaixinnongleyuan";    //友盟渠道
+# UM_SECRET="432e41656d8208c94c9a59c134a0b2cb";     //友盟秘钥
+# WX_APP_ID="wx3c0cc2f730c5ad5a";  //微信appid
+# PACKAGE_NAME=com.aries.kxnly.mz
+# MY_APP_NAME=\u5f00\u5fc3\u519c\u4e50\u56ed
+# VERSION_NAME=1.0.4
+# VERSION_CODE=4
+# TOPON="a6078f65457f6f,66b742dd0e502b64d783d9c66a9d30c4,b6078f6a006916,b6078f6ddebed2,b6078f6fe52b70,b6078f72ec4003,b6078f71eed53e,b6078f711d7007,"; //巨量渠道topon的 AppId,AppSecreate,激励视频,插屏,信息流,开屏, banner,全屏
+
+TF_CHANNEL="5"
+UM_AID="607ea8095844f15425dff5c6"
+UM_CHANNEL="juliang_kaixinnongleyuan"
+MY_APP_NAME=\u5f00\u5fc3\u519c\u4e50\u56ed
+WX_APP_ID="wx3c0cc2f730c5ad5a"
+UM_SECRET="432e41656d8208c94c9a59c134a0b2cb"
+KS_ANAME=""
+VERSION_CODE=3
+TOPON="a6078f65457f6f,66b742dd0e502b64d783d9c66a9d30c4,b6078f6a006916,b6078f6ddebed2,b6078f6fe52b70,b6078f72ec4003,b6078f71eed53e,b6078f711d7007"
+VERSION_NAME=1.0.8
+APP_CONFIG_CODE=""
+JL_CHANNEL="juliang"
+KS_CHANNEL=""
+PACKAGE_NAME=com.aries.kxnly.mz
+KS_AID=""
+JL_AID="215656"

BIN
app/libs/GDTSDK.unionNormal.4.351.1221.aar


BIN
app/libs/anythink_banner.aar


BIN
app/libs/anythink_china_core.aar


BIN
app/libs/anythink_core.aar


BIN
app/libs/anythink_interstitial.aar


BIN
app/libs/anythink_native.aar


BIN
app/libs/anythink_network_gdt.aar


BIN
app/libs/anythink_network_kuaishou.aar


BIN
app/libs/anythink_network_pangle_china.aar


BIN
app/libs/anythink_network_sigmob.aar


BIN
app/libs/anythink_rewardvideo.aar


BIN
app/libs/anythink_splash.aar


BIN
app/libs/dy-task-sdk-2.0.7.aar


BIN
app/libs/gson-2.8.4.jar


BIN
app/libs/kssdk-ad--3.3.9-publishRelease-4ea04e00c.aar


BIN
app/libs/miit_mdid_1.0.10.aar


BIN
app/libs/open_ad_sdk_3.6.1.0.aar


BIN
app/libs/tramini_sdk.aar


BIN
app/libs/umeng-abtest-v1.0.0.aar


BIN
app/libs/umeng-asms-armeabi-v1.2.2.aar


BIN
app/libs/umeng-common-9.3.8.jar


BIN
app/libs/windAd-3.0.1.aar


+ 81 - 0
app/proguard-rules.pro

@@ -0,0 +1,81 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in E:\developSoftware\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 *;
+#}
+
+# Proguard Cocos2d-x-lite for release
+-keep public class com.cocos.** { *; }
+-dontwarn com.cocos.**
+
+# Proguard Apache HTTP for release
+-keep class org.apache.http.** { *; }
+-dontwarn org.apache.http.**
+
+# Proguard okhttp for release
+-keep class okhttp3.** { *; }
+-dontwarn okhttp3.**
+
+-keep class okio.** { *; }
+-dontwarn okio.**
+
+# Proguard Android Webivew for release. you can comment if you are not using a webview
+-keep public class android.net.http.SslError
+-keep public class android.webkit.WebViewClient
+
+-dontwarn android.webkit.WebView
+-dontwarn android.net.http.SslError
+-dontwarn android.webkit.WebViewClient
+
+-keep class com.bytedance.sdk.openadsdk.** { *; }
+-keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;}
+-keep class com.pgl.sys.ces.* {*;}
+-keep class com.qq.e.** {
+    public protected *;
+}
+-keep class android.support.v4.**{
+    public *;
+}
+-keep class android.support.v7.**{
+    public *;
+}
+-keep class MTT.ThirdAppInfoNew {
+    *;
+}
+-keep class com.tencent.** {
+    *;
+}
+-dontwarn dalvik.**
+-dontwarn com.tencent.smtt.**
+-keep class org.chromium.** {*;}
+-keep class org.chromium.** { *; }
+-keep class aegon.chrome.** { *; }
+-keep class com.kwai.**{ *; }
+-dontwarn com.kwai.**
+-dontwarn com.kwad.**
+-dontwarn com.ksad.**
+-dontwarn aegon.chrome.**
+
+-keep class com.tencent.mm.opensdk.** {
+    *;
+}
+
+-keep class com.tencent.wxop.** {
+    *;
+}
+
+-keep class com.tencent.mm.sdk.** {
+    *;
+}

+ 25 - 0
app/src/com/aries/kxnly/mz/ad/Constants.java

@@ -0,0 +1,25 @@
+package com.aries.kxnly.mz.ad;
+
+import com.aries.kxnly.mz.BuildConfig;
+
+public class Constants {
+    private static String allParam = BuildConfig.TOPON;
+
+    public static String APP_KEY = splitString(allParam)[1];
+    public static String APP_ID = splitString(allParam)[0];
+    //广告位
+    public static String SPLASH_AD_ID = splitString(allParam)[5];
+    public static String REWARD_AD_ID = splitString(allParam)[2];
+    public static String INTERSTITIAL_AD_ID = splitString(allParam)[3];
+    public static String NATIVE_AD_ID = splitString(allParam)[4];
+    public static String BANNER_AD_ID = splitString(allParam)[6];
+    public static String FULLSCREEN_AD_ID = splitString(allParam)[7];
+
+    /**
+     * 字符串分割
+     */
+    public static String[] splitString(String string) {
+        String strArr[] = string.split(",");
+        return strArr;
+    }
+}

+ 98 - 0
app/src/com/aries/kxnly/mz/ad/FullScreenAD.java

@@ -0,0 +1,98 @@
+package com.aries.kxnly.mz.ad;
+
+import android.app.Activity;
+import android.util.Log;
+
+import com.anythink.core.api.ATAdInfo;
+import com.anythink.core.api.AdError;
+import com.anythink.interstitial.api.ATInterstitial;
+import com.anythink.interstitial.api.ATInterstitialListener;
+import com.cocos.lib.CocosHelper;
+import com.cocos.lib.CocosJavascriptJavaBridge;
+
+public class FullScreenAD {
+
+    private Activity activity = null;
+    private ATInterstitial atInterstitial = null;
+
+    public FullScreenAD(Activity activity) {
+        this.atInterstitial = new ATInterstitial(activity, Constants.FULLSCREEN_AD_ID);
+        this.activity = activity;
+        resultListener();
+    }
+
+    private void resultListener() {
+        this.atInterstitial.setAdListener(new ATInterstitialListener() {
+            @Override
+            public void onInterstitialAdLoaded() {
+            }
+
+            @Override
+            public void onInterstitialAdLoadFail(AdError adError) {
+            }
+
+            @Override
+            public void onInterstitialAdClicked(ATAdInfo atAdInfo) {
+            }
+
+            @Override
+            public void onInterstitialAdShow(ATAdInfo atAdInfo) {
+                CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.adData.fullScreenADShow=true"));
+            }
+
+            @Override
+            public void onInterstitialAdClose(ATAdInfo atAdInfo) {
+                atInterstitial.load();
+            }
+
+            @Override
+            public void onInterstitialAdVideoStart(ATAdInfo atAdInfo) {
+
+            }
+
+            @Override
+            public void onInterstitialAdVideoEnd(ATAdInfo atAdInfo) {
+                CocosHelper.runOnGameThread(() -> {
+                    CocosJavascriptJavaBridge.evalString("g.adData.ad_type=8;" +
+                            "g.adData.destoon_ad_place='" + atAdInfo.getTopOnPlacementId() + "';" +
+                            "g.adData.adsource_id='" + atAdInfo.getAdsourceId() + "';" +
+                            "g.adData.network_firm_id=" + atAdInfo.getNetworkFirmId() + ";" +
+                            "g.adData.network_placement_id='" + atAdInfo.getNetworkPlacementId() + "';" +
+                            "g.adData.adsource_price=" + atAdInfo.getEcpm() + ";" +
+                            "g.adData.network_type='" + atAdInfo.getAdNetworkType() + "';" +
+                            "g.adData.adsource_index=" + atAdInfo.getAdsourceIndex() + ";" +
+                            "g.adData.adsource_isheaderbidding=" + atAdInfo.isHeaderBiddingAdsource() + ";" +
+                            "g.adData.adunit_format='" + atAdInfo.getTopOnAdFormat() + "';" +
+                            "g.adData.ecpm_level=" + atAdInfo.getEcpmLevel() + ";" +
+                            "g.adData.precision_ecpm='" + atAdInfo.getEcpmPrecision() + "';" +
+                            "g.adData.publisher_revenue=" + atAdInfo.getPublisherRevenue() + ";" +
+                            "g.adData.fullScreenADComplete=true;");
+                });
+            }
+
+            @Override
+            public void onInterstitialAdVideoError(AdError adError) {
+                Log.e("", "onInterstitialAdVideoError:" + adError.getFullErrorInfo());
+                CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.adData.fullScreenADError=true"));
+            }
+        });
+    }
+
+    /**
+     * 向外提供加载方法,以便快速反应
+     */
+    public void loadInterstitalAD() {
+        atInterstitial.load();
+    }
+
+    /**
+     * 展示插屏
+     */
+    public void showInterstitalAD() {
+        if (atInterstitial.isAdReady()) {
+            atInterstitial.show(activity);
+        } else {
+            atInterstitial.load();
+        }
+    }
+}

+ 96 - 0
app/src/com/aries/kxnly/mz/ad/InterstitalAD.java

@@ -0,0 +1,96 @@
+package com.aries.kxnly.mz.ad;
+
+import android.app.Activity;
+
+import com.anythink.core.api.ATAdInfo;
+import com.anythink.core.api.AdError;
+import com.anythink.interstitial.api.ATInterstitial;
+import com.anythink.interstitial.api.ATInterstitialListener;
+import com.cocos.lib.CocosHelper;
+import com.cocos.lib.CocosJavascriptJavaBridge;
+
+public class InterstitalAD {
+    private Activity activity = null;
+    private ATInterstitial atInterstitial = null;
+
+    public InterstitalAD(Activity activity) {
+        this.atInterstitial = new ATInterstitial(activity, Constants.INTERSTITIAL_AD_ID);
+        this.activity = activity;
+        resultListener();
+    }
+
+    private void resultListener() {
+        this.atInterstitial.setAdListener(new ATInterstitialListener() {
+            @Override
+            public void onInterstitialAdLoaded() {
+
+            }
+
+            @Override
+            public void onInterstitialAdLoadFail(AdError adError) {
+                CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.adData.interstitalADError=true"));
+            }
+
+            @Override
+            public void onInterstitialAdClicked(ATAdInfo atAdInfo) {
+            }
+
+            @Override
+            public void onInterstitialAdShow(ATAdInfo atAdInfo) {
+                CocosHelper.runOnGameThread(() -> {
+                    CocosJavascriptJavaBridge.evalString("g.adData.ad_type=2;" +
+                            "g.adData.destoon_ad_place='" + atAdInfo.getTopOnPlacementId() + "';" +
+                            "g.adData.adsource_id='" + atAdInfo.getAdsourceId() + "';" +
+                            "g.adData.network_firm_id=" + atAdInfo.getNetworkFirmId() + ";" +
+                            "g.adData.network_placement_id='" + atAdInfo.getNetworkPlacementId() + "';" +
+                            "g.adData.adsource_price=" + atAdInfo.getEcpm() + ";" +
+                            "g.adData.network_type='" + atAdInfo.getAdNetworkType() + "';" +
+                            "g.adData.adsource_index=" + atAdInfo.getAdsourceIndex() + ";" +
+                            "g.adData.adsource_isheaderbidding=" + atAdInfo.isHeaderBiddingAdsource() + ";" +
+                            "g.adData.adunit_format='" + atAdInfo.getTopOnAdFormat() + "';" +
+                            "g.adData.ecpm_level=" + atAdInfo.getEcpmLevel() + ";" +
+                            "g.adData.precision_ecpm='" + atAdInfo.getEcpmPrecision() + "';" +
+                            "g.adData.publisher_revenue=" + atAdInfo.getPublisherRevenue() + ";" +
+                            "g.adData.interstitalADShow=true;");
+                });
+
+            }
+
+            @Override
+            public void onInterstitialAdClose(ATAdInfo atAdInfo) {
+                atInterstitial.load();
+            }
+
+            @Override
+            public void onInterstitialAdVideoStart(ATAdInfo atAdInfo) {
+
+            }
+
+            @Override
+            public void onInterstitialAdVideoEnd(ATAdInfo atAdInfo) {
+            }
+
+            @Override
+            public void onInterstitialAdVideoError(AdError adError) {
+            }
+        });
+    }
+
+    /**
+     * 向外提供加载方法,以便快速反应
+     */
+    public void loadInterstitalAD() {
+        atInterstitial.load();
+    }
+
+    /**
+     * 展示插屏
+     */
+    public void showInterstitalAD() {
+        if (atInterstitial.isAdReady()) {
+            atInterstitial.show(activity);
+        } else {
+            atInterstitial.load();
+        }
+    }
+}

+ 146 - 0
app/src/com/aries/kxnly/mz/ad/NativeExpressAD.java

@@ -0,0 +1,146 @@
+package com.aries.kxnly.mz.ad;
+
+import android.app.Activity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+
+import com.anythink.core.api.ATAdConst;
+import com.anythink.core.api.ATAdInfo;
+import com.anythink.core.api.AdError;
+import com.anythink.nativead.api.ATNative;
+import com.anythink.nativead.api.ATNativeAdView;
+import com.anythink.nativead.api.ATNativeDislikeListener;
+import com.anythink.nativead.api.ATNativeEventExListener;
+import com.anythink.nativead.api.ATNativeNetworkListener;
+import com.anythink.nativead.api.NativeAd;
+import com.cocos.lib.CocosHelper;
+import com.cocos.lib.CocosJavascriptJavaBridge;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 原生信息流广告
+ */
+public class NativeExpressAD {
+    ATNative atNative;
+    ATNativeAdView atNativeAdView;
+    NativeAd nativeAd;
+
+    ViewGroup viewGroup;
+    Activity activity;
+
+    public NativeExpressAD(ViewGroup viewGroup, Activity activity) {
+        this.viewGroup = viewGroup;
+        this.activity = activity;
+    }
+
+    public void initNativeAd() {
+        atNative = new ATNative(activity, Constants.NATIVE_AD_ID, new ATNativeNetworkListener() {
+            @Override
+            public void onNativeAdLoaded() {
+                showNativeAD();
+            }
+
+            @Override
+            public void onNativeAdLoadFail(AdError adError) {
+                CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.adData.nativeExpressADError=true"));
+            }
+        });
+        if (atNativeAdView == null) {
+            atNativeAdView = new ATNativeAdView(activity);
+        }
+    }
+
+    public int adViewWidth, adViewHeight;
+
+    public void loadNativeAd() {
+        if (atNative != null) {
+            adViewWidth = activity.getResources().getDisplayMetrics().widthPixels;
+            adViewHeight = dip2px(300);
+            android.view.ViewGroup.LayoutParams pp = this.viewGroup.getLayoutParams();
+            pp.height = adViewHeight;
+            this.viewGroup.setLayoutParams(pp);
+
+            Map<String, Object> localMap = new HashMap<>();
+            localMap.put(ATAdConst.KEY.AD_WIDTH, adViewWidth);
+            localMap.put(ATAdConst.KEY.AD_HEIGHT, adViewHeight);
+
+            atNative.setLocalExtra(localMap);
+            atNative.makeAdRequest();
+        }
+    }
+
+    public void showNativeAD() {
+        if (this.atNative == null) {
+            return;
+        }
+        NativeAd nativeAd = atNative.getNativeAd();
+        if (nativeAd != null && atNativeAdView != null) {
+            atNativeAdView.removeAllViews();
+            if (atNativeAdView.getParent() == null) {//添加进入容器
+                viewGroup.addView(atNativeAdView, new FrameLayout.LayoutParams(adViewWidth, adViewHeight));
+            }
+        }
+
+        this.nativeAd = nativeAd;
+        this.nativeAd.setNativeEventListener(new ATNativeEventExListener() {
+            @Override
+            public void onDeeplinkCallback(ATNativeAdView atNativeAdView, ATAdInfo atAdInfo, boolean b) {
+            }
+
+            @Override
+            public void onAdImpressed(ATNativeAdView atNativeAdView, ATAdInfo atAdInfo) {
+                CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.adData.ad_type=3;" +
+                        "g.adData.destoon_ad_place='" + atAdInfo.getTopOnPlacementId() + "';" +
+                        "g.adData.adsource_id='" + atAdInfo.getAdsourceId() + "';" +
+                        "g.adData.network_firm_id=" + atAdInfo.getNetworkFirmId() + ";" +
+                        "g.adData.network_placement_id='" + atAdInfo.getNetworkPlacementId() + "';" +
+                        "g.adData.adsource_price=" + atAdInfo.getEcpm() + ";" +
+                        "g.adData.network_type='" + atAdInfo.getAdNetworkType() + "';" +
+                        "g.adData.adsource_index=" + atAdInfo.getAdsourceIndex() + ";" +
+                        "g.adData.adsource_isheaderbidding=" + atAdInfo.isHeaderBiddingAdsource() + ";" +
+                        "g.adData.adunit_format='" + atAdInfo.getTopOnAdFormat() + "';" +
+                        "g.adData.ecpm_level=" + atAdInfo.getEcpmLevel() + ";" +
+                        "g.adData.precision_ecpm='" + atAdInfo.getEcpmPrecision() + "';" +
+                        "g.adData.publisher_revenue=" + atAdInfo.getPublisherRevenue() + ";" +
+                        "g.adData.nativeExpressADShow=true;"));
+            }
+
+            @Override
+            public void onAdClicked(ATNativeAdView atNativeAdView, ATAdInfo atAdInfo) {
+            }
+
+            @Override
+            public void onAdVideoStart(ATNativeAdView atNativeAdView) {
+            }
+
+            @Override
+            public void onAdVideoEnd(ATNativeAdView atNativeAdView) {
+            }
+
+            @Override
+            public void onAdVideoProgress(ATNativeAdView atNativeAdView, int i) {
+            }
+        });
+        this.nativeAd.setDislikeCallbackListener(new ATNativeDislikeListener() {
+            @Override
+            public void onAdCloseButtonClick(ATNativeAdView atNativeAdView, ATAdInfo atAdInfo) {
+                viewGroup.setVisibility(View.GONE);
+            }
+        });
+        NativeRender render = new NativeRender(activity);
+        this.nativeAd.renderAdView(atNativeAdView, render);
+        this.nativeAd.prepare(atNativeAdView, render.getClickView(), null);
+    }
+
+    public int dip2px(float dipValue) {
+        float scale = activity.getResources().getDisplayMetrics().density;
+        return (int) (dipValue * scale + 0.5f);
+    }
+
+    public void changeAD(){
+        atNative.makeAdRequest();
+    }
+}

+ 213 - 0
app/src/com/aries/kxnly/mz/ad/NativeRender.java

@@ -0,0 +1,213 @@
+package com.aries.kxnly.mz.ad;
+
+import android.content.Context;
+import android.text.Html;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.anythink.nativead.api.ATNativeAdRenderer;
+import com.anythink.nativead.api.ATNativeImageView;
+import com.anythink.nativead.api.NativeAdInteractionType;
+import com.anythink.nativead.unitgroup.api.CustomNativeAd;
+import com.aries.kxnly.mz.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class NativeRender implements ATNativeAdRenderer<CustomNativeAd> {
+
+    Context mContext;
+    List<View> mClickView = new ArrayList<>();
+    List<View> mClickDownloadDirectViews = new ArrayList<>();
+    View mCloseView;
+
+    boolean isSelfHandleDownloadConfirm;
+
+    public NativeRender(Context context) {
+        mContext = context;
+    }
+
+    public void setWhetherSettingDownloadConfirmListener(boolean isSelfHandle) {
+        isSelfHandleDownloadConfirm = isSelfHandle;
+    }
+
+    View mDevelopView;
+
+    int mNetworkType;
+
+    @Override
+    public View createView(Context context, int networkType) {
+        if (mDevelopView == null) {
+            mDevelopView = LayoutInflater.from(context).inflate(R.layout.native_ad_item, null);
+        }
+        mNetworkType = networkType;
+        if (mDevelopView.getParent() != null) {
+            ((ViewGroup) mDevelopView.getParent()).removeView(mDevelopView);
+        }
+        return mDevelopView;
+    }
+
+    @Override
+    public void renderAdView(View view, CustomNativeAd ad) {
+        List<View> customDownloadViews = new ArrayList<>();
+        mClickView.clear();
+        TextView titleView = (TextView) view.findViewById(R.id.native_ad_title);
+        TextView descView = (TextView) view.findViewById(R.id.native_ad_desc);
+        TextView ctaView = (TextView) view.findViewById(R.id.native_ad_install_btn);
+        TextView adFromView = (TextView) view.findViewById(R.id.native_ad_from);
+        FrameLayout contentArea = (FrameLayout) view.findViewById(R.id.native_ad_content_image_area);
+        FrameLayout iconArea = (FrameLayout) view.findViewById(R.id.native_ad_image);
+        final ATNativeImageView logoView = (ATNativeImageView) view.findViewById(R.id.native_ad_logo);
+        View versionArea = view.findViewById(R.id.native_ad_version_area);
+        TextView versionTextView = view.findViewById(R.id.native_ad_version);
+        versionTextView.setText(Html.fromHtml("<u>" + "版本" + "</u>"));
+
+
+        if (mNetworkType == 8 && isSelfHandleDownloadConfirm) {
+            customDownloadViews.add(versionTextView);
+            versionTextView.setVisibility(View.VISIBLE);
+        } else {
+            versionTextView.setVisibility(View.GONE);
+        }
+        customDownloadViews.add(ctaView);
+
+        CustomNativeAd.ExtraInfo extraInfo = new CustomNativeAd.ExtraInfo.Builder()
+                .setCloseView(mCloseView)
+                .setCustomViewList(customDownloadViews)
+                .build();
+
+        ad.setExtraInfo(extraInfo);
+
+        mClickDownloadDirectViews = new ArrayList<>();
+        if (mNetworkType == 8 || mNetworkType == 22) {
+            mClickDownloadDirectViews.add(ctaView);
+        } else {
+            mClickView.add(ctaView);
+        }
+
+
+        titleView.setText("");
+        descView.setText("");
+        ctaView.setText("");
+        adFromView.setText("");
+        titleView.setText("");
+        contentArea.removeAllViews();
+        iconArea.removeAllViews();
+        logoView.setImageDrawable(null);
+
+        View mediaView = ad.getAdMediaView(contentArea, contentArea.getWidth());
+
+        Log.i("NativeDemoRender", "Ad Interaction type:" + (ad.getNativeAdInteractionType() == NativeAdInteractionType.APP_TYPE ? "Application" : "UNKNOW"));
+
+        if (ad.isNativeExpress()) {// 模板渲染(个性化模板、自动渲染)
+            titleView.setVisibility(View.GONE);
+            descView.setVisibility(View.GONE);
+            ctaView.setVisibility(View.GONE);
+            logoView.setVisibility(View.GONE);
+            iconArea.setVisibility(View.GONE);
+            if (mCloseView != null) {
+                mCloseView.setVisibility(View.GONE);
+            }
+            if (mediaView.getParent() != null) {
+                ((ViewGroup) mediaView.getParent()).removeView(mediaView);
+            }
+            versionArea.setVisibility(View.GONE);
+
+            contentArea.addView(mediaView, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT));
+            return;
+        }
+
+        // 自渲染(自定义渲染)
+
+        titleView.setVisibility(View.VISIBLE);
+        descView.setVisibility(View.VISIBLE);
+        ctaView.setVisibility(View.VISIBLE);
+        logoView.setVisibility(View.VISIBLE);
+        iconArea.setVisibility(View.VISIBLE);
+        versionArea.setVisibility(View.VISIBLE);
+        if (mCloseView != null) {
+            mCloseView.setVisibility(View.VISIBLE);
+        }
+        View adiconView = ad.getAdIconView();
+
+
+        final ATNativeImageView iconView = new ATNativeImageView(mContext);
+        if (adiconView == null) {
+            iconArea.addView(iconView);
+            iconView.setImage(ad.getIconImageUrl());
+            mClickView.add(iconView);
+        } else {
+            iconArea.addView(adiconView);
+        }
+
+
+        if (!TextUtils.isEmpty(ad.getAdChoiceIconUrl())) {
+            logoView.setImage(ad.getAdChoiceIconUrl());
+        } else {
+//            logoView.setImageResource(R.drawable.ad_logo);
+        }
+
+
+        if (mediaView != null) {
+            if (mediaView.getParent() != null) {
+                ((ViewGroup) mediaView.getParent()).removeView(mediaView);
+            }
+
+            contentArea.addView(mediaView, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT));
+
+        } else {
+
+            ATNativeImageView imageView = new ATNativeImageView(mContext);
+            imageView.setImage(ad.getMainImageUrl());
+
+            ViewGroup.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
+            imageView.setLayoutParams(params);
+            contentArea.addView(imageView, params);
+
+            mClickView.add(imageView);
+        }
+
+        titleView.setText(ad.getTitle());
+        descView.setText(ad.getDescriptionText());
+
+        if (!TextUtils.isEmpty(ad.getCallToActionText())) {
+            ctaView.setVisibility(View.VISIBLE);
+            ctaView.setText(ad.getCallToActionText());
+        } else {
+            ctaView.setVisibility(View.GONE);
+        }
+
+
+        if (!TextUtils.isEmpty(ad.getAdFrom())) {
+            adFromView.setText(ad.getAdFrom() != null ? ad.getAdFrom() : "");
+            adFromView.setVisibility(View.VISIBLE);
+        } else {
+            adFromView.setVisibility(View.GONE);
+        }
+
+        mClickView.add(titleView);
+        mClickView.add(descView);
+
+
+    }
+
+    public List<View> getClickView() {
+        return mClickView;
+    }
+
+    public void setCloseView(ImageView closeView) {
+        this.mCloseView = closeView;
+
+    }
+
+    public List<View> getDownloadDirectViews() {
+        return mClickDownloadDirectViews;
+    }
+}

+ 170 - 0
app/src/com/aries/kxnly/mz/ad/RewardVideoAD.java

@@ -0,0 +1,170 @@
+package com.aries.kxnly.mz.ad;
+
+import android.app.Activity;
+import android.util.Log;
+
+import com.anythink.core.api.ATAdInfo;
+import com.anythink.core.api.AdError;
+import com.anythink.rewardvideo.api.ATRewardVideoAd;
+import com.anythink.rewardvideo.api.ATRewardVideoExListener;
+import com.aries.kxnly.mz.BuildConfig;
+import com.aries.kxnly.mz.utils.ToastUtil;
+import com.aries.kxnly.mz.utils.UMUtil;
+import com.cocos.lib.CocosHelper;
+import com.cocos.lib.CocosJavascriptJavaBridge;
+
+import java.util.HashMap;
+
+public class RewardVideoAD {
+    private ATRewardVideoAd atRewardVideoAd;
+    private Activity activity;
+    private boolean isPlaying = false;
+
+    public RewardVideoAD(Activity activity) {
+        this.activity = activity;
+        this.atRewardVideoAd = new ATRewardVideoAd(activity, Constants.REWARD_AD_ID);
+        resultListener();
+    }
+
+    private void resultListener() {
+        atRewardVideoAd.setAdListener(new ATRewardVideoExListener() {
+            @Override
+            public void onDeeplinkCallback(ATAdInfo atAdInfo, boolean b) {
+            }
+
+            @Override
+            public void onRewardedVideoAdLoaded() {
+            }
+
+            @Override
+            public void onRewardedVideoAdFailed(AdError adError) {
+                Log.e("", "onRewardedVideoAdFailed================================================");
+//                atRewardVideoAd.load();
+//                CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.onRewardVideoADLoss()"));
+            }
+
+            @Override
+            public void onRewardedVideoAdPlayStart(ATAdInfo atAdInfo) {
+                isPlaying = true;
+
+                Log.e("", "激励视频播放开始=================================================广告平台ID为" + atAdInfo.getNetworkFirmId());
+
+//                CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.adData.rewardVideoADShow=true"));
+                CocosHelper.runOnGameThread(() -> {
+                    CocosJavascriptJavaBridge.evalString("" +
+                            "g.adData.ad_type=1;" +
+                            "g.adData.destoon_ad_place='" + atAdInfo.getTopOnPlacementId() + "';" +
+                            "g.adData.adsource_id='" + atAdInfo.getAdsourceId() + "';" +
+                            "g.adData.network_firm_id=" + atAdInfo.getNetworkFirmId() + ";" +
+                            "g.adData.network_placement_id='" + atAdInfo.getNetworkPlacementId() + "';" +
+                            "g.adData.adsource_price=" + atAdInfo.getEcpm() + ";" +
+                            "g.adData.network_type='" + atAdInfo.getAdNetworkType() + "';" +
+                            "g.adData.adsource_index=" + atAdInfo.getAdsourceIndex() + ";" +
+                            "g.adData.adsource_isheaderbidding=" + atAdInfo.isHeaderBiddingAdsource() + ";" +
+                            "g.adData.adunit_format='" + atAdInfo.getTopOnAdFormat() + "';" +
+                            "g.adData.ecpm_level=" + atAdInfo.getEcpmLevel() + ";" +
+                            "g.adData.precision_ecpm='" + atAdInfo.getEcpmPrecision() + "';" +
+                            "g.adData.publisher_revenue='" + atAdInfo.getPublisherRevenue() + "';" +
+                            "g.onRewardVideoADShow();");
+                });
+            }
+
+            @Override
+            public void onRewardedVideoAdPlayEnd(ATAdInfo atAdInfo) {
+                Log.e("", "激励视频播放结束=================================================");
+//                CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.onRewardVideoADLoss()"));
+            }
+
+            @Override
+            public void onRewardedVideoAdPlayFailed(AdError adError, ATAdInfo atAdInfo) {
+                Log.e("", "激励视频失败onRewardedVideoAdPlayFailed=================================================");
+
+//                CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.adData.rewardVideoADError=true;g.adData.rewardVideoADLoss=true"));
+
+                CocosHelper.runOnGameThread(() -> {
+                    CocosJavascriptJavaBridge.evalString("" +
+                            "g.adData.ad_type=1;" +
+                            "g.adData.destoon_ad_place='" + atAdInfo.getTopOnPlacementId() + "';" +
+                            "g.adData.adsource_id='" + atAdInfo.getAdsourceId() + "';" +
+                            "g.adData.network_firm_id=" + atAdInfo.getNetworkFirmId() + ";" +
+                            "g.adData.network_placement_id='" + atAdInfo.getNetworkPlacementId() + "';" +
+                            "g.adData.adsource_price=" + atAdInfo.getEcpm() + ";" +
+                            "g.adData.network_type='" + atAdInfo.getAdNetworkType() + "';" +
+                            "g.adData.adsource_index=" + atAdInfo.getAdsourceIndex() + ";" +
+                            "g.adData.adsource_isheaderbidding=" + atAdInfo.isHeaderBiddingAdsource() + ";" +
+                            "g.adData.adunit_format='" + atAdInfo.getTopOnAdFormat() + "';" +
+                            "g.adData.ecpm_level=" + atAdInfo.getEcpmLevel() + ";" +
+                            "g.adData.precision_ecpm='" + atAdInfo.getEcpmPrecision() + "';" +
+                            "g.adData.publisher_revenue='" + atAdInfo.getPublisherRevenue() + "';" +
+                            "g.onRewardVideoADError()");
+                });
+            }
+
+            @Override
+            public void onRewardedVideoAdClosed(ATAdInfo atAdInfo) {
+                Log.e("", "激励视频onRewardedVideoAdClosed=================================================");
+                atRewardVideoAd.load();
+                isPlaying = false;
+            }
+
+            @Override
+            public void onRewardedVideoAdPlayClicked(ATAdInfo atAdInfo) {
+
+            }
+
+            /**
+             * 奖励下发
+             * @param atAdInfo
+             */
+            @Override
+            public void onReward(ATAdInfo atAdInfo) {
+                /**
+                 * 视频完成 埋点
+                 */
+                HashMap<String, String> map = new HashMap<String, String>();
+                map.put("channel", BuildConfig.TF_CHANNEL);
+                UMUtil.getInstance()._UMSDKEventMap(activity, "videoEnd", map);
+
+                Log.e("", "激励视频奖励回调完成=================================================");
+
+                CocosHelper.runOnGameThread(() -> {
+                    CocosJavascriptJavaBridge.evalString("" +
+                            "g.adData.ad_type=1;" +
+                            "g.adData.destoon_ad_place='" + atAdInfo.getTopOnPlacementId() + "';" +
+                            "g.adData.adsource_id='" + atAdInfo.getAdsourceId() + "';" +
+                            "g.adData.network_firm_id=" + atAdInfo.getNetworkFirmId() + ";" +
+                            "g.adData.network_placement_id='" + atAdInfo.getNetworkPlacementId() + "';" +
+                            "g.adData.adsource_price=" + atAdInfo.getEcpm() + ";" +
+                            "g.adData.network_type='" + atAdInfo.getAdNetworkType() + "';" +
+                            "g.adData.adsource_index=" + atAdInfo.getAdsourceIndex() + ";" +
+                            "g.adData.adsource_isheaderbidding=" + atAdInfo.isHeaderBiddingAdsource() + ";" +
+                            "g.adData.adunit_format='" + atAdInfo.getTopOnAdFormat() + "';" +
+                            "g.adData.ecpm_level=" + atAdInfo.getEcpmLevel() + ";" +
+                            "g.adData.precision_ecpm='" + atAdInfo.getEcpmPrecision() + "';" +
+                            "g.adData.publisher_revenue='" + atAdInfo.getPublisherRevenue() + "';" +
+                            "g.onRewardVideoADComplete();");
+                });
+            }
+        });
+    }
+
+    /**
+     * 向外提供加载方法,以便快速反应
+     */
+    public void loadRewardVideoAD() {
+        atRewardVideoAd.load();
+    }
+
+    /**
+     * 展示激励
+     */
+    public void showRewardVideoAD() {
+        if (atRewardVideoAd.isAdReady() && !isPlaying) {
+            atRewardVideoAd.show(activity);
+        } else if (!atRewardVideoAd.isAdReady()) {
+            atRewardVideoAd.load();
+            CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.onRewardVideoADLoss()"));
+            ToastUtil.makeShortToast(activity, "视频加载中,请稍后重试");
+        }
+    }
+}

+ 100 - 0
app/src/com/aries/kxnly/mz/ad/SplashADActivity.java

@@ -0,0 +1,100 @@
+package com.aries.kxnly.mz.ad;//package com.aries.kxnly.mz.ad;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.util.Log;
+import android.widget.FrameLayout;
+
+import com.anythink.core.api.ATAdInfo;
+import com.anythink.core.api.AdError;
+import com.anythink.splashad.api.ATSplashAd;
+import com.anythink.splashad.api.ATSplashAdListener;
+import com.aries.kxnly.mz.R;
+import com.cocos.game.MainActivity;
+import com.cocos.game.MainApplication;
+
+public class SplashADActivity extends Activity implements ATSplashAdListener {
+    private static String VERSION_KEY = "version_key";
+
+    private FrameLayout content = null;
+
+    private ATSplashAd atSplashAd = null;
+
+    private String adInfo = "";
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.splash_ad);
+
+        this.content = findViewById(R.id.splash_content);
+        atSplashAd = new ATSplashAd(this, Constants.SPLASH_AD_ID, this);
+        if (atSplashAd.isAdReady()) {
+            atSplashAd.show(this, content);
+        } else {
+            atSplashAd.loadAd();
+        }
+    }
+
+    @Override
+    public void onAdLoaded() {
+        atSplashAd.show(this, content);
+    }
+
+    @Override
+    public void onNoAdError(AdError adError) {
+        jumpToMainActivity();
+    }
+
+    @Override
+    public void onAdShow(ATAdInfo atAdInfo) {
+        adInfo = "try{var adData = g?g.adData:{};}catch(error){adData={}}" +
+                "adData.isJSB=true;adData.destoon_ad_place='" + atAdInfo.getTopOnPlacementId() + "';" +
+                "adData.adsource_id='" + atAdInfo.getAdsourceId() + "';" +
+                "adData.network_firm_id=" + atAdInfo.getNetworkFirmId() + ";" +
+                "adData.network_placement_id='" + atAdInfo.getNetworkPlacementId() + "';" +
+                "adData.adsource_price=" + atAdInfo.getEcpm() + ";" +
+                "adData.network_type='" + atAdInfo.getAdNetworkType() + "';" +
+                "adData.adsource_index=" + atAdInfo.getAdsourceIndex() + ";" +
+                "adData.adsource_isheaderbidding=" + atAdInfo.isHeaderBiddingAdsource() + ";" +
+                "adData.adunit_format='" + atAdInfo.getTopOnAdFormat() + "';" +
+                "adData.ecpm_level=" + atAdInfo.getEcpmLevel() + ";" +
+                "adData.precision_ecpm='" + atAdInfo.getEcpmPrecision() + "';" +
+                "adData.publisher_revenue='" + atAdInfo.getPublisherRevenue() + "';" +
+                "adData.splashADShow=true;";
+        MainApplication.getInstance().splashAdInfo = adInfo;
+    }
+
+    @Override
+    public void onAdClick(ATAdInfo atAdInfo) {
+    }
+
+    @Override
+    public void onAdDismiss(ATAdInfo atAdInfo) {
+        jumpToMainActivity();
+    }
+
+    /**
+     * 跳转游戏
+     */
+    public void jumpToMainActivity() {
+//        Intent intent = new Intent(this, MainActivity.class);
+//        if (adInfo != "") {
+//            intent.putExtra("splashAdInfo", adInfo);
+//            adInfo = "";//制空
+//        }
+//        startActivity(intent);
+//        overridePendingTransition(0, 0);
+        finish();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        if (atSplashAd != null) {
+            atSplashAd.onDestory();
+        }
+    }
+}

+ 43 - 0
app/src/com/aries/kxnly/mz/receiver/DownloadObserver.java

@@ -0,0 +1,43 @@
+
+package com.aries.kxnly.mz.receiver;
+
+import android.app.DownloadManager;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.database.Cursor;
+import android.os.Handler;
+import android.util.Log;
+
+import com.cocos.lib.CocosHelper;
+import com.cocos.lib.CocosJavascriptJavaBridge;
+
+public class DownloadObserver extends ContentObserver {
+    private long downid;
+    private Handler handler;
+    private Context context;
+
+    public DownloadObserver(Handler handler, Context context, long downid) {
+        super(handler);
+        this.handler = handler;
+        this.downid = downid;
+        this.context = context;
+    }
+
+    @Override
+    public void onChange(boolean selfChange) {
+        super.onChange(selfChange);
+        DownloadManager.Query query = new DownloadManager.Query().setFilterById(downid);
+        DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
+        Cursor cursor = downloadManager.query(query);
+        while (cursor.moveToNext()) {
+            int downloadBytesIdx = cursor.getColumnIndexOrThrow(
+                    DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR);
+            int totalBytesIdx = cursor.getColumnIndexOrThrow(
+                    DownloadManager.COLUMN_TOTAL_SIZE_BYTES);
+            double totalBytes = (double) cursor.getLong(totalBytesIdx);
+            double downloadBytes = (double) cursor.getLong(downloadBytesIdx);
+            double mProgress = downloadBytes * 10 / totalBytes / 10;
+            CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.deviceData.downloadAPKProgress=" + mProgress));
+        }
+    }
+}

+ 23 - 0
app/src/com/aries/kxnly/mz/receiver/DownloadReceiver.java

@@ -0,0 +1,23 @@
+package com.aries.kxnly.mz.receiver;
+
+import android.app.DownloadManager;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.database.Cursor;
+import android.net.Uri;
+import android.util.Log;
+
+import com.aries.kxnly.mz.utils.DownloadUtil;
+import com.aries.kxnly.mz.utils.ToastUtil;
+
+public class DownloadReceiver extends BroadcastReceiver {
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        ToastUtil.makeLongToast(context, "下载完毕...");
+        DownloadManager manager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
+        long completeDownloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);
+        DownloadUtil.apkList.add(DownloadUtil.apkMap.get(completeDownloadId));
+        DownloadUtil.installApk(context, DownloadUtil.apkList.get(0));
+    }
+}

+ 27 - 0
app/src/com/aries/kxnly/mz/receiver/InstallReceiver.java

@@ -0,0 +1,27 @@
+package com.aries.kxnly.mz.receiver;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+
+import com.aries.kxnly.mz.utils.CheckUtil;
+import com.aries.kxnly.mz.utils.DownloadUtil;
+
+public class InstallReceiver extends BroadcastReceiver {
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) {
+            DownloadUtil.getFilePath("sim-nc.apk").delete();
+        }
+
+        if (Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) {
+            DownloadUtil.getFilePath("sim-nc.apk").delete();
+
+        }
+
+        if (Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction())) {
+            DownloadUtil.getFilePath("sim-nc.apk").delete();
+        }
+    }
+}

+ 54 - 0
app/src/com/aries/kxnly/mz/utils/CheckUtil.java

@@ -0,0 +1,54 @@
+package com.aries.kxnly.mz.utils;
+
+import android.app.Activity;
+import android.app.ActivityManager;
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+
+import com.aries.kxnly.mz.BuildConfig;
+import com.cocos.lib.CocosHelper;
+import com.cocos.lib.CocosJavascriptJavaBridge;
+
+import java.util.List;
+
+public class CheckUtil {
+    /**
+     * 检查版本,渠道号
+     */
+    public static void checkVersion(Context context) {
+        PackageManager packageManager = context.getPackageManager();
+        String appVersion = null;
+        try {
+            PackageInfo info = packageManager.getPackageInfo(context.getPackageName(), 0);
+            appVersion = info.versionName;
+        } catch (PackageManager.NameNotFoundException e) {
+            e.printStackTrace();
+        }
+        if (appVersion != null) {
+            String finalAppVersion = appVersion;
+            CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.deviceData.version='" + finalAppVersion + "';g.deviceData.channel='" + BuildConfig.TF_CHANNEL + "';"));
+        }
+    }
+
+    /**
+     * 程序是否在前台
+     *
+     * @return
+     */
+    public static boolean isOnForeground(Context context) {
+        ActivityManager activityManager = (ActivityManager) context.getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
+        String packageName = context.getApplicationContext().getPackageName();
+        List<ActivityManager.RunningAppProcessInfo> appProcessInfos = activityManager.getRunningAppProcesses();
+        if (appProcessInfos == null) {
+            return false;
+        }
+        for (ActivityManager.RunningAppProcessInfo appProcess : appProcessInfos) {
+            if (appProcess.processName.equals(packageName)
+                    && appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
+                return true;
+            }
+        }
+        return false;
+    }
+}

+ 100 - 0
app/src/com/aries/kxnly/mz/utils/DownloadUtil.java

@@ -0,0 +1,100 @@
+package com.aries.kxnly.mz.utils;
+
+import android.annotation.SuppressLint;
+import android.app.DownloadManager;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.net.Uri;
+import android.os.Build;
+import android.os.Environment;
+import android.os.Handler;
+import android.support.v4.content.FileProvider;
+
+import com.aries.kxnly.mz.receiver.DownloadObserver;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 下载工具类
+ */
+public class DownloadUtil {
+    public static Map<Long, String> apkMap = new HashMap<>();
+
+    public static List<String> apkList = new ArrayList<>();
+
+    /**
+     * 下载APK
+     *
+     * @param url
+     * @param name
+     */
+    @SuppressLint("HandlerLeak")
+    public static void downloadApk(Context context, String url, String name, boolean visibility) {
+        DownloadUtil.getFilePath("sim-nc.apk").delete();
+        DownloadUtil.getFilePath(name).delete();
+
+        DownloadManager manager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
+        DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
+        request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);//允许下载的网络
+        request.setNotificationVisibility(visibility ? DownloadManager.Request.VISIBILITY_VISIBLE : DownloadManager.Request.VISIBILITY_HIDDEN);//通知栏显示
+        request.setAllowedOverRoaming(false);//设置漫游
+        request.setVisibleInDownloadsUi(true);
+        ToastUtil.makeShortToast(context, "正在下载...");
+        File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), name);//下载至”下载“位置
+        request.setDestinationUri(Uri.fromFile(file));
+        long downloadId = manager.enqueue(request);//触发下载存储下载ID
+        apkMap.put(downloadId, name);
+        context.getContentResolver().registerContentObserver(Uri.parse("content://downloads/my_downloads"), true, new DownloadObserver(new Handler(), context, downloadId));
+    }
+
+    /**
+     * 安装应用
+     *
+     * @param context
+     * @param name
+     */
+    public static void installApk(Context context, String name) {
+        File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), name);
+        if (!file.exists()) {
+            return;
+        }
+        String[] command = {"chmod", "777", file.toString()};
+        ProcessBuilder builder = new ProcessBuilder(command);
+        try {
+            builder.start();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        Intent intent = new Intent(Intent.ACTION_VIEW);
+        // 由于没有在Activity环境下启动Activity,设置下面的标签
+        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {//android 7.0
+            Uri apkUri = FileProvider.getUriForFile(context, context.getPackageName() + ".fileprovider", file);
+            //添加这一句表示对目标应用临时授权该Uri所代表的文件
+            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
+            intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
+        } else {
+            intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
+        }
+        context.startActivity(intent);
+    }
+
+    /**
+     * 根据路径获取文件
+     *
+     * @return
+     */
+    public static File getFilePath(String path) {
+        File outputFile = new File(Environment.getExternalStoragePublicDirectory
+                (Environment.DIRECTORY_DOWNLOADS), path);
+        return outputFile;
+    }
+}

+ 93 - 0
app/src/com/aries/kxnly/mz/utils/MiitHelper.java

@@ -0,0 +1,93 @@
+package com.aries.kxnly.mz.utils;
+
+import android.content.Context;
+import android.util.Log;
+
+import com.bun.miitmdid.core.ErrorCode;
+import com.bun.miitmdid.core.IIdentifierListener;
+import com.bun.miitmdid.core.MdidSdk;
+import com.bun.miitmdid.core.MdidSdkHelper;
+import com.bun.miitmdid.supplier.IdSupplier;
+import com.cocos.game.MainActivity;
+
+public class MiitHelper implements IIdentifierListener {
+
+    private AppIdsUpdater _listener;
+
+    public MiitHelper(AppIdsUpdater callback) {
+        _listener = callback;
+    }
+
+
+    public void getDeviceIds(Context cxt) {
+        long timeb = System.currentTimeMillis();
+        int nres = CallFromReflect(cxt);
+        //        int nres=DirectCall(cxt);
+        long timee = System.currentTimeMillis();
+        long offset = timee - timeb;
+        if (nres == ErrorCode.INIT_ERROR_DEVICE_NOSUPPORT) {//1008612 不支持的设备
+            MainActivity.setIsSupportOaid(false, nres);
+        } else if (nres == ErrorCode.INIT_ERROR_LOAD_CONFIGFILE) {//1008613 加载配置文件出错
+            MainActivity.setIsSupportOaid(false, nres);
+        } else if (nres == ErrorCode.INIT_ERROR_MANUFACTURER_NOSUPPORT) {//1008611 不支持的设备厂商
+            MainActivity.setIsSupportOaid(false, nres);
+        } else if (nres == ErrorCode.INIT_ERROR_RESULT_DELAY) {//1008614 获取接口是异步的,结果会在回调中返回,回调执行的回调可能在工作线程
+            //TODO 这种情况,还不清楚怎么解决呢。暂且先返false
+            MainActivity.setIsSupportOaid(false, nres);
+        } else if (nres == ErrorCode.INIT_HELPER_CALL_ERROR) {//1008615 反射调用出错
+            MainActivity.setIsSupportOaid(false, nres);
+        }
+        Log.d(getClass().getSimpleName(), "return value: " + String.valueOf(nres));
+    }
+
+
+    /*
+     * 通过反射调用,解决android 9以后的类加载升级,导至找不到so中的方法
+     *
+     * */
+    private int CallFromReflect(Context cxt) {
+        return MdidSdkHelper.InitSdk(cxt, true, this);
+    }
+
+    /*
+     * 直接java调用,如果这样调用,在android 9以前没有题,在android 9以后会抛找不到so方法的异常
+     * 解决办法是和JLibrary.InitEntry(cxt),分开调用,比如在A类中调用JLibrary.InitEntry(cxt),在B类中调用MdidSdk的方法
+     * A和B不能存在直接和间接依赖关系,否则也会报错
+     *
+     * */
+    private int DirectCall(Context cxt) {
+        MdidSdk sdk = new MdidSdk();
+        return sdk.InitSdk(cxt, this);
+    }
+
+    @Override
+    public void OnSupport(boolean isSupport, IdSupplier _supplier) {
+        if (_supplier == null) {
+            return;
+        }
+       /* String oaid=_supplier.getOaid();
+        String vaid=_supplier.getVAID();
+        String aaid=_supplier.getAAID();
+        String udid=_supplier.getUDID();
+        StringBuilder builder=new StringBuilder();
+        builder.append("support: ").append(isSupport?"true":"false").append("\n");
+        builder.append("UDID: ").append(udid).append("\n");
+        builder.append("OAID: ").append(oaid).append("\n");
+        builder.append("VAID: ").append(vaid).append("\n");
+        builder.append("AAID: ").append(aaid).append("\n");
+        String idstext=builder.toString();*/
+
+        MainActivity.setIsSupportOaid(isSupport);
+
+        String oaid = _supplier.getOAID();
+        _supplier.shutDown();           //关闭接口
+        if (_listener != null) {
+            _listener.OnIdsAvalid(oaid);
+        }
+    }
+
+    public interface AppIdsUpdater {
+        void OnIdsAvalid(String ids);
+    }
+
+}

+ 118 - 0
app/src/com/aries/kxnly/mz/utils/MobileInfoUtil.java

@@ -0,0 +1,118 @@
+package com.aries.kxnly.mz.utils;
+
+import android.Manifest;
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+import android.os.Build;
+import android.provider.Settings;
+import android.support.v4.app.ActivityCompat;
+import android.telephony.TelephonyManager;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+
+/**
+ * 获取手机信息工具
+ */
+public class MobileInfoUtil {
+
+    /**
+     * 获取IMEI
+     */
+    @SuppressLint("HardwareIds")
+    public String getIMEI(Context context) {
+        String result = "";
+        TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
+        if (telephonyManager != null) {
+            //版本小于8
+            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
+                if (ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
+                    result = telephonyManager.getDeviceId();
+                }
+            } else {
+                if (ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
+                    result = telephonyManager.getImei();
+                }
+            }
+        }
+        return result == null ? "" : result;
+    }
+
+    /**
+     * 获取AndroidID
+     */
+    public String getAndroidID(Context context) {
+        String result = "";
+        result = Settings.System.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
+        return result == null ? "" : result;
+    }
+
+    /**
+     * 获取MAC地址
+     */
+    public String getMac(Context context) {
+        String result = null;
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
+            result = getLocalMacAddressFromWifiInfo(context);
+        } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+            result = getMac();
+        }
+        String[] str = result.split(",");
+        if (str.length > 0) {
+            result = str[0];
+        }
+        return result == null ? "" : result;
+    }
+
+    /**
+     * wifi信息获取本地mac
+     */
+    private String getLocalMacAddressFromWifiInfo(Context context) {
+        WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+        WifiInfo winfo = wifi.getConnectionInfo();
+        String result = winfo.getMacAddress();
+        return result == null ? "" : result;
+    }
+
+    /**
+     * mac地址
+     */
+    public String getMac() {
+        String macSerial = null;
+        String str = "";
+        String result = "";
+        try {
+            Process pp = Runtime.getRuntime().exec("ip addr");
+            InputStreamReader ir = new InputStreamReader(pp.getInputStream());
+            LineNumberReader input = new LineNumberReader(ir);
+            for (; null != str; ) {
+                str = input.readLine();
+                if (str != null) {
+                    macSerial = str.trim();// 去空格
+                    if (macSerial.indexOf("link/ether") != -1) {
+                        if (macSerial.split(" ").length >= 2) {
+                            if (result.equals("")) {
+                                result = macSerial.split(" ")[1];
+                            } else {
+                                result = result.concat(",").concat(macSerial.split(" ")[1]);
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (IOException ex) {
+        }
+        return result == null ? "" : result;
+    }
+
+    /**
+     * 获取ApplicationId
+     */
+    public static String getApplicationId(Context context) {
+        return context.getApplicationInfo().processName;
+    }
+}

+ 18 - 0
app/src/com/aries/kxnly/mz/utils/ToastUtil.java

@@ -0,0 +1,18 @@
+package com.aries.kxnly.mz.utils;
+
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+import android.widget.Toast;
+
+public class ToastUtil {
+    private static final Handler sHandler = new Handler(Looper.getMainLooper());
+
+    public synchronized static void makeShortToast(final Context context, final String msg) {
+        sHandler.post(() -> Toast.makeText(context, "" + msg, Toast.LENGTH_SHORT).show());
+    }
+
+    public synchronized static void makeLongToast(final Context context, final String msg) {
+        sHandler.post(() -> Toast.makeText(context, "" + msg, Toast.LENGTH_LONG).show());
+    }
+}

+ 138 - 0
app/src/com/aries/kxnly/mz/utils/UMUtil.java

@@ -0,0 +1,138 @@
+package com.aries.kxnly.mz.utils;
+
+import android.app.Application;
+import android.content.Context;
+import android.util.Log;
+
+import com.aries.kxnly.mz.BuildConfig;
+import com.umeng.analytics.MobclickAgent;
+import com.umeng.commonsdk.UMConfigure;
+
+import java.util.Map;
+
+public class UMUtil {
+
+
+    public Application _myapp = null;
+
+    private static UMUtil mInstace = null;
+    public static UMUtil getInstance() {
+        if (null == mInstace) {
+            mInstace = new UMUtil();
+        }
+        return mInstace;
+    }
+
+    public void _UMSDKInit(){
+        if(_myapp == null){
+            Log.e("UMSDKHelper","_myapp  is  null !!!!");
+            return;
+        }
+
+        UMConfigure.init(_myapp, BuildConfig.UM_AID, BuildConfig.UM_CHANNEL, UMConfigure.DEVICE_TYPE_PHONE,
+                BuildConfig.UM_SECRET);
+
+//        Log.e("UMSDKHelper",UMConfigure.getTestDeviceInfo(_myapp)[0]);
+//        Log.e("UMSDKHelper",UMConfigure.getTestDeviceInfo(_myapp)[1]);
+    }
+
+    public  void _UMSDKLogin(String v){
+        MobclickAgent.onProfileSignIn(v);
+    }
+
+    public  void _UMSDKLogout(){
+        MobclickAgent.onProfileSignOff();
+    }
+
+//    public  void _UMSDKInitPush(){
+//        Log.e("UMSDKHelper","_UMSDKInitPush !!!!");
+//
+//        if(_myapp == null){
+//            Log.e("UMSDKHelper","_myapp  is null !!!!");
+//            return;
+//        }
+//        PushAgent mPushAgent = PushAgent.getInstance(_myapp);
+//
+//        mPushAgent.register(new IUmengRegisterCallback() {
+//            @Override
+//            public void onSuccess(String deviceToken) {
+//                //注册成功会返回deviceToken
+//                Log.i("deviceToken",deviceToken);
+//
+//            }
+//            @Override
+//            public void onFailure(String s, String s1) {
+//                Log.i("onFailure",s + " " + s1);
+//
+//            }
+//        });
+//
+//        mPushAgent.onAppStart();
+//
+//
+//        VivoRegister.register(_myapp);
+//    }
+
+    //开启自动统计日活,新增
+    public void _UMSDKStartAuto(){
+        MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
+    }
+
+    //开启手动统计,需要在Activity的onResume/onPause函数中手动调用
+    // MobclickAgent.onResume/MobclickAgent.onPause函数,
+    // 保证正确统计应用使用时长、启动、活跃等基础指标
+    public void _UMSDKStartManual(){
+        MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.MANUAL);
+    }
+
+    //支持在子进程中统计自定义事件,默认关闭
+    public void _UMSDKProcessEvent(){
+        UMConfigure.setProcessEvent(true);
+    }
+
+    /*
+        event id长度不能超过128个字节,key不能超过128个字节,value不能超过256个字节
+        id、ts、du、token、device_name、device_model 、device_brand、country、city、channel、province、
+        appkey、app_version、access、launch、pre_app_version、terminate、no_first_pay、
+        is_newpayer、first_pay_at、first_pay_level、first_pay_source、
+        first_pay_user_level、first_pay_versio是保留字段,不能作为event id 及key的名称;
+        如需要统计支付金额、使用时长等数值型的连续变量,请使用计算事件
+        (不允许通过key-value结构来统计类似搜索关键词,网页链接等随机生成的字符串信息)
+    */
+
+    //事件
+    public void _UMSDKEvent(Context context, String eventID){
+        MobclickAgent.onEvent(context,eventID);
+    }
+    //带标签的事件
+    public void _UMSDKEventLabel(Context context, String eventID, String label){
+        Log.d("PPPPP", "aaaaaaaaaa  ");
+        MobclickAgent.onEvent(context,eventID,label);
+    }
+
+
+    /*
+       统计点击行为各属性被触发的事件
+       HashMap<String,String> map = new HashMap<String,String>();
+       map.put("type","book");
+       map.put("quantity","3");
+       UMSDKHelper.getInstance()._UMSDKEventMap(context,"xxx",map);
+    */
+    public void _UMSDKEventMap(Context context, String eventID, Map<String, String> map){
+        MobclickAgent.onEvent(context, eventID, map);
+    }
+
+    /*
+       统计点击行为各属性被触发的事件.带参数类型:String,Integer,Long,Short,Float,Double
+       Map<String, Object> music = new HashMap<String, Object>();
+       music.put("music_type", "popular");//自定义属性:音乐类型,值:流行
+       music.put("singer", "JJ"); //歌手:(林俊杰)JJ
+       music.put("song_name","A_Thousand_Years_Later"); //歌名:一千年以后
+       UMSDKHelper.getInstance()._UMSDKEventMap(context,"xxx",music);
+    */
+    public void _UMSDKEventObject(Context context, String eventID, Map<String, Object> map){
+        MobclickAgent.onEventObject(context, eventID, map);
+    }
+
+
+}

+ 91 - 0
app/src/com/aries/kxnly/mz/utils/WechatUtil.java

@@ -0,0 +1,91 @@
+package com.aries.kxnly.mz.utils;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+
+import com.aries.kxnly.mz.BuildConfig;
+import com.aries.kxnly.mz.R;
+import com.tencent.mm.opensdk.constants.ConstantsAPI;
+import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
+import com.tencent.mm.opensdk.modelmsg.SendAuth;
+import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
+import com.tencent.mm.opensdk.modelmsg.WXMediaMessage;
+import com.tencent.mm.opensdk.modelmsg.WXWebpageObject;
+import com.tencent.mm.opensdk.openapi.IWXAPI;
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
+
+/**
+ * 微信工具
+ */
+public class WechatUtil {
+    public static final String APP_ID = BuildConfig.WX_APP_ID;
+    public static IWXAPI api;
+
+    /**
+     * 将应用注册到微信
+     */
+    public static void regToWX(Context context) {
+        api = WXAPIFactory.createWXAPI(context, APP_ID, true);
+        api.registerApp(APP_ID);
+        context.registerReceiver(new BroadcastReceiver() {
+            @Override
+            public void onReceive(Context context, Intent intent) {
+                api.registerApp(APP_ID);
+            }
+        }, new IntentFilter(ConstantsAPI.ACTION_REFRESH_WXAPP));
+    }
+
+    /**
+     * 微信登录
+     */
+    public static void wxLogin(Context context) {
+        if (!api.isWXAppInstalled()) {
+            ToastUtil.makeShortToast(context, "您还未安装微信!");
+            return;
+        }
+        SendAuth.Req req = new SendAuth.Req();
+        req.scope = "snsapi_userinfo";
+        req.state = "diandi_wx_login";
+        api.sendReq(req);
+    }
+
+    /**
+     * 分享到微信
+     * flag 0:分享到好友
+     * flag 1:分享到朋友圈
+     */
+    public static void shareLinkToWX(final int flag, Context context, String url, String title, String descroption) {
+        if (!api.isWXAppInstalled()) {
+            ToastUtil.makeShortToast(context, "您还未安装微信!");
+            return;
+        }
+        WXWebpageObject webPage = new WXWebpageObject();
+        webPage.webpageUrl = url;
+        WXMediaMessage msg = new WXMediaMessage(webPage);
+        msg.title = title;
+        msg.description = descroption;
+        Bitmap bitmao = BitmapFactory.decodeResource(context.getResources(), R.drawable.share_icon);
+        msg.setThumbImage(bitmao);
+        SendMessageToWX.Req req = new SendMessageToWX.Req();
+        req.transaction = String.valueOf(System.currentTimeMillis());
+        req.message = msg;
+        req.scene = flag == 0 ? SendMessageToWX.Req.WXSceneSession : SendMessageToWX.Req.WXSceneTimeline;
+        api.sendReq(req);
+    }
+
+    /**
+     * 打开微信小程序
+     */
+    public static void openWXApplets(Context context, String userName, String appletsPath) {
+        IWXAPI api = WXAPIFactory.createWXAPI(context, BuildConfig.WX_APP_ID, true);
+        WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
+        req.userName = userName; // 填小程序原始id
+        req.path = appletsPath;                  ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
+        req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版
+        api.sendReq(req);
+    }
+}

+ 99 - 0
app/src/com/aries/kxnly/mz/wxapi/WXEntryActivity.java

@@ -0,0 +1,99 @@
+package com.aries.kxnly.mz.wxapi;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.util.Log;
+
+import com.aries.kxnly.mz.BuildConfig;
+import com.aries.kxnly.mz.utils.UMUtil;
+import com.aries.kxnly.mz.utils.WechatUtil;
+import com.cocos.lib.CocosHelper;
+import com.cocos.lib.CocosJavascriptJavaBridge;
+import com.tencent.mm.opensdk.constants.ConstantsAPI;
+import com.tencent.mm.opensdk.modelbase.BaseReq;
+import com.tencent.mm.opensdk.modelbase.BaseResp;
+import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
+import com.tencent.mm.opensdk.modelmsg.SendAuth;
+import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
+import com.umeng.analytics.MobclickAgent;
+
+import java.util.HashMap;
+
+/**
+ * 该 Activity 为接收微信回跳 处理回调
+ */
+public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
+    private static final int RETURN_MSG_TYPE_LOGIN = 1;
+    private static final int RETURN_MSG_TYPE_SHARE = 2;
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        WechatUtil.api.handleIntent(getIntent(), this);
+    }
+
+    @Override
+    public void onReq(BaseReq baseReq) {
+    }
+
+    @Override
+    public void onResp(BaseResp baseResp) {
+        switch (baseResp.errCode) {
+            case BaseResp.ErrCode.ERR_USER_CANCEL:
+            case BaseResp.ErrCode.ERR_AUTH_DENIED:
+                if (RETURN_MSG_TYPE_LOGIN == baseResp.getType()) {
+                    /**
+                     * 微信登录失败埋点
+                     */
+                    HashMap<String, String> map = new HashMap<String, String>();
+                    map.put("channel", BuildConfig.TF_CHANNEL);
+                    UMUtil.getInstance()._UMSDKEventMap(this, "wxLoginFail", map);
+                }
+                finish();
+                break;
+            case BaseResp.ErrCode.ERR_OK:
+                switch (baseResp.getType()) {
+                    case RETURN_MSG_TYPE_SHARE:
+                        CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.wechatData.shareSuccess=" + true + ";"));
+                        /**
+                         * 微信分享成功埋点
+                         */
+                        HashMap<String, String> map = new HashMap<String, String>();
+                        map.put("channel", BuildConfig.TF_CHANNEL);
+                        UMUtil.getInstance()._UMSDKEventMap(this, "inviteSuccess", map);
+                        finish();
+                        break;
+                    case RETURN_MSG_TYPE_LOGIN:
+                        //获取
+                        String code = ((SendAuth.Resp) baseResp).code;
+                        CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.wechatData.code='" + code + "';"));
+                        finish();
+                        break;
+                    case ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM:
+                        WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) baseResp;
+                        String extraData = launchMiniProResp.extMsg;
+                        break;
+                }
+                break;
+            default:
+                finish();
+        }
+    }
+
+    @Override
+    public void onPointerCaptureChanged(boolean hasCapture) {
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MobclickAgent.onResume(this);
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        MobclickAgent.onPause(this);
+    }
+}

+ 480 - 0
app/src/com/cocos/game/MainActivity.java

@@ -0,0 +1,480 @@
+package com.cocos.game;
+
+import android.Manifest;
+import android.app.Activity;
+import android.content.ClipData;
+import android.content.ClipboardManager;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
+import android.content.res.Configuration;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.v4.app.ActivityCompat;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.RelativeLayout;
+
+import com.anythink.splashad.api.ATSplashAd;
+import com.aries.kxnly.mz.BuildConfig;
+import com.aries.kxnly.mz.R;
+import com.aries.kxnly.mz.ad.FullScreenAD;
+import com.aries.kxnly.mz.ad.InterstitalAD;
+import com.aries.kxnly.mz.ad.NativeExpressAD;
+import com.aries.kxnly.mz.ad.RewardVideoAD;
+import com.aries.kxnly.mz.ad.SplashADActivity;
+import com.aries.kxnly.mz.utils.CheckUtil;
+import com.aries.kxnly.mz.utils.DownloadUtil;
+import com.aries.kxnly.mz.utils.MiitHelper;
+import com.aries.kxnly.mz.utils.MobileInfoUtil;
+import com.aries.kxnly.mz.utils.UMUtil;
+import com.aries.kxnly.mz.utils.WechatUtil;
+import com.cocos.lib.CocosActivity;
+import com.cocos.lib.CocosHelper;
+import com.cocos.lib.CocosJavascriptJavaBridge;
+import com.cocos.service.SDKWrapper;
+import com.duoyou.task.openapi.DyAdApi;
+import com.umeng.analytics.MobclickAgent;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+public class MainActivity extends CocosActivity {
+
+    public static Activity app;
+
+    private static boolean isSupportOaid = true;
+
+    private static final int REQUEST_PERMISSIONS_CODE = 100;
+
+    private static int errorCode;
+
+    private static String OAID;
+
+    private static RewardVideoAD rewardVideoAD;
+    private static InterstitalAD interstitalAD;
+    private static FullScreenAD fullScreenAD;
+    //    private static BannerAD bannerAD;
+    private static NativeExpressAD nativeExpressAD;
+
+    //    private static ViewGroup viewGroup;
+    private static RelativeLayout relativeLayout;
+
+
+    private static MobileInfoUtil mobileInfoUtil;
+    private View splash;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (!isTaskRoot()) {
+            return;
+        }
+
+        SDKWrapper.shared().init(this);
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);//屏幕常亮
+
+        app = this;
+        firstStart();
+        new MiitHelper(appIdsUpdater).getDeviceIds(this);
+        splash = LayoutInflater.from(this).inflate(R.layout.splash, null);
+        mFrameLayout.addView(splash);
+        initLoadAD();
+
+    }
+
+    public static boolean isSupportOaid() {
+        return isSupportOaid;
+    }
+
+    public static void setIsSupportOaid(boolean isSupportOaid) {
+        MainActivity.isSupportOaid = isSupportOaid;
+    }
+
+    public static void setIsSupportOaid(boolean isSupportOaid, int ErrorCode) {
+        MainActivity.isSupportOaid = isSupportOaid;
+        MainActivity.errorCode = ErrorCode;
+    }
+
+    private MiitHelper.AppIdsUpdater appIdsUpdater = ids -> MainActivity.OAID = ids;
+
+    /**
+     * 初始化预加载广告
+     */
+    public static void initLoadAD() {
+        rewardVideoAD = new RewardVideoAD(app);
+        rewardVideoAD.loadRewardVideoAD();
+        interstitalAD = new InterstitalAD(app);
+        interstitalAD.loadInterstitalAD();
+        fullScreenAD = new FullScreenAD(app);
+        fullScreenAD.loadInterstitalAD();
+
+        //横幅广告设置布局文件
+//        View layoutBanner = LayoutInflater.from(app).inflate(R.layout.banner_ad, null);
+//        mFrameLayout.addView(layoutBanner);
+//        viewGroup = app.findViewById(R.id.banner_container);
+//        bannerAD = new BannerAD(app, viewGroup);
+//        bannerAD.loadBannerAD();
+//        viewGroup.setVisibility(View.GONE);
+
+        //原生广告设置布局文件
+        View layoutNative = LayoutInflater.from(app).inflate(R.layout.native_ad, null);
+        mFrameLayout.addView(layoutNative);
+        relativeLayout = app.findViewById(R.id.container);
+        nativeExpressAD = new NativeExpressAD(relativeLayout, app);
+        nativeExpressAD.initNativeAd();
+        nativeExpressAD.loadNativeAd();
+        relativeLayout.setVisibility(View.GONE);
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        SDKWrapper.shared().onResume();
+        hideBottomUIMenu();
+        MobclickAgent.onResume(this);
+        /**
+         * 检测开屏数据
+         */
+        if (MainApplication.getInstance().splashAdInfo != null && !MainApplication.getInstance().splashAdInfo.equals("")) {
+            CocosHelper.runOnGameThread(() -> {
+                String splashAdInfo = MainApplication.getInstance().splashAdInfo + "";
+                CocosJavascriptJavaBridge.evalString(splashAdInfo);
+                MainApplication.getInstance().splashAdInfo = null;
+            });
+        }
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        SDKWrapper.shared().onPause();
+        MobclickAgent.onPause(this);
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        if (!isTaskRoot()) {
+            return;
+        }
+        SDKWrapper.shared().onDestroy();
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        SDKWrapper.shared().onActivityResult(requestCode, resultCode, data);
+    }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        SDKWrapper.shared().onNewIntent(intent);
+    }
+
+    @Override
+    protected void onRestart() {
+        super.onRestart();
+        SDKWrapper.shared().onRestart();
+        hideBottomUIMenu();
+        SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE);
+        long lastTime = pref.getLong("time", 0);
+        if (lastTime != -1 && (System.currentTimeMillis() - lastTime) > 40000) {
+            jumpToSplashActivity();
+        }
+        if (DownloadUtil.apkList.size() > 0) {
+            DownloadUtil.installApk(this, DownloadUtil.apkList.get(0));
+        }
+
+    }
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+        SDKWrapper.shared().onStop();
+        SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVATE).edit();
+        if (!CheckUtil.isOnForeground(this)) {
+            editor.putLong("time", System.currentTimeMillis());
+        } else {
+            editor.putLong("time", -1);
+        }
+        editor.commit();
+        if (!DownloadUtil.apkList.isEmpty()) {
+            DownloadUtil.apkList.remove(0);
+        }
+    }
+
+    /**
+     * 跳转广告
+     */
+    public void jumpToSplashActivity() {
+        Intent intent = new Intent(this, SplashADActivity.class);
+        startActivity(intent);
+        overridePendingTransition(0, 0);
+    }
+
+    public void firstStart() {
+        boolean isFirstRun = hasPermissions();
+        if (isFirstRun) {
+            jumpToSplashActivity();//拉开屏广告
+        }
+    }
+
+    @Override
+    public void onBackPressed() {
+        SDKWrapper.shared().onBackPressed();
+        super.onBackPressed();
+        hideBottomUIMenu();
+    }
+
+    @Override
+    public void onConfigurationChanged(Configuration newConfig) {
+        SDKWrapper.shared().onConfigurationChanged(newConfig);
+        super.onConfigurationChanged(newConfig);
+    }
+
+    @Override
+    protected void onRestoreInstanceState(Bundle savedInstanceState) {
+        SDKWrapper.shared().onRestoreInstanceState(savedInstanceState);
+        super.onRestoreInstanceState(savedInstanceState);
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        SDKWrapper.shared().onSaveInstanceState(outState);
+        super.onSaveInstanceState(outState);
+    }
+
+    @Override
+    protected void onStart() {
+        SDKWrapper.shared().onStart();
+        super.onStart();
+        hideBottomUIMenu();
+    }
+
+    @Override
+    public void onLowMemory() {
+        SDKWrapper.shared().onLowMemory();
+        super.onLowMemory();
+    }
+
+    /**
+     * 检查是否具有权限
+     */
+    public static boolean hasPermissions() {
+        if (PackageManager.PERMISSION_GRANTED == ActivityCompat.checkSelfPermission(app, Manifest.permission.READ_PHONE_STATE)) {
+            return PackageManager.PERMISSION_GRANTED == ActivityCompat.checkSelfPermission(app, Manifest.permission.WRITE_EXTERNAL_STORAGE);
+        }
+        return false;
+    }
+
+    /**
+     * 检查权限若不具有则申请
+     */
+    public static void checkCPermissions() {
+        List<String> listPermissions = new ArrayList<>();
+        if (PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(app, Manifest.permission.READ_PHONE_STATE)) {
+            listPermissions.add(Manifest.permission.READ_PHONE_STATE);
+        }
+        if (PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(app, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
+            listPermissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
+        }
+        //权限申请
+        if (listPermissions.size() != 0) {
+            String[] temp = new String[listPermissions.size()];
+            listPermissions.toArray(temp);
+            ActivityCompat.requestPermissions(app, temp, REQUEST_PERMISSIONS_CODE);//请求权限
+        } else {
+            mobileInfoUtil = new MobileInfoUtil();
+            setDeviceInfo();
+        }
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        if (requestCode == REQUEST_PERMISSIONS_CODE) {
+            if (!hasPermissions()) {
+                finish();
+            } else {
+                mobileInfoUtil = new MobileInfoUtil();
+                setDeviceInfo();
+            }
+        }
+    }
+
+    /**
+     * 游戏运行成功请求
+     */
+    public static void setDeviceInfo() {
+        if (!hasPermissions()) {
+            return;
+        }
+        CheckUtil.checkVersion(app);
+        CocosHelper.runOnGameThread(() -> CocosJavascriptJavaBridge.evalString("g.deviceData.imei='" + mobileInfoUtil.getIMEI(app) + "';g.deviceData.oaid='" + OAID + "';g.deviceData.androId='" + mobileInfoUtil.getAndroidID(app) + "';g.deviceData.mac='" + mobileInfoUtil.getMac(app) + "';"));
+        //多玩游戏列表接入
+        DyAdApi.getDyAdApi().init(app, "dy_59635583", "4a8733e0dc51df641f52091759b0342d", BuildConfig.TF_CHANNEL, false);
+        DyAdApi.getDyAdApi().setOAID(OAID);
+    }
+
+    /**
+     * 虚拟按键遮挡问题
+     */
+    protected void hideBottomUIMenu() {
+        View decorView = getWindow().getDecorView();
+        int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
+                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
+                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
+                | View.SYSTEM_UI_FLAG_FULLSCREEN; // hide status bar
+
+        if (android.os.Build.VERSION.SDK_INT >= 19) {
+            uiFlags |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;    //View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY: hide navigation bars - compatibility: building API level is lower thatn 19, use magic number directly for higher API target level
+        } else {
+            uiFlags |= View.SYSTEM_UI_FLAG_LOW_PROFILE;
+        }
+        decorView.setSystemUiVisibility(uiFlags);
+        //处理bar弹出生成后无法隐藏
+        getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(arg0 -> {
+            hideBottomUIMenu();
+        });
+    }
+
+    /**
+     * 下载APK
+     */
+    public static void downloadAPK(String url, String apkName, boolean visibility) {
+        app.runOnUiThread(() -> DownloadUtil.downloadApk(app, url, apkName, visibility));
+    }
+
+    /**
+     * 展示激励视频
+     */
+    public static void showRewardVideoAD() {
+        rewardVideoAD.showRewardVideoAD();
+    }
+
+    /**
+     * 展示插屏广告
+     */
+    public static void showInterstutalAD() {
+        interstitalAD.showInterstitalAD();
+    }
+
+    /**
+     * 展示全屏广告
+     */
+    public static void showFullScreenAD() {
+        fullScreenAD.showInterstitalAD();
+    }
+
+//    /**
+//     * 展示横幅广告
+//     */
+//    public static void showBannerAD() {
+//        app.runOnUiThread(() -> {
+//            viewGroup.setVisibility(View.VISIBLE);
+//        });
+//    }
+//
+//    public static void removeBannerAD() {
+//        app.runOnUiThread(() -> {
+//            viewGroup.setVisibility(View.GONE);
+//        });
+//    }
+
+    public static void showNativeAD() {
+        app.runOnUiThread(() -> {
+            relativeLayout.setVisibility(View.VISIBLE);
+        });
+    }
+
+    public static void removeNativeAD() {
+        app.runOnUiThread(() -> {
+            relativeLayout.setVisibility(View.GONE);
+            nativeExpressAD.changeAD();
+        });
+    }
+
+    public static void removeSplash() {
+        app.runOnUiThread(() -> {
+            mFrameLayout.removeView(((MainActivity) app).splash);
+        });
+    }
+
+    /**
+     * 微信登录
+     */
+    public static void wxLogin() {
+        WechatUtil.wxLogin(app);
+    }
+
+    /**
+     * 微信分享
+     */
+    public static void wxShare(String url, String title, String descroption) {
+        WechatUtil.shareLinkToWX(0, app, url, title, descroption);
+    }
+
+    /**
+     * 友盟埋点统计
+     * 1、dayLogin 每日登录视频点击
+     * 2、turntable 转盘抽奖视频点击
+     * 3、dailyReward 每日奖励观看
+     * 4、freeRewardAD 主界面可领取视频观看
+     * 5、growVegetables 种菜点击
+     * 6、videoExpansion 视频扩充土地
+     * 7、lvReward 等级奖励点击
+     */
+    public static void umBuriedPoint(String eventID) {
+        //埋点主线程上报
+        app.runOnUiThread(() -> {
+            HashMap<String, String> map = new HashMap<String, String>();
+            map.put("channel", BuildConfig.TF_CHANNEL);
+            UMUtil.getInstance()._UMSDKEventMap(app, eventID, map);
+        });
+
+
+    }
+
+    /**
+     * 打开URL
+     */
+    public static void openUrl(String url) {
+        Uri uri = Uri.parse(url);
+        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
+        app.startActivity(intent);
+    }
+
+    /**
+     * 打开微信小程序
+     */
+    public static void openWXApplets(String userName, String path) {
+        WechatUtil.openWXApplets(app, userName, path);
+    }
+
+    /**
+     * 进入游戏列表
+     */
+    public static void intoGameList(String userId) {
+        DyAdApi.getDyAdApi().jumpAdList(app, userId, 0);
+    }
+
+    /**
+     * 拷贝
+     */
+    public static void copyText(String text) {
+        //获取剪贴板管理器:
+        ClipboardManager cm = (ClipboardManager) app.getSystemService(app.CLIPBOARD_SERVICE);
+        // 创建普通字符型ClipData
+        ClipData mClipData = ClipData.newPlainText("Label", text);
+        // 将ClipData内容放到系统剪贴板里。
+        cm.setPrimaryClip(mClipData);
+    }
+}
+

+ 41 - 0
app/src/com/cocos/game/MainApplication.java

@@ -0,0 +1,41 @@
+package com.cocos.game;
+
+import android.app.Application;
+import android.util.Log;
+
+import com.anythink.core.api.ATSDK;
+import com.aries.kxnly.mz.BuildConfig;
+import com.aries.kxnly.mz.ad.Constants;
+import com.aries.kxnly.mz.utils.MobileInfoUtil;
+import com.aries.kxnly.mz.utils.WechatUtil;
+import com.bun.miitmdid.core.JLibrary;
+import com.duoyou.task.openapi.DyAdApi;
+import com.umeng.analytics.MobclickAgent;
+import com.umeng.commonsdk.UMConfigure;
+
+public class MainApplication extends Application {
+    private static MainApplication instance;
+    public static MainApplication getInstance(){
+        return instance;
+    }
+    public String splashAdInfo;
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        instance = this;
+        WechatUtil.regToWX(this);
+
+        JLibrary.InitEntry(this);
+
+//        ATSDK.setNetworkLogDebug(true);//需要关闭
+        ATSDK.integrationChecking(getApplicationContext());
+//        Log.e("MainActivity", "TOPON SDK版本:" + ATSDK.getSDKVersionName());//SDK版本
+        ATSDK.init(getApplicationContext(), Constants.APP_ID, Constants.APP_KEY);
+
+        //友盟接入
+        UMConfigure.init(this, BuildConfig.UM_AID, BuildConfig.TF_CHANNEL, UMConfigure.DEVICE_TYPE_PHONE, BuildConfig.UM_SECRET);
+//        UMConfigure.setLogEnabled(true);//打开SDK调试模式
+        MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);//AUTO模式页面采集
+//        UMConfigure.setProcessEvent(true);
+    }
+}

+ 8 - 0
build-cfg.json

@@ -0,0 +1,8 @@
+{
+    "ndk_module_path" :[
+        "${COCOS_ROOT}",
+        "${COCOS_ROOT}/cocos",
+        "${COCOS_ROOT}/external"
+    ],
+    "copy_resources": []
+}

+ 29 - 0
build.gradle

@@ -0,0 +1,29 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+
+    repositories {
+        google()
+        jcenter()
+    }
+    dependencies {
+        classpath 'com.android.tools.build:gradle:4.1.0'
+
+        // NOTE: Do not place your application dependencies here; they belong
+        // in the individual module build.gradle files
+    }
+}
+
+allprojects {
+    repositories {
+        google()
+        jcenter()
+        flatDir {
+            dirs 'libs'
+        }
+    }
+}
+
+task clean(type: Delete) {
+    delete rootProject.buildDir
+}

BIN
gradle/wrapper/gradle-wrapper.jar


+ 5 - 0
gradle/wrapper/gradle-wrapper.properties

@@ -0,0 +1,5 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-bin.zip
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists

+ 183 - 0
gradlew

@@ -0,0 +1,183 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+##
+##  Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+        PRG="$link"
+    else
+        PRG=`dirname "$PRG"`"/$link"
+    fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+    echo "$*"
+}
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+  CYGWIN* )
+    cygwin=true
+    ;;
+  Darwin* )
+    darwin=true
+    ;;
+  MINGW* )
+    msys=true
+    ;;
+  NONSTOP* )
+    nonstop=true
+    ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+        JAVACMD="$JAVA_HOME/bin/java"
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD="java"
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+    MAX_FD_LIMIT=`ulimit -H -n`
+    if [ $? -eq 0 ] ; then
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+            MAX_FD="$MAX_FD_LIMIT"
+        fi
+        ulimit -n $MAX_FD
+        if [ $? -ne 0 ] ; then
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
+        fi
+    else
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+    fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+    JAVACMD=`cygpath --unix "$JAVACMD"`
+
+    # We build the pattern for arguments to be converted via cygpath
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+    SEP=""
+    for dir in $ROOTDIRSRAW ; do
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
+        SEP="|"
+    done
+    OURCYGPATTERN="(^($ROOTDIRS))"
+    # Add a user-defined pattern to the cygpath arguments
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+    fi
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    i=0
+    for arg in "$@" ; do
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
+
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+        else
+            eval `echo args$i`="\"$arg\""
+        fi
+        i=`expr $i + 1`
+    done
+    case $i in
+        0) set -- ;;
+        1) set -- "$args0" ;;
+        2) set -- "$args0" "$args1" ;;
+        3) set -- "$args0" "$args1" "$args2" ;;
+        4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+        5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+        6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+        7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+        8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+        9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+    esac
+fi
+
+# Escape application args
+save () {
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+    echo " "
+}
+APP_ARGS=`save "$@"`
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"

+ 100 - 0
gradlew.bat

@@ -0,0 +1,100 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem      https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega

+ 29 - 0
jni/main.cpp

@@ -0,0 +1,29 @@
+/****************************************************************************
+ Copyright (c) 2017-2020 Xiamen Yaji Software Co., Ltd.
+
+ http://www.cocos.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated engine source code (the "Software"), a limited,
+ worldwide, royalty-free, non-assignable, revocable and non-exclusive license
+ to use Cocos Creator solely to develop games on your target platforms. You shall
+ not use Cocos Creator software for developing other software or tools that's
+ used for developing games. You are not granted to publish, distribute,
+ sublicense, and/or sell copies of Cocos Creator.
+
+ The software or tools in this License Agreement are licensed, not sold.
+ Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ ****************************************************************************/
+#include "Game.h"
+
+cc::Application *cocos_main(int width, int height) {
+    return new Game(width, height);
+}

+ 8 - 0
local.properties

@@ -0,0 +1,8 @@
+## This file must *NOT* be checked into Version Control Systems,
+# as it contains information specific to your local configuration.
+#
+# Location of the SDK. This is only used by Gradle.
+# For customization when using a Version Control System, please read the
+# header note.
+#Thu Apr 15 09:03:10 CST 2021
+sdk.dir=D\:\\Android\\Sdk

+ 38 - 0
proj/build/HappyFarm/generated/source/buildConfig/debug/com/aries/kxnly/mz/BuildConfig.java

@@ -0,0 +1,38 @@
+/**
+ * Automatically generated file. DO NOT MODIFY
+ */
+package com.aries.kxnly.mz;
+
+public final class BuildConfig {
+  public static final boolean DEBUG = Boolean.parseBoolean("true");
+  public static final String APPLICATION_ID = "com.aries.kxnly.mz";
+  public static final String BUILD_TYPE = "debug";
+  public static final int VERSION_CODE = 2;
+  public static final String VERSION_NAME = "1.0.2";
+  // Field from build type: debug
+  public static final String JL_AID = "215656";    	  //巨量appid;
+  // Field from build type: debug
+  public static final String JL_CHANNEL = "juliang";    //巨量渠道;
+  // Field from build type: debug
+  public static final String KS_AID = "67132";        //快手appid;
+  // Field from build type: debug
+  public static final String KS_ANAME = "LegendOfNavigation";      //快手appname;
+  // Field from build type: debug
+  public static final String KS_CHANNEL = "kuaishou";    //快手渠道;
+  // Field from build type: debug
+  public static final String TF_CHANNEL = "1";    //1 巨量 2 快手 3 广点通;
+  // Field from build type: debug
+  public static final String TOPON = "a6078f65457f6f,66b742dd0e502b64d783d9c66a9d30c4,b6078f6a006916,b6078f6ddebed2,b6078f6fe52b70,b6078f72ec4003,b6078f711d7007"; //巨量渠道topon的 AppId,AppSecreate,激励视频,插屏,信息流,开屏, banner;
+  // Field from build type: debug
+  public static final String UM_AID = "607ea8095844f15425dff5c6";        //友盟appid;
+  // Field from build type: debug
+  public static final String UM_CHANNEL = "yingyongbao_kaixinnongleyuan";    //友盟渠道;
+  // Field from build type: debug
+  public static final String UM_SECRET = "432e41656d8208c94c9a59c134a0b2cb";     //友盟秘钥;
+  // Field from build type: debug
+  public static final String WX_APP_ID = "wx3c0cc2f730c5ad5a";  //微信appid;
+  // Field from build type: debug
+  public static final String YYB_AID = "215656";
+  // Field from build type: debug
+  public static final String YYB_CHANNEL = "yingyongbao_kaixinnongleyuan";
+}

+ 1 - 0
proj/build/HappyFarm/intermediates/annotation_processor_list/debug/annotationProcessors.json

@@ -0,0 +1 @@
+{}

+ 10 - 0
proj/build/HappyFarm/intermediates/compatible_screen_manifest/debug/output-metadata.json

@@ -0,0 +1,10 @@
+{
+  "version": 2,
+  "artifactType": {
+    "type": "COMPATIBLE_SCREEN_MANIFEST",
+    "kind": "Directory"
+  },
+  "applicationId": "com.aries.kxnly.mz",
+  "variantName": "debug",
+  "elements": []
+}

+ 17 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/compile-file-map.properties

@@ -0,0 +1,17 @@
+#Tue Apr 27 14:57:59 CST 2021
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\drawable\\ad_logo.png=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\drawable_ad_logo.png.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\drawable\\share_icon.png=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\drawable_share_icon.png.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\layout\\native_ad_item.xml=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\layout_native_ad_item.xml.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\mipmap-hdpi\\ic_launcher.png=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\mipmap-hdpi_ic_launcher.png.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\drawable\\ad_close.png=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\drawable_ad_close.png.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\xml\\anythink_bk_tt_file_path.xml=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\xml_anythink_bk_tt_file_path.xml.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\layout\\splash_ad.xml=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\layout_splash_ad.xml.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\mipmap-mdpi\\ic_launcher.png=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\mipmap-mdpi_ic_launcher.png.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\layout\\banner_ad.xml=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\layout_banner_ad.xml.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\xml\\anythink_bk_gdt_file_path.xml=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\xml_anythink_bk_gdt_file_path.xml.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\drawable\\loading_bg.jpg=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\drawable_loading_bg.jpg.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\xml\\file_path.xml=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\xml_file_path.xml.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\mipmap-xhdpi\\ic_launcher.png=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\mipmap-xhdpi_ic_launcher.png.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\mipmap-xxhdpi\\ic_launcher.png=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\mipmap-xxhdpi_ic_launcher.png.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\layout\\splash.xml=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\layout_splash.xml.flat
+F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\res\\layout\\native_ad.xml=F\:\\CocosProjects\\MOKA-SIM-NC-Client\\native\\engine\\android\\proj\\build\\HappyFarm\\intermediates\\res\\merged\\debug\\layout_native_ad.xml.flat

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-af/values-af.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Navigeer tuis"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Navigeer op"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Nog opsies"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Klaar"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Sien alles"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Kies \'n program"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"AF"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"AAN"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Soek …"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Vee navraag uit"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Soeknavraag"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Soek"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Dien navraag in"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Stemsoektog"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Deel met"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Deel met <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Vou in"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Soek"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-am/values-am.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"ወደ መነሻ ይዳስሱ"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"ወደ ላይ ይዳስሱ"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"ተጨማሪ አማራጮች"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"ተከናውኗል"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"ሁሉንም ይመልከቱ"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"መተግበሪያ ይምረጡ"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"ጠፍቷል"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"በርቷል"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"ፈልግ…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"መጠይቅ አጽዳ"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"የፍለጋ ጥያቄ"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"ፍለጋ"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"መጠይቅ ያስረክቡ"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"የድምፅ ፍለጋ"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"ከሚከተለው ጋር ያጋሩ"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"ከ<ns1:g id="APPLICATION_NAME">%s</ns1:g> ጋር አጋራ"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"ሰብስብ"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"ፈልግ"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-ar/values-ar.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"التنقل إلى الشاشة الرئيسية"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"التنقل إلى أعلى"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"خيارات إضافية"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"تم"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"عرض الكل"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"اختيار تطبيق"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"إيقاف"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"تشغيل"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"بحث…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"محو طلب البحث"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"طلب البحث"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"بحث"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"إرسال طلب البحث"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"البحث الصوتي"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"مشاركة مع"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"مشاركة مع <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"تصغير"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"البحث"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"+999"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-az/values-az.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Evə naviqasiya et"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Yuxarı get"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Digər variantlar"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Hazırdır"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Hamısına baxın"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Tətbiq seçin"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"DEAKTİV"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"AKTİV"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Axtarış..."</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Sorğunu təmizlə"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Axtarış sorğusu"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Axtarış"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Sorğunu göndərin"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Səsli axtarış"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Bununla paylaşın"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"<ns1:g id="APPLICATION_NAME">%s</ns1:g> ilə paylaşın"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Yığışdırın"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Axtarış"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-b+sr+Latn/values-b+sr+Latn.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Odlazak na Početnu"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Kretanje nagore"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Još opcija"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Gotovo"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Prikaži sve"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Izbor aplikacije"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"ISKLJUČI"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"UKLJUČI"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Pretražite..."</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Brisanje upita"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Upit za pretragu"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Pretraga"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Slanje upita"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Glasovna pretraga"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Deli sa"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Deljenje sa aplikacijom <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Skupi"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Pretraži"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">">999"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-be/values-be.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Перайсці на галоўную старонку"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Перайсці ўверх"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Дадатковыя параметры"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Гатова"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Прагледзець усё"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Выбраць праграму"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"ВЫКЛ."</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"УКЛ."</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Пошук..."</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Выдалiць запыт"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Запыт на пошук"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Пошук"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Адправіць запыт"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Галасавы пошук"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Абагуліць з"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Абагуліць праз праграму <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Згарнуць"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Пошук"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"больш за 999"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-bg/values-bg.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Придвижване към „Начало“"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Придвижване нагоре"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Още опции"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Готово"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Вижте всички"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Изберете приложение"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"ИЗКЛ."</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ВКЛ."</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Търсете…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Изчистване на заявката"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Заявка за търсене"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Търсене"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Изпращане на заявката"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Гласово търсене"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Споделяне със:"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Споделяне със: <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Свиване"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Търсене"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-bn/values-bn.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"হোম এ নেভিগেট করুন"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"উপরের দিকে নেভিগেট করুন"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"আরও বিকল্প"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"সম্পন্ন হয়েছে"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"সবগুলো দেখুন"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"একটি অ্যাপ্লিকেশান বেছে নিন"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"বন্ধ"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"চালু"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"অনুসন্ধান..."</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"ক্যোয়ারী সাফ করুন"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"ক্যোয়ারী খুঁজুন"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"খুঁজুন"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"ক্যোয়ারী জমা দিন"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"ভয়েস অনুসন্ধান"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"এর সাথে শেয়ার করুন"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"<ns1:g id="APPLICATION_NAME">%s</ns1:g> এর সাথে শেয়ার করুন"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"সঙ্কুচিত করুন"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"খুঁজুন"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"৯৯৯+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-bs/values-bs.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Vrati se na početnu stranicu"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Navigiraj prema gore"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Više opcija"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Gotovo"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Prikaži sve"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Odaberite aplikaciju"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"ISKLJUČI"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"UKLJUČI"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Pretraži..."</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Obriši upit"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Pretraži upit"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Traži"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Pošalji upit"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Glasovno pretraživanje"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Podijeli sa"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Podijeli koristeći aplikaciju <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Skupi"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Pretraži"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">">999"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-ca/values-ca.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Navega a la pàgina d\'inici"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Navega cap a dalt"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Més opcions"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Fet"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Mostra\'ls tots"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Selecciona una aplicació"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"DESACTIVAT"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ACTIVAT"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Cerca..."</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Esborra la consulta"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Consulta de cerca"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Cerca"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Envia la consulta"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Cerca per veu"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Comparteix amb"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Comparteix amb <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Replega"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Cerca"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"+999"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-cs/values-cs.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Přejít na plochu"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Přejít nahoru"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Více možností"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Hotovo"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Zobrazit vše"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Vybrat aplikaci"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"VYPNUTO"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ZAPNUTO"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Vyhledat…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Smazat dotaz"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Vyhledávací dotaz"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Hledat"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Odeslat dotaz"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Hlasové vyhledávání"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Sdílet pomocí"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Sdílet s aplikací <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Sbalit"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Hledat"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-da/values-da.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Naviger hjem"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Naviger op"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Flere muligheder"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Luk"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Se alle"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Vælg en app"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"FRA"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"TIL"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Søg…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Ryd forespørgslen"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Søgeforespørgsel"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Søg"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Indsend forespørgslen"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Talesøgning"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Del med"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Del med <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Skjul"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Søg"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-de/values-de.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Zur Startseite"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Nach oben"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Weitere Optionen"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Fertig"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Alle ansehen"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"App auswählen"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"Aus"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"An"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Suchen…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Suchanfrage löschen"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Suchanfrage"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Suchen"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Suchanfrage senden"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Sprachsuche"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Freigeben für"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Mit <ns1:g id="APPLICATION_NAME">%s</ns1:g> teilen"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Minimieren"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Suchen"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-el/values-el.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Πλοήγηση στην αρχική σελίδα"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Πλοήγηση προς τα επάνω"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Περισσότερες επιλογές"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Τέλος"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Προβολή όλων"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Επιλέξτε κάποια εφαρμογή"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"ΑΠΕΝΕΡΓΟΠΟΙΗΣΗ"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ΕΝΕΡΓΟΠΟΙΗΣΗ"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Αναζήτηση…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Διαγραφή ερωτήματος"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Ερώτημα αναζήτησης"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Αναζήτηση"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Υποβολή ερωτήματος"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Φωνητική αναζήτηση"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Κοινή χρήση με"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Κοινή χρήση με <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Σύμπτυξη"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Αναζήτηση"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rAU/values-en-rAU.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Navigate home"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Navigate up"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"More options"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Done"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"See all"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Choose an app"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"OFF"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ON"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Search…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Clear query"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Search query"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Search"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Submit query"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Voice search"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Share with"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Share with <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Collapse"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Search"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 21 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rCA/values-en-rCA.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Navigate home"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Navigate up"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"More options"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Done"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"See all"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Choose an app"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"OFF"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ON"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Search…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Clear query"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Search query"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Search"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Submit query"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Voice search"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Share with"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Share with <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Collapse"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Search"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rGB/values-en-rGB.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Navigate home"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Navigate up"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"More options"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Done"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"See all"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Choose an app"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"OFF"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ON"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Search…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Clear query"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Search query"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Search"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Submit query"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Voice search"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Share with"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Share with <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Collapse"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Search"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rIN/values-en-rIN.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Navigate home"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Navigate up"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"More options"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Done"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"See all"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Choose an app"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"OFF"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ON"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Search…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Clear query"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Search query"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Search"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Submit query"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Voice search"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Share with"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Share with <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Collapse"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Search"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 21 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rXC/values-en-rXC.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎Navigate home‎‏‎‎‏‎"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‏‏‏‏‏‎‎Navigate up‎‏‎‎‏‎"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎More options‎‏‎‎‏‎"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‏‎‏‎‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎Done‎‏‎‎‏‎"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‏‎‎‏‎‎‎‎‏‏‎‎‎‎‏‏‎‏‎‎‏‏‏‏‎‏‎See all‎‏‎‎‏‎"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‎‎‏‎‏‎‎‎‏‏‎‏‎‏‏‎‎‏‏‏‏‏‎‏‎‎‏‏‏‏‎‎Choose an app‎‏‎‎‏‎"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‏‏‎‎‏‎‏‏‎‎‏‏‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎OFF‎‏‎‎‏‎"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎‏‎‎‎‎‎‎‎‎‏‏‏‎‏‏‏‎‏‏‎ON‎‏‎‎‏‎"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‎‎Search…‎‏‎‎‏‎"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎Clear query‎‏‎‎‏‎"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‎‏‏‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎Search query‎‏‎‎‏‎"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‎‏‏‏‎‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎Search‎‏‎‎‏‎"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‎‎‎‎‎‎‎Submit query‎‏‎‎‏‎"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‏‏‎‎‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎‏‎‎‎‏‏‎‎Voice search‎‏‎‎‏‎"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‏‎‏‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎Share with‎‏‎‎‏‎"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‎‏‏‎‎‏‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎Share with ‎‏‎‎‏‏‎<ns1:g id="APPLICATION_NAME">%s</ns1:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎Collapse‎‏‎‎‏‎"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎‎‏‏‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎‎‏‏‎‎Search‎‏‎‎‏‎"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-es-rUS/values-es-rUS.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Navegar a la página principal"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Navegar hacia arriba"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Más opciones"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Listo"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Ver todo"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Elige una aplicación."</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"DESACTIVADO"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ACTIVADO"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Buscar…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Eliminar la consulta"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Búsqueda"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Búsqueda"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Enviar consulta"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Búsqueda por voz"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Compartir con"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Compartir con <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Contraer"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Buscar"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-es/values-es.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Ir a la pantalla de inicio"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Desplazarse hacia arriba"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Más opciones"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Listo"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Ver todo"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Seleccionar una aplicación"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"DESACTIVADO"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ACTIVADO"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Buscar…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Borrar consulta"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Consulta"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Buscar"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Enviar consulta"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Búsqueda por voz"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Compartir con"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Compartir con <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Contraer"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Buscar"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"+999"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-et/values-et.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Navigeerimine avaekraanile"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Navigeerimine üles"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Rohkem valikuid"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Valmis"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Kuva kõik"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Valige rakendus"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"VÄLJAS"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"SEES"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Otsige …"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Päringu tühistamine"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Otsingupäring"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Otsing"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Päringu esitamine"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Häälotsing"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Jagamine:"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Jagamine rakendusega <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Ahendamine"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Otsing"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-eu/values-eu.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Joan orri nagusira"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Joan gora"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Aukera gehiago"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Eginda"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Ikusi guztiak"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Aukeratu aplikazio bat"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"DESAKTIBATUTA"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"AKTIBATUTA"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Bilatu…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Garbitu kontsulta"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Bilaketa-kontsulta"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Bilatu"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Bidali kontsulta"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Ahozko bilaketa"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Partekatu hauekin"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Partekatu <ns1:g id="APPLICATION_NAME">%s</ns1:g> aplikazioarekin"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Tolestu"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Bilatu"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-fa/values-fa.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"پیمایش به صفحه اصلی"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"پیمایش به بالا"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"گزینه‌های بیشتر"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"تمام"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"مشاهده همه"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"انتخاب برنامه"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"خاموش"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"روشن"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"جستجو…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"پاک کردن عبارت جستجو"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"عبارت جستجو"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"جستجو"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"ارسال عبارت جستجو"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"جستجوی گفتاری"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"اشتراک‌گذاری با"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"اشتراک‌گذاری با <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"کوچک کردن"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"جستجو"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"۹۹۹+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-fi/values-fi.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Siirry etusivulle"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Siirry ylös"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Lisää"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Valmis"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Näytä kaikki"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Valitse sovellus"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"POIS KÄYTÖSTÄ"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"KÄYTÖSSÄ"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Haku…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Tyhjennä kysely"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Hakulauseke"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Haku"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Lähetä kysely"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Puhehaku"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Jakaminen:"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Jaa sovelluksessa <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Kutista"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Haku"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-fr-rCA/values-fr-rCA.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Revenir à l\'accueil"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Revenir en haut de la page"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Plus d\'options"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Terminé"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Voir toutes les chaînes"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Sélectionnez une application"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"DÉSACTIVÉ"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ACTIVÉ"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Recherche en cours..."</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Effacer la requête"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Requête de recherche"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Rechercher"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Envoyer la requête"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Recherche vocale"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Partager"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Partager avec <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Réduire"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Rechercher"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">">999"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-fr/values-fr.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Revenir à l\'accueil"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Revenir en haut de la page"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Plus d\'options"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"OK"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Tout afficher"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Sélectionner une application"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"DÉSACTIVÉ"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ACTIVÉ"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Rechercher…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Effacer la requête"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Requête de recherche"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Rechercher"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Envoyer la requête"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Recherche vocale"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Partager avec"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Partager avec <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Réduire"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Rechercher"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">">999"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-gl/values-gl.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Ir á páxina de inicio"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Desprazarse cara arriba"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Máis opcións"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Feito"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Ver todas"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Escoller unha aplicación"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"DESACTIVAR"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ACTIVAR"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Buscar…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Borrar consulta"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Consulta de busca"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Buscar"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Enviar consulta"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Busca por voz"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Compartir con"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Compartir con <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Contraer"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Buscar"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">">999"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-gu/values-gu.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"હોમ પર નેવિગેટ કરો"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"ઉપર નેવિગેટ કરો"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"વધુ વિકલ્પો"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"થઈ ગયું"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"બધું જુઓ"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"એક ઍપ્લિકેશન પસંદ કરો"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"બંધ"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ચાલુ"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"શોધો…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"ક્વેરી સાફ કરો"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"શોધ ક્વેરી"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"શોધો"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"ક્વેરી સબમિટ કરો"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"વૉઇસ શોધ"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"આની સાથે શેર કરો"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"<ns1:g id="APPLICATION_NAME">%s</ns1:g>ની સાથે શેર કરો"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"સંકુચિત કરો"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"શોધો"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 4 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-h720dp-v13/values-h720dp-v13.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <dimen name="abc_alert_dialog_button_bar_height">54dip</dimen>
+</resources>

+ 8 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-hdpi-v4/values-hdpi-v4.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <style name="Base.Widget.AppCompat.DrawerArrowToggle" parent="Base.Widget.AppCompat.DrawerArrowToggle.Common">
+          <item name="barLength">18.66dp</item>
+          <item name="gapBetweenBars">3.33dp</item>
+          <item name="drawableSize">24dp</item>
+     </style>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-hi/values-hi.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"होम पेज पर जाएं"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"ऊपर जाएं"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"ज़्यादा विकल्प"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"हो गया"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"सभी देखें"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"कोई एप्‍लिकेशन चुनें"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"बंद"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"चालू"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"खोजा जा रहा है…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"क्‍वेरी साफ़ करें"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"सर्च क्वेरी"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"सर्च करें"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"क्वेरी सबमिट करें"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"आवाज़ सर्च"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"इसके द्वारा साझा करें"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"<ns1:g id="APPLICATION_NAME">%s</ns1:g> के साथ साझा करें"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"छोटा करें"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"सर्च"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-hr/values-hr.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Idi na početnu"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Idi gore"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Dodatne opcije"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Gotovo"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Prikaži sve"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Odabir aplikacije"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"ISKLJUČENO"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"UKLJUČENO"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Pretražite…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Izbriši upit"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Upit za pretraživanje"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Pretraživanje"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Pošalji upit"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Glasovno pretraživanje"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Dijeljenje sa"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Dijeli putem aplikacije <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Sažmi"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Pretraživanje"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-hu/values-hu.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Ugrás a főoldalra"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Felfelé mozgatás"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"További lehetőségek"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Kész"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Összes megtekintése"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Válasszon ki egy alkalmazást"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"KI"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"BE"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Keresés…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Lekérdezés törlése"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Keresési lekérdezés"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Keresés"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Lekérdezés küldése"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Hangalapú keresés"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Megosztás a következővel:"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Megosztás a következő alkalmazással: <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Összecsukás"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Keresés"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-hy/values-hy.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Ուղղվել տուն"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Ուղղվել վերև"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Այլ ընտրանքներ"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Պատրաստ է"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Տեսնել բոլորը"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Ընտրել ծրագիր"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"ԱՆՋԱՏՎԱԾ"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"ՄԻԱՑՎԱԾ"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Որոնում..."</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Մաքրել հարցումը"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Որոնման հարցում"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Որոնել"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Ուղարկել հարցումը"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Ձայնային որոնում"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Կիսվել"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Ուղարկել <ns1:g id="APPLICATION_NAME">%s</ns1:g>-ին"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Թաքցնել"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Որոնել"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-in/values-in.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Navigasi ke beranda"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Navigasi naik"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Opsi lain"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Selesai"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Lihat semua"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Pilih aplikasi"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"NONAKTIF"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"AKTIF"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Telusuri..."</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Hapus kueri"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Kueri penelusuran"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Telusuri"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Kirim kueri"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Penelusuran suara"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Bagikan dengan"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Bagikan ke <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Ciutkan"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Telusuri"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

+ 22 - 0
proj/build/HappyFarm/intermediates/incremental/mergeDebugResources/merged.dir/values-is/values-is.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
+    <string msgid="4600421777120114993" name="abc_action_bar_home_description">"Fara heim"</string>
+    <string msgid="1594238315039666878" name="abc_action_bar_up_description">"Fara upp"</string>
+    <string msgid="3588849162933574182" name="abc_action_menu_overflow_description">"Fleiri valkostir"</string>
+    <string msgid="4076576682505996667" name="abc_action_mode_done">"Lokið"</string>
+    <string msgid="7468859129482906941" name="abc_activity_chooser_view_see_all">"Sjá allt"</string>
+    <string msgid="2031811694353399454" name="abc_activitychooserview_choose_application">"Veldu forrit"</string>
+    <string msgid="121134116657445385" name="abc_capital_off">"SLÖKKT"</string>
+    <string msgid="3405795526292276155" name="abc_capital_on">"KVEIKT"</string>
+    <string msgid="7723749260725869598" name="abc_search_hint">"Leita…"</string>
+    <string msgid="3691816814315814921" name="abc_searchview_description_clear">"Hreinsa fyrirspurn"</string>
+    <string msgid="2550479030709304392" name="abc_searchview_description_query">"Leitarfyrirspurn"</string>
+    <string msgid="8264924765203268293" name="abc_searchview_description_search">"Leita"</string>
+    <string msgid="8928215447528550784" name="abc_searchview_description_submit">"Senda fyrirspurn"</string>
+    <string msgid="893419373245838918" name="abc_searchview_description_voice">"Raddleit"</string>
+    <string msgid="3421042268587513524" name="abc_shareactionprovider_share_with">"Deila með"</string>
+    <string msgid="3300176832234831527" name="abc_shareactionprovider_share_with_application">"Deila með <ns1:g id="APPLICATION_NAME">%s</ns1:g>"</string>
+    <string msgid="1603543279005712093" name="abc_toolbar_collapse_description">"Minnka"</string>
+    <string msgid="146198913615257606" name="search_menu_title">"Leita"</string>
+    <string msgid="2869576371154716097" name="status_bar_notification_info_overflow">"999+"</string>
+</resources>

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff