From 68990930e47a689c30b2765c131775857a711352 Mon Sep 17 00:00:00 2001 From: Sebastian Kaspari Date: Tue, 2 Oct 2018 19:49:21 +0200 Subject: [PATCH] Import cleaned up version of components sample browser. --- .gitignore | 52 +++ app/.gitignore | 1 + app/build.gradle | 103 +++++ app/proguard-rules.pro | 21 + .../reference/browser/EngineProvider.kt | 16 + .../reference/browser/EngineProvider.kt | 16 + app/src/main/AndroidManifest.xml | 66 +++ app/src/main/ic_launcher-web.png | Bin 0 -> 52416 bytes .../mozilla/reference/browser/BackHandler.kt | 12 + .../reference/browser/BrowserActivity.kt | 54 +++ .../reference/browser/BrowserApplication.kt | 11 + .../reference/browser/BrowserFragment.kt | 95 +++++ .../mozilla/reference/browser/Components.kt | 112 ++++++ .../reference/browser/CustomTabActivity.kt | 7 + .../browser/IntentReceiverActivity.kt | 31 ++ .../reference/browser/TabsTrayFragment.kt | 79 ++++ .../mozilla/reference/browser/ext/Context.kt | 21 + .../mozilla/reference/browser/ext/Fragment.kt | 14 + .../res/drawable/ic_launcher_foreground.xml | 15 + app/src/main/res/layout/activity_main.xml | 11 + app/src/main/res/layout/fragment_browser.xml | 24 ++ app/src/main/res/layout/fragment_tabstray.xml | 29 ++ app/src/main/res/menu/tabstray_menu.xml | 12 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3670 bytes .../mipmap-hdpi/ic_launcher_background.png | Bin 0 -> 5157 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 1781 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5645 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2676 bytes .../mipmap-mdpi/ic_launcher_background.png | Bin 0 -> 2201 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 1322 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3491 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 5335 bytes .../mipmap-xhdpi/ic_launcher_background.png | Bin 0 -> 9775 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 2439 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7930 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 8340 bytes .../mipmap-xxhdpi/ic_launcher_background.png | Bin 0 -> 24646 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 3674 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 12703 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 12048 bytes .../mipmap-xxxhdpi/ic_launcher_background.png | Bin 0 -> 48474 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 4778 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 18901 bytes .../res/values/ic_launcher_background.xml | 7 + app/src/main/res/values/strings.xml | 9 + app/src/main/res/xml/backup_rules.xml | 4 + .../reference/browser/EngineProvider.kt | 14 + build.gradle | 142 +++++++ buildSrc/build.gradle.kts | 7 + buildSrc/src/main/java/Config.kt | 13 + buildSrc/src/main/java/Dependencies.kt | 89 ++++ buildSrc/src/main/java/Gecko.kt | 16 + config/detekt.yml | 379 ++++++++++++++++++ gradle.properties | 21 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 172 ++++++++ gradlew.bat | 84 ++++ settings.gradle | 1 + 61 files changed, 1775 insertions(+) create mode 100644 .gitignore create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/geckoBeta/java/org/mozilla/reference/browser/EngineProvider.kt create mode 100644 app/src/geckoNightly/java/org/mozilla/reference/browser/EngineProvider.kt create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/ic_launcher-web.png create mode 100644 app/src/main/java/org/mozilla/reference/browser/BackHandler.kt create mode 100644 app/src/main/java/org/mozilla/reference/browser/BrowserActivity.kt create mode 100644 app/src/main/java/org/mozilla/reference/browser/BrowserApplication.kt create mode 100644 app/src/main/java/org/mozilla/reference/browser/BrowserFragment.kt create mode 100644 app/src/main/java/org/mozilla/reference/browser/Components.kt create mode 100644 app/src/main/java/org/mozilla/reference/browser/CustomTabActivity.kt create mode 100644 app/src/main/java/org/mozilla/reference/browser/IntentReceiverActivity.kt create mode 100644 app/src/main/java/org/mozilla/reference/browser/TabsTrayFragment.kt create mode 100644 app/src/main/java/org/mozilla/reference/browser/ext/Context.kt create mode 100644 app/src/main/java/org/mozilla/reference/browser/ext/Fragment.kt create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/fragment_browser.xml create mode 100644 app/src/main/res/layout/fragment_tabstray.xml create mode 100644 app/src/main/res/menu/tabstray_menu.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_background.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_background.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_background.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/values/ic_launcher_background.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/system/java/org/mozilla/reference/browser/EngineProvider.kt create mode 100644 build.gradle create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/src/main/java/Config.kt create mode 100644 buildSrc/src/main/java/Dependencies.kt create mode 100644 buildSrc/src/main/java/Gecko.kt create mode 100644 config/detekt.yml create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..8fde5fb7d --- /dev/null +++ b/.gitignore @@ -0,0 +1,52 @@ +# Built application files +*.apk +*.ap_ + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# Intellij +*.iml +.idea/ + +# Keystore files +*.jks + +# Local checkout of localization files +l10n-repo/ + +# Compiled python code +*.pyc + +# OS X +.DS_Store + +# jacoco.exec +jacoco.exec \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 000000000..796b96d1c --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 000000000..c435ddce9 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,103 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' + +android { + compileSdkVersion Config.compileSdkVersion + + defaultConfig { + applicationId "org.mozilla.reference.browser" + minSdkVersion Config.minSdkVersion + targetSdkVersion Config.targetSdkVersion + versionCode Config.versionCode + versionName Config.versionName + + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + + flavorDimensions "engine", "abi" + + productFlavors { + // GeckoView release channels (GV release is not on maven.mozilla.org yet) + geckoNightly { dimension "engine" } + geckoBeta { dimension "engine" } + + // WebViewgeck + system { dimension "engine" } + + // Processor architectures + arm { dimension "abi" } + x86 { dimension "abi" } + universal { dimension "abi" } + } + + variantFilter { variant -> + def flavors = variant.flavors*.name.toString().toLowerCase() + if (flavors.contains("system") && !flavors.contains("universal")) { + setIgnore(true) + } + + if (flavors.contains("gecko") && flavors.contains("universal")) { + setIgnore(true) + } + } +} + +configurations { + systemUniversalImplementation {} + + geckoNightlyArmImplementation {} + geckoNightlyX86Implementation {} + + geckoBetaArmImplementation {} + geckoBetaX86Implementation {} +} + +dependencies { + implementation Deps.mozilla_concept_engine + implementation Deps.mozilla_concept_tabstray + implementation Deps.mozilla_concept_toolbar + + implementation Deps.mozilla_browser_search + implementation Deps.mozilla_browser_session + implementation Deps.mozilla_browser_tabstray + implementation Deps.mozilla_browser_toolbar + implementation Deps.mozilla_browser_menu + + implementation Deps.mozilla_feature_intent + implementation Deps.mozilla_feature_search + implementation Deps.mozilla_feature_session + implementation Deps.mozilla_feature_toolbar + implementation Deps.mozilla_feature_tabs + + implementation Deps.mozilla_ui_autocomplete + + implementation Deps.mozilla_support_utils + + systemUniversalImplementation Deps.mozilla_browser_engine_system + + geckoNightlyImplementation Deps.mozilla_browser_engine_gecko_nightly + geckoNightlyArmImplementation Gecko.geckoview_nightly_arm + geckoNightlyX86Implementation Gecko.geckoview_nightly_x86 + + geckoBetaImplementation Deps.mozilla_browser_engine_gecko_beta + geckoBetaArmImplementation Gecko.geckoview_beta_arm + geckoBetaX86Implementation Gecko.geckoview_beta_x86 + + implementation Deps.kotlin_stdlib + implementation Deps.kotlin_coroutines + + implementation Deps.support_appcompat + implementation Deps.support_constraintlayout +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 000000000..f1b424510 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/app/src/geckoBeta/java/org/mozilla/reference/browser/EngineProvider.kt b/app/src/geckoBeta/java/org/mozilla/reference/browser/EngineProvider.kt new file mode 100644 index 000000000..3db5b4d43 --- /dev/null +++ b/app/src/geckoBeta/java/org/mozilla/reference/browser/EngineProvider.kt @@ -0,0 +1,16 @@ +package org.mozilla.reference.browser/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import android.content.Context +import mozilla.components.browser.engine.gecko.GeckoEngine +import mozilla.components.concept.engine.DefaultSettings +import mozilla.components.concept.engine.Engine +import org.mozilla.geckoview.GeckoRuntime + +object EngineProvider { + fun getEngine(context: Context, defaultSettings: DefaultSettings): Engine { + val runtime = GeckoRuntime.getDefault(context) + return GeckoEngine(runtime, defaultSettings) + } +} diff --git a/app/src/geckoNightly/java/org/mozilla/reference/browser/EngineProvider.kt b/app/src/geckoNightly/java/org/mozilla/reference/browser/EngineProvider.kt new file mode 100644 index 000000000..3db5b4d43 --- /dev/null +++ b/app/src/geckoNightly/java/org/mozilla/reference/browser/EngineProvider.kt @@ -0,0 +1,16 @@ +package org.mozilla.reference.browser/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import android.content.Context +import mozilla.components.browser.engine.gecko.GeckoEngine +import mozilla.components.concept.engine.DefaultSettings +import mozilla.components.concept.engine.Engine +import org.mozilla.geckoview.GeckoRuntime + +object EngineProvider { + fun getEngine(context: Context, defaultSettings: DefaultSettings): Engine { + val runtime = GeckoRuntime.getDefault(context) + return GeckoEngine(runtime, defaultSettings) + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 000000000..93c2ea340 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..1f1a2939ec26e661d1badfead68a4cc5c3f4ac91 GIT binary patch literal 52416 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 literal 0 HcmV?d00001 diff --git a/app/src/main/java/org/mozilla/reference/browser/BackHandler.kt b/app/src/main/java/org/mozilla/reference/browser/BackHandler.kt new file mode 100644 index 000000000..5e1678088 --- /dev/null +++ b/app/src/main/java/org/mozilla/reference/browser/BackHandler.kt @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.reference.browser + +/** + * Interface for fragments that want to handle 'back' button presses. + */ +interface BackHandler { + fun onBackPressed(): Boolean +} diff --git a/app/src/main/java/org/mozilla/reference/browser/BrowserActivity.kt b/app/src/main/java/org/mozilla/reference/browser/BrowserActivity.kt new file mode 100644 index 000000000..dad864ecf --- /dev/null +++ b/app/src/main/java/org/mozilla/reference/browser/BrowserActivity.kt @@ -0,0 +1,54 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.reference.browser + +import android.content.ComponentCallbacks2 +import android.content.Context +import android.os.Bundle +import android.support.v7.app.AppCompatActivity +import android.util.AttributeSet +import android.view.View +import mozilla.components.browser.tabstray.BrowserTabsTray +import mozilla.components.concept.engine.EngineView +import mozilla.components.concept.tabstray.TabsTray +import mozilla.components.feature.intent.IntentProcessor +import mozilla.components.support.utils.SafeIntent +import org.mozilla.reference.browser.ext.components + +open class BrowserActivity : AppCompatActivity(), ComponentCallbacks2 { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + + if (savedInstanceState == null) { + val sessionId = SafeIntent(intent).getStringExtra(IntentProcessor.ACTIVE_SESSION_ID) + supportFragmentManager?.beginTransaction()?.apply { + replace(R.id.container, BrowserFragment.create(sessionId)) + commit() + } + } + } + + override fun onBackPressed() { + supportFragmentManager.fragments.forEach { + if (it is BackHandler && it.onBackPressed()) { + return + } + } + + super.onBackPressed() + } + + override fun onCreateView(parent: View?, name: String?, context: Context, attrs: AttributeSet?): View? = + when (name) { + EngineView::class.java.name -> components.engine.createView(context, attrs).asView() + TabsTray::class.java.name -> BrowserTabsTray(context, attrs) + else -> super.onCreateView(parent, name, context, attrs) + } + + override fun onTrimMemory(level: Int) { + components.sessionManager.onLowMemory() + } +} diff --git a/app/src/main/java/org/mozilla/reference/browser/BrowserApplication.kt b/app/src/main/java/org/mozilla/reference/browser/BrowserApplication.kt new file mode 100644 index 000000000..d167631d6 --- /dev/null +++ b/app/src/main/java/org/mozilla/reference/browser/BrowserApplication.kt @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.reference.browser + +import android.app.Application + +class BrowserApplication : Application() { + val components by lazy { Components(this) } +} diff --git a/app/src/main/java/org/mozilla/reference/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/reference/browser/BrowserFragment.kt new file mode 100644 index 000000000..68142bdaf --- /dev/null +++ b/app/src/main/java/org/mozilla/reference/browser/BrowserFragment.kt @@ -0,0 +1,95 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.reference.browser + +import android.os.Bundle +import android.support.v4.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import kotlinx.android.synthetic.main.fragment_browser.* +import mozilla.components.feature.session.SessionFeature +import mozilla.components.feature.tabs.toolbar.TabsToolbarFeature +import mozilla.components.feature.toolbar.ToolbarFeature +import org.mozilla.reference.browser.ext.requireComponents + +class BrowserFragment : Fragment(), BackHandler { + private lateinit var sessionFeature: SessionFeature + private lateinit var toolbarFeature: ToolbarFeature + private lateinit var tabsToolbarFeature: TabsToolbarFeature + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_browser, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + toolbar.setMenuBuilder(requireComponents.menuBuilder) + + val sessionId = arguments?.getString(SESSION_ID) + + sessionFeature = SessionFeature( + requireComponents.sessionManager, + requireComponents.sessionUseCases, + engineView, + requireComponents.sessionStorage, + sessionId) + + toolbarFeature = ToolbarFeature( + toolbar, + requireComponents.sessionManager, + requireComponents.sessionUseCases.loadUrl, + requireComponents.defaultSearchUseCase, + sessionId) + + tabsToolbarFeature = TabsToolbarFeature(context!!, toolbar, ::showTabs) + } + + private fun showTabs() { + // For now we are performing manual fragment transactions here. Once we can use the new + // navigation support library we may want to pass navigation graphs around. + activity?.supportFragmentManager?.beginTransaction()?.apply { + replace(R.id.container, TabsTrayFragment()) + commit() + } + } + + override fun onStart() { + super.onStart() + + sessionFeature.start() + toolbarFeature.start() + } + + override fun onStop() { + super.onStop() + + sessionFeature.stop() + toolbarFeature.stop() + } + + override fun onBackPressed(): Boolean { + if (toolbarFeature.handleBackPressed()) { + return true + } + + if (sessionFeature.handleBackPressed()) { + return true + } + + return false + } + + companion object { + private const val SESSION_ID = "session_id" + + fun create(sessionId: String? = null): BrowserFragment = BrowserFragment().apply { + arguments = Bundle().apply { + putString(SESSION_ID, sessionId) + } + } + } +} diff --git a/app/src/main/java/org/mozilla/reference/browser/Components.kt b/app/src/main/java/org/mozilla/reference/browser/Components.kt new file mode 100644 index 000000000..e5a70dfa1 --- /dev/null +++ b/app/src/main/java/org/mozilla/reference/browser/Components.kt @@ -0,0 +1,112 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.reference.browser + +import android.content.Context +import android.widget.Toast +import kotlinx.coroutines.experimental.async +import mozilla.components.browser.menu.BrowserMenuBuilder +import mozilla.components.browser.menu.item.BrowserMenuItemToolbar +import mozilla.components.browser.menu.item.SimpleBrowserMenuCheckbox +import mozilla.components.browser.menu.item.SimpleBrowserMenuItem +import mozilla.components.browser.search.SearchEngineManager +import mozilla.components.browser.session.Session +import mozilla.components.browser.session.SessionManager +import mozilla.components.browser.session.storage.DefaultSessionStorage +import mozilla.components.concept.engine.DefaultSettings +import mozilla.components.concept.engine.Engine +import mozilla.components.feature.intent.IntentProcessor +import mozilla.components.feature.search.SearchUseCases +import mozilla.components.feature.session.SessionUseCases +import mozilla.components.feature.tabs.TabsUseCases + +class Components( + private val applicationContext: Context +) { + + // Engine + val engine: Engine by lazy { + val defaultSettings = DefaultSettings() + + EngineProvider.getEngine(applicationContext, defaultSettings) + } + + // Session + val sessionStorage by lazy { DefaultSessionStorage(applicationContext) } + + val sessionManager by lazy { + SessionManager(engine).apply { + sessionStorage.restore(this) + + if (size == 0) { + val initialSession = Session("https://www.mozilla.org") + add(initialSession) + } + } + } + + val sessionUseCases by lazy { SessionUseCases(sessionManager) } + + // Search + private val searchEngineManager by lazy { + SearchEngineManager().apply { + async { load(applicationContext) } + } + } + private val searchUseCases by lazy { SearchUseCases(applicationContext, searchEngineManager, sessionManager) } + val defaultSearchUseCase by lazy { { searchTerms: String -> searchUseCases.defaultSearch.invoke(searchTerms) } } + + // Intent + val sessionIntentProcessor by lazy { IntentProcessor(sessionUseCases, sessionManager, searchUseCases) } + + // Menu + val menuBuilder by lazy { BrowserMenuBuilder(menuItems) } + + private val menuItems by lazy { + listOf( + menuToolbar, + SimpleBrowserMenuItem("Share") { + Toast.makeText(applicationContext, "Share", Toast.LENGTH_SHORT).show() + }, + SimpleBrowserMenuItem("Settings") { + Toast.makeText(applicationContext, "Settings", Toast.LENGTH_SHORT).show() + }, + SimpleBrowserMenuItem("Clear Data") { + sessionUseCases.clearData.invoke() + }, + SimpleBrowserMenuCheckbox("Request desktop site") { checked -> + sessionUseCases.requestDesktopSite.invoke(checked) + } + ) + } + + private val menuToolbar by lazy { + val forward = BrowserMenuItemToolbar.Button( + mozilla.components.ui.icons.R.drawable.mozac_ic_forward, + iconTintColorResource = R.color.photonBlue90, + contentDescription = "Forward") { + sessionUseCases.goForward.invoke() + } + + val refresh = BrowserMenuItemToolbar.Button( + mozilla.components.ui.icons.R.drawable.mozac_ic_refresh, + iconTintColorResource = R.color.photonBlue90, + contentDescription = "Refresh") { + sessionUseCases.reload.invoke() + } + + val stop = BrowserMenuItemToolbar.Button( + mozilla.components.ui.icons.R.drawable.mozac_ic_stop, + iconTintColorResource = R.color.photonBlue90, + contentDescription = "Stop") { + sessionUseCases.stopLoading.invoke() + } + + BrowserMenuItemToolbar(listOf(forward, refresh, stop)) + } + + // Tabs + val tabsUseCases: TabsUseCases by lazy { TabsUseCases(sessionManager) } +} diff --git a/app/src/main/java/org/mozilla/reference/browser/CustomTabActivity.kt b/app/src/main/java/org/mozilla/reference/browser/CustomTabActivity.kt new file mode 100644 index 000000000..1efad53ba --- /dev/null +++ b/app/src/main/java/org/mozilla/reference/browser/CustomTabActivity.kt @@ -0,0 +1,7 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.reference.browser + +class CustomTabActivity : BrowserActivity() diff --git a/app/src/main/java/org/mozilla/reference/browser/IntentReceiverActivity.kt b/app/src/main/java/org/mozilla/reference/browser/IntentReceiverActivity.kt new file mode 100644 index 000000000..31c620b42 --- /dev/null +++ b/app/src/main/java/org/mozilla/reference/browser/IntentReceiverActivity.kt @@ -0,0 +1,31 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.reference.browser + +import android.app.Activity +import android.content.Intent +import android.os.Bundle +import mozilla.components.browser.session.tab.CustomTabConfig +import mozilla.components.support.utils.SafeIntent +import org.mozilla.reference.browser.ext.components + +class IntentReceiverActivity : Activity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + components.sessionIntentProcessor.process(intent) + + val intent = Intent(intent) + if (CustomTabConfig.isCustomTabIntent(SafeIntent(intent))) { + intent.setClassName(applicationContext, CustomTabActivity::class.java.name) + } else { + intent.setClassName(applicationContext, BrowserActivity::class.java.name) + } + + startActivity(intent) + finish() + } +} diff --git a/app/src/main/java/org/mozilla/reference/browser/TabsTrayFragment.kt b/app/src/main/java/org/mozilla/reference/browser/TabsTrayFragment.kt new file mode 100644 index 000000000..e1619a2a8 --- /dev/null +++ b/app/src/main/java/org/mozilla/reference/browser/TabsTrayFragment.kt @@ -0,0 +1,79 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.reference.browser + +import android.os.Bundle +import android.support.v4.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import kotlinx.android.synthetic.main.fragment_tabstray.* +import mozilla.components.feature.tabs.tabstray.TabsFeature +import org.mozilla.reference.browser.ext.requireComponents + +/** + * A fragment for displaying the tabs tray. + */ +class TabsTrayFragment : Fragment(), BackHandler { + private var tabsFeature: TabsFeature? = null + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View = + inflater.inflate(R.layout.fragment_tabstray, container, false) + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + toolbar.setNavigationIcon(R.drawable.mozac_ic_back) + toolbar.setNavigationOnClickListener { + closeTabsTray() + } + + toolbar.inflateMenu(R.menu.tabstray_menu) + toolbar.setOnMenuItemClickListener { + when (it.itemId) { + R.id.newTab -> { + requireComponents.tabsUseCases.addSession.invoke("about:blank", selectTab = true) + closeTabsTray() + } + } + true + } + + tabsFeature = TabsFeature( + tabsTray, + requireComponents.sessionManager, + requireComponents.tabsUseCases, + ::closeTabsTray, + onTabsTrayEmpty = ::createNewTab) + } + + override fun onStart() { + super.onStart() + + tabsFeature?.start() + } + + override fun onStop() { + super.onStop() + + tabsFeature?.stop() + } + + override fun onBackPressed(): Boolean { + closeTabsTray() + return true + } + + private fun createNewTab() { + requireComponents.tabsUseCases.addSession.invoke("about:blank") + } + + private fun closeTabsTray() { + activity?.supportFragmentManager?.beginTransaction()?.apply { + replace(R.id.container, BrowserFragment.create()) + commit() + } + } +} diff --git a/app/src/main/java/org/mozilla/reference/browser/ext/Context.kt b/app/src/main/java/org/mozilla/reference/browser/ext/Context.kt new file mode 100644 index 000000000..6a45672da --- /dev/null +++ b/app/src/main/java/org/mozilla/reference/browser/ext/Context.kt @@ -0,0 +1,21 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.reference.browser.ext + +import android.content.Context +import org.mozilla.reference.browser.BrowserApplication +import org.mozilla.reference.browser.Components + +/** + * Get the BrowserApplication object from a context. + */ +val Context.application: BrowserApplication + get() = applicationContext as BrowserApplication + +/** + * Get the requireComponents of this application. + */ +val Context.components: Components + get() = application.components diff --git a/app/src/main/java/org/mozilla/reference/browser/ext/Fragment.kt b/app/src/main/java/org/mozilla/reference/browser/ext/Fragment.kt new file mode 100644 index 000000000..f300a822f --- /dev/null +++ b/app/src/main/java/org/mozilla/reference/browser/ext/Fragment.kt @@ -0,0 +1,14 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.reference.browser.ext + +import android.support.v4.app.Fragment +import org.mozilla.reference.browser.Components + +/** + * Get the requireComponents of this application. + */ +val Fragment.requireComponents: Components + get() = requireContext().components diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000..994090781 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..05ab3e023 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,11 @@ + + + + diff --git a/app/src/main/res/layout/fragment_browser.xml b/app/src/main/res/layout/fragment_browser.xml new file mode 100644 index 000000000..74191d0c4 --- /dev/null +++ b/app/src/main/res/layout/fragment_browser.xml @@ -0,0 +1,24 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_tabstray.xml b/app/src/main/res/layout/fragment_tabstray.xml new file mode 100644 index 000000000..3f836b293 --- /dev/null +++ b/app/src/main/res/layout/fragment_tabstray.xml @@ -0,0 +1,29 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/tabstray_menu.xml b/app/src/main/res/menu/tabstray_menu.xml new file mode 100644 index 000000000..b918b6030 --- /dev/null +++ b/app/src/main/res/menu/tabstray_menu.xml @@ -0,0 +1,12 @@ + + +

+ + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..6f2acb4f0 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..6f2acb4f0 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b225abfec32e5b01a0329cabe6e041e5bf90fad9 GIT binary patch literal 3670 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�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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..84ef408f6a30ebddcb2740d5e7df50b05d2f17c6 GIT binary patch literal 1781 zcmZuyd05g38b+B!OVXSsSyI=$cHJZ?Z)_nxzH}L)Mm|y*0w(P87=la3hsSDv3X@JK9rua;0iPb z?$H)V&UV3u>@mLy;Q>+&>WU$Ih$Rss$sFy_f|_QIH^!IFLf=^SrnBmqaUxf{XLnf# zrUPI4^btpyLtYAJyYmTA7Gr7yLM>87fO`bnkLokbTb_6V9%_jbjW#csr}E%&9EDnw z2nry^Hy-|*PL(ATQ=r zPRbB=##&}fCYrI z!1Jag^JGH%MP>K<%Gh2y^K{<#0S9P@isX&gIBd|4EWc5ZNs7jJ+Qo3rr3+Pr(-A-FW> z+#UD^Z=cM?PQ#x&i2^`en=s62qQR%5yq<#P^P<{`ne` zY{XN17q~|5FDuCT)eKo8u`Q}Mjd%Wei8fLY6s`vwN`nhdY97C~ZjcnX8lD>pn~l}I zY_=M+FOX~1Uj4s-u1ua-%s!Py!~MRe8^_lSlKagIBynCp!Ke*uUg^E;Zc@t9ENlIm zG@CfZEGBsjR(k#;FqE@KFM`y#LL*Rn_wBg{L4{kU;pAXbg6&8Wj5;acDLWDOz-9Ct zNYw)JGwZFls`}~mdebOW3BztVRgtlOMO`@2?~LJ)rC)S^bWLZ6IPN7CIg$cn*oHY! z>fwnT*nBK$EMwNKiaB=S$i+}4*Sw34nK2W7HCMfXLHI%3i z42xx*h!6Q+@Xsu&PacLn*!ueX@;#)VLs37BcYCHnY1s={!%>4~yJ2ndy01)DHy1Sy zKdIs>Q+HIHktAJ}%k(8O7!v-8^Bw?q+ux}6XWO0p79mDs|#4S@NoIS*T`ipGp5KbqMC=N>aG=y@*nrMum67$_@e-dQkO1nso^H$=G zmI1sK0*wtI_?8PVitk3G?noUl zm-y(^vOC|r!DktHG_^SyaPxtORZ8M0AvgeU?AHe0f;O&&#a( zsiI}B6)!Z>f{MW;3fVvBvHU!+gixd_%tbhI_A5-|$mV%z3&}F`O5>Q#lwRC~d}Jap z#5u9&!f>Y#Bs0Um?)6M}Og349XsxtWFl&V{aspXn@p};tjuI+JU~&S*M{(5dGP|LD zlKB)cvwQR3A*I4XpY>ZSon%Gq6uOb{R7sn3*)l1Uviucf9boZHmL5XkR7bZ+la>HXF}gnDlN;IT{>HUF<( Ng>xgga$G{M{}0cya`FHG literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..cc66b1999826f540b3d4ce4a81688d83f926689c GIT binary patch literal 5645 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 ii`14A_S@G>^7XD{dsmGe;q@GCqsA*p6Crt}d zKWnNWktJbe zfl(R^Z0o)npTW>U4YVzQRW%q`=d1-}Sam>HRccmyd>S0WQoww{f-o3Q0T0EE3N;I| zgYnu9Rsw9wvWqb(9gMoA8*F+q7#3;pRy#vr4+z}gd_fwl0T_%`0PF7B!LY4a?Q*aZ zU=%eA@=#0xYn&Tw0j9wnOEi@Fh}Y6~XE%F%VdD0Ozb4!8QQMf^fM(*=K(qOxq8#KXEz$hcDhHxlu@GBN zn-ySf;5BkxVJTo`x0|q5(IDGR5H$;6QtTXAyIEL#UjTzV6jQ*0oD^e?NZu5;o2+1^ zfIW&d4Z0qRUl7!+EdW^iO3b-tVb8NxkjDBxBdY^rFfzb;0+>x2oI@V#FGqULDmfx4 zI%nlYmVl*z`8pK)+{pFSZtB2WcT;2ybRd9Xz=D`(`E-LDVH}E!A}bAyBC@byL2Nfc z&a=AJB5Nq-JR%9rx`zU53*ekJ1{OaQz%UI)tX=m_0)w%ap9Te}p%_|kkn%E}&k+e^ z&FUEA*t2rdnl0g1tAmQ()gABI`(rp&g1LhL54SL7)*yF08}+$QtNa z0P}s$g4k~I3Cp#S+XXNfhuO#yuoN)L%XF0Yv!F*LUB`CQ!T6e`!%Bep+HQ*7x^KgF z-JM~*PsG6HSrn^iSg;W1S+;I41?+tuumuZ~LD_CvXK{5f_Np0-QCR#$0Q0@%S!Z!> z@P4(WQ%YOr|T!9ZG=fsCwy&IPa# z9*11_WH7domOO2HgU1zMrGPCt+IPt9rWh{M?Gr@S2&jR66To6$^2F|7xQ_L)V5NXj zJPt|p-XPR15|^>Q?V-3RvW8-J=1wt1Z?LFlow~!~eH~Z`SAMFb!4BQ}G`PVyHvsGF zz(P1@wE~H(fMN091+YoEMS?XV=^+~o2UrSN>^m5tjP(&}mJW+w~=u!Z~{NBRn@Dckm9dZZ529^RwdCqEEY&KEv zx*@bL_(W*MT3|0RHhv^Q90 zM6w%L8Z1hM7ml#5(y$b;7+^t;NJ23fpX?)Rplbna5@8+0ZQYHqQotx)mSbrx0vY*H@MQ8aQPYL;bW@tZ`9{NtF|7G@v}hGQB`0}EwR?BQ`p?;Q-+$ht0u z#sAiUh5B|A_M;`I0oSaXG%N*-@?rw^Sl<=ana4x%m3?F>U=#9V0tl>+fuuo0WbrSF z7}@%?Yh=0h1|e%!-`_dQ7+GI*V1fVn2;RZ?;4!i;s~L%vbO z%mNGP=3_6wLvbH4vPz`EAuRq?0E;mVLR#WyO9e#&$0q#f|UaHDiDL==?OdVu|9Gd6rhG;!Q3M0v9P-CKGWbRs2o`Q zn-0uZ&Dsydxz)DjO$UZCB7ykx5n>gs z$^~#j>z)TI4eT!Lxw bVF~>Qk*mqHNes>g00000NkvXXu0mjfiGA=o literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..0a810a25a34ff9b39a009f5e7120f663a9855d64 GIT binary patch literal 1322 zcmV+_1=aeAP)Nklvw@Zil2ya}R+iiih^F;4U->P1w% zDINq#V({RO67ZtNsNlYq?~xKU&a3I3>FSr)t~CxI|u*(0000000000 z00000000000000000000=*=jlN=W6TTGDLNT>V+Azb`>4rE5?nX#=T=)JA%*%<$h^ zNheA5q%kN(`zDPdZPx|=QxyhZ-$L5PH4vp6uTc|88PaEE2Tu1CsRpH8c#Uc#eN)N6 z_i5n!qV%Ji#qCU&N{3gZ^>87aQA0`RRB>>YGz6~5W=$a7SH;CW(s;P@zgaU$FB3Ln zH|b7@-@PDBhfDvO^(KYd!(+Kp(i&1nj^Dn9Y29Ykq)@Y%Po(~TjFhA-)=RJ|(lhl4cn4HI?+t)O+-GoRyYY>q7QeO{T5)$*hVL z2E{!6bcs7S5%O7Qcs#!HW=2HMnA?B{+|^lBMJmfPuZs;Gkp>^knq+Zqu-Q_cj~eD4 zYg{+1+2Ui*mSKZPPlbD)a=q>P+}jM(d0%B{8_QiaY=`BJg-yeF3&L&TzS~?i>~?Q8 zOy_^CaNiae&8muFSw9#1EyvJb7>@jOZjT5Bw8^qrZ;zt_WEycg3)}Tyt?@Oe>;zP6%17b;YnbLV){v{LW}v5yf*z$l`2Q z44WqexF^eRO{VRMLAyxP3XEs3kiWTJ)vzd!#{&7z2Pq1O=YZ=qOlrf98?Gs{Y#Q%^ z>X&Cc4X(Fg#$KY~I@>j^GS7G}x!z0UaoEQ!0X_Ts2x-J!)ABK_QAlfpYle*#*28$4 zcHao;#97m-BgVk%VV%NySY_ZELOaH+j+oB4lnh%Vq|+L>2nDuN2>4c%9+uu~n5bcT zPe+@O&URM~<6To~!`jPfpD1@#s|F!xs;A6|CZB_D7-Y(_S`#dPvjfR5i2-6|ZW4o4=&Y9H*KB2qG z7Yqf$8+4|GNT-k9_kM6%Df7ww-;c=UrWp~-hP{b$+}0PnDFFZg00000000000000000000 g00000008{q7oNNB$=;3(w*UYD07*qoM6N<$f_krYLI3~& literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..03a664323b48e17750992fa9f33feaf39f8a0988 GIT binary patch literal 3491 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..db0039b7a868a5cfb573a59316a6af323cfc5294 GIT binary patch literal 9775 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
    TZXO@m+1q}=x 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 Hj{MWV9$%)f literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..586d2eefe84213af0b77623d33a47d766da43bae GIT binary patch literal 7930 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9dcfa7e39fc1c6c8dec31f108c2f4f4b878cefdf GIT binary patch literal 8340 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 UE_Kd-^VQqxzhQnn5MAN{<(TL1t6 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..d395619f12c037377f486d0f96db22e5f4930fe2 GIT binary patch literal 24646 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..7b7aa5dfdb551e377711e311e3a94df342b1f09f GIT binary patch literal 3674 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 Z{{tXZ$1Ne9$Ke0~002ovPDHLkV1na?$guzb literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9364b000d6ee375d260da6401c1ef96dbcfd9d35 GIT binary patch literal 12048 zcmbt)^wW>B(REv>f}--~*cZJ&E`i7jLkkL4+u2rPr%m>qXF z*Hwib`&ups)|cT7zCZG6795{8@2%@aDW5I{qG%z0p#$tIm;~8RYn1;Vk6W7Akn&f2 zgL-cL44%C-d(i|&IgmJlIC5n2m`T{?K-g_0yT!{I9sm2u>bGF?r>b;Kxg8{(`it?+ ziYc#1wJzMWCfzi$280NyUXjiv96q^EqHf23Mml_b)r#qymRVC)qjUyHE}h_paMW<7 zmim1{MX6?pqI9#}{%f8gphsHoM`Ys&7w5Flycax(?7qd8_jg8P+yG(7qFb7;dCM}OuOMLF z5*t%mWGxo_JM%GoS)q!}IRk_rp6U$oxk^PO?&q0%SPlR;8(2Jf~Q;@?c6 z>JiqH{`|lB8>%Z1vXZ#&{$JZcqd#~}PTQHziG-#qGGkufO?rIq6IjPEj#e8`kFXN@ zw5C8C*QNBn=S}vFWXskYwO~(*MaG>QqfA%0D_QVPOHRxqBE3pyS;AVP`8VoCq$j(X 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 z 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..646c51a8aeade9511fd2fac51f898e8f9064190e GIT binary patch literal 4778 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 OcgIN2Ot%t>jQS7Rql=3G literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..3f4a47ad1a95c4dd4bd4ccd74040a8c5eabdd2f5 GIT binary patch literal 18901 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/values/ic_launcher_background.xml b/app/src/main/res/values/ic_launcher_background.xml new file mode 100644 index 000000000..92e774504 --- /dev/null +++ b/app/src/main/res/values/ic_launcher_background.xml @@ -0,0 +1,7 @@ + + + + #45A1FF + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 000000000..aace6f34b --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,9 @@ + + + + Reference Browser + + Add New Tab + diff --git a/app/src/main/res/xml/backup_rules.xml b/app/src/main/res/xml/backup_rules.xml new file mode 100644 index 000000000..231c81321 --- /dev/null +++ b/app/src/main/res/xml/backup_rules.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/system/java/org/mozilla/reference/browser/EngineProvider.kt b/app/src/system/java/org/mozilla/reference/browser/EngineProvider.kt new file mode 100644 index 000000000..ddcc3f5e8 --- /dev/null +++ b/app/src/system/java/org/mozilla/reference/browser/EngineProvider.kt @@ -0,0 +1,14 @@ +package org.mozilla.reference.browser/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import android.content.Context +import mozilla.components.browser.engine.system.SystemEngine +import mozilla.components.concept.engine.DefaultSettings +import mozilla.components.concept.engine.Engine + +object EngineProvider { + fun getEngine(context: Context, defaultSettings: DefaultSettings): Engine { + return SystemEngine(defaultSettings) + } +} diff --git a/build.gradle b/build.gradle new file mode 100644 index 000000000..c78d293a4 --- /dev/null +++ b/build.gradle @@ -0,0 +1,142 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + // Synchronized versions numbers of GeckoView (Beta) artifacts. + ext.geckoBeta = [ + // mozilla-beta: FENNEC_63_0b3 + revision: '0269319281578bff4e01d77a21350bf91ba08620', + version: '63.0.20180904170936' + ] + + ext.geckoRelease = [ + // mozilla-release: FENNEC_62_0_RELEASE + revision: '9cbae12a3fff404ed2c12070ad475424d0ae869f', + version: '62.0.20180830143136' + ] + + repositories { + google() + jcenter() + } + + dependencies { + classpath Deps.tools_androidgradle + classpath Deps.tools_kotlingradle + } +} + +plugins { + id("io.gitlab.arturbosch.detekt").version("1.0.0.RC7-3") +} + +allprojects { + repositories { + google() + jcenter() + + maven { + url "https://maven.mozilla.org/maven2" + } + } +} + +subprojects { + apply plugin: 'jacoco' + + afterEvaluate { + if (it.hasProperty('android')) { + jacoco { + toolVersion = "0.8.2" + } + + android { + testOptions { + unitTests { + includeAndroidResources = true + } + } + + lintOptions { + warningsAsErrors true + abortOnError true + } + } + + if (project.hasProperty("coverage") && project.name != "support-test") { + tasks.withType(Test) { + jacoco.includeNoLocationClasses = true + doLast { jacocoTestReport.execute() } + } + + task jacocoTestReport(type: JacocoReport) { + reports { + xml.enabled = true + html.enabled = true + } + + def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', + '**/*Test*.*', 'android/**/*.*', '**/*$[0-9].*'] + def kotlinDebugTree = fileTree(dir: "$project.buildDir/tmp/kotlin-classes/debug", excludes: fileFilter) + def javaDebugTree = fileTree(dir: "$project.buildDir/intermediates/classes/debug", excludes: fileFilter) + def mainSrc = "$project.projectDir/src/main/java" + + sourceDirectories = files([mainSrc]) + classDirectories = files([kotlinDebugTree, javaDebugTree]) + executionData = fileTree(dir: project.buildDir, includes: [ + 'jacoco/testDebugUnitTest.exec', 'outputs/code-coverage/connected/*coverage.ec' + ]) + } + + android { + buildTypes { + debug { + testCoverageEnabled true + } + } + } + } + + if (it.hasProperty('kotlin')) { + android { + kotlin { + experimental { + coroutines 'enable' + } + } + } + } + } + } +} + + +task clean(type: Delete) { + delete rootProject.buildDir +} + +detekt { + // The version number is duplicated, please refer to plugins block for more details + version = "1.0.0.RC7-3" + profile("main") { + input = "$projectDir/app" + config = "$projectDir/config/detekt.yml" + filters = ".*test.*,.*/resources/.*,.*/tmp/.*" + output = "$projectDir/build/reports/detekt" + baseline = "$projectDir/config/detekt-baseline.xml" + } +} + +configurations { + ktlint +} + +dependencies { + ktlint "com.github.shyiko:ktlint:0.24.0" +} + +task ktlint(type: JavaExec, group: "verification") { + description = "Check Kotlin code style." + classpath = configurations.ktlint + main = "com.github.shyiko.ktlint.Main" + args "components/**/*.kt" +} diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 000000000..55cbc20d2 --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,7 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +plugins { + `kotlin-dsl` +} diff --git a/buildSrc/src/main/java/Config.kt b/buildSrc/src/main/java/Config.kt new file mode 100644 index 000000000..f7bdc87ef --- /dev/null +++ b/buildSrc/src/main/java/Config.kt @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +object Config { + const val versionCode = 1 + const val versionName = "1.0" + + // Synchronized build configuration for all modules + const val compileSdkVersion = 27 + const val minSdkVersion = 21 + const val targetSdkVersion = 27 +} diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt new file mode 100644 index 000000000..62ccdc41f --- /dev/null +++ b/buildSrc/src/main/java/Dependencies.kt @@ -0,0 +1,89 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// Synchronized version numbers for dependencies used by (some) modules +private object Versions { + const val kotlin = "1.2.61" + const val coroutines = "0.23.4" + + const val junit = "4.12" + const val robolectric = "3.8" + const val mockito = "2.21.0" + const val mockwebserver = "3.10.0" + + const val support_libraries = "27.1.1" + const val constraint_layout = "1.1.2" + const val workmanager = "1.0.0-alpha09" + + const val dokka = "0.9.16" + const val android_gradle_plugin = "3.1.4" + const val bintray_gradle_plugin = "1.7.3" + const val maven_gradle_plugin = "2.1" + const val lint = "26.1.3" + + const val jna = "4.5.2" + + const val mozilla_app_services = "0.5.1" + + const val mozilla_android_components = "0.25.2" +} + +// Synchronized dependencies used by (some) modules +object Deps { + const val kotlin_stdlib = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${Versions.kotlin}" + const val kotlin_coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutines}" + const val kotlin_reflect = "org.jetbrains.kotlin:kotlin-reflect:${Versions.kotlin}" + + const val mozilla_concept_engine = "org.mozilla.components:concept-engine:${Versions.mozilla_android_components}" + const val mozilla_concept_tabstray = "org.mozilla.components:concept-tabstray:${Versions.mozilla_android_components}" + const val mozilla_concept_toolbar = "org.mozilla.components:concept-toolbar:${Versions.mozilla_android_components}" + const val mozilla_browser_engine_system = "org.mozilla.components:browser-engine-system:${Versions.mozilla_android_components}" + const val mozilla_browser_engine_gecko = "org.mozilla.components:browser-engine-gecko:${Versions.mozilla_android_components}" + const val mozilla_browser_engine_gecko_beta = "org.mozilla.components:browser-engine-gecko-beta:${Versions.mozilla_android_components}" + const val mozilla_browser_engine_gecko_nightly = "org.mozilla.components:browser-engine-gecko-nightly:${Versions.mozilla_android_components}" + const val mozilla_browser_search = "org.mozilla.components:browser-search:${Versions.mozilla_android_components}" + const val mozilla_browser_session = "org.mozilla.components:browser-session:${Versions.mozilla_android_components}" + const val mozilla_browser_tabstray = "org.mozilla.components:browser-tabstray:${Versions.mozilla_android_components}" + const val mozilla_browser_toolbar = "org.mozilla.components:browser-toolbar:${Versions.mozilla_android_components}" + const val mozilla_browser_menu = "org.mozilla.components:browser-menu:${Versions.mozilla_android_components}" + const val mozilla_feature_intent = "org.mozilla.components:feature-intent:${Versions.mozilla_android_components}" + const val mozilla_feature_search = "org.mozilla.components:feature-search:${Versions.mozilla_android_components}" + const val mozilla_feature_session = "org.mozilla.components:feature-session:${Versions.mozilla_android_components}" + const val mozilla_feature_toolbar = "org.mozilla.components:feature-toolbar:${Versions.mozilla_android_components}" + const val mozilla_feature_tabs = "org.mozilla.components:feature-tabs:${Versions.mozilla_android_components}" + const val mozilla_ui_autocomplete = "org.mozilla.components:ui-autocomplete:${Versions.mozilla_android_components}" + const val mozilla_support_utils = "org.mozilla.components:support-utils:${Versions.mozilla_android_components}" + + const val testing_junit = "junit:junit:${Versions.junit}" + const val testing_robolectric = "org.robolectric:robolectric:${Versions.robolectric}" + const val testing_mockito = "org.mockito:mockito-core:${Versions.mockito}" + const val testing_mockwebserver = "com.squareup.okhttp3:mockwebserver:${Versions.mockwebserver}" + + const val support_annotations = "com.android.support:support-annotations:${Versions.support_libraries}" + const val support_cardview = "com.android.support:cardview-v7:${Versions.support_libraries}" + const val support_recyclerview = "com.android.support:recyclerview-v7:${Versions.support_libraries}" + const val support_appcompat = "com.android.support:appcompat-v7:${Versions.support_libraries}" + const val support_customtabs = "com.android.support:customtabs:${Versions.support_libraries}" + const val support_fragment = "com.android.support:support-fragment:${Versions.support_libraries}" + const val support_constraintlayout = "com.android.support.constraint:constraint-layout:${Versions.constraint_layout}" + const val support_compat = "com.android.support:support-compat:${Versions.support_libraries}" + + const val arch_workmanager = "android.arch.work:work-runtime:${Versions.workmanager}" + + const val tools_dokka = "org.jetbrains.dokka:dokka-android-gradle-plugin:${Versions.dokka}" + const val tools_androidgradle = "com.android.tools.build:gradle:${Versions.android_gradle_plugin}" + const val tools_kotlingradle = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}" + const val tools_bintray = "com.jfrog.bintray.gradle:gradle-bintray-plugin:${Versions.bintray_gradle_plugin}" + const val tools_mavengradle = "com.github.dcendents:android-maven-gradle-plugin:${Versions.maven_gradle_plugin}" + + const val tools_lint = "com.android.tools.lint:lint:${Versions.lint}" + const val tools_lintapi = "com.android.tools.lint:lint-api:${Versions.lint}" + const val tools_linttests = "com.android.tools.lint:lint-tests:${Versions.lint}" + + const val mozilla_fxa = "org.mozilla.fxa_client:fxa_client:${Versions.mozilla_app_services}" + const val mozilla_sync_logins = "org.mozilla.sync15:logins:${Versions.mozilla_app_services}" + + const val jna = "net.java.dev.jna:jna:${Versions.jna}@aar" + const val jnaForTest = "net.java.dev.jna:jna:${Versions.jna}@jar" +} diff --git a/buildSrc/src/main/java/Gecko.kt b/buildSrc/src/main/java/Gecko.kt new file mode 100644 index 000000000..db0a87cfd --- /dev/null +++ b/buildSrc/src/main/java/Gecko.kt @@ -0,0 +1,16 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +private object GeckoVersions { + const val nightly_version = "64.0.20180905100117" + const val beta_version = "63.0.20181001131022" +} + +object Gecko { + const val geckoview_nightly_arm = "org.mozilla.geckoview:geckoview-nightly-armeabi-v7a:${GeckoVersions.nightly_version}" + const val geckoview_nightly_x86 = "org.mozilla.geckoview:geckoview-nightly-x86:${GeckoVersions.nightly_version}" + + const val geckoview_beta_arm = "org.mozilla.geckoview:geckoview-beta-armeabi-v7a:${GeckoVersions.beta_version}" + const val geckoview_beta_x86 = "org.mozilla.geckoview:geckoview-beta-x86:${GeckoVersions.beta_version}" +} diff --git a/config/detekt.yml b/config/detekt.yml new file mode 100644 index 000000000..8fbfa1a6c --- /dev/null +++ b/config/detekt.yml @@ -0,0 +1,379 @@ +autoCorrect: true +failFast: false + +test-pattern: # Configure exclusions for test sources + active: true + patterns: # Test file regexes + - '.*/test/.*' + - '.*Test.kt' + - '.*Spec.kt' + exclude-rule-sets: + - 'comments' + exclude-rules: + - 'NamingRules' + - 'WildcardImport' + - 'MagicNumber' + - 'MaxLineLength' + - 'LateinitUsage' + - 'StringLiteralDuplication' + - 'SpreadOperator' + - 'TooManyFunctions' + +build: + maxIssues: 0 + weights: + # complexity: 2 + # LongParameterList: 1 + # style: 1 + # comments: 1 + +processors: + active: true + exclude: + # - 'FunctionCountProcessor' + # - 'PropertyCountProcessor' + # - 'ClassCountProcessor' + # - 'PackageCountProcessor' + # - 'KtFileCountProcessor' + +console-reports: + active: true + exclude: + # - 'ProjectStatisticsReport' + # - 'ComplexityReport' + # - 'NotificationReport' + # - 'FindingsReport' + # - 'BuildFailureReport' + +output-reports: + active: true + exclude: + # - 'HtmlOutputReport' + - 'PlainOutputReport' + - 'XmlOutputReport' + +comments: + active: true + CommentOverPrivateFunction: + active: false + CommentOverPrivateProperty: + active: false + EndOfSentenceFormat: + active: false + endOfSentenceFormat: ([.?!][ \t\n\r\f<])|([.?!]$) + UndocumentedPublicClass: + active: false + searchInNestedClass: true + searchInInnerClass: true + searchInInnerObject: true + searchInInnerInterface: true + UndocumentedPublicFunction: + active: false + +complexity: + active: true + ComplexCondition: + active: true + threshold: 4 + ComplexInterface: + active: false + threshold: 10 + includeStaticDeclarations: false + ComplexMethod: + active: true + threshold: 10 + ignoreSingleWhenExpression: false + LabeledExpression: + active: false + LargeClass: + active: true + threshold: 150 + LongMethod: + active: true + threshold: 20 + LongParameterList: + active: true + threshold: 6 + ignoreDefaultParameters: false + MethodOverloading: + active: false + threshold: 6 + NestedBlockDepth: + active: true + threshold: 4 + StringLiteralDuplication: + active: false + threshold: 3 + ignoreAnnotation: true + excludeStringsWithLessThan5Characters: true + ignoreStringsRegex: '$^' + TooManyFunctions: + active: true + thresholdInFiles: 11 + thresholdInClasses: 11 + thresholdInInterfaces: 11 + thresholdInObjects: 11 + thresholdInEnums: 11 + +empty-blocks: + active: true + EmptyCatchBlock: + active: true + allowedExceptionNameRegex: "^(ignore|expected).*" + EmptyClassBlock: + active: true + EmptyDefaultConstructor: + active: true + EmptyDoWhileBlock: + active: true + EmptyElseBlock: + active: true + EmptyFinallyBlock: + active: true + EmptyForBlock: + active: true + EmptyFunctionBlock: + active: true + EmptyIfBlock: + active: true + EmptyInitBlock: + active: true + EmptyKtFile: + active: true + EmptySecondaryConstructor: + active: true + EmptyWhenBlock: + active: true + EmptyWhileBlock: + active: true + +exceptions: + active: true + ExceptionRaisedInUnexpectedLocation: + active: false + methodNames: 'toString,hashCode,equals,finalize' + InstanceOfCheckForException: + active: false + NotImplementedDeclaration: + active: false + PrintStackTrace: + active: false + RethrowCaughtException: + active: false + ReturnFromFinally: + active: false + SwallowedException: + active: false + ThrowingExceptionFromFinally: + active: false + ThrowingExceptionInMain: + active: false + ThrowingExceptionsWithoutMessageOrCause: + active: false + exceptions: 'IllegalArgumentException,IllegalStateException,IOException' + ThrowingNewInstanceOfSameException: + active: false + TooGenericExceptionCaught: + active: true + exceptionNames: + - ArrayIndexOutOfBoundsException + - Error + - Exception + - IllegalMonitorStateException + - NullPointerException + - IndexOutOfBoundsException + - RuntimeException + - Throwable + TooGenericExceptionThrown: + active: true + exceptionNames: + - Error + - Exception + - Throwable + - RuntimeException + +naming: + active: true + ClassNaming: + active: true + classPattern: '[A-Z$][a-zA-Z0-9$]*' + EnumNaming: + active: true + enumEntryPattern: '^[A-Z][_a-zA-Z0-9]*' + ForbiddenClassName: + active: false + forbiddenName: '' + FunctionMaxLength: + active: false + maximumFunctionNameLength: 30 + FunctionMinLength: + active: false + minimumFunctionNameLength: 3 + FunctionNaming: + active: true + functionPattern: '^([a-z$][a-zA-Z$0-9]*)|(`.*`)$' + excludeClassPattern: '$^' + MatchingDeclarationName: + active: true + MemberNameEqualsClassName: + active: false + ignoreOverriddenFunction: true + ObjectPropertyNaming: + active: true + propertyPattern: '[A-Za-z][_A-Za-z0-9]*' + PackageNaming: + active: true + packagePattern: '^[a-z]+(\.[a-z][a-z0-9]*)*$' + TopLevelPropertyNaming: + active: true + constantPattern: '[A-Z][_A-Z0-9]*' + propertyPattern: '[a-z][A-Za-z\d]*' + privatePropertyPattern: '(_)?[a-z][A-Za-z0-9]*' + VariableMaxLength: + active: false + maximumVariableNameLength: 64 + VariableMinLength: + active: false + minimumVariableNameLength: 1 + VariableNaming: + active: true + variablePattern: '[a-z][A-Za-z0-9]*' + privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*' + excludeClassPattern: '$^' + +performance: + active: true + ForEachOnRange: + active: true + SpreadOperator: + active: true + UnnecessaryTemporaryInstantiation: + active: true + +potential-bugs: + active: true + DuplicateCaseInWhenExpression: + active: true + EqualsAlwaysReturnsTrueOrFalse: + active: false + EqualsWithHashCodeExist: + active: true + ExplicitGarbageCollectionCall: + active: true + InvalidRange: + active: false + IteratorHasNextCallsNextMethod: + active: false + IteratorNotThrowingNoSuchElementException: + active: false + LateinitUsage: + active: false + excludeAnnotatedProperties: "" + ignoreOnClassesPattern: "" + UnconditionalJumpStatementInLoop: + active: false + UnreachableCode: + active: true + UnsafeCallOnNullableType: + active: false + UnsafeCast: + active: false + UselessPostfixExpression: + active: false + WrongEqualsTypeParameter: + active: false + +style: + active: true + CollapsibleIfStatements: + active: true + DataClassContainsFunctions: + active: false + conversionFunctionPrefix: 'to' + EqualsNullCall: + active: false + ExpressionBodySyntax: + active: false + ForbiddenComment: + active: true + values: 'TODO:,FIXME:,STOPSHIP:' + ForbiddenImport: + active: false + imports: '' + FunctionOnlyReturningConstant: + active: false + ignoreOverridableFunction: true + excludedFunctions: 'describeContents' + LoopWithTooManyJumpStatements: + active: false + maxJumpCount: 1 + MagicNumber: + active: true + ignoreNumbers: '-1,0,1,2' + ignoreHashCodeFunction: false + ignorePropertyDeclaration: false + ignoreConstantDeclaration: true + ignoreCompanionObjectPropertyDeclaration: true + ignoreAnnotation: false + ignoreNamedArgument: true + ignoreEnums: false + MaxLineLength: + active: true + maxLineLength: 120 + excludePackageStatements: false + excludeImportStatements: false + MayBeConst: + active: true + ModifierOrder: + active: true + NestedClassesVisibility: + active: false + NewLineAtEndOfFile: + active: true + NoTabs: + active: true + OptionalAbstractKeyword: + active: true + OptionalUnit: + active: false + OptionalWhenBraces: + active: false + ProtectedMemberInFinalClass: + active: false + RedundantVisibilityModifierRule: + active: false + ReturnCount: + active: true + max: 3 + excludedFunctions: "equals" + SafeCast: + active: true + SerialVersionUIDInSerializableClass: + active: false + SpacingBetweenPackageAndImports: + active: true + ThrowsCount: + active: true + max: 2 + TrailingWhitespace: + active: false + UnnecessaryAbstractClass: + active: true + UnnecessaryInheritance: + active: false + UnnecessaryParentheses: + active: false + UntilInsteadOfRangeTo: + active: false + UnusedImports: + active: false + UnusedPrivateMember: + active: false + UseDataClass: + active: false + excludeAnnotatedClasses: "" + UtilityClassWithPublicConstructor: + active: false + WildcardImport: + active: true + excludeImports: 'java.util.*,kotlinx.android.synthetic.*' diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 000000000..782d2cffe --- /dev/null +++ b/gradle.properties @@ -0,0 +1,21 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# We want to use AndroidX. +android.useAndroidX=true +android.enableJetifier=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..f6b961fd5a86aa5fbfe90f707c3138408be7c718 GIT binary patch literal 54329 zcmagFV|ZrKvM!pAZQHhO+qP}9lTNj?q^^Y^VFp)SH8qbSJ)2BQ2giqr}t zFG7D6)c?v~^Z#E_K}1nTQbJ9gQ9<%vVRAxVj)8FwL5_iTdUB>&m3fhE=kRWl;g`&m z!W5kh{WsV%fO*%je&j+Lv4xxK~zsEYQls$Q-p&dwID|A)!7uWtJF-=Tm1{V@#x*+kUI$=%KUuf2ka zjiZ{oiL1MXE2EjciJM!jrjFNwCh`~hL>iemrqwqnX?T*MX;U>>8yRcZb{Oy+VKZos zLiFKYPw=LcaaQt8tj=eoo3-@bG_342HQ%?jpgAE?KCLEHC+DmjxAfJ%Og^$dpC8Xw zAcp-)tfJm}BPNq_+6m4gBgBm3+CvmL>4|$2N$^Bz7W(}fz1?U-u;nE`+9`KCLuqg} zwNstNM!J4Uw|78&Y9~9>MLf56to!@qGkJw5Thx%zkzj%Ek9Nn1QA@8NBXbwyWC>9H z#EPwjMNYPigE>*Ofz)HfTF&%PFj$U6mCe-AFw$U%-L?~-+nSXHHKkdgC5KJRTF}`G zE_HNdrE}S0zf4j{r_f-V2imSqW?}3w-4=f@o@-q+cZgaAbZ((hn))@|eWWhcT2pLpTpL!;_5*vM=sRL8 zqU##{U#lJKuyqW^X$ETU5ETeEVzhU|1m1750#f}38_5N9)B_2|v@1hUu=Kt7-@dhA zq_`OMgW01n`%1dB*}C)qxC8q;?zPeF_r;>}%JYmlER_1CUbKa07+=TV45~symC*g8 zW-8(gag#cAOuM0B1xG8eTp5HGVLE}+gYTmK=`XVVV*U!>H`~j4+ROIQ+NkN$LY>h4 zqpwdeE_@AX@PL};e5vTn`Ro(EjHVf$;^oiA%@IBQq>R7_D>m2D4OwwEepkg}R_k*M zM-o;+P27087eb+%*+6vWFCo9UEGw>t&WI17Pe7QVuoAoGHdJ(TEQNlJOqnjZ8adCb zI`}op16D@v7UOEo%8E-~m?c8FL1utPYlg@m$q@q7%mQ4?OK1h%ODjTjFvqd!C z-PI?8qX8{a@6d&Lb_X+hKxCImb*3GFemm?W_du5_&EqRq!+H?5#xiX#w$eLti-?E$;Dhu`{R(o>LzM4CjO>ICf z&DMfES#FW7npnbcuqREgjPQM#gs6h>`av_oEWwOJZ2i2|D|0~pYd#WazE2Bbsa}X@ zu;(9fi~%!VcjK6)?_wMAW-YXJAR{QHxrD5g(ou9mR6LPSA4BRG1QSZT6A?kelP_g- zH(JQjLc!`H4N=oLw=f3{+WmPA*s8QEeEUf6Vg}@!xwnsnR0bl~^2GSa5vb!Yl&4!> zWb|KQUsC$lT=3A|7vM9+d;mq=@L%uWKwXiO9}a~gP4s_4Yohc!fKEgV7WbVo>2ITbE*i`a|V!^p@~^<={#?Gz57 zyPWeM2@p>D*FW#W5Q`1`#5NW62XduP1XNO(bhg&cX`-LYZa|m-**bu|>}S;3)eP8_ zpNTnTfm8 ze+7wDH3KJ95p)5tlwk`S7mbD`SqHnYD*6`;gpp8VdHDz%RR_~I_Ar>5)vE-Pgu7^Y z|9Px+>pi3!DV%E%4N;ii0U3VBd2ZJNUY1YC^-e+{DYq+l@cGtmu(H#Oh%ibUBOd?C z{y5jW3v=0eV0r@qMLgv1JjZC|cZ9l9Q)k1lLgm))UR@#FrJd>w^`+iy$c9F@ic-|q zVHe@S2UAnc5VY_U4253QJxm&Ip!XKP8WNcnx9^cQ;KH6PlW8%pSihSH2(@{2m_o+m zr((MvBja2ctg0d0&U5XTD;5?d?h%JcRJp{_1BQW1xu&BrA3(a4Fh9hon-ly$pyeHq zG&;6q?m%NJ36K1Sq_=fdP(4f{Hop;_G_(i?sPzvB zDM}>*(uOsY0I1j^{$yn3#U(;B*g4cy$-1DTOkh3P!LQ;lJlP%jY8}Nya=h8$XD~%Y zbV&HJ%eCD9nui-0cw!+n`V~p6VCRqh5fRX z8`GbdZ@73r7~myQLBW%db;+BI?c-a>Y)m-FW~M=1^|<21_Sh9RT3iGbO{o-hpN%d6 z7%++#WekoBOP^d0$$|5npPe>u3PLvX_gjH2x(?{&z{jJ2tAOWTznPxv-pAv<*V7r$ z6&glt>7CAClWz6FEi3bToz-soY^{ScrjwVPV51=>n->c(NJngMj6TyHty`bfkF1hc zkJS%A@cL~QV0-aK4>Id!9dh7>0IV;1J9(myDO+gv76L3NLMUm9XyPauvNu$S<)-|F zZS}(kK_WnB)Cl`U?jsdYfAV4nrgzIF@+%1U8$poW&h^c6>kCx3;||fS1_7JvQT~CV zQ8Js+!p)3oW>Df(-}uqC`Tcd%E7GdJ0p}kYj5j8NKMp(KUs9u7?jQ94C)}0rba($~ zqyBx$(1ae^HEDG`Zc@-rXk1cqc7v0wibOR4qpgRDt#>-*8N3P;uKV0CgJE2SP>#8h z=+;i_CGlv+B^+$5a}SicVaSeaNn29K`C&=}`=#Nj&WJP9Xhz4mVa<+yP6hkrq1vo= z1rX4qg8dc4pmEvq%NAkpMK>mf2g?tg_1k2%v}<3`$6~Wlq@ItJ*PhHPoEh1Yi>v57 z4k0JMO)*=S`tKvR5gb-(VTEo>5Y>DZJZzgR+j6{Y`kd|jCVrg!>2hVjz({kZR z`dLlKhoqT!aI8=S+fVp(5*Dn6RrbpyO~0+?fy;bm$0jmTN|t5i6rxqr4=O}dY+ROd zo9Et|x}!u*xi~>-y>!M^+f&jc;IAsGiM_^}+4|pHRn{LThFFpD{bZ|TA*wcGm}XV^ zr*C6~@^5X-*R%FrHIgo-hJTBcyQ|3QEj+cSqp#>&t`ZzB?cXM6S(lRQw$I2?m5=wd z78ki`R?%;o%VUhXH?Z#(uwAn9$m`npJ=cA+lHGk@T7qq_M6Zoy1Lm9E0UUysN)I_x zW__OAqvku^>`J&CB=ie@yNWsaFmem}#L3T(x?a`oZ+$;3O-icj2(5z72Hnj=9Z0w% z<2#q-R=>hig*(t0^v)eGq2DHC%GymE-_j1WwBVGoU=GORGjtaqr0BNigOCqyt;O(S zKG+DoBsZU~okF<7ahjS}bzwXxbAxFfQAk&O@>LsZMsZ`?N?|CDWM(vOm%B3CBPC3o z%2t@%H$fwur}SSnckUm0-k)mOtht`?nwsDz=2#v=RBPGg39i#%odKq{K^;bTD!6A9 zskz$}t)sU^=a#jLZP@I=bPo?f-L}wpMs{Tc!m7-bi!Ldqj3EA~V;4(dltJmTXqH0r z%HAWKGutEc9vOo3P6Q;JdC^YTnby->VZ6&X8f{obffZ??1(cm&L2h7q)*w**+sE6dG*;(H|_Q!WxU{g)CeoT z(KY&bv!Usc|m+Fqfmk;h&RNF|LWuNZ!+DdX*L=s-=_iH=@i` z?Z+Okq^cFO4}_n|G*!)Wl_i%qiMBaH8(WuXtgI7EO=M>=i_+;MDjf3aY~6S9w0K zUuDO7O5Ta6+k40~xh~)D{=L&?Y0?c$s9cw*Ufe18)zzk%#ZY>Tr^|e%8KPb0ht`b( zuP@8#Ox@nQIqz9}AbW0RzE`Cf>39bOWz5N3qzS}ocxI=o$W|(nD~@EhW13Rj5nAp; zu2obEJa=kGC*#3=MkdkWy_%RKcN=?g$7!AZ8vBYKr$ePY(8aIQ&yRPlQ=mudv#q$q z4%WzAx=B{i)UdLFx4os?rZp6poShD7Vc&mSD@RdBJ=_m^&OlkEE1DFU@csgKcBifJ zz4N7+XEJhYzzO=86 z#%eBQZ$Nsf2+X0XPHUNmg#(sNt^NW1Y0|M(${e<0kW6f2q5M!2YE|hSEQ*X-%qo(V zHaFwyGZ0on=I{=fhe<=zo{=Og-_(to3?cvL4m6PymtNsdDINsBh8m>a%!5o3s(en) z=1I z6O+YNertC|OFNqd6P=$gMyvmfa`w~p9*gKDESFqNBy(~Zw3TFDYh}$iudn)9HxPBi zdokK@o~nu?%imcURr5Y~?6oo_JBe}t|pU5qjai|#JDyG=i^V~7+a{dEnO<(y>ahND#_X_fcEBNiZ)uc&%1HVtx8Ts z*H_Btvx^IhkfOB#{szN*n6;y05A>3eARDXslaE>tnLa>+`V&cgho?ED+&vv5KJszf zG4@G;7i;4_bVvZ>!mli3j7~tPgybF5|J6=Lt`u$D%X0l}#iY9nOXH@(%FFJLtzb%p zzHfABnSs;v-9(&nzbZytLiqqDIWzn>JQDk#JULcE5CyPq_m#4QV!}3421haQ+LcfO*>r;rg6K|r#5Sh|y@h1ao%Cl)t*u`4 zMTP!deC?aL7uTxm5^nUv#q2vS-5QbBKP|drbDXS%erB>fYM84Kpk^au99-BQBZR z7CDynflrIAi&ahza+kUryju5LR_}-Z27g)jqOc(!Lx9y)e z{cYc&_r947s9pteaa4}dc|!$$N9+M38sUr7h(%@Ehq`4HJtTpA>B8CLNO__@%(F5d z`SmX5jbux6i#qc}xOhumzbAELh*Mfr2SW99=WNOZRZgoCU4A2|4i|ZVFQt6qEhH#B zK_9G;&h*LO6tB`5dXRSBF0hq0tk{2q__aCKXYkP#9n^)@cq}`&Lo)1KM{W+>5mSed zKp~=}$p7>~nK@va`vN{mYzWN1(tE=u2BZhga5(VtPKk(*TvE&zmn5vSbjo zZLVobTl%;t@6;4SsZ>5+U-XEGUZGG;+~|V(pE&qqrp_f~{_1h@5ZrNETqe{bt9ioZ z#Qn~gWCH!t#Ha^n&fT2?{`}D@s4?9kXj;E;lWV9Zw8_4yM0Qg-6YSsKgvQ*fF{#Pq z{=(nyV>#*`RloBVCs;Lp*R1PBIQOY=EK4CQa*BD0MsYcg=opP?8;xYQDSAJBeJpw5 zPBc_Ft9?;<0?pBhCmOtWU*pN*;CkjJ_}qVic`}V@$TwFi15!mF1*m2wVX+>5p%(+R zQ~JUW*zWkalde{90@2v+oVlkxOZFihE&ZJ){c?hX3L2@R7jk*xjYtHi=}qb+4B(XJ z$gYcNudR~4Kz_WRq8eS((>ALWCO)&R-MXE+YxDn9V#X{_H@j616<|P(8h(7z?q*r+ zmpqR#7+g$cT@e&(%_|ipI&A%9+47%30TLY(yuf&*knx1wNx|%*H^;YB%ftt%5>QM= z^i;*6_KTSRzQm%qz*>cK&EISvF^ovbS4|R%)zKhTH_2K>jP3mBGn5{95&G9^a#4|K zv+!>fIsR8z{^x4)FIr*cYT@Q4Z{y}};rLHL+atCgHbfX*;+k&37DIgENn&=k(*lKD zG;uL-KAdLn*JQ?@r6Q!0V$xXP=J2i~;_+i3|F;_En;oAMG|I-RX#FwnmU&G}w`7R{ z788CrR-g1DW4h_`&$Z`ctN~{A)Hv_-Bl!%+pfif8wN32rMD zJDs$eVWBYQx1&2sCdB0!vU5~uf)=vy*{}t{2VBpcz<+~h0wb7F3?V^44*&83Z2#F` z32!rd4>uc63rQP$3lTH3zb-47IGR}f)8kZ4JvX#toIpXH`L%NnPDE~$QI1)0)|HS4 zVcITo$$oWWwCN@E-5h>N?Hua!N9CYb6f8vTFd>h3q5Jg-lCI6y%vu{Z_Uf z$MU{{^o~;nD_@m2|E{J)q;|BK7rx%`m``+OqZAqAVj-Dy+pD4-S3xK?($>wn5bi90CFAQ+ACd;&m6DQB8_o zjAq^=eUYc1o{#+p+ zn;K<)Pn*4u742P!;H^E3^Qu%2dM{2slouc$AN_3V^M7H_KY3H)#n7qd5_p~Za7zAj|s9{l)RdbV9e||_67`#Tu*c<8!I=zb@ z(MSvQ9;Wrkq6d)!9afh+G`!f$Ip!F<4ADdc*OY-y7BZMsau%y?EN6*hW4mOF%Q~bw z2==Z3^~?q<1GTeS>xGN-?CHZ7a#M4kDL zQxQr~1ZMzCSKFK5+32C%+C1kE#(2L=15AR!er7GKbp?Xd1qkkGipx5Q~FI-6zt< z*PTpeVI)Ngnnyaz5noIIgNZtb4bQdKG{Bs~&tf)?nM$a;7>r36djllw%hQxeCXeW^ z(i6@TEIuxD<2ulwLTt|&gZP%Ei+l!(%p5Yij6U(H#HMkqM8U$@OKB|5@vUiuY^d6X zW}fP3;Kps6051OEO(|JzmVU6SX(8q>*yf*x5QoxDK={PH^F?!VCzES_Qs>()_y|jg6LJlJWp;L zKM*g5DK7>W_*uv}{0WUB0>MHZ#oJZmO!b3MjEc}VhsLD~;E-qNNd?x7Q6~v zR=0$u>Zc2Xr}>x_5$-s#l!oz6I>W?lw;m9Ae{Tf9eMX;TI-Wf_mZ6sVrMnY#F}cDd z%CV*}fDsXUF7Vbw>PuDaGhu631+3|{xp<@Kl|%WxU+vuLlcrklMC!Aq+7n~I3cmQ! z`e3cA!XUEGdEPSu``&lZEKD1IKO(-VGvcnSc153m(i!8ohi`)N2n>U_BemYJ`uY>8B*Epj!oXRLV}XK}>D*^DHQ7?NY*&LJ9VSo`Ogi9J zGa;clWI8vIQqkngv2>xKd91K>?0`Sw;E&TMg&6dcd20|FcTsnUT7Yn{oI5V4@Ow~m zz#k~8TM!A9L7T!|colrC0P2WKZW7PNj_X4MfESbt<-soq*0LzShZ}fyUx!(xIIDwx zRHt^_GAWe0-Vm~bDZ(}XG%E+`XhKpPlMBo*5q_z$BGxYef8O!ToS8aT8pmjbPq)nV z%x*PF5ZuSHRJqJ!`5<4xC*xb2vC?7u1iljB_*iUGl6+yPyjn?F?GOF2_KW&gOkJ?w z3e^qc-te;zez`H$rsUCE0<@7PKGW?7sT1SPYWId|FJ8H`uEdNu4YJjre`8F*D}6Wh z|FQ`xf7yiphHIAkU&OYCn}w^ilY@o4larl?^M7&8YI;hzBIsX|i3UrLsx{QDKwCX< zy;a>yjfJ6!sz`NcVi+a!Fqk^VE^{6G53L?@Tif|j!3QZ0fk9QeUq8CWI;OmO-Hs+F zuZ4sHLA3{}LR2Qlyo+{d@?;`tpp6YB^BMoJt?&MHFY!JQwoa0nTSD+#Ku^4b{5SZVFwU9<~APYbaLO zu~Z)nS#dxI-5lmS-Bnw!(u15by(80LlC@|ynj{TzW)XcspC*}z0~8VRZq>#Z49G`I zgl|C#H&=}n-ajxfo{=pxPV(L*7g}gHET9b*s=cGV7VFa<;Htgjk>KyW@S!|z`lR1( zGSYkEl&@-bZ*d2WQ~hw3NpP=YNHF^XC{TMG$Gn+{b6pZn+5=<()>C!N^jncl0w6BJ zdHdnmSEGK5BlMeZD!v4t5m7ct7{k~$1Ie3GLFoHjAH*b?++s<|=yTF+^I&jT#zuMx z)MLhU+;LFk8bse|_{j+d*a=&cm2}M?*arjBPnfPgLwv)86D$6L zLJ0wPul7IenMvVAK$z^q5<^!)7aI|<&GGEbOr=E;UmGOIa}yO~EIr5xWU_(ol$&fa zR5E(2vB?S3EvJglTXdU#@qfDbCYs#82Yo^aZN6`{Ex#M)easBTe_J8utXu(fY1j|R z9o(sQbj$bKU{IjyhosYahY{63>}$9_+hWxB3j}VQkJ@2$D@vpeRSldU?&7I;qd2MF zSYmJ>zA(@N_iK}m*AMPIJG#Y&1KR)6`LJ83qg~`Do3v^B0>fU&wUx(qefuTgzFED{sJ65!iw{F2}1fQ3= ziFIP{kezQxmlx-!yo+sC4PEtG#K=5VM9YIN0z9~c4XTX?*4e@m;hFM!zVo>A`#566 z>f&3g94lJ{r)QJ5m7Xe3SLau_lOpL;A($wsjHR`;xTXgIiZ#o&vt~ zGR6KdU$FFbLfZCC3AEu$b`tj!9XgOGLSV=QPIYW zjI!hSP#?8pn0@ezuenOzoka8!8~jXTbiJ6+ZuItsWW03uzASFyn*zV2kIgPFR$Yzm zE<$cZlF>R8?Nr2_i?KiripBc+TGgJvG@vRTY2o?(_Di}D30!k&CT`>+7ry2!!iC*X z<@=U0_C#16=PN7bB39w+zPwDOHX}h20Ap);dx}kjXX0-QkRk=cr};GYsjSvyLZa-t zzHONWddi*)RDUH@RTAsGB_#&O+QJaaL+H<<9LLSE+nB@eGF1fALwjVOl8X_sdOYme z0lk!X=S(@25=TZHR7LlPp}fY~yNeThMIjD}pd9+q=j<_inh0$>mIzWVY+Z9p<{D^#0Xk+b_@eNSiR8;KzSZ#7lUsk~NGMcB8C2c=m2l5paHPq`q{S(kdA7Z1a zyfk2Y;w?^t`?@yC5Pz9&pzo}Hc#}mLgDmhKV|PJ3lKOY(Km@Fi2AV~CuET*YfUi}u zfInZnqDX(<#vaS<^fszuR=l)AbqG{}9{rnyx?PbZz3Pyu!eSJK`uwkJU!ORQXy4x83r!PNgOyD33}}L=>xX_93l6njNTuqL8J{l%*3FVn3MG4&Fv*`lBXZ z?=;kn6HTT^#SrPX-N)4EZiIZI!0ByXTWy;;J-Tht{jq1mjh`DSy7yGjHxIaY%*sTx zuy9#9CqE#qi>1misx=KRWm=qx4rk|}vd+LMY3M`ow8)}m$3Ggv&)Ri*ON+}<^P%T5 z_7JPVPfdM=Pv-oH<tecoE}(0O7|YZc*d8`Uv_M*3Rzv7$yZnJE6N_W=AQ3_BgU_TjA_T?a)U1csCmJ&YqMp-lJe`y6>N zt++Bi;ZMOD%%1c&-Q;bKsYg!SmS^#J@8UFY|G3!rtyaTFb!5@e(@l?1t(87ln8rG? z--$1)YC~vWnXiW3GXm`FNSyzu!m$qT=Eldf$sMl#PEfGmzQs^oUd=GIQfj(X=}dw+ zT*oa0*oS%@cLgvB&PKIQ=Ok?>x#c#dC#sQifgMwtAG^l3D9nIg(Zqi;D%807TtUUCL3_;kjyte#cAg?S%e4S2W>9^A(uy8Ss0Tc++ZTjJw1 z&Em2g!3lo@LlDyri(P^I8BPpn$RE7n*q9Q-c^>rfOMM6Pd5671I=ZBjAvpj8oIi$! zl0exNl(>NIiQpX~FRS9UgK|0l#s@#)p4?^?XAz}Gjb1?4Qe4?j&cL$C8u}n)?A@YC zfmbSM`Hl5pQFwv$CQBF=_$Sq zxsV?BHI5bGZTk?B6B&KLdIN-40S426X3j_|ceLla*M3}3gx3(_7MVY1++4mzhH#7# zD>2gTHy*%i$~}mqc#gK83288SKp@y3wz1L_e8fF$Rb}ex+`(h)j}%~Ld^3DUZkgez zOUNy^%>>HHE|-y$V@B}-M|_{h!vXpk01xaD%{l{oQ|~+^>rR*rv9iQen5t?{BHg|% zR`;S|KtUb!X<22RTBA4AAUM6#M?=w5VY-hEV)b`!y1^mPNEoy2K)a>OyA?Q~Q*&(O zRzQI~y_W=IPi?-OJX*&&8dvY0zWM2%yXdFI!D-n@6FsG)pEYdJbuA`g4yy;qrgR?G z8Mj7gv1oiWq)+_$GqqQ$(ZM@#|0j7})=#$S&hZwdoijFI4aCFLVI3tMH5fLreZ;KD zqA`)0l~D2tuIBYOy+LGw&hJ5OyE+@cnZ0L5+;yo2pIMdt@4$r^5Y!x7nHs{@>|W(MzJjATyWGNwZ^4j+EPU0RpAl-oTM@u{lx*i0^yyWPfHt6QwPvYpk9xFMWfBFt!+Gu6TlAmr zeQ#PX71vzN*_-xh&__N`IXv6`>CgV#eA_%e@7wjgkj8jlKzO~Ic6g$cT`^W{R{606 zCDP~+NVZ6DMO$jhL~#+!g*$T!XW63#(ngDn#Qwy71yj^gazS{e;3jGRM0HedGD@pt z?(ln3pCUA(ekqAvvnKy0G@?-|-dh=eS%4Civ&c}s%wF@0K5Bltaq^2Os1n6Z3%?-Q zAlC4goQ&vK6TpgtzkHVt*1!tBYt-`|5HLV1V7*#45Vb+GACuU+QB&hZ=N_flPy0TY zR^HIrdskB#<$aU;HY(K{a3(OQa$0<9qH(oa)lg@Uf>M5g2W0U5 zk!JSlhrw8quBx9A>RJ6}=;W&wt@2E$7J=9SVHsdC?K(L(KACb#z)@C$xXD8^!7|uv zZh$6fkq)aoD}^79VqdJ!Nz-8$IrU(_-&^cHBI;4 z^$B+1aPe|LG)C55LjP;jab{dTf$0~xbXS9!!QdcmDYLbL^jvxu2y*qnx2%jbL%rB z{aP85qBJe#(&O~Prk%IJARcdEypZ)vah%ZZ%;Zk{eW(U)Bx7VlzgOi8)x z`rh4l`@l_Ada7z&yUK>ZF;i6YLGwI*Sg#Fk#Qr0Jg&VLax(nNN$u-XJ5=MsP3|(lEdIOJ7|(x3iY;ea)5#BW*mDV%^=8qOeYO&gIdJVuLLN3cFaN=xZtFB=b zH{l)PZl_j^u+qx@89}gAQW7ofb+k)QwX=aegihossZq*+@PlCpb$rpp>Cbk9UJO<~ zDjlXQ_Ig#W0zdD3&*ei(FwlN#3b%FSR%&M^ywF@Fr>d~do@-kIS$e%wkIVfJ|Ohh=zc zF&Rnic^|>@R%v?@jO}a9;nY3Qrg_!xC=ZWUcYiA5R+|2nsM*$+c$TOs6pm!}Z}dfM zGeBhMGWw3$6KZXav^>YNA=r6Es>p<6HRYcZY)z{>yasbC81A*G-le8~QoV;rtKnkx z;+os8BvEe?0A6W*a#dOudsv3aWs?d% z0oNngyVMjavLjtjiG`!007#?62ClTqqU$@kIY`=x^$2e>iqIy1>o|@Tw@)P)B8_1$r#6>DB_5 zmaOaoE~^9TolgDgooKFuEFB#klSF%9-~d2~_|kQ0Y{Ek=HH5yq9s zDq#1S551c`kSiWPZbweN^A4kWiP#Qg6er1}HcKv{fxb1*BULboD0fwfaNM_<55>qM zETZ8TJDO4V)=aPp_eQjX%||Ud<>wkIzvDlpNjqW>I}W!-j7M^TNe5JIFh#-}zAV!$ICOju8Kx)N z0vLtzDdy*rQN!7r>Xz7rLw8J-(GzQlYYVH$WK#F`i_i^qVlzTNAh>gBWKV@XC$T-` z3|kj#iCquDhiO7NKum07i|<-NuVsX}Q}mIP$jBJDMfUiaWR3c|F_kWBMw0_Sr|6h4 zk`_r5=0&rCR^*tOy$A8K;@|NqwncjZ>Y-75vlpxq%Cl3EgH`}^^~=u zoll6xxY@a>0f%Ddpi;=cY}fyG!K2N-dEyXXmUP5u){4VnyS^T4?pjN@Ot4zjL(Puw z_U#wMH2Z#8Pts{olG5Dy0tZj;N@;fHheu>YKYQU=4Bk|wcD9MbA`3O4bj$hNRHwzb zSLcG0SLV%zywdbuwl(^E_!@&)TdXge4O{MRWk2RKOt@!8E{$BU-AH(@4{gxs=YAz9LIob|Hzto0}9cWoz6Tp2x0&xi#$ zHh$dwO&UCR1Ob2w00-2eG7d4=cN(Y>0R#$q8?||q@iTi+7-w-xR%uMr&StFIthC<# zvK(aPduwuNB}oJUV8+Zl)%cnfsHI%4`;x6XW^UF^e4s3Z@S<&EV8?56Wya;HNs0E> z`$0dgRdiUz9RO9Au3RmYq>K#G=X%*_dUbSJHP`lSfBaN8t-~@F>)BL1RT*9I851A3 z<-+Gb#_QRX>~av#Ni<#zLswtu-c6{jGHR>wflhKLzC4P@b%8&~u)fosoNjk4r#GvC zlU#UU9&0Hv;d%g72Wq?Ym<&&vtA3AB##L}=ZjiTR4hh7J)e>ei} zt*u+>h%MwN`%3}b4wYpV=QwbY!jwfIj#{me)TDOG`?tI!%l=AwL2G@9I~}?_dA5g6 zCKgK(;6Q0&P&K21Tx~k=o6jwV{dI_G+Ba*Zts|Tl6q1zeC?iYJTb{hel*x>^wb|2RkHkU$!+S4OU4ZOKPZjV>9OVsqNnv5jK8TRAE$A&^yRwK zj-MJ3Pl?)KA~fq#*K~W0l4$0=8GRx^9+?w z!QT8*-)w|S^B0)ZeY5gZPI2G(QtQf?DjuK(s^$rMA!C%P22vynZY4SuOE=wX2f8$R z)A}mzJi4WJnZ`!bHG1=$lwaxm!GOnRbR15F$nRC-M*H<*VfF|pQw(;tbSfp({>9^5 zw_M1-SJ9eGF~m(0dvp*P8uaA0Yw+EkP-SWqu zqal$hK8SmM7#Mrs0@OD+%_J%H*bMyZiWAZdsIBj#lkZ!l2c&IpLu(5^T0Ge5PHzR} zn;TXs$+IQ_&;O~u=Jz+XE0wbOy`=6>m9JVG} zJ~Kp1e5m?K3x@@>!D)piw^eMIHjD4RebtR`|IlckplP1;r21wTi8v((KqNqn%2CB< zifaQc&T}*M&0i|LW^LgdjIaX|o~I$`owHolRqeH_CFrqCUCleN130&vH}dK|^kC>) z-r2P~mApHotL4dRX$25lIcRh_*kJaxi^%ZN5-GAAMOxfB!6flLPY-p&QzL9TE%ho( zRwftE3sy5<*^)qYzKkL|rE>n@hyr;xPqncY6QJ8125!MWr`UCWuC~A#G1AqF1@V$kv>@NBvN&2ygy*{QvxolkRRb%Ui zsmKROR%{*g*WjUUod@@cS^4eF^}yQ1>;WlGwOli z+Y$(8I`0(^d|w>{eaf!_BBM;NpCoeem2>J}82*!em=}}ymoXk>QEfJ>G(3LNA2-46 z5PGvjr)Xh9>aSe>vEzM*>xp{tJyZox1ZRl}QjcvX2TEgNc^(_-hir@Es>NySoa1g^ zFow_twnHdx(j?Q_3q51t3XI7YlJ4_q&(0#)&a+RUy{IcBq?)eaWo*=H2UUVIqtp&lW9JTJiP&u zw8+4vo~_IJXZIJb_U^&=GI1nSD%e;P!c{kZALNCm5c%%oF+I3DrA63_@4)(v4(t~JiddILp7jmoy+>cD~ivwoctFfEL zP*#2Rx?_&bCpX26MBgp^4G>@h`Hxc(lnqyj!*t>9sOBcXN(hTwEDpn^X{x!!gPX?1 z*uM$}cYRwHXuf+gYTB}gDTcw{TXSOUU$S?8BeP&sc!Lc{{pEv}x#ELX>6*ipI1#>8 zKes$bHjiJ1OygZge_ak^Hz#k;=od1wZ=o71ba7oClBMq>Uk6hVq|ePPt)@FM5bW$I z;d2Or@wBjbTyZj|;+iHp%Bo!Vy(X3YM-}lasMItEV_QrP-Kk_J4C>)L&I3Xxj=E?| zsAF(IfVQ4w+dRRnJ>)}o^3_012YYgFWE)5TT=l2657*L8_u1KC>Y-R{7w^S&A^X^U}h20jpS zQsdeaA#WIE*<8KG*oXc~$izYilTc#z{5xhpXmdT-YUnGh9v4c#lrHG6X82F2-t35} zB`jo$HjKe~E*W$=g|j&P>70_cI`GnOQ;Jp*JK#CT zuEGCn{8A@bC)~0%wsEv?O^hSZF*iqjO~_h|>xv>PO+?525Nw2472(yqS>(#R)D7O( zg)Zrj9n9$}=~b00=Wjf?E418qP-@8%MQ%PBiCTX=$B)e5cHFDu$LnOeJ~NC;xmOk# z>z&TbsK>Qzk)!88lNI8fOE2$Uxso^j*1fz>6Ot49y@=po)j4hbTIcVR`ePHpuJSfp zxaD^Dn3X}Na3@<_Pc>a;-|^Pon(>|ytG_+U^8j_JxP=_d>L$Hj?|0lz>_qQ#a|$+( z(x=Lipuc8p4^}1EQhI|TubffZvB~lu$zz9ao%T?%ZLyV5S9}cLeT?c} z>yCN9<04NRi~1oR)CiBakoNhY9BPnv)kw%*iv8vdr&&VgLGIs(-FbJ?d_gfbL2={- zBk4lkdPk~7+jIxd4{M(-W1AC_WcN&Oza@jZoj zaE*9Y;g83#m(OhA!w~LNfUJNUuRz*H-=$s*z+q+;snKPRm9EptejugC-@7-a-}Tz0 z@KHra#Y@OXK+KsaSN9WiGf?&jlZ!V7L||%KHP;SLksMFfjkeIMf<1e~t?!G3{n)H8 zQAlFY#QwfKuj;l@<$YDATAk;%PtD%B(0<|8>rXU< zJ66rkAVW_~Dj!7JGdGGi4NFuE?7ZafdMxIh65Sz7yQoA7fBZCE@WwysB=+`kT^LFX zz8#FlSA5)6FG9(qL3~A24mpzL@@2D#>0J7mMS1T*9UJ zvOq!!a(%IYY69+h45CE?(&v9H4FCr>gK0>mK~F}5RdOuH2{4|}k@5XpsX7+LZo^Qa4sH5`eUj>iffoBVm+ zz4Mtf`h?NW$*q1yr|}E&eNl)J``SZvTf6Qr*&S%tVv_OBpbjnA0&Vz#(;QmGiq-k! zgS0br4I&+^2mgA15*~Cd00cXLYOLA#Ep}_)eED>m+K@JTPr_|lSN}(OzFXQSBc6fM z@f-%2;1@BzhZa*LFV z-LrLmkmB%<<&jEURBEW>soaZ*rSIJNwaV%-RSaCZi4X)qYy^PxZ=oL?6N-5OGOMD2 z;q_JK?zkwQ@b3~ln&sDtT5SpW9a0q+5Gm|fpVY2|zqlNYBR}E5+ahgdj!CvK$Tlk0 z9g$5N;aar=CqMsudQV>yb4l@hN(9Jcc=1(|OHsqH6|g=K-WBd8GxZ`AkT?OO z-z_Ued-??Z*R4~L7jwJ%-`s~FK|qNAJ;EmIVDVpk{Lr7T4l{}vL)|GuUuswe9c5F| zv*5%u01hlv08?00Vpwyk*Q&&fY8k6MjOfpZfKa@F-^6d=Zv|0@&4_544RP5(s|4VPVP-f>%u(J@23BHqo2=zJ#v9g=F!cP((h zpt0|(s++ej?|$;2PE%+kc6JMmJjDW)3BXvBK!h!E`8Y&*7hS{c_Z?4SFP&Y<3evqf z9-ke+bSj$%Pk{CJlJbWwlBg^mEC^@%Ou?o>*|O)rl&`KIbHrjcpqsc$Zqt0^^F-gU2O=BusO+(Op}!jNzLMc zT;0YT%$@ClS%V+6lMTfhuzzxomoat=1H?1$5Ei7&M|gxo`~{UiV5w64Np6xV zVK^nL$)#^tjhCpTQMspXI({TW^U5h&Wi1Jl8g?P1YCV4=%ZYyjSo#5$SX&`r&1PyC zzc;uzCd)VTIih|8eNqFNeBMe#j_FS6rq81b>5?aXg+E#&$m++Gz9<+2)h=K(xtn}F ziV{rmu+Y>A)qvF}ms}4X^Isy!M&1%$E!rTO~5(p+8{U6#hWu>(Ll1}eD64Xa>~73A*538wry?v$vW z>^O#FRdbj(k0Nr&)U`Tl(4PI*%IV~;ZcI2z&rmq=(k^}zGOYZF3b2~Klpzd2eZJl> zB=MOLwI1{$RxQ7Y4e30&yOx?BvAvDkTBvWPpl4V8B7o>4SJn*+h1Ms&fHso%XLN5j z-zEwT%dTefp~)J_C8;Q6i$t!dnlh-!%haR1X_NuYUuP-)`IGWjwzAvp!9@h`kPZhf zwLwFk{m3arCdx8rD~K2`42mIN4}m%OQ|f)4kf%pL?Af5Ul<3M2fv>;nlhEPR8b)u} zIV*2-wyyD%%) zl$G@KrC#cUwoL?YdQyf9WH)@gWB{jd5w4evI& zOFF)p_D8>;3-N1z6mES!OPe>B^<;9xsh)){Cw$Vs-ez5nXS95NOr3s$IU;>VZSzKn zBvub8_J~I%(DozZW@{)Vp37-zevxMRZ8$8iRfwHmYvyjOxIOAF2FUngKj289!(uxY zaClWm!%x&teKmr^ABrvZ(ikx{{I-lEzw5&4t3P0eX%M~>$wG0ZjA4Mb&op+0$#SO_ z--R`>X!aqFu^F|a!{Up-iF(K+alKB{MNMs>e(i@Tpy+7Z-dK%IEjQFO(G+2mOb@BO zP>WHlS#fSQm0et)bG8^ZDScGnh-qRKIFz zfUdnk=m){ej0i(VBd@RLtRq3Ep=>&2zZ2%&vvf?Iex01hx1X!8U+?>ER;yJlR-2q4 z;Y@hzhEC=d+Le%=esE>OQ!Q|E%6yG3V_2*uh&_nguPcZ{q?DNq8h_2ahaP6=pP-+x zK!(ve(yfoYC+n(_+chiJ6N(ZaN+XSZ{|H{TR1J_s8x4jpis-Z-rlRvRK#U%SMJ(`C z?T2 zF(NNfO_&W%2roEC2j#v*(nRgl1X)V-USp-H|CwFNs?n@&vpRcj@W@xCJwR6@T!jt377?XjZ06=`d*MFyTdyvW!`mQm~t3luzYzvh^F zM|V}rO>IlBjZc}9Z zd$&!tthvr>5)m;5;96LWiAV0?t)7suqdh0cZis`^Pyg@?t>Ms~7{nCU;z`Xl+raSr zXpp=W1oHB*98s!Tpw=R5C)O{{Inl>9l7M*kq%#w9a$6N~v?BY2GKOVRkXYCgg*d

    <5G2M1WZP5 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 F{|7XC?P&l2 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..9a4163a4f --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 000000000..cccdd3d51 --- /dev/null +++ b/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## 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="" + +# 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, switch paths to Windows format before running java +if $cygwin ; 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=$((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" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 000000000..e95643d6a --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,84 @@ +@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= + +@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 diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 000000000..e7b4def49 --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +include ':app'