From: Vincent Vanwaelscappel Date: Thu, 13 Oct 2022 03:42:59 +0000 (+0200) Subject: . X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=651ec8775ce784151668b7f8c666251c162f1f3a;p=tortuga-home.git . --- diff --git a/.docker/android/adbkey b/.docker/android/adbkey new file mode 100644 index 0000000..760020c --- /dev/null +++ b/.docker/android/adbkey @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD5BV11yD1v1Oan +QyW2WHluF5lAd5JGcTITIOsN39l/jhw+N4RdjutQG9/TJBk11ieKvVafjX3ebSYf +NnpXbufBug8xny8xKl5CUDTBxCGzV1rzuJV/4x6/b6V7ApEkRR7hcrE3/yx6Oc/r +rsu/28YeKdGBWaMWJGiARoHp6OuimhJgET//UsegEnEpNG/O7sZfb6U47ignt/jO +k4ZbDqlEZVSSsKygcOG0AeJ1BSWR+ekkckRUD+6dalVtJ8QPX62TNFhS5Q/GvBhV +fbKreY9cbNb10lqE88ePKqWXJ0YnEK6F1Octd1BtIJI6/tTC8pwCtoONVlyHy4Y4 +cIP69vpLAgMBAAECggEAM+8ugrX0OjKIuDGE1/azvIYnbA6D7zUEYIDpBMe+sJ+O +vFsPvANmiBqIH5zTtSqorIK4YiY8LftNjAzsjveOVhTbvlmYmgRgDCx2FEM3VBPP +4CyK4VUYwIwkUvdCFfJkclhdJXSObh9Igbq+u5C2TOwjyXpMTP3i3X3W8lWlbw+R +mtNHrP8zJ1UOFMquQrWMNABicOXIFgSd1NmhjRy/3MdNXSmIxFuI7CRIlU1SbK2t +6BJhEpp/3zwhPJkohkVHyK75VtOXLDSQMoVvHBKLXdyzepXEvMvk1x08tBcvDTxz +gRqprFnN2XtZxwbeRXU96IFv4oO3hWAL8HEPfLuPAQKBgQD/eNUOGsvqrE0GlrrT +SQ6suRBM3Lv5dbtd8jNpbEyRqJcKoPlxUs73bCVk4rESr4+9WMC+XVp0sSqmROlW +zmKlSV4CuIw7uL/CjU3mCPAtsFAk9DdNtXO0vmxS5accyKNAHkzkssgukaSwjtlF +ekZenybBCYB4ezsQ7tLsIpQ5YQKBgQD5iR6hN8iQj9MZn98R+IF/SWLlQn6U9tMa +MlF1b6bNomoU0UvV+gRCsRnC16sPecAOK29sP3a45c4/Semr+OHMUOcnRNitsxz+ +EYCbYnMQ5sXWp8D41Xtl2EV7MzA9EJhr0/lixPBrvcsV2MliZqZVQWkYEvBy+Z4k +0JoSwS23KwKBgGOw3UMBxe0vi2c0znbAnY9dMDUuNdQk0xbX+qP69O4qIbauFmjY +bZczhmwV4g9unuK+jYg7mZ7Lu97iKUQMiYYCWUMqjN6JO5tJ1ModVswdb0jcW/Bh +DGPNoyu+HjYnPT06Fbtw4Jj7kI6tT6/DBU7LQC437QAW5ne3Gmu3GqxBAoGBAL+s +F572XlTMZPZ12r7PB4liMViwbtK1lQm2ROPT02h4rMs4yOufk842gvcq+fZ1KpS3 +wGqBhQwZWQc8GwVBsw9hxWxgcZ9ayZZOk17HjGMbIDP1v0Bjmtlr+lLbyt3c9Xc9 +5316kMHxkyFA18+B0ZoDGFqpkZB/NH5KzU5CnH7pAoGACHgNUxqdjUrDjR/acy4m +tH5UA09WmEvdJCYxCco0EPAlx1j9UTH0XIlfvTXgwcEL1MXS7GrsJdBj/URw+br4 +FcLIZJp9ov2wN6QdfwseTIamIgtd0MQHMLd3tQ1fdhiKJRilLdCiXMGefdHCx8MB +0kq72fFs7urSyHuM485Ft9A= +-----END PRIVATE KEY----- diff --git a/.docker/android/adbkey.pub b/.docker/android/adbkey.pub new file mode 100644 index 0000000..58b4c01 --- /dev/null +++ b/.docker/android/adbkey.pub @@ -0,0 +1 @@ +QAAAAJ2ASW5L+vb6g3A4hsuHXFaNg7YCnPLC1P46kiBtUHct59SFrhAnRieXpSqPx/OEWtL11mxcj3mrsn1VGLzGD+VSWDSTrV8PxCdtVWqd7g9URHIk6fmRJQV14gG04XCgrLCSVGVEqQ5bhpPO+LcnKO44pW9fxu7ObzQpcRKgx1L/PxFgEpqi6+jpgUaAaCQWo1mB0Skextu/y67rzzl6LP83sXLhHkUkkQJ7pW+/HuN/lbjzWlezIcTBNFBCXioxL58xD7rB525XejYfJm3efY2fVr2KJ9Y1GSTT3xtQ645dhDc+HI5/2d8N6yATMnFGkndAmRdueVi2JUOn5tRvPch1XQX5R+SjoBuYl+jrvN+qh73s39vgOlt9mOfBksjCwLQWWgu85DfwawJmt2p9c0sFXAC39fQCYJQCJDrYjFtvnVa6L/qIgbtmz9WWl1PHa/1aQYnih8GprTeKuj/ASYKuwYYdN+Z8iOxkP1zboRjf3btkRELFZkjkkBkixFc5ZiwiwIg+lcWvSVpOP1CxbsVDwEn77J/s+p2iYfGyCf6djNRCTwjQj+2z7+8uKhxaeShWfQf1BN0buZnVr3noBpH3RyHvyBxdKzUZiXfEzdwCmqCLKzmS44+F5X/tggtdA4bCjspHhlFt0WaW0Eu0szWlnlN7qp2ghFk4bYfUxYieM5AR9wEAAQA= @unknown \ No newline at end of file diff --git a/.docker/android/core b/.docker/android/core new file mode 100644 index 0000000..66b4f53 Binary files /dev/null and b/.docker/android/core differ diff --git a/.docker/checkhttp b/.docker/checkhttp new file mode 100644 index 0000000..7e95825 --- /dev/null +++ b/.docker/checkhttp @@ -0,0 +1,18 @@ +#!/bin/sh +fetchstatus() { + curl \ + -o /dev/null \ + --silent \ + --head \ + --write-out '%{http_code}' \ + -m 45 \ + "https://salon.home.tortuga.enhydra.fr" +} + +urlstatus=$(fetchstatus) +echo $urlstatus +if [ "$urlstatus" = "200" ]; then + exit 0 +fi +docker restart tortugahome + diff --git a/.docker/config/at.allow b/.docker/config/at.allow new file mode 100644 index 0000000..5bbad18 --- /dev/null +++ b/.docker/config/at.allow @@ -0,0 +1 @@ +www-data diff --git a/.docker/config/at.deny b/.docker/config/at.deny new file mode 100644 index 0000000..e2b967a --- /dev/null +++ b/.docker/config/at.deny @@ -0,0 +1,23 @@ +alias +backup +bin +daemon +ftp +games +gnats +guest +irc +lp +mail +man +nobody +operator +proxy +qmaild +qmaill +qmailp +qmailq +qmailr +qmails +sync +sys diff --git a/.docker/config/httpd/httpd.conf b/.docker/config/httpd/httpd.conf new file mode 100644 index 0000000..c7da471 --- /dev/null +++ b/.docker/config/httpd/httpd.conf @@ -0,0 +1,553 @@ +# +# This is the main Apache HTTP server configuration file. It contains the +# configuration directives that give the server its instructions. +# See for detailed information. +# In particular, see +# +# for a discussion of each configuration directive. +# +# Do NOT simply read the instructions in here without understanding +# what they do. They're here only as hints or reminders. If you are unsure +# consult the online docs. You have been warned. +# +# Configuration and logfile names: If the filenames you specify for many +# of the server's control files begin with "/" (or "drive:/" for Win32), the +# server will use that explicit path. If the filenames do *not* begin +# with "/", the value of ServerRoot is prepended -- so "logs/access_log" +# with ServerRoot set to "/usr/local/apache2" will be interpreted by the +# server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log" +# will be interpreted as '/logs/access_log'. + +# +# ServerRoot: The top of the directory tree under which the server's +# configuration, error, and log files are kept. +# +# Do not add a slash at the end of the directory path. If you point +# ServerRoot at a non-local disk, be sure to specify a local disk on the +# Mutex directive, if file-based mutexes are used. If you wish to share the +# same ServerRoot for multiple httpd daemons, you will need to change at +# least PidFile. +# +ServerRoot "/usr/local/apache2" + +# +# Mutex: Allows you to set the mutex mechanism and mutex file directory +# for individual mutexes, or change the global defaults +# +# Uncomment and change the directory if mutexes are file-based and the default +# mutex file directory is not on a local disk or is not appropriate for some +# other reason. +# +# Mutex default:logs + +# +# Listen: Allows you to bind Apache to specific IP addresses and/or +# ports, instead of the default. See also the +# directive. +# +# Change this to Listen on specific IP addresses as shown below to +# prevent Apache from glomming onto all bound IP addresses. +# +#Listen 12.34.56.78:80 +Listen 80 + +# +# Dynamic Shared Object (DSO) Support +# +# To be able to use the functionality of a module which was built as a DSO you +# have to place corresponding `LoadModule' lines at this location so the +# directives contained in it are actually available _before_ they are used. +# Statically compiled modules (those listed by `httpd -l') do not need +# to be loaded here. +# +# Example: +# LoadModule foo_module modules/mod_foo.so +# +LoadModule mpm_event_module modules/mod_mpm_event.so +#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so +#LoadModule mpm_worker_module modules/mod_mpm_worker.so +LoadModule authn_file_module modules/mod_authn_file.so +#LoadModule authn_dbm_module modules/mod_authn_dbm.so +#LoadModule authn_anon_module modules/mod_authn_anon.so +#LoadModule authn_dbd_module modules/mod_authn_dbd.so +#LoadModule authn_socache_module modules/mod_authn_socache.so +LoadModule authn_core_module modules/mod_authn_core.so +LoadModule authz_host_module modules/mod_authz_host.so +LoadModule authz_groupfile_module modules/mod_authz_groupfile.so +LoadModule authz_user_module modules/mod_authz_user.so +#LoadModule authz_dbm_module modules/mod_authz_dbm.so +#LoadModule authz_owner_module modules/mod_authz_owner.so +#LoadModule authz_dbd_module modules/mod_authz_dbd.so +LoadModule authz_core_module modules/mod_authz_core.so +#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so +#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so +LoadModule access_compat_module modules/mod_access_compat.so +LoadModule auth_basic_module modules/mod_auth_basic.so +#LoadModule auth_form_module modules/mod_auth_form.so +#LoadModule auth_digest_module modules/mod_auth_digest.so +#LoadModule allowmethods_module modules/mod_allowmethods.so +#LoadModule isapi_module modules/mod_isapi.so +#LoadModule file_cache_module modules/mod_file_cache.so +#LoadModule cache_module modules/mod_cache.so +#LoadModule cache_disk_module modules/mod_cache_disk.so +#LoadModule cache_socache_module modules/mod_cache_socache.so +#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so +#LoadModule socache_dbm_module modules/mod_socache_dbm.so +#LoadModule socache_memcache_module modules/mod_socache_memcache.so +#LoadModule socache_redis_module modules/mod_socache_redis.so +#LoadModule watchdog_module modules/mod_watchdog.so +#LoadModule macro_module modules/mod_macro.so +#LoadModule dbd_module modules/mod_dbd.so +#LoadModule bucketeer_module modules/mod_bucketeer.so +#LoadModule dumpio_module modules/mod_dumpio.so +#LoadModule echo_module modules/mod_echo.so +#LoadModule example_hooks_module modules/mod_example_hooks.so +#LoadModule case_filter_module modules/mod_case_filter.so +#LoadModule case_filter_in_module modules/mod_case_filter_in.so +#LoadModule example_ipc_module modules/mod_example_ipc.so +#LoadModule buffer_module modules/mod_buffer.so +#LoadModule data_module modules/mod_data.so +#LoadModule ratelimit_module modules/mod_ratelimit.so +LoadModule reqtimeout_module modules/mod_reqtimeout.so +#LoadModule ext_filter_module modules/mod_ext_filter.so +#LoadModule request_module modules/mod_request.so +#LoadModule include_module modules/mod_include.so +LoadModule filter_module modules/mod_filter.so +#LoadModule reflector_module modules/mod_reflector.so +#LoadModule substitute_module modules/mod_substitute.so +#LoadModule sed_module modules/mod_sed.so +#LoadModule charset_lite_module modules/mod_charset_lite.so +#LoadModule deflate_module modules/mod_deflate.so +#LoadModule xml2enc_module modules/mod_xml2enc.so +#LoadModule proxy_html_module modules/mod_proxy_html.so +#LoadModule brotli_module modules/mod_brotli.so +LoadModule mime_module modules/mod_mime.so +#LoadModule ldap_module modules/mod_ldap.so +LoadModule log_config_module modules/mod_log_config.so +#LoadModule log_debug_module modules/mod_log_debug.so +#LoadModule log_forensic_module modules/mod_log_forensic.so +#LoadModule logio_module modules/mod_logio.so +#LoadModule lua_module modules/mod_lua.so +LoadModule env_module modules/mod_env.so +#LoadModule mime_magic_module modules/mod_mime_magic.so +#LoadModule cern_meta_module modules/mod_cern_meta.so +#LoadModule expires_module modules/mod_expires.so +LoadModule headers_module modules/mod_headers.so +#LoadModule ident_module modules/mod_ident.so +#LoadModule usertrack_module modules/mod_usertrack.so +#LoadModule unique_id_module modules/mod_unique_id.so +LoadModule setenvif_module modules/mod_setenvif.so +LoadModule version_module modules/mod_version.so +LoadModule remoteip_module modules/mod_remoteip.so +LoadModule proxy_module modules/mod_proxy.so +#LoadModule proxy_connect_module modules/mod_proxy_connect.so +#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so +#LoadModule proxy_http_module modules/mod_proxy_http.so +LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so +#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so +#LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so +#LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so +#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so +#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so +#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so +#LoadModule proxy_express_module modules/mod_proxy_express.so +#LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so +#LoadModule session_module modules/mod_session.so +#LoadModule session_cookie_module modules/mod_session_cookie.so +#LoadModule session_crypto_module modules/mod_session_crypto.so +#LoadModule session_dbd_module modules/mod_session_dbd.so +#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so +#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so +#LoadModule ssl_module modules/mod_ssl.so +#LoadModule optional_hook_export_module modules/mod_optional_hook_export.so +#LoadModule optional_hook_import_module modules/mod_optional_hook_import.so +#LoadModule optional_fn_import_module modules/mod_optional_fn_import.so +#LoadModule optional_fn_export_module modules/mod_optional_fn_export.so +#LoadModule dialup_module modules/mod_dialup.so +#LoadModule http2_module modules/mod_http2.so +#LoadModule proxy_http2_module modules/mod_proxy_http2.so +#LoadModule md_module modules/mod_md.so +#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so +#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so +#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so +#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so +LoadModule unixd_module modules/mod_unixd.so +#LoadModule heartbeat_module modules/mod_heartbeat.so +#LoadModule heartmonitor_module modules/mod_heartmonitor.so +#LoadModule dav_module modules/mod_dav.so +LoadModule status_module modules/mod_status.so +LoadModule autoindex_module modules/mod_autoindex.so +#LoadModule asis_module modules/mod_asis.so +#LoadModule info_module modules/mod_info.so +#LoadModule suexec_module modules/mod_suexec.so + + #LoadModule cgid_module modules/mod_cgid.so + + + #LoadModule cgi_module modules/mod_cgi.so + +#LoadModule dav_fs_module modules/mod_dav_fs.so +#LoadModule dav_lock_module modules/mod_dav_lock.so +#LoadModule vhost_alias_module modules/mod_vhost_alias.so +#LoadModule negotiation_module modules/mod_negotiation.so +LoadModule dir_module modules/mod_dir.so +#LoadModule imagemap_module modules/mod_imagemap.so +#LoadModule actions_module modules/mod_actions.so +#LoadModule speling_module modules/mod_speling.so +#LoadModule userdir_module modules/mod_userdir.so +LoadModule alias_module modules/mod_alias.so +LoadModule rewrite_module modules/mod_rewrite.so + + +# +# If you wish httpd to run as a different user or group, you must run +# httpd as root initially and it will switch. +# +# User/Group: The name (or #number) of the user/group to run httpd as. +# It is usually good practice to create a dedicated user and group for +# running httpd, as with most system services. +# +User www-data +Group www-data + + + +# 'Main' server configuration +# +# The directives in this section set up the values used by the 'main' +# server, which responds to any requests that aren't handled by a +# definition. These values also provide defaults for +# any containers you may define later in the file. +# +# All of these directives may appear inside containers, +# in which case these default settings will be overridden for the +# virtual host being defined. +# + +# +# ServerAdmin: Your address, where problems with the server should be +# e-mailed. This address appears on some server-generated pages, such +# as error documents. e.g. admin@your-domain.com +# +ServerAdmin you@example.com + +# +# ServerName gives the name and port that the server uses to identify itself. +# This can often be determined automatically, but we recommend you specify +# it explicitly to prevent problems during startup. +# +# If your host doesn't have a registered DNS name, enter its IP address here. +# +#ServerName www.example.com:80 + +# +# Deny access to the entirety of your server's filesystem. You must +# explicitly permit access to web content directories in other +# blocks below. +# + + AllowOverride none + Require all denied + + +# +# Note that from this point forward you must specifically allow +# particular features to be enabled - so if something's not working as +# you might expect, make sure that you have specifically enabled it +# below. +# + +# +# DocumentRoot: The directory out of which you will serve your +# documents. By default, all requests are taken from this directory, but +# symbolic links and aliases may be used to point to other locations. +# +DocumentRoot "/usr/local/apache2/htdocs" + + # + # Possible values for the Options directive are "None", "All", + # or any combination of: + # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews + # + # Note that "MultiViews" must be named *explicitly* --- "Options All" + # doesn't give it to you. + # + # The Options directive is both complicated and important. Please see + # http://httpd.apache.org/docs/2.4/mod/core.html#options + # for more information. + # + Options Indexes FollowSymLinks + + # + # AllowOverride controls what directives may be placed in .htaccess files. + # It can be "All", "None", or any combination of the keywords: + # AllowOverride FileInfo AuthConfig Limit + # + AllowOverride All + + # + # Controls who can get stuff from this server. + # + Require all granted + + +ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://tortugahome:9000/application/$1" timeout=1800 + +# +# DirectoryIndex: sets the file that Apache will serve if a directory +# is requested. +# + + DirectoryIndex index.html index.php + + +# +# The following lines prevent .htaccess and .htpasswd files from being +# viewed by Web clients. +# + + Require all denied + + +# +# ErrorLog: The location of the error log file. +# If you do not specify an ErrorLog directive within a +# container, error messages relating to that virtual host will be +# logged here. If you *do* define an error logfile for a +# container, that host's errors will be logged there and not here. +# +ErrorLog /proc/self/fd/2 + +# +# LogLevel: Control the number of messages logged to the error_log. +# Possible values include: debug, info, notice, warn, error, crit, +# alert, emerg. +# +LogLevel warn + + + # + # The following directives define some format nicknames for use with + # a CustomLog directive (see below). + # + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined + LogFormat "%h %l %u %t \"%r\" %>s %b" common + + + # You need to enable mod_logio.c to use %I and %O + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio + + + # + # The location and format of the access logfile (Common Logfile Format). + # If you do not define any access logfiles within a + # container, they will be logged here. Contrariwise, if you *do* + # define per- access logfiles, transactions will be + # logged therein and *not* in this file. + # + CustomLog /proc/self/fd/1 common + + # + # If you prefer a logfile with access, agent, and referer information + # (Combined Logfile Format) you can use the following directive. + # + #CustomLog "logs/access_log" combined + + + + # + # Redirect: Allows you to tell clients about documents that used to + # exist in your server's namespace, but do not anymore. The client + # will make a new request for the document at its new location. + # Example: + # Redirect permanent /foo http://www.example.com/bar + + # + # Alias: Maps web paths into filesystem paths and is used to + # access content that does not live under the DocumentRoot. + # Example: + # Alias /webpath /full/filesystem/path + # + # If you include a trailing / on /webpath then the server will + # require it to be present in the URL. You will also likely + # need to provide a section to allow access to + # the filesystem path. + + # + # ScriptAlias: This controls which directories contain server scripts. + # ScriptAliases are essentially the same as Aliases, except that + # documents in the target directory are treated as applications and + # run by the server when requested rather than as documents sent to the + # client. The same rules about trailing "/" apply to ScriptAlias + # directives as to Alias. + # + ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" + + + + + # + # ScriptSock: On threaded servers, designate the path to the UNIX + # socket used to communicate with the CGI daemon of mod_cgid. + # + #Scriptsock cgisock + + +# +# "/usr/local/apache2/cgi-bin" should be changed to whatever your ScriptAliased +# CGI directory exists, if you have that configured. +# + + AllowOverride None + Options None + Require all granted + + + + # + # Avoid passing HTTP_PROXY environment to CGI's on this or any proxied + # backend servers which have lingering "httpoxy" defects. + # 'Proxy' request header is undefined by the IETF, not listed by IANA + # + RequestHeader unset Proxy early + + + + # + # TypesConfig points to the file containing the list of mappings from + # filename extension to MIME-type. + # + TypesConfig conf/mime.types + + # + # AddType allows you to add to or override the MIME configuration + # file specified in TypesConfig for specific file types. + # + #AddType application/x-gzip .tgz + # + # AddEncoding allows you to have certain browsers uncompress + # information on the fly. Note: Not all browsers support this. + # + #AddEncoding x-compress .Z + #AddEncoding x-gzip .gz .tgz + # + # If the AddEncoding directives above are commented-out, then you + # probably should define those extensions to indicate media types: + # + AddType application/x-compress .Z + AddType application/x-gzip .gz .tgz + + # + # AddHandler allows you to map certain file extensions to "handlers": + # actions unrelated to filetype. These can be either built into the server + # or added with the Action directive (see below) + # + # To use CGI scripts outside of ScriptAliased directories: + # (You will also need to add "ExecCGI" to the "Options" directive.) + # + #AddHandler cgi-script .cgi + + # For type maps (negotiated resources): + #AddHandler type-map var + + # + # Filters allow you to process content before it is sent to the client. + # + # To parse .shtml files for server-side includes (SSI): + # (You will also need to add "Includes" to the "Options" directive.) + # + #AddType text/html .shtml + #AddOutputFilter INCLUDES .shtml + + +# +# The mod_mime_magic module allows the server to use various hints from the +# contents of the file itself to determine its type. The MIMEMagicFile +# directive tells the module where the hint definitions are located. +# +#MIMEMagicFile conf/magic + +# +# Customizable error responses come in three flavors: +# 1) plain text 2) local redirects 3) external redirects +# +# Some examples: +#ErrorDocument 500 "The server made a boo boo." +#ErrorDocument 404 /missing.html +#ErrorDocument 404 "/cgi-bin/missing_handler.pl" +#ErrorDocument 402 http://www.example.com/subscription_info.html +# + +# +# MaxRanges: Maximum number of Ranges in a request before +# returning the entire resource, or one of the special +# values 'default', 'none' or 'unlimited'. +# Default setting is to accept 200 Ranges. +#MaxRanges unlimited + +# +# EnableMMAP and EnableSendfile: On systems that support it, +# memory-mapping or the sendfile syscall may be used to deliver +# files. This usually improves server performance, but must +# be turned off when serving from networked-mounted +# filesystems or if support for these functions is otherwise +# broken on your system. +# Defaults: EnableMMAP On, EnableSendfile Off +# +#EnableMMAP off +#EnableSendfile on + +# Supplemental configuration +# +# The configuration files in the conf/extra/ directory can be +# included to add extra features or to modify the default configuration of +# the server, or you may simply copy their contents here and change as +# necessary. + +# Server-pool management (MPM specific) +#Include conf/extra/httpd-mpm.conf + +# Multi-language error messages +#Include conf/extra/httpd-multilang-errordoc.conf + +# Fancy directory listings +#Include conf/extra/httpd-autoindex.conf + +# Language settings +#Include conf/extra/httpd-languages.conf + +# User home directories +#Include conf/extra/httpd-userdir.conf + +# Real-time info on requests and configuration +#Include conf/extra/httpd-info.conf + +# Virtual hosts +#Include conf/extra/httpd-vhosts.conf + +# Local access to the Apache HTTP Server Manual +#Include conf/extra/httpd-manual.conf + +# Distributed authoring and versioning (WebDAV) +#Include conf/extra/httpd-dav.conf + +# Various default settings +#Include conf/extra/httpd-default.conf + +# Configure mod_proxy_html to understand HTML4/XHTML1 + +Include conf/extra/proxy-html.conf + + +# Secure (SSL/TLS) connections +#Include conf/extra/httpd-ssl.conf +# +# Note: The following must must be present to support +# starting without SSL on platforms with no /dev/random equivalent +# but a statically compiled-in mod_ssl. +# + +SSLRandomSeed startup builtin +SSLRandomSeed connect builtin + + diff --git a/.docker/config/monit/conf.d/atd b/.docker/config/monit/conf.d/atd new file mode 100644 index 0000000..aad3102 --- /dev/null +++ b/.docker/config/monit/conf.d/atd @@ -0,0 +1,4 @@ +check process atd + with pidfile "/var/run/atd.pid" + start program = "/usr/sbin/service atd start" + stop program = "/usr/sbin/service atd stop" diff --git a/.docker/config/monit/conf.d/config b/.docker/config/monit/conf.d/config new file mode 100644 index 0000000..db2f49a --- /dev/null +++ b/.docker/config/monit/conf.d/config @@ -0,0 +1,9 @@ +set alert vincent@enhydra.fr + +set mailserver smtp.gmail.com port 587 + username "monitoring.cubedesigners@gmail.com" password "vwkjhyvzrznyrdzh" + using tlsv1 + +set httpd + port 2812 + allow "monit":"mi6QeSR0SNMgT709oGpwdW" diff --git a/.docker/config/monit/conf.d/home b/.docker/config/monit/conf.d/home new file mode 100644 index 0000000..e3f92f5 --- /dev/null +++ b/.docker/config/monit/conf.d/home @@ -0,0 +1,35 @@ +check process home-hue + with pidfile "/var/run/home-hue.pid" + group homeautomation + start program = "/home/tortugahome/www/servers/startdaemon hue" + stop program = "/home/tortugahome/www/servers/stopdaemon hue" + +check process home-domoticz + with pidfile "/var/run/home-domoticz.pid" + group homeautomation + start program = "/home/tortugahome/www/servers/startdaemon domoticz" + stop program = "/home/tortugahome/www/servers/stopdaemon domoticz" + +check process home-cron + with pidfile "/var/run/home-cron.pid" + group homeautomation + start program = "/home/tortugahome/www/servers/startdaemon cron" + stop program = "/home/tortugahome/www/servers/stopdaemon cron" + +check process home-squeezebox + with pidfile "/var/run/home-squeezebox.pid" + group homeautomation + start program = "/home/tortugahome/www/servers/startdaemon squeezebox" + stop program = "/home/tortugahome/www/servers/stopdaemon squeezebox" + +check process home-logcat-salon + with pidfile "/var/run/home-logcats.pid" + group homeautomation + start program = "/home/tortugahome/www/servers/startdaemon logcats" + stop program = "/home/tortugahome/www/servers/stopdaemon logcats" + +check process home-logcat-bureau + with pidfile "/var/run/home-logcatb.pid" + group homeautomation + start program = "/home/tortugahome/www/servers/startdaemon logcatb" + stop program = "/home/tortugahome/www/servers/stopdaemon logcatb" diff --git a/.docker/config/monit/id b/.docker/config/monit/id new file mode 100644 index 0000000..888d83a --- /dev/null +++ b/.docker/config/monit/id @@ -0,0 +1 @@ +93bd27ae102b7b0fffc9fce7f2e47321 diff --git a/.docker/config/php/fpm.conf b/.docker/config/php/fpm.conf new file mode 100644 index 0000000..15bc097 --- /dev/null +++ b/.docker/config/php/fpm.conf @@ -0,0 +1,3 @@ +[www] +pm.max_children = 15 +pm.max_requests = 500 \ No newline at end of file diff --git a/.docker/config/php/php.ini b/.docker/config/php/php.ini new file mode 100644 index 0000000..850ae11 --- /dev/null +++ b/.docker/config/php/php.ini @@ -0,0 +1,2 @@ +upload_max_filesize = 100M +post_max_size = 108M diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml new file mode 100644 index 0000000..a63339a --- /dev/null +++ b/.docker/docker-compose.yml @@ -0,0 +1,80 @@ +version: '3.1' +services: + redis: + container_name: tortugahome-redis + image: 'redis:alpine' + networks: + - tortugahome + volumes: + - './redis/data/:/data/' + restart: unless-stopped + + webserver: + container_name: tortugahome-httpd + image: 'httpd:alpine' + working_dir: /application + volumes: + - './src/:/usr/local/apache2/htdocs/' + - './src/.docker/config/httpd/httpd.conf:/usr/local/apache2/conf/httpd.conf' + ports: + - '3001:80' + environment: + VIRTUAL_HOST: home.tortuga.enhydra.fr, entree.home.tortuga.enhydra.fr, cuisine.home.tortuga.enhydra.fr, salon.home.tortuga.enhydra.fr, bureau.home.tortuga.enhydra.fr, chambre.home.tortuga.enhydra.fr, litvincent.home.tortuga.enhydra.fr, litjerome.home.tortuga.enhydra.fr, sdb.home.tortuga.enhydra.fr, wc.home.tortuga.enhydra.fr, bureausun.home.tortuga.enhydra.fr, cour.home.tortuga.enhydra.fr, balcon.home.tortuga.enhydra.fr, cave.home.tortuga.enhydra.fr + LETSENCRYPT_HOST: home.tortuga.enhydra.fr, entree.home.tortuga.enhydra.fr, cuisine.home.tortuga.enhydra.fr, salon.home.tortuga.enhydra.fr, bureau.home.tortuga.enhydra.fr, chambre.home.tortuga.enhydra.fr, litvincent.home.tortuga.enhydra.fr, litjerome.home.tortuga.enhydra.fr, sdb.home.tortuga.enhydra.fr, wc.home.tortuga.enhydra.fr, bureausun.home.tortuga.enhydra.fr, cour.home.tortuga.enhydra.fr, balcon.home.tortuga.enhydra.fr, cave.home.tortuga.enhydra.fr + networks: + - tortugahome + restart: unless-stopped + + php-fpm: + container_name: tortugahome + build: src/.docker/phpdocker/php-fpm + working_dir: /application + environment: + ADB_HOST: host.docker.internal + ports: + - '2813:2812' + - '5037:5037' + volumes: + - '/etc/timezone:/etc/timezone:ro' + - '/etc/localtime:/etc/localtime:ro' + - '/etc/ssl/certs:/etc/ssl/certs:ro' + - './src:/application' + - './phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini' + - './src/:/home/tortugahome/www/' + - './src/bin/:/usr/local/bin/' +# - './sessions:/var/lib/php/sessions' + - 'share:/nas/' + - 'share:/volume1/Share/' + - 'share:/Share/' + - './log:/var/log/tortugahome' + - './src/.docker/config/at.allow:/etc/at.allow:ro' + - './src/.docker/config/at.deny:/etc/at.deny:ro' + - './src/.docker/android/:/root/.android/' + - './src/.docker/config/monit/conf.d/:/etc/monit/conf.d/' + - './src/.docker/config/monit/id:/var/lib/monit/id' + - '/dev/bus/usb:/dev/bus/usb' + - './src/.docker/config/php/php.ini:/etc/php/7.4/fpm/conf.d/00-php-override.ini' + - './src/.docker/config/php/fpm.conf:/etc/php/7.4/fpm/pool.d/zz-overrides.conf' + networks: + - tortugahome + extra_hosts: + - "host.docker.internal:host-gateway" + restart: unless-stopped + privileged: true + healthcheck: + test: ["CMD", "/application/bin/healthcheck"] + interval: 1m + timeout: 60s + retries: 1 + +networks: + tortugahome: + external: + name: tortugahome + +volumes: + share: + driver_opts: + type: cifs + o: "username=Share,password=RQpZHMDLtbc229FQV3,rw,file_mode=0777,dir_mode=0777" + device: "//192.168.13.1/1.42.6-25556" diff --git a/.docker/dockerterminal.bat b/.docker/dockerterminal.bat new file mode 100644 index 0000000..11ec468 --- /dev/null +++ b/.docker/dockerterminal.bat @@ -0,0 +1,3 @@ +@echo off +cls +C:\tools\cygwin\bin\ssh.exe -tt root@home.tortuga.enhydra.fr 'docker exec -it -u root tortugahome /bin/bash' diff --git a/.docker/phpdocker/README.html b/.docker/phpdocker/README.html new file mode 100644 index 0000000..95d3332 --- /dev/null +++ b/.docker/phpdocker/README.html @@ -0,0 +1,204 @@ + + + PHPDocker.io Readme + + + + + + +
+
+
+

PHPDocker.io generated environment

+ +

Add to your project

+ +

Simply, unzip the file into your project, this will create docker-compose.yml on the root of your project and a folder +named phpdocker containing nginx and php-fpm config for it.

+ +

Ensure the webserver config on phpdocker/nginx/nginx.conf is correct for your project. PHPDocker.io will have +customised this file according to the front controller location relative to the docker-compose file you chose on the +generator (by default public/index.php).

+ +

Note: you may place the files elsewhere in your project. Make sure you modify the locations for the php-fpm dockerfile, +the php.ini overrides and nginx config on docker-compose.yml if you do so.

+ +

How to run

+ +

Dependencies:

+ + + +

Once you're done, simply cd to your project and run docker-compose up -d. This will initialise and start all the +containers, then leave them running in the background.

+ +

Services exposed outside your environment

+ +

You can access your application via localhost. Mailhog and nginx both respond to any hostname, in case you want to +add your own hostname on your /etc/hosts

+ + + + + + + + + + + + + + +
ServiceAddress outside containers
Webserverlocalhost:29000
+ +

Hosts within your environment

+ +

You'll need to configure your application to use any services you enabled:

+ + + + + + + + + + + + + + + + + + + + + +
ServiceHostnamePort number
php-fpmphp-fpm9000
Redisredis6379 (default)
+ +

Docker compose cheatsheet

+ +

Note: you need to cd first to where your docker-compose.yml file lives.

+ +
    +
  • Start containers in the background: docker-compose up -d
  • +
  • Start containers on the foreground: docker-compose up. You will see a stream of logs for every container running. +ctrl+c stops containers.
  • +
  • Stop containers: docker-compose stop
  • +
  • Kill containers: docker-compose kill
  • +
  • View container logs: docker-compose logs for all containers or docker-compose logs SERVICE_NAME for the logs of +all containers in SERVICE_NAME.
  • +
  • Execute command inside of container: docker-compose exec SERVICE_NAME COMMAND where COMMAND is whatever you want +to run. Examples: + +
      +
    • Shell into the PHP container, docker-compose exec php-fpm bash
    • +
    • Run symfony console, docker-compose exec php-fpm bin/console
    • +
    • Open a mysql shell, docker-compose exec mysql mysql -uroot -pCHOSEN_ROOT_PASSWORD
    • +
  • +
+ +

Application file permissions

+ +

As in all server environments, your application needs the correct file permissions to work properly. You can change the +files throughout the container, so you won't care if the user exists or has the same ID on your host.

+ +

docker-compose exec php-fpm chown -R www-data:www-data /application/public

+ +

Recommendations

+ +

It's hard to avoid file permission issues when fiddling about with containers due to the fact that, from your OS point +of view, any files created within the container are owned by the process that runs the docker engine (this is usually +root). Different OS will also have different problems, for instance you can run stuff in containers +using docker exec -it -u $(id -u):$(id -g) CONTAINER_NAME COMMAND to force your current user ID into the process, but +this will only work if your host OS is Linux, not mac. Follow a couple of simple rules and save yourself a world of +hurt.

+ +
    +
  • Run composer outside of the php container, as doing so would install all your dependencies owned by root within your +vendor folder.
  • +
  • Run commands (ie Symfony's console, or Laravel's artisan) straight inside of your container. You can easily open a +shell as described above and do your thing from there.
  • +
+ +

Simple basic Xdebug configuration with integration to PHPStorm

+ +

Xdebug 2

+ +

To configure Xdebug 2 you need add these lines in php-fpm/php-ini-overrides.ini:

+ +

For linux:

+ +
xdebug.remote_enable = 1
+xdebug.remote_connect_back = 1
+xdebug.remote_autostart = 1
+
+ +

For macOS and Windows:

+ +
xdebug.remote_enable = 1
+xdebug.remote_host = host.docker.internal
+xdebug.remote_autostart = 1
+
+ +

Xdebug 3

+ +

To configure Xdebug 3 you need add these lines in php-fpm/php-ini-overrides.ini:

+ +

For linux:

+ +
xdebug.mode = debug
+xdebug.remote_connect_back = true
+xdebug.start_with_request = yes
+
+ +

For macOS and Windows:

+ +
xdebug.mode = debug
+xdebug.remote_host = host.docker.internal
+xdebug.start_with_request = yes
+
+ +

Add the section “environment” to the php-fpm service in docker-compose.yml:

+ +
environment:
+  PHP_IDE_CONFIG: "serverName=Docker"
+
+ +

Create a server configuration in PHPStorm:

+ +
    +
  • In PHPStorm open Preferences | Languages & Frameworks | PHP | Servers
  • +
  • Add new server
  • +
  • The “Name” field should be the same as the parameter “serverName” value in “environment” in docker-compose.yml (i.e. * +Docker* in the example above)
  • +
  • A value of the "port" field should be the same as first port(before a colon) in "webserver" service in +docker-compose.yml
  • +
  • Select "Use path mappings" and set mappings between a path to your project on a host system and the Docker container.
  • +
  • Finally, add “Xdebug helper” extension in your browser, set breakpoints and start debugging
  • +
+
+
+
+ + + + diff --git a/.docker/phpdocker/README.md b/.docker/phpdocker/README.md new file mode 100644 index 0000000..9dcfed9 --- /dev/null +++ b/.docker/phpdocker/README.md @@ -0,0 +1,143 @@ +PHPDocker.io generated environment +================================== + +# Add to your project # + +Simply, unzip the file into your project, this will create `docker-compose.yml` on the root of your project and a folder +named `phpdocker` containing nginx and php-fpm config for it. + +Ensure the webserver config on `phpdocker/nginx/nginx.conf` is correct for your project. PHPDocker.io will have +customised this file according to the front controller location relative to the docker-compose file you chose on the +generator (by default `public/index.php`). + +Note: you may place the files elsewhere in your project. Make sure you modify the locations for the php-fpm dockerfile, +the php.ini overrides and nginx config on `docker-compose.yml` if you do so. + +# How to run # + +Dependencies: + +* docker. See [https://docs.docker.com/engine/installation](https://docs.docker.com/engine/installation) +* docker-compose. See [docs.docker.com/compose/install](https://docs.docker.com/compose/install/) + +Once you're done, simply `cd` to your project and run `docker-compose up -d`. This will initialise and start all the +containers, then leave them running in the background. + +## Services exposed outside your environment ## + +You can access your application via **`localhost`**. Mailhog and nginx both respond to any hostname, in case you want to +add your own hostname on your `/etc/hosts` + +Service|Address outside containers +-------|-------------------------- +Webserver|[localhost:29000](http://localhost:29000) + +## Hosts within your environment ## + +You'll need to configure your application to use any services you enabled: + +Service|Hostname|Port number +------|---------|----------- +php-fpm|php-fpm|9000 +Redis|redis|6379 (default) + +# Docker compose cheatsheet # + +**Note:** you need to cd first to where your docker-compose.yml file lives. + +* Start containers in the background: `docker-compose up -d` +* Start containers on the foreground: `docker-compose up`. You will see a stream of logs for every container running. + ctrl+c stops containers. +* Stop containers: `docker-compose stop` +* Kill containers: `docker-compose kill` +* View container logs: `docker-compose logs` for all containers or `docker-compose logs SERVICE_NAME` for the logs of + all containers in `SERVICE_NAME`. +* Execute command inside of container: `docker-compose exec SERVICE_NAME COMMAND` where `COMMAND` is whatever you want + to run. Examples: + * Shell into the PHP container, `docker-compose exec php-fpm bash` + * Run symfony console, `docker-compose exec php-fpm bin/console` + * Open a mysql shell, `docker-compose exec mysql mysql -uroot -pCHOSEN_ROOT_PASSWORD` + +# Application file permissions # + +As in all server environments, your application needs the correct file permissions to work properly. You can change the +files throughout the container, so you won't care if the user exists or has the same ID on your host. + +`docker-compose exec php-fpm chown -R www-data:www-data /application/public` + +# Recommendations # + +It's hard to avoid file permission issues when fiddling about with containers due to the fact that, from your OS point +of view, any files created within the container are owned by the process that runs the docker engine (this is usually +root). Different OS will also have different problems, for instance you can run stuff in containers +using `docker exec -it -u $(id -u):$(id -g) CONTAINER_NAME COMMAND` to force your current user ID into the process, but +this will only work if your host OS is Linux, not mac. Follow a couple of simple rules and save yourself a world of +hurt. + +* Run composer outside of the php container, as doing so would install all your dependencies owned by `root` within your + vendor folder. +* Run commands (ie Symfony's console, or Laravel's artisan) straight inside of your container. You can easily open a + shell as described above and do your thing from there. + +# Simple basic Xdebug configuration with integration to PHPStorm + +## Xdebug 2 + +To configure **Xdebug 2** you need add these lines in php-fpm/php-ini-overrides.ini: + +### For linux: + +``` +xdebug.remote_enable = 1 +xdebug.remote_connect_back = 1 +xdebug.remote_autostart = 1 +``` + +### For macOS and Windows: + +``` +xdebug.remote_enable = 1 +xdebug.remote_host = host.docker.internal +xdebug.remote_autostart = 1 +``` + +## Xdebug 3 + +To configure **Xdebug 3** you need add these lines in php-fpm/php-ini-overrides.ini: + +### For linux: + +``` +xdebug.mode = debug +xdebug.remote_connect_back = true +xdebug.start_with_request = yes +``` + +### For macOS and Windows: + +``` +xdebug.mode = debug +xdebug.remote_host = host.docker.internal +xdebug.start_with_request = yes +``` + +## Add the section “environment” to the php-fpm service in docker-compose.yml: + +``` +environment: + PHP_IDE_CONFIG: "serverName=Docker" +``` + +### Create a server configuration in PHPStorm: + +* In PHPStorm open Preferences | Languages & Frameworks | PHP | Servers +* Add new server +* The “Name” field should be the same as the parameter “serverName” value in “environment” in docker-compose.yml (i.e. * + Docker* in the example above) +* A value of the "port" field should be the same as first port(before a colon) in "webserver" service in + docker-compose.yml +* Select "Use path mappings" and set mappings between a path to your project on a host system and the Docker container. +* Finally, add “Xdebug helper” extension in your browser, set breakpoints and start debugging + + + diff --git a/.docker/phpdocker/nginx/nginx.conf b/.docker/phpdocker/nginx/nginx.conf new file mode 100644 index 0000000..45f5db9 --- /dev/null +++ b/.docker/phpdocker/nginx/nginx.conf @@ -0,0 +1,29 @@ +server { + listen 80 default; + + client_max_body_size 108M; + + access_log /var/log/nginx/application.access.log; + + root /application/public; + index index.php; + + # try to serve file directly, fallback to index.php + location / { + try_files $uri /index.php$is_args$args; + } + + if (!-e $request_filename) { + rewrite ^.*$ /index.php last; + } + + location ~ \.php$ { + fastcgi_pass php-fpm:9000; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PHP_VALUE "error_log=/var/log/nginx/application_php_errors.log"; + fastcgi_buffers 16 16k; + fastcgi_buffer_size 32k; + include fastcgi_params; + } +} diff --git a/.docker/phpdocker/php-fpm/Dockerfile b/.docker/phpdocker/php-fpm/Dockerfile new file mode 100644 index 0000000..de2f591 --- /dev/null +++ b/.docker/phpdocker/php-fpm/Dockerfile @@ -0,0 +1,13 @@ +FROM phpdockerio/php:7.4-fpm +WORKDIR "/application" + +RUN apt-get update +RUN apt-get -y --no-install-recommends install php7.4-bz2 php7.4-gd php7.4-igbinary php7.4-imap php7.4-xsl php7.4-curl php7.4-json php7.4-imagick php7.4-intl php7.4-memcached php7.4-mysql php7.4-redis php7.4-soap php7.4-ssh2 php7.4-tidy +RUN apt-get -y --no-install-recommends install monit less nano wakeonlan lynx at xplanet ffmpeg wget curl composer adb git +RUN apt-get clean;rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* + +COPY startup /usr/bin/startup +CMD exec /usr/bin/startup + +EXPOSE 2812 +EXPOSE 5037 diff --git a/.docker/phpdocker/php-fpm/startup b/.docker/phpdocker/php-fpm/startup new file mode 100644 index 0000000..8d5be14 --- /dev/null +++ b/.docker/phpdocker/php-fpm/startup @@ -0,0 +1,3 @@ +#!/bin/sh +/application/bin/restarthome +/usr/sbin/php-fpm7.4 -O \ No newline at end of file diff --git a/.docker/redis/data/dump.rdb b/.docker/redis/data/dump.rdb new file mode 100644 index 0000000..268b15c Binary files /dev/null and b/.docker/redis/data/dump.rdb differ diff --git a/.docker/start b/.docker/start new file mode 100644 index 0000000..b70f72c --- /dev/null +++ b/.docker/start @@ -0,0 +1,2 @@ +#!/bin/sh +/usr/bin/docker start tortugahome diff --git a/.docker/update b/.docker/update new file mode 100644 index 0000000..5f50e63 --- /dev/null +++ b/.docker/update @@ -0,0 +1,11 @@ +#!/bin/sh +cd /docker/tortugahome +chmod -R 777 ./log +rm -f monit/conf.d/*.save +docker network create --driver bridge tortugahome +docker-compose build --pull +docker-compose pull +docker-compose down +docker-compose up -d +#docker exec -it tortugahome /application/bin/restarthome +docker restart nginx-proxy diff --git a/.env b/.env new file mode 100644 index 0000000..45a1cad --- /dev/null +++ b/.env @@ -0,0 +1,46 @@ +APP_NAME=TortugaHome +APP_ENV=local +APP_KEY=base64:8FOwR397LKkyMdWBepTOzrXTWkFZegmJst/yZZWmI60= +APP_DEBUG=true +APP_URL=http://home2.tortuga.enhydra.fr + +LOG_CHANNEL=stack + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=home +DB_USERNAME=home +DB_PASSWORD=atacama + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=smtp +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_FROM_ADDRESS=null +MAIL_FROM_NAME="${APP_NAME}" + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_APP_CLUSTER=mt1 + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" diff --git a/.htaccess b/.htaccess index d846696..aa5c691 100644 --- a/.htaccess +++ b/.htaccess @@ -1,32 +1,10 @@ -Require ip 192.168.1.0/24 192.168.13.0/24 127.0.0.0/8 88.190.245.49 192.168.17.0/24 +Require ip 192.168.1.0/24 192.168.13.0/24 127.0.0.0/8 88.190.245.49 192.168.17.0/24 172.0.0.0/8 Options +FollowSymlinks RewriteEngine on RewriteBase / - # - # Redirection to www. subdomain - RewriteCond %{HTTP_HOST} =home.tortuga - RewriteRule ^(.*)$ https://home.tortuga.enhydra.fr/$1 [R=301,L] - RewriteCond %{HTTPS} off - RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] - - - - # Block browser access to the framework folder and sensitive files -# RewriteRule ^framework/.*$ - [F] -# RewriteRule ^.*\.ini$ - [F] -# -# # Redirect auth header to env -# RewriteRule ^.*$ - [E=REMOTE_USER:%{HTTP:Authorization}] -# # Skip static files -# RewriteRule ^css/ - [NC,L] -# RewriteRule ^js/ - [NC,L] -# RewriteRule ^images/ - [NC,L] -# RewriteRule ^files/ - [NC,L] -# # Redirect CMS files to the right URL -# RewriteRule ^([a-f0-9]{6,})-([a-z0-9-.])([a-z0-9-.])([a-z0-9-.]*)$ files/$2/$3/$1-$2$3$4 [NC,L] -# # Ignore static files or directories + # Ignore static files or directories RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d @@ -34,8 +12,8 @@ Require ip 192.168.1.0/24 192.168.13.0/24 127.0.0.0/8 88.190.245.49 192.168.17.0 RewriteRule ^apk(.*)$ app/build/outputs/apk/debug/app-debug.apk [F] - RewriteRule ^s$ https://salon.home.tortuga.enhydra.fr/ [L,R=301] - RewriteRule ^b$ https://bureau.home.tortuga.enhydra.fr/ [L,R=301] + RewriteRule ^s$ https://salon.home.tortuga.enhydra.fr/ [L,R=301] + RewriteRule ^b$ https://bureau.home.tortuga.enhydra.fr/ [L,R=301] # Finally, redirect all other cases to the index.php RewriteRule ^.*$ index.php [NC,L] diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..bfc8f90 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,4 @@ + +# Datasource local storage ignored files +/dataSources.local.xml +/dataSources/ \ No newline at end of file diff --git a/.idea/composerJson.xml b/.idea/composerJson.xml new file mode 100644 index 0000000..1b07430 --- /dev/null +++ b/.idea/composerJson.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dataSources.local.xml b/.idea/dataSources.local.xml new file mode 100644 index 0000000..ac1846d --- /dev/null +++ b/.idea/dataSources.local.xml @@ -0,0 +1,31 @@ + + + + + + " + + + master_key + no-auth + + + + + + + + + " + + + master_key + no-auth + + + + + + + + \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 0000000..e67e46f --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,17 @@ + + + + + sqlite.xerial + true + org.sqlite.JDBC + jdbc:sqlite:$USER_HOME$/Downloads/LFY(3).db + + + sqlite.xerial + true + org.sqlite.JDBC + jdbc:sqlite:$USER_HOME$/Downloads/LFY_ZiGate.db + + + \ No newline at end of file diff --git a/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95.xml b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95.xml new file mode 100644 index 0000000..a5ac784 --- /dev/null +++ b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95.xml @@ -0,0 +1,2257 @@ + + + + + + + + + 1 + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1 +
+ + + VARCHAR(50)|0s + 1 + 1 + + + INTEGER|0s + 0 + 2 + + + INTEGER|0s + 1 + + + VARCHAR(200)|0s + 1 + 2 + + + INTEGER|0s + 1 + 3 + + + VARCHAR(200)|0s + 4 + + + INTEGER|0s + 5 + + + INTEGER|0s + 0 + 6 + + + VARCHAR(100)|0s + '' + 7 + + + VARCHAR(100)|0s + '' + 8 + + + VARCHAR(200)|0s + '' + 9 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + INTEGER|0s + 1 + 2 + + + INTEGER|0s + 1 + 3 + + + INTEGER|0s + 1 + 4 + + + INTEGER|0s + 1 + 5 + + + INTEGER|0s + 1 + 6 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + VARCHAR(80)|0s + 1 + 2 + + + VARCHAR(80)|0s + 1 + 3 + + + VARCHAR(80)|0s + 1 + 4 + + + BLOB|0s + 5 + + + BLOB|0s + 6 + + + BLOB|0s + 7 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + INTEGER|0s + 1 + 2 + + + VARCHAR(25)|0s + 1 + 3 + + + INTEGER|0s + 0 + 4 + + + VARCHAR(100)|0s + Unknown + 5 + + + INTEGER|0s + 0 + 6 + + + INTEGER|0s + 1 + 7 + + + INTEGER|0s + 1 + 8 + + + INTEGER|0s + 0 + 9 + + + INTEGER|0s + 0 + 10 + + + INTEGER|0s + 0 + 11 + + + INTEGER|0s + 0 + 12 + + + INTEGER|0s + 0 + 13 + + + VARCHAR(200)|0s + null + 14 + + + DATETIME|0s + datetime('now','localtime') + 15 + + + INTEGER BIGINT(10)|0s + 0 + 16 + + + FLOAT|0s + 0 + 17 + + + FLOAT|0s + 1 + 18 + + + FLOAT|0s + 0 + 19 + + + FLOAT|0s + 1 + 20 + + + VARCHAR(200)|0s + '' + 21 + + + VARCHAR(200)|0s + '' + 22 + + + INTEGER|0s + 0 + 23 + + + INTEGER|0s + 0 + 24 + + + INTEGER|0s + 0 + 25 + + + VARCHAR(200)|0s + '' + 26 + + + TEXT|0s + null + 27 + + + TEXT|0s + NULL + 28 + + + HardwareID +DeviceID +Unit +Type +SubType + + + ID + 1 + ID + + + I + 181 + after-row + + + INTEGER|0s + 1 + + + BIGINT|0s + 1 + 2 + + + INTEGER|0s + 0 + 3 + + + BIGINT|0s + 1 + 4 + + + INTEGER BIGINT(10)|0s + 0 + 5 + + + INTEGER|0s + 0 + 6 + + + INTEGER|0s + 0 + 7 + + + ID + 1 + ID + + + I + 200 + after-row + + + INTEGER|0s + 1 + + + INTEGER|0s + 1 + 2 + + + VARCHAR(25)|0s + 1 + 3 + + + INTEGER|0s + 1 + 4 + + + INTEGER|0s + 1 + 5 + + + INTEGER|0s + 1 + 6 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + VARCHAR(200)|0s + 1 + 2 + + + VARCHAR(10)|0s + 'Blockly' + 3 + + + VARCHAR(10)|0s + 'All' + 4 + + + TEXT|0s + 1 + 5 + + + INTEGER|0s + 0 + 6 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + INTEGER|0s + 2 + + + TEXT|0s + 1 + 3 + + + TEXT|0s + 1 + 4 + + + INTEGER|0s + 1 + 5 + + + EMID + ID + EventMaster + + + ID + 1 + ID + + + BIGINT(10)|0s + 1 + 1 + + + INTEGER|0s + 1 + 2 + + + DATETIME|0s + datetime('now','localtime') + 3 + + + DeviceRowID +Date + + + DeviceRowID + + + BIGINT(10)|0s + 1 + 1 + + + INTEGER|0s + 1 + 2 + + + INTEGER|0s + 1 + 3 + + + INTEGER|0s + 0 + 4 + + + DATE|0s + 1 + 5 + + + DeviceRowID +Date + + + DeviceRowID + + + INTEGER|0s + 1 + + + BIGINT|0s + 1 + 2 + + + INTEGER|0s + 0 + 3 + + + INTEGER|0s + 0 + 4 + + + VARCHAR(100)|0s + 5 + + + INTEGER|0s + 6 + + + VARCHAR(100)|0s + 7 + + + INTEGER|0s + 1 + 8 + + + INTEGER|0s + 0 + 9 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + VARCHAR(200)|0s + 1 + 2 + + + BLOB|0s + 3 + + + FLOAT|0s + 1.0 + 4 + + + INTEGER BIGINT(10)|0s + 0 + 5 + + + ID + 1 + ID + + + I + 176 + after-row + + + INTEGER|0s + 1 + + + BIGINT|0s + 1 + 2 + + + INTEGER|0s + 0 + 3 + + + INTEGER|0s + 0 + 4 + + + VARCHAR(100)|0s + 5 + + + INTEGER|0s + 6 + + + VARCHAR(100)|0s + 7 + + + INTEGER|0s + 1 + 8 + + + INTEGER|0s + 0 + 9 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + VARCHAR(200)|0s + 1 + 2 + + + INTEGER|0s + 1 + 3 + + + INTEGER|0s + 1 + 4 + + + VARCHAR(200)|0s + 5 + + + INTEGER|0s + 6 + + + TEXT|0s + '' + 7 + + + VARCHAR(100)|0s + 8 + + + VARCHAR(100)|0s + 9 + + + TEXT|0s + '' + 10 + + + CHAR|0s + 0 + 11 + + + CHAR|0s + 0 + 12 + + + CHAR|0s + 0 + 13 + + + CHAR|0s + 0 + 14 + + + CHAR|0s + 0 + 15 + + + CHAR|0s + 0 + 16 + + + INTEGER|0s + 0 + 17 + + + TEXT|0s + '' + 18 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + BIGINT|0s + 1 + 2 + + + INTEGER|0s + 0 + 3 + + + INTEGER|0s + 0 + 4 + + + VARCHAR(100)|0s + 5 + + + INTEGER|0s + 6 + + + VARCHAR(100)|0s + 7 + + + INTEGER|0s + 1 + 8 + + + INTEGER|0s + 0 + 9 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + INTEGER|0s + 1 + 2 + + + INTEGER|0s + 1 + 3 + + + ID + 1 + ID + + + BIGINT(10)|0s + 1 + 1 + + + INTEGER|0s + 0 + 2 + + + VARCHAR(200)|0s + 3 + + + VARCHAR(100)|0s + '' + 4 + + + DATETIME|0s + datetime('now','localtime') + 5 + + + DeviceRowID +Date + + + DeviceRowID + + + BIGINT|0s + 1 + 1 + + + BIGINT|0s + 1 + 2 + + + INTEGER|0s + 0 + 3 + + + DATETIME|0s + datetime('now','localtime') + 4 + + + DeviceRowID +Date + + + DeviceRowID + + + BIGINT|0s + 1 + 1 + + + BIGINT|0s + 1 + 2 + + + BIGINT|0s + 0 + 3 + + + DATETIME|0s + datetime('now','localtime') + 4 + + + DeviceRowID +Date + + + DeviceRowID + + + INTEGER|0s + 1 + + + BOOLEAN|0s + false + 2 + + + VARCHAR(100)|0s + '' + 3 + + + VARCHAR(100)|0s + '' + 4 + + + TEXT|0s + 1 + 5 + + + TEXT|0s + 1 + 6 + + + DATETIME|0s + datetime('now', 'localtime') + 7 + + + ID + 1 + ID + + + BIGINT(10)|0s + 1 + 1 + + + BIGINT|0s + 1 + 2 + + + BIGINT|0s + 0 + 3 + + + BIGINT|0s + 0 + 4 + + + BIGINT|0s + 0 + 5 + + + BIGINT|0s + 0 + 6 + + + BIGINT|0s + 0 + 7 + + + DATETIME|0s + datetime('now','localtime') + 8 + + + DeviceRowID +Date + + + DeviceRowID + + + BIGINT(10)|0s + 1 + 1 + + + BIGINT|0s + 1 + 2 + + + BIGINT|0s + 1 + 3 + + + BIGINT|0s + 1 + 4 + + + BIGINT|0s + 1 + 5 + + + BIGINT|0s + 1 + 6 + + + BIGINT|0s + 1 + 7 + + + BIGINT|0s + 0 + 8 + + + BIGINT|0s + 0 + 9 + + + BIGINT|0s + 0 + 10 + + + BIGINT|0s + 0 + 11 + + + DATETIME|0s + datetime('now','localtime') + 12 + + + DeviceRowID +Date + + + DeviceRowID + + + INTEGER|0s + 1 + 1 + + + INTEGER|0s + 1 + 2 + + + VARCHAR(100)|0s + Unknown + 3 + + + VARCHAR(100)|0s + Unknown + 4 + + + VARCHAR(40)|0s + 1.0 + 5 + + + INTEGER|0s + 1 + 1 + + + INTEGER|0s + 1 + 2 + + + INTEGER|0s + 1 + 3 + + + VARCHAR(100)|0s + '' + 4 + + + INTEGER|0s + 1 + 5 + + + INTEGER|0s + 0 + 6 + + + INTEGER|0s + 1200 + 7 + + + INTEGER|0s + 1 + 1 + + + INTEGER|0s + 1 + 2 + + + INTEGER|0s + 1 + 3 + + + INTEGER|0s + 1 + 4 + + + VARCHAR(100)|0s + 1 + 5 + + + INTEGER|0s + 1 + + + BIGINT(10)|0s + 1 + 2 + + + VARCHAR(100)|0s + 3 + + + VARCHAR(300)|0s + '' + 4 + + + VARCHAR(200)|0s + '' + 5 + + + INTEGER|0s + 0 + 6 + + + INTEGER|0s + 0 + 7 + + + DATETIME|0s + 0 + 8 + + + ID + 1 + ID + + + BIGINT(10)|0s + 1 + 1 + + + FLOAT|0s + 1 + 2 + + + DATETIME|0s + datetime('now','localtime') + 3 + + + DeviceRowID +Date + + + DeviceRowID + + + BIGINT(10)|0s + 1 + 1 + + + FLOAT|0s + 1 + 2 + + + FLOAT|0s + 1 + 3 + + + FLOAT|0s + 0 + 4 + + + DATE|0s + 1 + 5 + + + DeviceRowID +Date + + + DeviceRowID + + + INTEGER|0s + 1 + + + INTEGER BIGINT(10)|0s + 0 + 2 + + + VARCHAR(200)|0s + 1 + 3 + + + INTEGER|0s + 0 + 4 + + + VARCHAR(200)|0s + '' + 5 + + + ID + 1 + ID + + + I + 151 + after-row + + + VARCHAR(50)|0s + 1 + 1 + + + INTEGER|0s + 0 + 2 + + + VARCHAR(200)|0s + 3 + + + INTEGER|0s + 1 + + + INTEGER|0s + 2 + + + BIGINT|0s + 1 + 3 + + + INTEGER|0s + 0 + 4 + + + INTEGER|0s + 0 + 5 + + + VARCHAR(100)|0s + 6 + + + INTEGER|0s + 7 + + + VARCHAR(100)|0s + 8 + + + INTEGER|0s + 1 + 9 + + + INTEGER|0s + 0 + 10 + + + ID + 1 + ID + + + BIGINT(10)|0s + 1 + 1 + + + FLOAT|0s + 1 + 2 + + + INTEGER|0s + 0 + 3 + + + DATETIME|0s + datetime('now','localtime') + 4 + + + DeviceRowID +Date + + + DeviceRowID + + + BIGINT(10)|0s + 1 + 1 + + + FLOAT|0s + 1 + 2 + + + INTEGER|0s + 0 + 3 + + + DATE|0s + 1 + 4 + + + DeviceRowID +Date + + + DeviceRowID + + + INTEGER|0s + 1 + + + INTEGER BIGINT(10)|0s + 0 + 2 + + + BIGINT|0s + 1 + 3 + + + BIGINT|0s + 1 + 4 + + + INTEGER|0s + 1 + 5 + + + INTEGER|0s + 100 + 6 + + + TEXT|0s + NULL + 7 + + + INTEGER|0s + 0 + 8 + + + INTEGER|0s + 0 + 9 + + + ID + 1 + ID + + + I + 181 + after-row + + + BIGINT(10)|0s + 1 + 1 + + + INTEGER|0s + 0 + 2 + + + DATETIME|0s + datetime('now','localtime') + 3 + + + SceneRowID +Date + + + SceneRowID + + + INTEGER|0s + 1 + + + BOOLEAN|0s + true + 2 + + + BIGINT(10)|0s + 1 + 3 + + + DATE|0s + 0 + 4 + + + TIME|0s + 1 + 5 + + + INTEGER|0s + 1 + 6 + + + INTEGER|0s + 1 + 7 + + + INTEGER|0s + 15 + 8 + + + INTEGER|0s + 0 + 9 + + + INTEGER|0s + 0 + 10 + + + INTEGER|0s + 1 + 11 + + + INTEGER|0s + 0 + 12 + + + INTEGER|0s + 0 + 13 + + + INTEGER|0s + 0 + 14 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + VARCHAR(100)|0s + 1 + 2 + + + INTEGER|0s + 0 + 3 + + + INTEGER BIGINT(10)|0s + 0 + 4 + + + INTEGER|0s + 0 + 5 + + + INTEGER|0s + 0 + 6 + + + INTEGER|0s + 0 + 7 + + + VARCHAR(200)|0s + '' + 8 + + + VARCHAR(200)|0s + '' + 9 + + + VARCHAR(200)|0s + '' + 10 + + + VARCHAR(200)|0s + '' + 11 + + + DATETIME|0s + datetime('now','localtime') + 12 + + + ID + 1 + ID + + + I + 151 + after-row + + + INTEGER|0s + 1 + + + BOOLEAN|0s + true + 2 + + + BIGINT(10)|0s + 1 + 3 + + + DATE|0s + 0 + 4 + + + TIME|0s + 1 + 5 + + + INTEGER|0s + 1 + 6 + + + FLOAT|0s + 0 + 7 + + + INTEGER|0s + 0 + 8 + + + INTEGER|0s + 1 + 9 + + + INTEGER|0s + 0 + 10 + + + INTEGER|0s + 0 + 11 + + + INTEGER|0s + 0 + 12 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + BIGINT|0s + 1 + 2 + + + BIGINT|0s + 1 + 3 + + + ID + 1 + ID + + + BIGINT(10)|0s + 1 + 1 + + + FLOAT|0s + 1 + 2 + + + FLOAT|0s + 0 + 3 + + + INTEGER|0s + 0 + 4 + + + INTEGER|0s + 0 + 5 + + + FLOAT|0s + 0 + 6 + + + FLOAT|0s + 0 + 7 + + + DATETIME|0s + datetime('now','localtime') + 8 + + + DeviceRowID +Date + + + DeviceRowID + + + BIGINT(10)|0s + 1 + 1 + + + FLOAT|0s + 1 + 2 + + + FLOAT|0s + 1 + 3 + + + FLOAT|0s + 0 + 4 + + + FLOAT|0s + 0 + 5 + + + FLOAT|0s + 6 + + + INTEGER|0s + 0 + 7 + + + INTEGER|0s + 0 + 8 + + + FLOAT|0s + 0 + 9 + + + FLOAT|0s + 0 + 10 + + + FLOAT|0s + 0 + 11 + + + FLOAT|0s + 0 + 12 + + + DATE|0s + 1 + 13 + + + DeviceRowID +Date + + + DeviceRowID + + + INTEGER|0s + 1 + + + VARCHAR(200)|0s + 1 + 2 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + BOOLEAN|0s + true + 2 + + + BIGINT(10)|0s + 1 + 3 + + + DATE|0s + 0 + 4 + + + TIME|0s + 1 + 5 + + + INTEGER|0s + 1 + 6 + + + INTEGER|0s + 1 + 7 + + + INTEGER|0s + 15 + 8 + + + TEXT|0s + NULL + 9 + + + INTEGER|0s + 0 + 10 + + + INTEGER|0s + 0 + 11 + + + INTEGER|0s + 1 + 12 + + + INTEGER|0s + 0 + 13 + + + INTEGER|0s + 0 + 14 + + + INTEGER|0s + 0 + 15 + + + ID + 1 + ID + + + INTEGER|0s + 1 + 1 + + + VARCHAR(100)|0s + 1 + 2 + + + BIGINT(10)|0s + 1 + 1 + + + FLOAT|0s + 1 + 2 + + + DATETIME|0s + datetime('now','localtime') + 3 + + + DeviceRowID +Date + + + DeviceRowID + + + BIGINT(10)|0s + 1 + 1 + + + FLOAT|0s + 2 + + + DATE|0s + 1 + 3 + + + DeviceRowID +Date + + + DeviceRowID + + + VARCHAR(100)|0s + 1 + 1 + + + VARCHAR(100)|0s + 1 + 2 + + + VARCHAR(100)|0s + 1 + 3 + + + DATETIME|0s + 1 + 4 + + + VARCHAR(50)|0s + 1 + 5 + + + DATETIME|0s + datetime('now', 'localtime') + 6 + + + SessionID + 1 + 1 + + + AuthToken + 1 + 1 + + + SessionID + 1 + sqlite_autoindex_UserSessions_2 + + + AuthToken + sqlite_autoindex_UserSessions_1 + + + INTEGER|0s + 1 + + + VARCHAR(200)|0s + 2 + + + INT|0s + 1 + 3 + + + VARCHAR(200)|0s + 4 + + + DATETIME|0s + datetime('now', 'localtime') + 5 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + INTEGER|0s + 0 + 1 + 2 + + + VARCHAR(200)|0s + 1 + 3 + + + VARCHAR(200)|0s + 1 + 4 + + + INTEGER|0s + 255 + 5 + + + INTEGER|0s + 255 + 6 + + + INTEGER|0s + 0 + 7 + + + ID + 1 + ID + + + INTEGER|0s + 1 + + + INTEGER|0s + 1 + 2 + + + VARCHAR(100)|0s + Unknown + 3 + + + VARCHAR(50)|0s + Unknown + 4 + + + INTEGER|0s + 5 + 5 + + + ID + 1 + ID + + + BIGINT(10)|0s + 1 + 1 + + + FLOAT|0s + 1 + 2 + + + INTEGER|0s + 1 + 3 + + + INTEGER|0s + 1 + 4 + + + DATETIME|0s + datetime('now','localtime') + 5 + + + DeviceRowID +Date + + + DeviceRowID + + + BIGINT(10)|0s + 1 + 1 + + + FLOAT|0s + 1 + 2 + + + INTEGER|0s + 1 + 3 + + + INTEGER|0s + 1 + 4 + + + INTEGER|0s + 1 + 5 + + + INTEGER|0s + 1 + 6 + + + DATE|0s + 1 + 7 + + + DeviceRowID +Date + + + DeviceRowID + + + INTEGER|0s + 1 + + + INTEGER|0s + 1 + 2 + + + INTEGER|0s + 1 + 3 + + + INTEGER|0s + 1 + 4 + + + VARCHAR(100)|0s + Unknown + 5 + + + VARCHAR(100)|0s + Unknown + 6 + + + INTEGER|0s + 0 + 7 + + + ID + 1 + ID + + + text|0s + 1 + + + text|0s + 2 + + + text|0s + 3 + + + int|0s + 4 + + + text|0s + 5 + + + 1 + + + 2 + + + 3 + + + \ No newline at end of file diff --git a/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat new file mode 100644 index 0000000..dcf3a67 Binary files /dev/null and b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat differ diff --git a/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.len b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.len new file mode 100644 index 0000000..2409504 Binary files /dev/null and b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.len differ diff --git a/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.values b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.values new file mode 100644 index 0000000..aa149d7 Binary files /dev/null and b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.values differ diff --git a/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.values.at b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.values.at new file mode 100644 index 0000000..54403c9 Binary files /dev/null and b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.values.at differ diff --git a/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.values.s b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.values.s new file mode 100644 index 0000000..8c3120b --- /dev/null +++ b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat.values.s @@ -0,0 +1 @@ +øe \ No newline at end of file diff --git a/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat_i b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat_i new file mode 100644 index 0000000..afb83a5 Binary files /dev/null and b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat_i differ diff --git a/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat_i.len b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat_i.len new file mode 100644 index 0000000..131e265 Binary files /dev/null and b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/entities/entities.dat_i.len differ diff --git a/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/storage_v2/_src_/schema/main.uQUzAA.meta b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/storage_v2/_src_/schema/main.uQUzAA.meta new file mode 100644 index 0000000..816e515 --- /dev/null +++ b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/storage_v2/_src_/schema/main.uQUzAA.meta @@ -0,0 +1 @@ +#n:main \ No newline at end of file diff --git a/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/storage_v2/_src_/schema/main.uQUzAA.zip b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/storage_v2/_src_/schema/main.uQUzAA.zip new file mode 100644 index 0000000..d08b7c3 Binary files /dev/null and b/.idea/dataSources/7a96a13f-795b-43c9-b1de-56e65d9fcf95/storage_v2/_src_/schema/main.uQUzAA.zip differ diff --git a/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat new file mode 100644 index 0000000..dcf3a67 Binary files /dev/null and b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat differ diff --git a/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.len b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.len new file mode 100644 index 0000000..2409504 Binary files /dev/null and b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.len differ diff --git a/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.values b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.values new file mode 100644 index 0000000..aa149d7 Binary files /dev/null and b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.values differ diff --git a/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.values.at b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.values.at new file mode 100644 index 0000000..54403c9 Binary files /dev/null and b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.values.at differ diff --git a/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.values.s b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.values.s new file mode 100644 index 0000000..8c3120b --- /dev/null +++ b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat.values.s @@ -0,0 +1 @@ +øe \ No newline at end of file diff --git a/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat_i b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat_i new file mode 100644 index 0000000..afb83a5 Binary files /dev/null and b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat_i differ diff --git a/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat_i.len b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat_i.len new file mode 100644 index 0000000..131e265 Binary files /dev/null and b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/entities/entities.dat_i.len differ diff --git a/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/storage_v2/_src_/schema/main.uQUzAA.meta b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/storage_v2/_src_/schema/main.uQUzAA.meta new file mode 100644 index 0000000..816e515 --- /dev/null +++ b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/storage_v2/_src_/schema/main.uQUzAA.meta @@ -0,0 +1 @@ +#n:main \ No newline at end of file diff --git a/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/storage_v2/_src_/schema/main.uQUzAA.zip b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/storage_v2/_src_/schema/main.uQUzAA.zip new file mode 100644 index 0000000..2831232 Binary files /dev/null and b/.idea/dataSources/e5a3291d-855f-44b2-be41-76fe6b0c2136/storage_v2/_src_/schema/main.uQUzAA.zip differ diff --git a/.idea/deployment.xml b/.idea/deployment.xml index 7f84bf7..31af85d 100644 --- a/.idea/deployment.xml +++ b/.idea/deployment.xml @@ -1,6 +1,7 @@ - + + diff --git a/.idea/misc.xml b/.idea/misc.xml index c32f38a..3b6d908 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -64,9 +64,4 @@ - - - \ No newline at end of file diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml new file mode 100644 index 0000000..69d7fa5 --- /dev/null +++ b/.idea/sqldialects.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/watcherTasks.xml b/.idea/watcherTasks.xml new file mode 100644 index 0000000..95a584a --- /dev/null +++ b/.idea/watcherTasks.xml @@ -0,0 +1,31 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index f3aa0db..dd078d5 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,10 +1,7 @@ - - - - + - - true - - true - true - @@ -256,14 +253,14 @@ + + - - - + + + + + + + + + + + + + + @@ -1063,14 +1099,57 @@ - - - - 1619798145186 - 1619802642365 @@ -1408,7 +1487,14 @@ - diff --git a/_doc/icon.svg b/_doc/icon.svg new file mode 100644 index 0000000..3c3963f --- /dev/null +++ b/_doc/icon.svg @@ -0,0 +1,33 @@ + + + + + + + + diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..e651a0a --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,420 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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 + + http://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. +*/ + +apply plugin: 'com.android.application' + +if (cdvHelpers.getConfigPreference('GradlePluginKotlinEnabled', 'false').toBoolean()) { + apply plugin: 'kotlin-android' + apply plugin: 'kotlin-android-extensions' +} + +buildscript { + apply from: '../CordovaLib/cordova.gradle' + + if(cdvHelpers.getConfigPreference('GradlePluginKotlinEnabled', 'false').toBoolean()) { + String defaultGradlePluginKotlinVersion = kotlin_version + + /** + * Fetches the user's defined Kotlin Version from config.xml. + * If the version is not set or invalid, it will default to the ${defaultGradlePluginKotlinVersion} + */ + String gradlePluginKotlinVersion = cdvHelpers.getConfigPreference('GradlePluginKotlinVersion', defaultGradlePluginKotlinVersion) + if(!cdvHelpers.isVersionValid(gradlePluginKotlinVersion)) { + println("The defined Kotlin version (${gradlePluginKotlinVersion}) does not appear to be a valid version. Falling back to version: ${defaultGradlePluginKotlinVersion}.") + gradlePluginKotlinVersion = defaultGradlePluginKotlinVersion + } + + // Change the version to be used. + ext.kotlin_version = gradlePluginKotlinVersion + } + + repositories { + mavenCentral() + google() + jcenter() + } + + dependencies { + apply from: '../CordovaLib/cordova.gradle' + + classpath 'com.android.tools.build:gradle:4.0.0' + + if (cdvHelpers.getConfigPreference('GradlePluginKotlinEnabled', 'false').toBoolean()) { + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } + + if(cdvHelpers.getConfigPreference('GradlePluginGoogleServicesEnabled', 'false').toBoolean()) { + String defaultGradlePluginGoogleServicesVersion = '4.2.0' + + /** + * Fetches the user's defined Google Services Plugin Version from config.xml. + * If the version is not set or invalid, it will default to the ${defaultGradlePluginGoogleServicesVersion} + */ + String gradlePluginGoogleServicesVersion = cdvHelpers.getConfigPreference('GradlePluginGoogleServicesVersion', defaultGradlePluginGoogleServicesVersion) + if(!cdvHelpers.isVersionValid(gradlePluginGoogleServicesVersion)) { + println("The defined Google Services plugin version (${gradlePluginGoogleServicesVersion}) does not appear to be a valid version. Falling back to version: ${defaultGradlePluginGoogleServicesVersion}.") + gradlePluginGoogleServicesVersion = defaultGradlePluginGoogleServicesVersion + } + + // Create the Google Services classpath and set it. + String gradlePluginGoogleServicesClassPath = "com.google.gms:google-services:${gradlePluginGoogleServicesVersion}" + println "Adding classpath: ${gradlePluginGoogleServicesClassPath}" + classpath gradlePluginGoogleServicesClassPath + } + } +} + +// Allow plugins to declare Maven dependencies via build-extras.gradle. +allprojects { + repositories { + mavenCentral() + jcenter() + } +} + +task wrapper(type: Wrapper) { + gradleVersion = '6.5' +} + +// Configuration properties. Set these via environment variables, build-extras.gradle, or gradle.properties. +// Refer to: http://www.gradle.org/docs/current/userguide/tutorial_this_and_that.html +ext { + apply from: '../CordovaLib/cordova.gradle' + + // The value for android.compileSdkVersion. + if (!project.hasProperty('cdvCompileSdkVersion')) { + cdvCompileSdkVersion = null; + } + // The value for android.buildToolsVersion. + if (!project.hasProperty('cdvBuildToolsVersion')) { + cdvBuildToolsVersion = null; + } + // Sets the versionCode to the given value. + if (!project.hasProperty('cdvVersionCode')) { + cdvVersionCode = null + } + // Sets the minSdkVersion to the given value. + if (!project.hasProperty('cdvMinSdkVersion')) { + cdvMinSdkVersion = null + } + // Sets the maxSdkVersion to the given value. + if (!project.hasProperty('cdvMaxSdkVersion')) { + cdvMaxSdkVersion = null + } + // The value for android.targetSdkVersion. + if (!project.hasProperty('cdvTargetSdkVersion')) { + cdvTargetSdkVersion = null; + } + // Whether to build architecture-specific APKs. + if (!project.hasProperty('cdvBuildMultipleApks')) { + cdvBuildMultipleApks = null + } + // Whether to append a 0 "abi digit" to versionCode when only a single APK is build + if (!project.hasProperty('cdvVersionCodeForceAbiDigit')) { + cdvVersionCodeForceAbiDigit = null + } + // .properties files to use for release signing. + if (!project.hasProperty('cdvReleaseSigningPropertiesFile')) { + cdvReleaseSigningPropertiesFile = null + } + // .properties files to use for debug signing. + if (!project.hasProperty('cdvDebugSigningPropertiesFile')) { + cdvDebugSigningPropertiesFile = null + } + // Set by build.js script. + if (!project.hasProperty('cdvBuildArch')) { + cdvBuildArch = null + } + + // Plugin gradle extensions can append to this to have code run at the end. + cdvPluginPostBuildExtras = [] +} + +// PLUGIN GRADLE EXTENSIONS START +// PLUGIN GRADLE EXTENSIONS END + +def hasBuildExtras1 = file('build-extras.gradle').exists() +if (hasBuildExtras1) { + apply from: 'build-extras.gradle' +} + +def hasBuildExtras2 = file('../build-extras.gradle').exists() +if (hasBuildExtras2) { + apply from: '../build-extras.gradle' +} + +// Set property defaults after extension .gradle files. +ext.cdvCompileSdkVersion = cdvCompileSdkVersion == null ? ( + defaultCompileSdkVersion == null + ? privateHelpers.getProjectTarget() + : defaultCompileSdkVersion +) : Integer.parseInt('' + cdvCompileSdkVersion); + +if (ext.cdvBuildToolsVersion == null) { + ext.cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools() + //ext.cdvBuildToolsVersion = project.ext.defaultBuildToolsVersion +} +if (ext.cdvDebugSigningPropertiesFile == null && file('../debug-signing.properties').exists()) { + ext.cdvDebugSigningPropertiesFile = '../debug-signing.properties' +} +if (ext.cdvReleaseSigningPropertiesFile == null && file('../release-signing.properties').exists()) { + ext.cdvReleaseSigningPropertiesFile = '../release-signing.properties' +} + +// Cast to appropriate types. +ext.cdvBuildMultipleApks = cdvBuildMultipleApks == null ? false : cdvBuildMultipleApks.toBoolean(); +ext.cdvVersionCodeForceAbiDigit = cdvVersionCodeForceAbiDigit == null ? false : cdvVersionCodeForceAbiDigit.toBoolean(); + +// minSdkVersion, maxSdkVersion and targetSdkVersion +ext.cdvMinSdkVersion = cdvMinSdkVersion == null ? defaultMinSdkVersion : Integer.parseInt('' + cdvMinSdkVersion) +if (cdvMaxSdkVersion != null) { + ext.cdvMaxSdkVersion = Integer.parseInt('' + cdvMaxSdkVersion) +} +ext.cdvTargetSdkVersion = cdvTargetSdkVersion == null ? defaultTargetSdkVersion : Integer.parseInt('' + cdvTargetSdkVersion) + +ext.cdvVersionCode = cdvVersionCode == null ? null : Integer.parseInt('' + cdvVersionCode) + +def computeBuildTargetName(debugBuild) { + def ret = 'assemble' + if (cdvBuildMultipleApks && cdvBuildArch) { + def arch = cdvBuildArch == 'arm' ? 'armv7' : cdvBuildArch + ret += '' + arch.toUpperCase().charAt(0) + arch.substring(1); + } + return ret + (debugBuild ? 'Debug' : 'Release') +} + +// Make cdvBuild a task that depends on the debug/arch-sepecific task. +task cdvBuildDebug +cdvBuildDebug.dependsOn { + return computeBuildTargetName(true) +} + +task cdvBuildRelease +cdvBuildRelease.dependsOn { + return computeBuildTargetName(false) +} + +task cdvPrintProps { + doLast { + println('cdvCompileSdkVersion=' + cdvCompileSdkVersion) + println('cdvBuildToolsVersion=' + cdvBuildToolsVersion) + println('cdvVersionCode=' + cdvVersionCode) + println('cdvVersionCodeForceAbiDigit=' + cdvVersionCodeForceAbiDigit) + println('cdvMinSdkVersion=' + cdvMinSdkVersion) + println('cdvMaxSdkVersion=' + cdvMaxSdkVersion) + println('cdvTargetSdkVersion=' + cdvTargetSdkVersion) + println('cdvBuildMultipleApks=' + cdvBuildMultipleApks) + println('cdvReleaseSigningPropertiesFile=' + cdvReleaseSigningPropertiesFile) + println('cdvDebugSigningPropertiesFile=' + cdvDebugSigningPropertiesFile) + println('cdvBuildArch=' + cdvBuildArch) + println('computedVersionCode=' + android.defaultConfig.versionCode) + android.productFlavors.each { flavor -> + println('computed' + flavor.name.capitalize() + 'VersionCode=' + flavor.versionCode) + } + } +} + +android { + defaultConfig { + versionCode cdvVersionCode ?: new BigInteger("" + privateHelpers.extractIntFromManifest("versionCode")) + applicationId privateHelpers.extractStringFromManifest("package") + + if (cdvMinSdkVersion != null) { + minSdkVersion cdvMinSdkVersion + } + + if (cdvMaxSdkVersion != null) { + maxSdkVersion cdvMaxSdkVersion + } + + if(cdvTargetSdkVersion != null) { + targetSdkVersion cdvTargetSdkVersion + } + } + + lintOptions { + abortOnError false; + } + + compileSdkVersion cdvCompileSdkVersion + buildToolsVersion cdvBuildToolsVersion + + // This code exists for Crosswalk and other Native APIs. + // By default, we multiply the existing version code in the + // Android Manifest by 10 and add a number for each architecture. + // If you are not using Crosswalk or SQLite, you can + // ignore this chunk of code, and your version codes will be respected. + + if (Boolean.valueOf(cdvBuildMultipleApks)) { + flavorDimensions "default" + + productFlavors { + armeabi { + versionCode defaultConfig.versionCode*10 + 1 + ndk { + abiFilters = ["armeabi"] + } + } + armv7 { + versionCode defaultConfig.versionCode*10 + 2 + ndk { + abiFilters = ["armeabi-v7a"] + } + } + arm64 { + versionCode defaultConfig.versionCode*10 + 3 + ndk { + abiFilters = ["arm64-v8a"] + } + } + x86 { + versionCode defaultConfig.versionCode*10 + 4 + ndk { + abiFilters = ["x86"] + } + } + x86_64 { + versionCode defaultConfig.versionCode*10 + 5 + ndk { + abiFilters = ["x86_64"] + } + } + } + } else if (Boolean.valueOf(cdvVersionCodeForceAbiDigit)) { + // This provides compatibility to the default logic for versionCode before cordova-android 5.2.0 + defaultConfig { + versionCode defaultConfig.versionCode*10 + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + if (cdvReleaseSigningPropertiesFile) { + signingConfigs { + release { + // These must be set or Gradle will complain (even if they are overridden). + keyAlias = "" + keyPassword = "__unset" // And these must be set to non-empty in order to have the signing step added to the task graph. + storeFile = null + storePassword = "__unset" + } + } + buildTypes { + release { + signingConfig signingConfigs.release + } + } + addSigningProps(cdvReleaseSigningPropertiesFile, signingConfigs.release) + } + + if (cdvDebugSigningPropertiesFile) { + addSigningProps(cdvDebugSigningPropertiesFile, signingConfigs.debug) + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } +} + +/* + * WARNING: Cordova Lib and platform scripts do management inside of this code here, + * if you are adding the dependencies manually, do so outside the comments, otherwise + * the Cordova tools will overwrite them + */ + + +dependencies { + implementation fileTree(dir: 'libs', include: '*.jar') + + if (cdvHelpers.getConfigPreference('GradlePluginKotlinEnabled', 'false').toBoolean()) { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + } + + // SUB-PROJECT DEPENDENCIES START + implementation(project(path: ":CordovaLib")) + implementation "androidx.core:core:1.1.0" + // SUB-PROJECT DEPENDENCIES END +} + +def promptForReleaseKeyPassword() { + if (!cdvReleaseSigningPropertiesFile) { + return; + } + if ('__unset'.equals(android.signingConfigs.release.storePassword)) { + android.signingConfigs.release.storePassword = privateHelpers.promptForPassword('Enter key store password: ') + } + if ('__unset'.equals(android.signingConfigs.release.keyPassword)) { + android.signingConfigs.release.keyPassword = privateHelpers.promptForPassword('Enter key password: '); + } +} + +gradle.taskGraph.whenReady { taskGraph -> + taskGraph.getAllTasks().each() { task -> + if(['validateReleaseSigning', 'validateSigningRelease', 'validateSigningArmv7Release', 'validateSigningX76Release'].contains(task.name)) { + promptForReleaseKeyPassword() + } + } +} + +def addSigningProps(propsFilePath, signingConfig) { + def propsFile = file(propsFilePath) + def props = new Properties() + propsFile.withReader { reader -> + props.load(reader) + } + + def storeFile = new File(props.get('key.store') ?: privateHelpers.ensureValueExists(propsFilePath, props, 'storeFile')) + if (!storeFile.isAbsolute()) { + storeFile = RelativePath.parse(true, storeFile.toString()).getFile(propsFile.getParentFile()) + } + if (!storeFile.exists()) { + throw new FileNotFoundException('Keystore file does not exist: ' + storeFile.getAbsolutePath()) + } + signingConfig.keyAlias = props.get('key.alias') ?: privateHelpers.ensureValueExists(propsFilePath, props, 'keyAlias') + signingConfig.keyPassword = props.get('keyPassword', props.get('key.alias.password', signingConfig.keyPassword)) + signingConfig.storeFile = storeFile + signingConfig.storePassword = props.get('storePassword', props.get('key.store.password', signingConfig.storePassword)) + def storeType = props.get('storeType', props.get('key.store.type', '')) + if (!storeType) { + def filename = storeFile.getName().toLowerCase(); + if (filename.endsWith('.p12') || filename.endsWith('.pfx')) { + storeType = 'pkcs12' + } else { + storeType = signingConfig.storeType // "jks" + } + } + signingConfig.storeType = storeType +} + +for (def func : cdvPluginPostBuildExtras) { + func() +} + +// This can be defined within build-extras.gradle as: +// ext.postBuildExtras = { ... code here ... } +if (hasProperty('postBuildExtras')) { + postBuildExtras() +} + +if (cdvHelpers.getConfigPreference('GradlePluginGoogleServicesEnabled', 'false').toBoolean()) { + apply plugin: 'com.google.gms.google-services' +} diff --git a/app/build/generated/source/buildConfig/debug/fr/enhydra/tortuga/home/BuildConfig.java b/app/build/generated/source/buildConfig/debug/fr/enhydra/tortuga/home/BuildConfig.java new file mode 100644 index 0000000..072dd50 --- /dev/null +++ b/app/build/generated/source/buildConfig/debug/fr/enhydra/tortuga/home/BuildConfig.java @@ -0,0 +1,12 @@ +/** + * Automatically generated file. DO NOT MODIFY + */ +package fr.enhydra.tortuga.home; + +public final class BuildConfig { + public static final boolean DEBUG = Boolean.parseBoolean("true"); + public static final String APPLICATION_ID = "fr.enhydra.tortuga.home"; + public static final String BUILD_TYPE = "debug"; + public static final int VERSION_CODE = 10000; + public static final String VERSION_NAME = "1.0.0"; +} diff --git a/app/build/intermediates/annotation_processor_list/debug/annotationProcessors.json b/app/build/intermediates/annotation_processor_list/debug/annotationProcessors.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/app/build/intermediates/annotation_processor_list/debug/annotationProcessors.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/debug.json b/app/build/intermediates/blame/res/debug/multi-v2/debug.json new file mode 100644 index 0000000..20a67b3 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/debug.json @@ -0,0 +1,1368 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-az_values-az.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-az\\values-az.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-hu_values-hu.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-hu\\values-hu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ko_values-ko.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ko\\values-ko.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-af_values-af.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-af\\values-af.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ru_values-ru.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ru\\values-ru.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-v21_values-v21.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-v21\\values-v21.xml", + "from": { + "startLines": "2,3,4,5,6,7,8,9,10,13", + "startColumns": "4,4,4,4,4,4,4,4,4,4", + "startOffsets": "55,159,223,290,354,470,596,722,850,1022", + "endLines": "2,3,4,5,6,7,8,9,12,17", + "endColumns": "103,63,66,63,115,125,125,127,12,12", + "endOffsets": "154,218,285,349,465,591,717,845,1017,1355" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-or_values-or.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-or\\values-or.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-lo_values-lo.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-lo\\values-lo.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-th_values-th.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-th\\values-th.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-mk_values-mk.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-mk\\values-mk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-en-rCA_values-en-rCA.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-en-rCA\\values-en-rCA.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-zh-rHK_values-zh-rHK.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-zh-rHK\\values-zh-rHK.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-gu_values-gu.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-gu\\values-gu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-as_values-as.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-as\\values-as.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-zu_values-zu.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-zu\\values-zu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-uz_values-uz.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-uz\\values-uz.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-pl_values-pl.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-pl\\values-pl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-nb_values-nb.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-nb\\values-nb.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ja_values-ja.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ja\\values-ja.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-fi_values-fi.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-fi\\values-fi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-sq_values-sq.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sq\\values-sq.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-lv_values-lv.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-lv\\values-lv.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-is_values-is.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-is\\values-is.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-pa_values-pa.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-pa\\values-pa.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-pt_values-pt.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-pt\\values-pt.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-bs_values-bs.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-bs\\values-bs.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-kk_values-kk.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-kk\\values-kk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-fa_values-fa.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-fa\\values-fa.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-de_values-de.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-de\\values-de.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-sw_values-sw.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sw\\values-sw.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-in_values-in.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-in\\values-in.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ne_values-ne.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ne\\values-ne.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ro_values-ro.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ro\\values-ro.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-en-rAU_values-en-rAU.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-en-rAU\\values-en-rAU.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-hr_values-hr.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-hr\\values-hr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-vi_values-vi.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-vi\\values-vi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-hy_values-hy.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-hy\\values-hy.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-iw_values-iw.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-iw\\values-iw.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-es-rUS_values-es-rUS.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-es-rUS\\values-es-rUS.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-mn_values-mn.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-mn\\values-mn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-en-rIN_values-en-rIN.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-en-rIN\\values-en-rIN.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-en-rGB_values-en-rGB.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-en-rGB\\values-en-rGB.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-en-rXC_values-en-rXC.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-en-rXC\\values-en-rXC.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "202", + "endOffsets": "253" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ms_values-ms.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ms\\values-ms.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-et_values-et.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-et\\values-et.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-nl_values-nl.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-nl\\values-nl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-b+sr+Latn_values-b+sr+Latn.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-b+sr+Latn\\values-b+sr+Latn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-fr_values-fr.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-fr\\values-fr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-uk_values-uk.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-uk\\values-uk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ta_values-ta.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ta\\values-ta.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ur_values-ur.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ur\\values-ur.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-kn_values-kn.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-kn\\values-kn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-tr_values-tr.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-tr\\values-tr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-si_values-si.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-si\\values-si.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ky_values-ky.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ky\\values-ky.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-zh-rCN_values-zh-rCN.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-zh-rCN\\values-zh-rCN.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ml_values-ml.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ml\\values-ml.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-it_values-it.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-it\\values-it.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-be_values-be.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-be\\values-be.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-bn_values-bn.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-bn\\values-bn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-sr_values-sr.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sr\\values-sr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-te_values-te.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-te\\values-te.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-da_values-da.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-da\\values-da.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-bg_values-bg.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-bg\\values-bg.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-hi_values-hi.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-hi\\values-hi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-cs_values-cs.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-cs\\values-cs.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-fr-rCA_values-fr-rCA.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-fr-rCA\\values-fr-rCA.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-pt-rPT_values-pt-rPT.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-pt-rPT\\values-pt-rPT.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-sk_values-sk.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sk\\values-sk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ca_values-ca.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ca\\values-ca.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-sv_values-sv.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sv\\values-sv.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-pt-rBR_values-pt-rBR.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-pt-rBR\\values-pt-rBR.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ka_values-ka.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ka\\values-ka.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-tl_values-tl.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-tl\\values-tl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-v16_values-v16.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-v16\\values-v16.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "65", + "endOffsets": "116" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-el_values-el.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-el\\values-el.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-zh-rTW_values-zh-rTW.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-zh-rTW\\values-zh-rTW.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-am_values-am.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-am\\values-am.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-eu_values-eu.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-eu\\values-eu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values_values.arsc.flat", + "map": [ + { + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\values\\strings.xml", + "from": { + "startLines": "4,2,3", + "startColumns": "4,4,4", + "startOffsets": "159,55,100", + "endColumns": "63,44,58", + "endOffsets": "218,95,154" + }, + "to": { + "startLines": "78,79,80", + "startColumns": "4,4,4", + "startOffsets": "4653,4717,4762", + "endColumns": "63,44,58", + "endOffsets": "4712,4757,4816" + } + }, + { + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\values\\colors.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "57", + "endColumns": "44", + "endOffsets": "97" + }, + "to": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "44", + "endOffsets": "95" + } + }, + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values\\values.xml", + "from": { + "startLines": "2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,83,84,88,89,90,91,98,141,173,210", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "55,124,187,245,319,389,457,529,599,660,734,807,868,929,991,1055,1117,1178,1246,1346,1406,1472,1545,1614,1671,1723,1785,1857,1933,1998,2057,2116,2176,2236,2296,2356,2416,2476,2536,2596,2656,2716,2775,2835,2895,2955,3015,3075,3135,3195,3255,3315,3375,3434,3494,3554,3613,3672,3731,3790,3849,3908,3943,3978,4033,4096,4151,4209,4266,4316,4377,4434,4468,4503,4538,4608,4679,4796,4997,5107,5308,5437,5509,5576,5874,8780,10845,12605", + "endLines": "2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,82,83,87,88,89,90,97,140,172,209,216", + "endColumns": "68,62,57,73,69,67,71,69,60,73,72,60,60,61,63,61,60,67,99,59,65,72,68,56,51,61,71,75,64,58,58,59,59,59,59,59,59,59,59,59,59,58,59,59,59,59,59,59,59,59,59,59,58,59,59,58,58,58,58,58,58,34,34,54,62,54,57,56,49,60,56,33,34,34,69,70,116,12,109,12,128,71,66,24,24,24,24,24", + "endOffsets": "119,182,240,314,384,452,524,594,655,729,802,863,924,986,1050,1112,1173,1241,1341,1401,1467,1540,1609,1666,1718,1780,1852,1928,1993,2052,2111,2171,2231,2291,2351,2411,2471,2531,2591,2651,2711,2770,2830,2890,2950,3010,3070,3130,3190,3250,3310,3370,3429,3489,3549,3608,3667,3726,3785,3844,3903,3938,3973,4028,4091,4146,4204,4261,4311,4372,4429,4463,4498,4533,4603,4674,4791,4992,5102,5303,5432,5504,5571,5869,8775,10840,12600,12977" + }, + "to": { + "startLines": "3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82,83,87,88,92,93,94,95,102,145,177,214", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "100,169,232,290,364,434,502,574,644,705,779,852,913,974,1036,1100,1162,1223,1291,1391,1451,1517,1590,1659,1716,1768,1830,1902,1978,2043,2102,2161,2221,2281,2341,2401,2461,2521,2581,2641,2701,2761,2820,2880,2940,3000,3060,3120,3180,3240,3300,3360,3420,3479,3539,3599,3658,3717,3776,3835,3894,3953,3988,4023,4078,4141,4196,4254,4311,4361,4422,4479,4513,4548,4583,4821,4892,5009,5210,5320,5521,5650,5722,5789,6087,8993,11058,12818", + "endLines": "3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82,86,87,91,92,93,94,101,144,176,213,220", + "endColumns": "68,62,57,73,69,67,71,69,60,73,72,60,60,61,63,61,60,67,99,59,65,72,68,56,51,61,71,75,64,58,58,59,59,59,59,59,59,59,59,59,59,58,59,59,59,59,59,59,59,59,59,59,58,59,59,58,58,58,58,58,58,34,34,54,62,54,57,56,49,60,56,33,34,34,69,70,116,12,109,12,128,71,66,24,24,24,24,24", + "endOffsets": "164,227,285,359,429,497,569,639,700,774,847,908,969,1031,1095,1157,1218,1286,1386,1446,1512,1585,1654,1711,1763,1825,1897,1973,2038,2097,2156,2216,2276,2336,2396,2456,2516,2576,2636,2696,2756,2815,2875,2935,2995,3055,3115,3175,3235,3295,3355,3415,3474,3534,3594,3653,3712,3771,3830,3889,3948,3983,4018,4073,4136,4191,4249,4306,4356,4417,4474,4508,4543,4578,4648,4887,5004,5205,5315,5516,5645,5717,5784,6082,8988,11053,12813,13190" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-sl_values-sl.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sl\\values-sl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-km_values-km.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-km\\values-km.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-lt_values-lt.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-lt\\values-lt.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-mr_values-mr.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-mr\\values-mr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-ar_values-ar.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ar\\values-ar.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-es_values-es.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-es\\values-es.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-my_values-my.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-my\\values-my.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\values-gl_values-gl.arsc.flat", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-gl\\values-gl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-af.json b/app/build/intermediates/blame/res/debug/multi-v2/values-af.json new file mode 100644 index 0000000..f68d3a4 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-af.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-af\\values-af.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-af\\values-af.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-am.json b/app/build/intermediates/blame/res/debug/multi-v2/values-am.json new file mode 100644 index 0000000..9a8809c --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-am.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-am\\values-am.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-am\\values-am.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ar.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ar.json new file mode 100644 index 0000000..0e03adb --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ar.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ar\\values-ar.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ar\\values-ar.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-as.json b/app/build/intermediates/blame/res/debug/multi-v2/values-as.json new file mode 100644 index 0000000..99ed75d --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-as.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-as\\values-as.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-as\\values-as.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-az.json b/app/build/intermediates/blame/res/debug/multi-v2/values-az.json new file mode 100644 index 0000000..05cdc3c --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-az.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-az\\values-az.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-az\\values-az.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-b+sr+Latn.json b/app/build/intermediates/blame/res/debug/multi-v2/values-b+sr+Latn.json new file mode 100644 index 0000000..37d5351 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-b+sr+Latn.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-b+sr+Latn\\values-b+sr+Latn.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-b+sr+Latn\\values-b+sr+Latn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-be.json b/app/build/intermediates/blame/res/debug/multi-v2/values-be.json new file mode 100644 index 0000000..24ecead --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-be.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-be\\values-be.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-be\\values-be.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-bg.json b/app/build/intermediates/blame/res/debug/multi-v2/values-bg.json new file mode 100644 index 0000000..494c6ed --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-bg.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-bg\\values-bg.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-bg\\values-bg.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-bn.json b/app/build/intermediates/blame/res/debug/multi-v2/values-bn.json new file mode 100644 index 0000000..eb4331f --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-bn.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-bn\\values-bn.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-bn\\values-bn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-bs.json b/app/build/intermediates/blame/res/debug/multi-v2/values-bs.json new file mode 100644 index 0000000..a0818a4 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-bs.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-bs\\values-bs.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-bs\\values-bs.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ca.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ca.json new file mode 100644 index 0000000..5341e3f --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ca.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ca\\values-ca.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ca\\values-ca.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-cs.json b/app/build/intermediates/blame/res/debug/multi-v2/values-cs.json new file mode 100644 index 0000000..a258036 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-cs.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-cs\\values-cs.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-cs\\values-cs.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-da.json b/app/build/intermediates/blame/res/debug/multi-v2/values-da.json new file mode 100644 index 0000000..90a8e88 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-da.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-da\\values-da.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-da\\values-da.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-de.json b/app/build/intermediates/blame/res/debug/multi-v2/values-de.json new file mode 100644 index 0000000..0274bd9 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-de.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-de\\values-de.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-de\\values-de.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-el.json b/app/build/intermediates/blame/res/debug/multi-v2/values-el.json new file mode 100644 index 0000000..a1c88d4 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-el.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-el\\values-el.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-el\\values-el.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-en-rAU.json b/app/build/intermediates/blame/res/debug/multi-v2/values-en-rAU.json new file mode 100644 index 0000000..2f71f22 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-en-rAU.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-en-rAU\\values-en-rAU.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-en-rAU\\values-en-rAU.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-en-rCA.json b/app/build/intermediates/blame/res/debug/multi-v2/values-en-rCA.json new file mode 100644 index 0000000..ea12e08 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-en-rCA.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-en-rCA\\values-en-rCA.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-en-rCA\\values-en-rCA.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-en-rGB.json b/app/build/intermediates/blame/res/debug/multi-v2/values-en-rGB.json new file mode 100644 index 0000000..0583aab --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-en-rGB.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-en-rGB\\values-en-rGB.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-en-rGB\\values-en-rGB.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-en-rIN.json b/app/build/intermediates/blame/res/debug/multi-v2/values-en-rIN.json new file mode 100644 index 0000000..f0a1622 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-en-rIN.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-en-rIN\\values-en-rIN.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-en-rIN\\values-en-rIN.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-en-rXC.json b/app/build/intermediates/blame/res/debug/multi-v2/values-en-rXC.json new file mode 100644 index 0000000..51a6fee --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-en-rXC.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-en-rXC\\values-en-rXC.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-en-rXC\\values-en-rXC.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "202", + "endOffsets": "253" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-es-rUS.json b/app/build/intermediates/blame/res/debug/multi-v2/values-es-rUS.json new file mode 100644 index 0000000..00ca110 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-es-rUS.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-es-rUS\\values-es-rUS.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-es-rUS\\values-es-rUS.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-es.json b/app/build/intermediates/blame/res/debug/multi-v2/values-es.json new file mode 100644 index 0000000..40cd9d0 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-es.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-es\\values-es.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-es\\values-es.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-et.json b/app/build/intermediates/blame/res/debug/multi-v2/values-et.json new file mode 100644 index 0000000..680fc23 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-et.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-et\\values-et.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-et\\values-et.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-eu.json b/app/build/intermediates/blame/res/debug/multi-v2/values-eu.json new file mode 100644 index 0000000..d4b5517 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-eu.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-eu\\values-eu.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-eu\\values-eu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-fa.json b/app/build/intermediates/blame/res/debug/multi-v2/values-fa.json new file mode 100644 index 0000000..f91f8f8 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-fa.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-fa\\values-fa.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-fa\\values-fa.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-fi.json b/app/build/intermediates/blame/res/debug/multi-v2/values-fi.json new file mode 100644 index 0000000..90b15b9 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-fi.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-fi\\values-fi.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-fi\\values-fi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-fr-rCA.json b/app/build/intermediates/blame/res/debug/multi-v2/values-fr-rCA.json new file mode 100644 index 0000000..0df9cbb --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-fr-rCA.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-fr-rCA\\values-fr-rCA.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-fr-rCA\\values-fr-rCA.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-fr.json b/app/build/intermediates/blame/res/debug/multi-v2/values-fr.json new file mode 100644 index 0000000..c235ab6 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-fr.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-fr\\values-fr.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-fr\\values-fr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-gl.json b/app/build/intermediates/blame/res/debug/multi-v2/values-gl.json new file mode 100644 index 0000000..51f1980 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-gl.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-gl\\values-gl.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-gl\\values-gl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-gu.json b/app/build/intermediates/blame/res/debug/multi-v2/values-gu.json new file mode 100644 index 0000000..373e2d9 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-gu.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-gu\\values-gu.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-gu\\values-gu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-hi.json b/app/build/intermediates/blame/res/debug/multi-v2/values-hi.json new file mode 100644 index 0000000..96fb8e0 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-hi.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-hi\\values-hi.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-hi\\values-hi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-hr.json b/app/build/intermediates/blame/res/debug/multi-v2/values-hr.json new file mode 100644 index 0000000..7c13394 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-hr.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-hr\\values-hr.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-hr\\values-hr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-hu.json b/app/build/intermediates/blame/res/debug/multi-v2/values-hu.json new file mode 100644 index 0000000..2ec8cb1 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-hu.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-hu\\values-hu.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-hu\\values-hu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-hy.json b/app/build/intermediates/blame/res/debug/multi-v2/values-hy.json new file mode 100644 index 0000000..218e9d7 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-hy.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-hy\\values-hy.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-hy\\values-hy.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-in.json b/app/build/intermediates/blame/res/debug/multi-v2/values-in.json new file mode 100644 index 0000000..dda78c2 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-in.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-in\\values-in.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-in\\values-in.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-is.json b/app/build/intermediates/blame/res/debug/multi-v2/values-is.json new file mode 100644 index 0000000..78e3e8d --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-is.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-is\\values-is.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-is\\values-is.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-it.json b/app/build/intermediates/blame/res/debug/multi-v2/values-it.json new file mode 100644 index 0000000..655f151 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-it.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-it\\values-it.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-it\\values-it.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-iw.json b/app/build/intermediates/blame/res/debug/multi-v2/values-iw.json new file mode 100644 index 0000000..f8aabc8 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-iw.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-iw\\values-iw.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-iw\\values-iw.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ja.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ja.json new file mode 100644 index 0000000..0a5e7ae --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ja.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ja\\values-ja.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ja\\values-ja.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ka.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ka.json new file mode 100644 index 0000000..3f079a4 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ka.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ka\\values-ka.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ka\\values-ka.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-kk.json b/app/build/intermediates/blame/res/debug/multi-v2/values-kk.json new file mode 100644 index 0000000..7e89dc9 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-kk.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-kk\\values-kk.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-kk\\values-kk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-km.json b/app/build/intermediates/blame/res/debug/multi-v2/values-km.json new file mode 100644 index 0000000..5daba71 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-km.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-km\\values-km.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-km\\values-km.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-kn.json b/app/build/intermediates/blame/res/debug/multi-v2/values-kn.json new file mode 100644 index 0000000..eb33a59 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-kn.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-kn\\values-kn.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-kn\\values-kn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ko.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ko.json new file mode 100644 index 0000000..2bb013b --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ko.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ko\\values-ko.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ko\\values-ko.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ky.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ky.json new file mode 100644 index 0000000..5139672 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ky.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ky\\values-ky.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ky\\values-ky.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-lo.json b/app/build/intermediates/blame/res/debug/multi-v2/values-lo.json new file mode 100644 index 0000000..28a60d0 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-lo.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-lo\\values-lo.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-lo\\values-lo.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-lt.json b/app/build/intermediates/blame/res/debug/multi-v2/values-lt.json new file mode 100644 index 0000000..54e2ffd --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-lt.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-lt\\values-lt.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-lt\\values-lt.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-lv.json b/app/build/intermediates/blame/res/debug/multi-v2/values-lv.json new file mode 100644 index 0000000..b2ea4d7 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-lv.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-lv\\values-lv.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-lv\\values-lv.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-mk.json b/app/build/intermediates/blame/res/debug/multi-v2/values-mk.json new file mode 100644 index 0000000..7e335e6 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-mk.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-mk\\values-mk.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-mk\\values-mk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ml.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ml.json new file mode 100644 index 0000000..34af473 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ml.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ml\\values-ml.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ml\\values-ml.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-mn.json b/app/build/intermediates/blame/res/debug/multi-v2/values-mn.json new file mode 100644 index 0000000..d9781b9 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-mn.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-mn\\values-mn.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-mn\\values-mn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-mr.json b/app/build/intermediates/blame/res/debug/multi-v2/values-mr.json new file mode 100644 index 0000000..b5a6549 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-mr.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-mr\\values-mr.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-mr\\values-mr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ms.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ms.json new file mode 100644 index 0000000..53027dd --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ms.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ms\\values-ms.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ms\\values-ms.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-my.json b/app/build/intermediates/blame/res/debug/multi-v2/values-my.json new file mode 100644 index 0000000..17ad214 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-my.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-my\\values-my.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-my\\values-my.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-nb.json b/app/build/intermediates/blame/res/debug/multi-v2/values-nb.json new file mode 100644 index 0000000..c5ff0f3 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-nb.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-nb\\values-nb.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-nb\\values-nb.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ne.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ne.json new file mode 100644 index 0000000..c7328ae --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ne.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ne\\values-ne.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ne\\values-ne.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-nl.json b/app/build/intermediates/blame/res/debug/multi-v2/values-nl.json new file mode 100644 index 0000000..9709a22 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-nl.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-nl\\values-nl.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-nl\\values-nl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-or.json b/app/build/intermediates/blame/res/debug/multi-v2/values-or.json new file mode 100644 index 0000000..b5018ad --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-or.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-or\\values-or.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-or\\values-or.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-pa.json b/app/build/intermediates/blame/res/debug/multi-v2/values-pa.json new file mode 100644 index 0000000..0f449d4 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-pa.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-pa\\values-pa.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-pa\\values-pa.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-pl.json b/app/build/intermediates/blame/res/debug/multi-v2/values-pl.json new file mode 100644 index 0000000..86eeae0 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-pl.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-pl\\values-pl.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-pl\\values-pl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-pt-rBR.json b/app/build/intermediates/blame/res/debug/multi-v2/values-pt-rBR.json new file mode 100644 index 0000000..b4e4290 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-pt-rBR.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-pt-rBR\\values-pt-rBR.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-pt-rBR\\values-pt-rBR.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-pt-rPT.json b/app/build/intermediates/blame/res/debug/multi-v2/values-pt-rPT.json new file mode 100644 index 0000000..1e23fd0 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-pt-rPT.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-pt-rPT\\values-pt-rPT.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-pt-rPT\\values-pt-rPT.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-pt.json b/app/build/intermediates/blame/res/debug/multi-v2/values-pt.json new file mode 100644 index 0000000..98912e0 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-pt.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-pt\\values-pt.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-pt\\values-pt.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ro.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ro.json new file mode 100644 index 0000000..05ed373 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ro.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ro\\values-ro.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ro\\values-ro.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ru.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ru.json new file mode 100644 index 0000000..a17703f --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ru.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ru\\values-ru.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ru\\values-ru.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-si.json b/app/build/intermediates/blame/res/debug/multi-v2/values-si.json new file mode 100644 index 0000000..64d74e0 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-si.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-si\\values-si.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-si\\values-si.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-sk.json b/app/build/intermediates/blame/res/debug/multi-v2/values-sk.json new file mode 100644 index 0000000..e8e115c --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-sk.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-sk\\values-sk.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sk\\values-sk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-sl.json b/app/build/intermediates/blame/res/debug/multi-v2/values-sl.json new file mode 100644 index 0000000..5da3484 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-sl.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-sl\\values-sl.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sl\\values-sl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-sq.json b/app/build/intermediates/blame/res/debug/multi-v2/values-sq.json new file mode 100644 index 0000000..b65ef0e --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-sq.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-sq\\values-sq.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sq\\values-sq.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-sr.json b/app/build/intermediates/blame/res/debug/multi-v2/values-sr.json new file mode 100644 index 0000000..9f12635 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-sr.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-sr\\values-sr.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sr\\values-sr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-sv.json b/app/build/intermediates/blame/res/debug/multi-v2/values-sv.json new file mode 100644 index 0000000..c56e34f --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-sv.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-sv\\values-sv.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sv\\values-sv.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-sw.json b/app/build/intermediates/blame/res/debug/multi-v2/values-sw.json new file mode 100644 index 0000000..e5656d1 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-sw.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-sw\\values-sw.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-sw\\values-sw.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ta.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ta.json new file mode 100644 index 0000000..929c2b8 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ta.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ta\\values-ta.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ta\\values-ta.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-te.json b/app/build/intermediates/blame/res/debug/multi-v2/values-te.json new file mode 100644 index 0000000..041acd3 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-te.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-te\\values-te.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-te\\values-te.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-th.json b/app/build/intermediates/blame/res/debug/multi-v2/values-th.json new file mode 100644 index 0000000..b5d8a2c --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-th.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-th\\values-th.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-th\\values-th.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-tl.json b/app/build/intermediates/blame/res/debug/multi-v2/values-tl.json new file mode 100644 index 0000000..ca457bd --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-tl.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-tl\\values-tl.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-tl\\values-tl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-tr.json b/app/build/intermediates/blame/res/debug/multi-v2/values-tr.json new file mode 100644 index 0000000..e0b1069 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-tr.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-tr\\values-tr.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-tr\\values-tr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-uk.json b/app/build/intermediates/blame/res/debug/multi-v2/values-uk.json new file mode 100644 index 0000000..b36088d --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-uk.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-uk\\values-uk.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-uk\\values-uk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-ur.json b/app/build/intermediates/blame/res/debug/multi-v2/values-ur.json new file mode 100644 index 0000000..482b73b --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-ur.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-ur\\values-ur.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-ur\\values-ur.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-uz.json b/app/build/intermediates/blame/res/debug/multi-v2/values-uz.json new file mode 100644 index 0000000..8098a32 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-uz.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-uz\\values-uz.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-uz\\values-uz.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-v16.json b/app/build/intermediates/blame/res/debug/multi-v2/values-v16.json new file mode 100644 index 0000000..2c0b605 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-v16.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-v16\\values-v16.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-v16\\values-v16.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "65", + "endOffsets": "116" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-v21.json b/app/build/intermediates/blame/res/debug/multi-v2/values-v21.json new file mode 100644 index 0000000..c74786e --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-v21.json @@ -0,0 +1,20 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-v21\\values-v21.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-v21\\values-v21.xml", + "from": { + "startLines": "2,3,4,5,6,7,8,9,10,13", + "startColumns": "4,4,4,4,4,4,4,4,4,4", + "startOffsets": "55,159,223,290,354,470,596,722,850,1022", + "endLines": "2,3,4,5,6,7,8,9,12,17", + "endColumns": "103,63,66,63,115,125,125,127,12,12", + "endOffsets": "154,218,285,349,465,591,717,845,1017,1355" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-vi.json b/app/build/intermediates/blame/res/debug/multi-v2/values-vi.json new file mode 100644 index 0000000..3c33145 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-vi.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-vi\\values-vi.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-vi\\values-vi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-zh-rCN.json b/app/build/intermediates/blame/res/debug/multi-v2/values-zh-rCN.json new file mode 100644 index 0000000..cabadf3 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-zh-rCN.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-zh-rCN\\values-zh-rCN.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-zh-rCN\\values-zh-rCN.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-zh-rHK.json b/app/build/intermediates/blame/res/debug/multi-v2/values-zh-rHK.json new file mode 100644 index 0000000..809d412 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-zh-rHK.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-zh-rHK\\values-zh-rHK.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-zh-rHK\\values-zh-rHK.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-zh-rTW.json b/app/build/intermediates/blame/res/debug/multi-v2/values-zh-rTW.json new file mode 100644 index 0000000..7749122 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-zh-rTW.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-zh-rTW\\values-zh-rTW.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-zh-rTW\\values-zh-rTW.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values-zu.json b/app/build/intermediates/blame/res/debug/multi-v2/values-zu.json new file mode 100644 index 0000000..8c9829b --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values-zu.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values-zu\\values-zu.xml", + "map": [ + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values-zu\\values-zu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/multi-v2/values.json b/app/build/intermediates/blame/res/debug/multi-v2/values.json new file mode 100644 index 0000000..c3c6fdb --- /dev/null +++ b/app/build/intermediates/blame/res/debug/multi-v2/values.json @@ -0,0 +1,62 @@ +{ + "logs": [ + { + "outputFile": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values\\values.xml", + "map": [ + { + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\values\\strings.xml", + "from": { + "startLines": "4,2,3", + "startColumns": "4,4,4", + "startOffsets": "159,55,100", + "endColumns": "63,44,58", + "endOffsets": "218,95,154" + }, + "to": { + "startLines": "78,79,80", + "startColumns": "4,4,4", + "startOffsets": "4653,4717,4762", + "endColumns": "63,44,58", + "endOffsets": "4712,4757,4816" + } + }, + { + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\values\\colors.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "57", + "endColumns": "44", + "endOffsets": "97" + }, + "to": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "44", + "endOffsets": "95" + } + }, + { + "source": "C:\\Users\\Vincent\\.gradle\\caches\\transforms-2\\files-2.1\\57b7f42ffa61e27821b7c87274482ce6\\core-1.1.0\\res\\values\\values.xml", + "from": { + "startLines": "2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,83,84,88,89,90,91,98,141,173,210", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "55,124,187,245,319,389,457,529,599,660,734,807,868,929,991,1055,1117,1178,1246,1346,1406,1472,1545,1614,1671,1723,1785,1857,1933,1998,2057,2116,2176,2236,2296,2356,2416,2476,2536,2596,2656,2716,2775,2835,2895,2955,3015,3075,3135,3195,3255,3315,3375,3434,3494,3554,3613,3672,3731,3790,3849,3908,3943,3978,4033,4096,4151,4209,4266,4316,4377,4434,4468,4503,4538,4608,4679,4796,4997,5107,5308,5437,5509,5576,5874,8780,10845,12605", + "endLines": "2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,82,83,87,88,89,90,97,140,172,209,216", + "endColumns": "68,62,57,73,69,67,71,69,60,73,72,60,60,61,63,61,60,67,99,59,65,72,68,56,51,61,71,75,64,58,58,59,59,59,59,59,59,59,59,59,59,58,59,59,59,59,59,59,59,59,59,59,58,59,59,58,58,58,58,58,58,34,34,54,62,54,57,56,49,60,56,33,34,34,69,70,116,12,109,12,128,71,66,24,24,24,24,24", + "endOffsets": "119,182,240,314,384,452,524,594,655,729,802,863,924,986,1050,1112,1173,1241,1341,1401,1467,1540,1609,1666,1718,1780,1852,1928,1993,2052,2111,2171,2231,2291,2351,2411,2471,2531,2591,2651,2711,2770,2830,2890,2950,3010,3070,3130,3190,3250,3310,3370,3429,3489,3549,3608,3667,3726,3785,3844,3903,3938,3973,4028,4091,4146,4204,4261,4311,4372,4429,4463,4498,4533,4603,4674,4791,4992,5102,5303,5432,5504,5571,5869,8775,10840,12600,12977" + }, + "to": { + "startLines": "3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82,83,87,88,92,93,94,95,102,145,177,214", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "100,169,232,290,364,434,502,574,644,705,779,852,913,974,1036,1100,1162,1223,1291,1391,1451,1517,1590,1659,1716,1768,1830,1902,1978,2043,2102,2161,2221,2281,2341,2401,2461,2521,2581,2641,2701,2761,2820,2880,2940,3000,3060,3120,3180,3240,3300,3360,3420,3479,3539,3599,3658,3717,3776,3835,3894,3953,3988,4023,4078,4141,4196,4254,4311,4361,4422,4479,4513,4548,4583,4821,4892,5009,5210,5320,5521,5650,5722,5789,6087,8993,11058,12818", + "endLines": "3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82,86,87,91,92,93,94,101,144,176,213,220", + "endColumns": "68,62,57,73,69,67,71,69,60,73,72,60,60,61,63,61,60,67,99,59,65,72,68,56,51,61,71,75,64,58,58,59,59,59,59,59,59,59,59,59,59,58,59,59,59,59,59,59,59,59,59,59,58,59,59,58,58,58,58,58,58,34,34,54,62,54,57,56,49,60,56,33,34,34,69,70,116,12,109,12,128,71,66,24,24,24,24,24", + "endOffsets": "164,227,285,359,429,497,569,639,700,774,847,908,969,1031,1095,1157,1218,1286,1386,1446,1512,1585,1654,1711,1763,1825,1897,1973,2038,2097,2156,2216,2276,2336,2396,2456,2516,2576,2636,2696,2756,2815,2875,2935,2995,3055,3115,3175,3235,3295,3355,3415,3474,3534,3594,3653,3712,3771,3830,3889,3948,3983,4018,4073,4136,4191,4249,4306,4356,4417,4474,4508,4543,4578,4648,4887,5004,5205,5315,5516,5645,5717,5784,6082,8988,11053,12813,13190" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/blame/res/debug/single/debug.json b/app/build/intermediates/blame/res/debug/single/debug.json new file mode 100644 index 0000000..e82e314 --- /dev/null +++ b/app/build/intermediates/blame/res/debug/single/debug.json @@ -0,0 +1,130 @@ +[ + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xhdpi-v26_ic_launcher_foreground.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xhdpi-v26\\ic_launcher_foreground.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-hdpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-hdpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-xxxhdpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-xxxhdpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-mdpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-mdpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-xhdpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-xhdpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-mdpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-mdpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxhdpi-v26_ic_launcher.xml.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxhdpi-v26\\ic_launcher.xml" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi-v26_ic_launcher.xml.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-mdpi-v26\\ic_launcher.xml" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-hdpi_ic_launcher.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-hdpi\\ic_launcher.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxxhdpi_ic_launcher.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxxhdpi\\ic_launcher.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-xxhdpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-xxhdpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-xhdpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-xhdpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi-v26_ic_launcher_foreground.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-mdpi-v26\\ic_launcher_foreground.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xhdpi-v26_ic_launcher.xml.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xhdpi-v26\\ic_launcher.xml" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxhdpi_ic_launcher.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxhdpi\\ic_launcher.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-ldpi-v26_ic_launcher.xml.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-ldpi-v26\\ic_launcher.xml" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-xxhdpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-xxhdpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxhdpi-v26_ic_launcher_foreground.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxhdpi-v26\\ic_launcher_foreground.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\xml_provider_paths.xml.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\xml\\provider_paths.xml" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-hdpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-hdpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-hdpi-v26_ic_launcher.xml.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-hdpi-v26\\ic_launcher.xml" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-xxxhdpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-xxxhdpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxxhdpi-v26_ic_launcher_foreground.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxxhdpi-v26\\ic_launcher_foreground.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi_ic_launcher.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-mdpi\\ic_launcher.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\xml_config.xml.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\xml\\config.xml" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxxhdpi-v26_ic_launcher.xml.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxxhdpi-v26\\ic_launcher.xml" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xhdpi_ic_launcher.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xhdpi\\ic_launcher.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-ldpi_ic_launcher.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-ldpi\\ic_launcher.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-ldpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-ldpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-ldpi-v26_ic_launcher_foreground.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-ldpi-v26\\ic_launcher_foreground.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-ldpi_screen.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-ldpi\\screen.png" + }, + { + "merged": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-hdpi-v26_ic_launcher_foreground.png.flat", + "source": "T:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-hdpi-v26\\ic_launcher_foreground.png" + } +] \ No newline at end of file diff --git a/app/build/intermediates/bundle_manifest/debug/bundle-manifest/AndroidManifest.xml b/app/build/intermediates/bundle_manifest/debug/bundle-manifest/AndroidManifest.xml new file mode 100644 index 0000000..34f4adf --- /dev/null +++ b/app/build/intermediates/bundle_manifest/debug/bundle-manifest/AndroidManifest.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/build/intermediates/bundle_manifest/debug/bundle-manifest/output.json b/app/build/intermediates/bundle_manifest/debug/bundle-manifest/output.json new file mode 100644 index 0000000..5ee7d8a --- /dev/null +++ b/app/build/intermediates/bundle_manifest/debug/bundle-manifest/output.json @@ -0,0 +1,28 @@ +{ + "version": 1, + "applicationId": "fr.enhydra.tortuga.home", + "variantType": "BASE_APK", + "elements": [ + { + "outputType": { + "type": "BUNDLE_MANIFEST" + }, + "apkData": { + "type": "MAIN", + "splits": [], + "versionCode": 10000, + "versionName": "1.0.0", + "outputFile": "app-debug.apk", + "fullName": "debug", + "baseName": "debug", + "dirName": "" + }, + "path": "AndroidManifest.xml", + "properties": { + "packageId": "fr.enhydra.tortuga.home", + "split": "", + "minSdkVersion": "22" + } + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/compatible_screen_manifest/debug/out/output.json b/app/build/intermediates/compatible_screen_manifest/debug/out/output.json new file mode 100644 index 0000000..8fed01f --- /dev/null +++ b/app/build/intermediates/compatible_screen_manifest/debug/out/output.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "applicationId": "fr.enhydra.tortuga.home", + "variantType": "BASE_APK", + "elements": [] +} \ No newline at end of file diff --git a/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar b/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar new file mode 100644 index 0000000..553bd93 Binary files /dev/null and b/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar differ diff --git a/app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex b/app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex new file mode 100644 index 0000000..4d98ae3 Binary files /dev/null and b/app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex differ diff --git a/app/build/intermediates/dex/debug/mergeLibDexDebug/classes_0.dex b/app/build/intermediates/dex/debug/mergeLibDexDebug/classes_0.dex new file mode 100644 index 0000000..7a5a2b0 Binary files /dev/null and b/app/build/intermediates/dex/debug/mergeLibDexDebug/classes_0.dex differ diff --git a/app/build/intermediates/dex/debug/mergeProjectDexDebug/classes.dex b/app/build/intermediates/dex/debug/mergeProjectDexDebug/classes.dex new file mode 100644 index 0000000..1fcd29e Binary files /dev/null and b/app/build/intermediates/dex/debug/mergeProjectDexDebug/classes.dex differ diff --git a/app/build/intermediates/dex_archive_input_jar_hashes/debug/out b/app/build/intermediates/dex_archive_input_jar_hashes/debug/out new file mode 100644 index 0000000..e906f47 Binary files /dev/null and b/app/build/intermediates/dex_archive_input_jar_hashes/debug/out differ diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/merge-state b/app/build/intermediates/incremental/debug-mergeJavaRes/merge-state new file mode 100644 index 0000000..2dca2ef Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/merge-state differ diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/05jOmAwAM0toL8jEF0rwZTXLgXo= b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/05jOmAwAM0toL8jEF0rwZTXLgXo= new file mode 100644 index 0000000..e85dd39 Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/05jOmAwAM0toL8jEF0rwZTXLgXo= differ diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/HzS7smP8+uuSx7N0P1cGDGuBrbM= b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/HzS7smP8+uuSx7N0P1cGDGuBrbM= new file mode 100644 index 0000000..78c8ee6 Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/HzS7smP8+uuSx7N0P1cGDGuBrbM= differ diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/jkexPaBxqHeJLZGjsP+5jlp1JP0= b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/jkexPaBxqHeJLZGjsP+5jlp1JP0= new file mode 100644 index 0000000..8f9517e Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/jkexPaBxqHeJLZGjsP+5jlp1JP0= differ diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/l5LwcFqGkhcclgC7PqRADrBirxo= b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/l5LwcFqGkhcclgC7PqRADrBirxo= new file mode 100644 index 0000000..c3ee2fd Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/l5LwcFqGkhcclgC7PqRADrBirxo= differ diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/o5Hft0gRC20V62xzM+fhG4vFxUc= b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/o5Hft0gRC20V62xzM+fhG4vFxUc= new file mode 100644 index 0000000..10f185d Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/o5Hft0gRC20V62xzM+fhG4vFxUc= differ diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/y1QEr3MV1vJSWT13JF3GHo3qeE8= b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/y1QEr3MV1vJSWT13JF3GHo3qeE8= new file mode 100644 index 0000000..e361f36 Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/y1QEr3MV1vJSWT13JF3GHo3qeE8= differ diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/zIBiHVXyQCP43K9CC6fUmmP5Szg= b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/zIBiHVXyQCP43K9CC6fUmmP5Szg= new file mode 100644 index 0000000..474706f Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/zIBiHVXyQCP43K9CC6fUmmP5Szg= differ diff --git a/app/build/intermediates/incremental/debug-mergeNativeLibs/merge-state b/app/build/intermediates/incremental/debug-mergeNativeLibs/merge-state new file mode 100644 index 0000000..349bc69 Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeNativeLibs/merge-state differ diff --git a/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/05jOmAwAM0toL8jEF0rwZTXLgXo= b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/05jOmAwAM0toL8jEF0rwZTXLgXo= new file mode 100644 index 0000000..e85dd39 Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/05jOmAwAM0toL8jEF0rwZTXLgXo= differ diff --git a/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/HzS7smP8+uuSx7N0P1cGDGuBrbM= b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/HzS7smP8+uuSx7N0P1cGDGuBrbM= new file mode 100644 index 0000000..78c8ee6 Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/HzS7smP8+uuSx7N0P1cGDGuBrbM= differ diff --git a/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/jkexPaBxqHeJLZGjsP+5jlp1JP0= b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/jkexPaBxqHeJLZGjsP+5jlp1JP0= new file mode 100644 index 0000000..8f9517e Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/jkexPaBxqHeJLZGjsP+5jlp1JP0= differ diff --git a/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/l5LwcFqGkhcclgC7PqRADrBirxo= b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/l5LwcFqGkhcclgC7PqRADrBirxo= new file mode 100644 index 0000000..c3ee2fd Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/l5LwcFqGkhcclgC7PqRADrBirxo= differ diff --git a/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/o5Hft0gRC20V62xzM+fhG4vFxUc= b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/o5Hft0gRC20V62xzM+fhG4vFxUc= new file mode 100644 index 0000000..10f185d Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/o5Hft0gRC20V62xzM+fhG4vFxUc= differ diff --git a/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/y1QEr3MV1vJSWT13JF3GHo3qeE8= b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/y1QEr3MV1vJSWT13JF3GHo3qeE8= new file mode 100644 index 0000000..e361f36 Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/y1QEr3MV1vJSWT13JF3GHo3qeE8= differ diff --git a/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/zIBiHVXyQCP43K9CC6fUmmP5Szg= b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/zIBiHVXyQCP43K9CC6fUmmP5Szg= new file mode 100644 index 0000000..474706f Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeNativeLibs/zip-cache/zIBiHVXyQCP43K9CC6fUmmP5Szg= differ diff --git a/app/build/intermediates/incremental/mergeDebugAssets/merger.xml b/app/build/intermediates/incremental/mergeDebugAssets/merger.xml new file mode 100644 index 0000000..964af9e --- /dev/null +++ b/app/build/intermediates/incremental/mergeDebugAssets/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml new file mode 100644 index 0000000..019e25a --- /dev/null +++ b/app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties b/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties new file mode 100644 index 0000000..d36febc --- /dev/null +++ b/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties @@ -0,0 +1,39 @@ +#Wed Nov 11 20:58:52 CET 2020 +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxxhdpi-v26\\ic_launcher.xml=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxxhdpi-v26_ic_launcher.xml.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxhdpi\\ic_launcher.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxhdpi_ic_launcher.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxxhdpi-v26\\ic_launcher_background.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxxhdpi-v26_ic_launcher_background.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxhdpi-v26\\ic_launcher_background.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxhdpi-v26_ic_launcher_background.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xhdpi-v26\\ic_launcher_background.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xhdpi-v26_ic_launcher_background.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-ldpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-ldpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\xml\\config.xml=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\xml_config.xml.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-ldpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-ldpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-ldpi-v26\\ic_launcher_background.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-ldpi-v26_ic_launcher_background.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxxhdpi-v26\\ic_launcher_foreground.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxxhdpi-v26_ic_launcher_foreground.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-hdpi\\ic_launcher.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-hdpi_ic_launcher.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxhdpi-v26\\ic_launcher_foreground.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxhdpi-v26_ic_launcher_foreground.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xhdpi-v26\\ic_launcher_foreground.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xhdpi-v26_ic_launcher_foreground.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-hdpi-v26\\ic_launcher_background.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-hdpi-v26_ic_launcher_background.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-ldpi-v26\\ic_launcher.xml=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-ldpi-v26_ic_launcher.xml.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-xxxhdpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-xxxhdpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-hdpi-v26\\ic_launcher.xml=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-hdpi-v26_ic_launcher.xml.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-ldpi-v26\\ic_launcher_foreground.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-ldpi-v26_ic_launcher_foreground.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-xhdpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-xhdpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-mdpi-v26\\ic_launcher_background.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi-v26_ic_launcher_background.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-xhdpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-xhdpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-xxhdpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-xxhdpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\xml\\provider_paths.xml=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\xml_provider_paths.xml.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-hdpi-v26\\ic_launcher_foreground.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-hdpi-v26_ic_launcher_foreground.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-mdpi-v26\\ic_launcher.xml=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi-v26_ic_launcher.xml.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xhdpi-v26\\ic_launcher.xml=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xhdpi-v26_ic_launcher.xml.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-mdpi-v26\\ic_launcher_foreground.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi-v26_ic_launcher_foreground.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxhdpi-v26\\ic_launcher.xml=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxhdpi-v26_ic_launcher.xml.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xxxhdpi\\ic_launcher.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxxhdpi_ic_launcher.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-xxhdpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-xxhdpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-xxxhdpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-xxxhdpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-hdpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-hdpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-hdpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-hdpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-mdpi\\ic_launcher.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi_ic_launcher.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-land-mdpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-land-mdpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\drawable-port-mdpi\\screen.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\drawable-port-mdpi_screen.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-ldpi\\ic_launcher.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-ldpi_ic_launcher.png.flat +T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\src\\main\\res\\mipmap-xhdpi\\ic_launcher.png=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xhdpi_ic_launcher.png.flat diff --git a/app/build/intermediates/incremental/mergeDebugResources/merger.xml b/app/build/intermediates/incremental/mergeDebugResources/merger.xml new file mode 100644 index 0000000..8702c17 --- /dev/null +++ b/app/build/intermediates/incremental/mergeDebugResources/merger.xml @@ -0,0 +1,182 @@ + +#ffffffff#ff9e9e9e#1f000000#8a0000004dp6dp8dp4dp2dp320dp320dp32dp13sp12dp8dp64dp64dp10dp@dimen/notification_content_margin_start16dp2dp3dp24dp13sp10dp5dp#3333B5E5#0cffffff999999+"999+""999+""999+""999+""999+"#0a4a9eTortuga@string/app_name@string/launcher_name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/mergeDebugShaders/merger.xml b/app/build/intermediates/incremental/mergeDebugShaders/merger.xml new file mode 100644 index 0000000..fed6472 --- /dev/null +++ b/app/build/intermediates/incremental/mergeDebugShaders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt b/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt new file mode 100644 index 0000000..7170e81 --- /dev/null +++ b/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt @@ -0,0 +1,10 @@ +#Wed Nov 11 20:59:00 CET 2020 +path.2=classes_0.dex +path.1=classes.dex +path.0=classes.dex +renamed.2=classes3.dex +renamed.1=classes2.dex +renamed.0=classes.dex +base.2=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\dex\\debug\\mergeLibDexDebug\\classes_0.dex +base.1=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\dex\\debug\\mergeProjectDexDebug\\classes.dex +base.0=T\:\\Drive\\Works\\home-android\\platforms\\android\\app\\build\\intermediates\\dex\\debug\\mergeExtDexDebug\\classes.dex diff --git a/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources new file mode 100644 index 0000000..f533bc1 Binary files /dev/null and b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources differ diff --git a/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0 b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0 new file mode 100644 index 0000000..81f631a Binary files /dev/null and b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0 differ diff --git a/app/build/intermediates/instant_app_manifest/debug/AndroidManifest.xml b/app/build/intermediates/instant_app_manifest/debug/AndroidManifest.xml new file mode 100644 index 0000000..120eb38 --- /dev/null +++ b/app/build/intermediates/instant_app_manifest/debug/AndroidManifest.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/build/intermediates/instant_app_manifest/debug/output.json b/app/build/intermediates/instant_app_manifest/debug/output.json new file mode 100644 index 0000000..d0778fc --- /dev/null +++ b/app/build/intermediates/instant_app_manifest/debug/output.json @@ -0,0 +1,28 @@ +{ + "version": 1, + "applicationId": "fr.enhydra.tortuga.home", + "variantType": "BASE_APK", + "elements": [ + { + "outputType": { + "type": "INSTANT_APP_MANIFEST" + }, + "apkData": { + "type": "MAIN", + "splits": [], + "versionCode": 10000, + "versionName": "1.0.0", + "outputFile": "app-debug.apk", + "fullName": "debug", + "baseName": "debug", + "dirName": "" + }, + "path": "AndroidManifest.xml", + "properties": { + "packageId": "fr.enhydra.tortuga.home", + "split": "", + "minSdkVersion": "22" + } + } + ] +} \ No newline at end of file diff --git a/app/build/intermediates/javac/debug/classes/com/darryncampbell/cordova/plugin/intent/CordovaPluginIntentFileProvider.class b/app/build/intermediates/javac/debug/classes/com/darryncampbell/cordova/plugin/intent/CordovaPluginIntentFileProvider.class new file mode 100644 index 0000000..e837a38 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/com/darryncampbell/cordova/plugin/intent/CordovaPluginIntentFileProvider.class differ diff --git a/app/build/intermediates/javac/debug/classes/com/darryncampbell/cordova/plugin/intent/IntentShim$1.class b/app/build/intermediates/javac/debug/classes/com/darryncampbell/cordova/plugin/intent/IntentShim$1.class new file mode 100644 index 0000000..92d8b7e Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/com/darryncampbell/cordova/plugin/intent/IntentShim$1.class differ diff --git a/app/build/intermediates/javac/debug/classes/com/darryncampbell/cordova/plugin/intent/IntentShim.class b/app/build/intermediates/javac/debug/classes/com/darryncampbell/cordova/plugin/intent/IntentShim.class new file mode 100644 index 0000000..d7f991f Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/com/darryncampbell/cordova/plugin/intent/IntentShim.class differ diff --git a/app/build/intermediates/javac/debug/classes/cordova/plugins/screenorientation/CDVOrientation.class b/app/build/intermediates/javac/debug/classes/cordova/plugins/screenorientation/CDVOrientation.class new file mode 100644 index 0000000..60ce800 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/cordova/plugins/screenorientation/CDVOrientation.class differ diff --git a/app/build/intermediates/javac/debug/classes/fr/enhydra/tortuga/home/BuildConfig.class b/app/build/intermediates/javac/debug/classes/fr/enhydra/tortuga/home/BuildConfig.class new file mode 100644 index 0000000..7ae51f4 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/fr/enhydra/tortuga/home/BuildConfig.class differ diff --git a/app/build/intermediates/javac/debug/classes/fr/enhydra/tortuga/home/MainActivity.class b/app/build/intermediates/javac/debug/classes/fr/enhydra/tortuga/home/MainActivity.class new file mode 100644 index 0000000..ee47195 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/fr/enhydra/tortuga/home/MainActivity.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/device/Device.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/device/Device.class new file mode 100644 index 0000000..bcd3461 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/device/Device.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/AssetFilesystem.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/AssetFilesystem.class new file mode 100644 index 0000000..7416cf4 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/AssetFilesystem.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/ContentFilesystem.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/ContentFilesystem.class new file mode 100644 index 0000000..640a14b Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/ContentFilesystem.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/DirectoryManager.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/DirectoryManager.class new file mode 100644 index 0000000..a3f64a6 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/DirectoryManager.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/EncodingException.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/EncodingException.class new file mode 100644 index 0000000..b14fedc Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/EncodingException.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileExistsException.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileExistsException.class new file mode 100644 index 0000000..a7d49bf Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileExistsException.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$1.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$1.class new file mode 100644 index 0000000..7926ade Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$1.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$10.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$10.class new file mode 100644 index 0000000..088eceb Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$10.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$11.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$11.class new file mode 100644 index 0000000..a150d6d Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$11.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$12.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$12.class new file mode 100644 index 0000000..f23bda3 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$12.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$13.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$13.class new file mode 100644 index 0000000..48ca169 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$13.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$14.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$14.class new file mode 100644 index 0000000..d52cf03 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$14.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$15.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$15.class new file mode 100644 index 0000000..da331f4 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$15.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$16.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$16.class new file mode 100644 index 0000000..432fe03 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$16.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$17.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$17.class new file mode 100644 index 0000000..59581e4 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$17.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$18.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$18.class new file mode 100644 index 0000000..fd87273 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$18.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$19.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$19.class new file mode 100644 index 0000000..4215565 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$19.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$2.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$2.class new file mode 100644 index 0000000..284b8d8 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$2.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$20.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$20.class new file mode 100644 index 0000000..9bfa5ae Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$20.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$21.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$21.class new file mode 100644 index 0000000..912fbf3 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$21.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$22.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$22.class new file mode 100644 index 0000000..1b1471c Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$22.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$23.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$23.class new file mode 100644 index 0000000..7b66e1b Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$23.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$24.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$24.class new file mode 100644 index 0000000..e70c672 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$24.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$25.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$25.class new file mode 100644 index 0000000..8b796ba Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$25.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$26.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$26.class new file mode 100644 index 0000000..5e0b18e Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$26.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$27.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$27.class new file mode 100644 index 0000000..ff9caf8 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$27.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$28.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$28.class new file mode 100644 index 0000000..68f8eca Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$28.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$29.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$29.class new file mode 100644 index 0000000..7cc0384 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$29.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$3.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$3.class new file mode 100644 index 0000000..5726a3c Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$3.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$4.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$4.class new file mode 100644 index 0000000..36d0f8f Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$4.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$5.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$5.class new file mode 100644 index 0000000..39e8413 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$5.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$6.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$6.class new file mode 100644 index 0000000..3862f79 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$6.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$7.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$7.class new file mode 100644 index 0000000..52431af Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$7.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$8.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$8.class new file mode 100644 index 0000000..e3f2eb9 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$8.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$9.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$9.class new file mode 100644 index 0000000..a72101b Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$9.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$FileOp.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$FileOp.class new file mode 100644 index 0000000..d8ac396 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils$FileOp.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils.class new file mode 100644 index 0000000..cdd4012 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/FileUtils.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/Filesystem$LimitedInputStream.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/Filesystem$LimitedInputStream.class new file mode 100644 index 0000000..5d00b54 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/Filesystem$LimitedInputStream.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/Filesystem$ReadFileCallback.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/Filesystem$ReadFileCallback.class new file mode 100644 index 0000000..d6f9927 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/Filesystem$ReadFileCallback.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/Filesystem.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/Filesystem.class new file mode 100644 index 0000000..17228d5 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/Filesystem.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/InvalidModificationException.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/InvalidModificationException.class new file mode 100644 index 0000000..f1f265f Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/InvalidModificationException.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/LocalFilesystem.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/LocalFilesystem.class new file mode 100644 index 0000000..bc601fb Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/LocalFilesystem.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/LocalFilesystemURL.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/LocalFilesystemURL.class new file mode 100644 index 0000000..b7d38ce Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/LocalFilesystemURL.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/NoModificationAllowedException.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/NoModificationAllowedException.class new file mode 100644 index 0000000..2abf106 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/NoModificationAllowedException.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/PendingRequests$1.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/PendingRequests$1.class new file mode 100644 index 0000000..7b89c01 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/PendingRequests$1.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/PendingRequests$Request.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/PendingRequests$Request.class new file mode 100644 index 0000000..70982bd Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/PendingRequests$Request.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/PendingRequests.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/PendingRequests.class new file mode 100644 index 0000000..32fbd6e Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/PendingRequests.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/TypeMismatchException.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/TypeMismatchException.class new file mode 100644 index 0000000..2ddae0e Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/file/TypeMismatchException.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$1.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$1.class new file mode 100644 index 0000000..4b23094 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$1.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$2.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$2.class new file mode 100644 index 0000000..869eb3a Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$2.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$3.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$3.class new file mode 100644 index 0000000..e459e3b Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$3.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$4.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$4.class new file mode 100644 index 0000000..5dfcc1a Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$4.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$5.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$5.class new file mode 100644 index 0000000..f5c3954 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$5.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$6.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$6.class new file mode 100644 index 0000000..2f1134b Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$6.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$7.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$7.class new file mode 100644 index 0000000..5e33037 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$7.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$8.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$8.class new file mode 100644 index 0000000..0f52ecf Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$8.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$9.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$9.class new file mode 100644 index 0000000..28d4237 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar$9.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar.class new file mode 100644 index 0000000..55281df Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/statusbar/StatusBar.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/whitelist/WhitelistPlugin$1.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/whitelist/WhitelistPlugin$1.class new file mode 100644 index 0000000..93196fa Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/whitelist/WhitelistPlugin$1.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/whitelist/WhitelistPlugin$CustomConfigXmlParser.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/whitelist/WhitelistPlugin$CustomConfigXmlParser.class new file mode 100644 index 0000000..91123e3 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/whitelist/WhitelistPlugin$CustomConfigXmlParser.class differ diff --git a/app/build/intermediates/javac/debug/classes/org/apache/cordova/whitelist/WhitelistPlugin.class b/app/build/intermediates/javac/debug/classes/org/apache/cordova/whitelist/WhitelistPlugin.class new file mode 100644 index 0000000..a24ea82 Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/org/apache/cordova/whitelist/WhitelistPlugin.class differ diff --git a/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt b/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt new file mode 100644 index 0000000..e87accc --- /dev/null +++ b/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt @@ -0,0 +1,143 @@ +1 +2 +7 +8 T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml +10 android:targetSdkVersion="29" /> +10-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml +11 +12 T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:3:5-191 +13 android:anyDensity="true" +13-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:3:23-48 +14 android:largeScreens="true" +14-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:3:49-76 +15 android:normalScreens="true" +15-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:3:77-105 +16 android:resizeable="true" +16-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:3:106-131 +17 android:smallScreens="true" +17-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:3:132-159 +18 android:xlargeScreens="true" /> +18-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:3:160-188 +19 +20 +20-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:4:5-67 +20-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:4:22-64 +21 +21-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:29:5-81 +21-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:29:22-78 +22 +22-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:30:5-80 +22-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:30:22-77 +23 +23-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:31:5-83 +23-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:31:22-80 +24 +25 T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:5:5-28:19 +26 android:appComponentFactory="androidx.core.app.CoreComponentFactory" +26-->[androidx.core:core:1.1.0] C:\Users\Vincent\.gradle\caches\transforms-2\files-2.1\57b7f42ffa61e27821b7c87274482ce6\core-1.1.0\AndroidManifest.xml:24:18-86 +27 android:debuggable="true" +28 android:hardwareAccelerated="true" +28-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:5:18-52 +29 android:icon="@mipmap/ic_launcher" +29-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:5:53-87 +30 android:label="@string/app_name" +30-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:5:88-120 +31 android:supportsRtl="true" > +31-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:5:121-147 +32 T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:6:9-21:20 +33 android:name="fr.enhydra.tortuga.home.MainActivity" +33-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:6:206-233 +34 android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode" +34-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:6:19-135 +35 android:label="@string/activity_name" +35-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:6:136-173 +36 android:launchMode="singleTask" +36-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:6:174-205 +37 android:theme="@android:style/Theme.DeviceDefault.NoActionBar" +37-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:6:234-296 +38 android:windowSoftInputMode="adjustResize" > +38-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:6:297-339 +39 +39-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:7:13-10:29 +39-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:7:28-65 +40 +40-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:8:17-69 +40-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:8:25-66 +41 +42 +42-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:9:17-77 +42-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:9:27-74 +43 +44 +44-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:11:13-14:29 +45 +45-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:12:17-90 +45-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:12:25-87 +46 +47 +47-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:13:17-76 +47-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:13:27-73 +48 +49 +49-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:15:13-20:29 +50 +50-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:16:17-69 +50-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:16:25-66 +51 +51-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:17:17-78 +51-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:17:25-75 +52 +53 +53-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:13:17-76 +53-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:13:27-73 +54 +55 +55-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:19:17-48 +55-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:19:23-45 +56 +57 +58 +59 T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:22:175-262 +61 android:authorities="fr.enhydra.tortuga.home.darryncampbell.cordova.plugin.intent.fileprovider" +61-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:22:19-114 +62 android:exported="false" +62-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:22:115-139 +63 android:grantUriPermissions="true" > +63-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:22:140-174 +64 T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:23:13-116 +65 android:name="android.support.FILE_PROVIDER_PATHS" +65-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:23:24-74 +66 android:resource="@xml/provider_paths" /> +66-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:23:75-113 +67 +68 T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:22:175-262 +70 android:authorities="fr.enhydra.tortuga.home.darryncampbell.cordova.plugin.intent.fileprovider" +70-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:22:19-114 +71 android:exported="false" +71-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:22:115-139 +72 android:grantUriPermissions="true" > +72-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:22:140-174 +73 T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:23:13-116 +74 android:name="android.support.FILE_PROVIDER_PATHS" +74-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:23:24-74 +75 android:resource="@xml/provider_paths" /> +75-->T:\Drive\Works\home-android\platforms\android\app\src\main\AndroidManifest.xml:23:75-113 +76 +77 +78 +79 diff --git a/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/android/nativeapiprovider.js b/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/android/nativeapiprovider.js new file mode 100644 index 0000000..44f4aac --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/android/nativeapiprovider.js @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. +*/ + +/** + * Exports the ExposedJsApi.java object if available, otherwise exports the PromptBasedNativeApi. + */ + +var nativeApi = this._cordovaNative || require('cordova/android/promptbasednativeapi'); +var currentApi = nativeApi; + +module.exports = { + get: function () { return currentApi; }, + setPreferPrompt: function (value) { + currentApi = value ? require('cordova/android/promptbasednativeapi') : nativeApi; + }, + // Used only by tests. + set: function (value) { + currentApi = value; + } +}; diff --git a/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/android/promptbasednativeapi.js b/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/android/promptbasednativeapi.js new file mode 100644 index 0000000..86fc1d9 --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/android/promptbasednativeapi.js @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. +*/ + +/** + * Implements the API of ExposedJsApi.java, but uses prompt() to communicate. + * This is used pre-JellyBean, where addJavascriptInterface() is disabled. + */ + +module.exports = { + exec: function (bridgeSecret, service, action, callbackId, argsJson) { + return prompt(argsJson, 'gap:' + JSON.stringify([bridgeSecret, service, action, callbackId])); + }, + setNativeToJsBridgeMode: function (bridgeSecret, value) { + prompt(value, 'gap_bridge_mode:' + bridgeSecret); + }, + retrieveJsMessages: function (bridgeSecret, fromOnlineEvent) { + return prompt(+fromOnlineEvent, 'gap_poll:' + bridgeSecret); + } +}; diff --git a/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/exec.js b/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/exec.js new file mode 100644 index 0000000..c98212e --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/exec.js @@ -0,0 +1,287 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. + * +*/ + +/** + * Execute a cordova command. It is up to the native side whether this action + * is synchronous or asynchronous. The native side can return: + * Synchronous: PluginResult object as a JSON string + * Asynchronous: Empty string "" + * If async, the native side will cordova.callbackSuccess or cordova.callbackError, + * depending upon the result of the action. + * + * @param {Function} success The success callback + * @param {Function} fail The fail callback + * @param {String} service The name of the service to use + * @param {String} action Action to be run in cordova + * @param {String[]} [args] Zero or more arguments to pass to the method + */ +var cordova = require('cordova'); +var nativeApiProvider = require('cordova/android/nativeapiprovider'); +var utils = require('cordova/utils'); +var base64 = require('cordova/base64'); +var channel = require('cordova/channel'); +var jsToNativeModes = { + PROMPT: 0, + JS_OBJECT: 1 +}; +var nativeToJsModes = { + // Polls for messages using the JS->Native bridge. + POLLING: 0, + // For LOAD_URL to be viable, it would need to have a work-around for + // the bug where the soft-keyboard gets dismissed when a message is sent. + LOAD_URL: 1, + // For the ONLINE_EVENT to be viable, it would need to intercept all event + // listeners (both through addEventListener and window.ononline) as well + // as set the navigator property itself. + ONLINE_EVENT: 2, + EVAL_BRIDGE: 3 +}; +var jsToNativeBridgeMode; // Set lazily. +var nativeToJsBridgeMode = nativeToJsModes.EVAL_BRIDGE; +var pollEnabled = false; +var bridgeSecret = -1; + +var messagesFromNative = []; +var isProcessing = false; +var resolvedPromise = typeof Promise === 'undefined' ? null : Promise.resolve(); +var nextTick = resolvedPromise ? function (fn) { resolvedPromise.then(fn); } : function (fn) { setTimeout(fn); }; + +function androidExec (success, fail, service, action, args) { + if (bridgeSecret < 0) { + // If we ever catch this firing, we'll need to queue up exec()s + // and fire them once we get a secret. For now, I don't think + // it's possible for exec() to be called since plugins are parsed but + // not run until until after onNativeReady. + throw new Error('exec() called without bridgeSecret'); + } + // Set default bridge modes if they have not already been set. + // By default, we use the failsafe, since addJavascriptInterface breaks too often + if (jsToNativeBridgeMode === undefined) { + androidExec.setJsToNativeBridgeMode(jsToNativeModes.JS_OBJECT); + } + + // If args is not provided, default to an empty array + args = args || []; + + // Process any ArrayBuffers in the args into a string. + for (var i = 0; i < args.length; i++) { + if (utils.typeName(args[i]) === 'ArrayBuffer') { + args[i] = base64.fromArrayBuffer(args[i]); + } + } + + var callbackId = service + cordova.callbackId++; + var argsJson = JSON.stringify(args); + if (success || fail) { + cordova.callbacks[callbackId] = { success: success, fail: fail }; + } + + var msgs = nativeApiProvider.get().exec(bridgeSecret, service, action, callbackId, argsJson); + // If argsJson was received by Java as null, try again with the PROMPT bridge mode. + // This happens in rare circumstances, such as when certain Unicode characters are passed over the bridge on a Galaxy S2. See CB-2666. + if (jsToNativeBridgeMode === jsToNativeModes.JS_OBJECT && msgs === '@Null arguments.') { + androidExec.setJsToNativeBridgeMode(jsToNativeModes.PROMPT); + androidExec(success, fail, service, action, args); + androidExec.setJsToNativeBridgeMode(jsToNativeModes.JS_OBJECT); + } else if (msgs) { + messagesFromNative.push(msgs); + // Always process async to avoid exceptions messing up stack. + nextTick(processMessages); + } +} + +androidExec.init = function () { + bridgeSecret = +prompt('', 'gap_init:' + nativeToJsBridgeMode); + channel.onNativeReady.fire(); +}; + +function pollOnceFromOnlineEvent () { + pollOnce(true); +} + +function pollOnce (opt_fromOnlineEvent) { + if (bridgeSecret < 0) { + // This can happen when the NativeToJsMessageQueue resets the online state on page transitions. + // We know there's nothing to retrieve, so no need to poll. + return; + } + var msgs = nativeApiProvider.get().retrieveJsMessages(bridgeSecret, !!opt_fromOnlineEvent); + if (msgs) { + messagesFromNative.push(msgs); + // Process sync since we know we're already top-of-stack. + processMessages(); + } +} + +function pollingTimerFunc () { + if (pollEnabled) { + pollOnce(); + setTimeout(pollingTimerFunc, 50); + } +} + +function hookOnlineApis () { + function proxyEvent (e) { + cordova.fireWindowEvent(e.type); + } + // The network module takes care of firing online and offline events. + // It currently fires them only on document though, so we bridge them + // to window here (while first listening for exec()-releated online/offline + // events). + window.addEventListener('online', pollOnceFromOnlineEvent, false); + window.addEventListener('offline', pollOnceFromOnlineEvent, false); + cordova.addWindowEventHandler('online'); + cordova.addWindowEventHandler('offline'); + document.addEventListener('online', proxyEvent, false); + document.addEventListener('offline', proxyEvent, false); +} + +hookOnlineApis(); + +androidExec.jsToNativeModes = jsToNativeModes; +androidExec.nativeToJsModes = nativeToJsModes; + +androidExec.setJsToNativeBridgeMode = function (mode) { + if (mode === jsToNativeModes.JS_OBJECT && !window._cordovaNative) { + mode = jsToNativeModes.PROMPT; + } + nativeApiProvider.setPreferPrompt(mode === jsToNativeModes.PROMPT); + jsToNativeBridgeMode = mode; +}; + +androidExec.setNativeToJsBridgeMode = function (mode) { + if (mode === nativeToJsBridgeMode) { + return; + } + if (nativeToJsBridgeMode === nativeToJsModes.POLLING) { + pollEnabled = false; + } + + nativeToJsBridgeMode = mode; + // Tell the native side to switch modes. + // Otherwise, it will be set by androidExec.init() + if (bridgeSecret >= 0) { + nativeApiProvider.get().setNativeToJsBridgeMode(bridgeSecret, mode); + } + + if (mode === nativeToJsModes.POLLING) { + pollEnabled = true; + setTimeout(pollingTimerFunc, 1); + } +}; + +function buildPayload (payload, message) { + var payloadKind = message.charAt(0); + if (payloadKind === 's') { + payload.push(message.slice(1)); + } else if (payloadKind === 't') { + payload.push(true); + } else if (payloadKind === 'f') { + payload.push(false); + } else if (payloadKind === 'N') { + payload.push(null); + } else if (payloadKind === 'n') { + payload.push(+message.slice(1)); + } else if (payloadKind === 'A') { + var data = message.slice(1); + payload.push(base64.toArrayBuffer(data)); + } else if (payloadKind === 'S') { + payload.push(window.atob(message.slice(1))); + } else if (payloadKind === 'M') { + var multipartMessages = message.slice(1); + while (multipartMessages !== '') { + var spaceIdx = multipartMessages.indexOf(' '); + var msgLen = +multipartMessages.slice(0, spaceIdx); + var multipartMessage = multipartMessages.substr(spaceIdx + 1, msgLen); + multipartMessages = multipartMessages.slice(spaceIdx + msgLen + 1); + buildPayload(payload, multipartMessage); + } + } else { + payload.push(JSON.parse(message)); + } +} + +// Processes a single message, as encoded by NativeToJsMessageQueue.java. +function processMessage (message) { + var firstChar = message.charAt(0); + if (firstChar === 'J') { + // This is deprecated on the .java side. It doesn't work with CSP enabled. + // eslint-disable-next-line no-eval + eval(message.slice(1)); + } else if (firstChar === 'S' || firstChar === 'F') { + var success = firstChar === 'S'; + var keepCallback = message.charAt(1) === '1'; + var spaceIdx = message.indexOf(' ', 2); + var status = +message.slice(2, spaceIdx); + var nextSpaceIdx = message.indexOf(' ', spaceIdx + 1); + var callbackId = message.slice(spaceIdx + 1, nextSpaceIdx); + var payloadMessage = message.slice(nextSpaceIdx + 1); + var payload = []; + buildPayload(payload, payloadMessage); + cordova.callbackFromNative(callbackId, success, status, payload, keepCallback); + } else { + console.log('processMessage failed: invalid message: ' + JSON.stringify(message)); + } +} + +function processMessages () { + // Check for the reentrant case. + if (isProcessing) { + return; + } + if (messagesFromNative.length === 0) { + return; + } + isProcessing = true; + try { + var msg = popMessageFromQueue(); + // The Java side can send a * message to indicate that it + // still has messages waiting to be retrieved. + if (msg === '*' && messagesFromNative.length === 0) { + nextTick(pollOnce); + return; + } + processMessage(msg); + } finally { + isProcessing = false; + if (messagesFromNative.length > 0) { + nextTick(processMessages); + } + } +} + +function popMessageFromQueue () { + var messageBatch = messagesFromNative.shift(); + if (messageBatch === '*') { + return '*'; + } + + var spaceIdx = messageBatch.indexOf(' '); + var msgLen = +messageBatch.slice(0, spaceIdx); + var message = messageBatch.substr(spaceIdx + 1, msgLen); + messageBatch = messageBatch.slice(spaceIdx + msgLen + 1); + if (messageBatch) { + messagesFromNative.unshift(messageBatch); + } + return message; +} + +module.exports = androidExec; diff --git a/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/platform.js b/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/platform.js new file mode 100644 index 0000000..14eddd7 --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/platform.js @@ -0,0 +1,122 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. + * +*/ + +// The last resume event that was received that had the result of a plugin call. +var lastResumeEvent = null; + +module.exports = { + id: 'android', + bootstrap: function () { + var channel = require('cordova/channel'); + var cordova = require('cordova'); + var exec = require('cordova/exec'); + var modulemapper = require('cordova/modulemapper'); + + // Get the shared secret needed to use the bridge. + exec.init(); + + // TODO: Extract this as a proper plugin. + modulemapper.clobbers('cordova/plugin/android/app', 'navigator.app'); + + var APP_PLUGIN_NAME = Number(cordova.platformVersion.split('.')[0]) >= 4 ? 'CoreAndroid' : 'App'; + + // Inject a listener for the backbutton on the document. + var backButtonChannel = cordova.addDocumentEventHandler('backbutton'); + backButtonChannel.onHasSubscribersChange = function () { + // If we just attached the first handler or detached the last handler, + // let native know we need to override the back button. + exec(null, null, APP_PLUGIN_NAME, 'overrideBackbutton', [this.numHandlers === 1]); + }; + + // Add hardware MENU and SEARCH button handlers + cordova.addDocumentEventHandler('menubutton'); + cordova.addDocumentEventHandler('searchbutton'); + + function bindButtonChannel (buttonName) { + // generic button bind used for volumeup/volumedown buttons + var volumeButtonChannel = cordova.addDocumentEventHandler(buttonName + 'button'); + volumeButtonChannel.onHasSubscribersChange = function () { + exec(null, null, APP_PLUGIN_NAME, 'overrideButton', [buttonName, this.numHandlers === 1]); + }; + } + // Inject a listener for the volume buttons on the document. + bindButtonChannel('volumeup'); + bindButtonChannel('volumedown'); + + // The resume event is not "sticky", but it is possible that the event + // will contain the result of a plugin call. We need to ensure that the + // plugin result is delivered even after the event is fired (CB-10498) + var cordovaAddEventListener = document.addEventListener; + + document.addEventListener = function (evt, handler, capture) { + cordovaAddEventListener(evt, handler, capture); + + if (evt === 'resume' && lastResumeEvent) { + handler(lastResumeEvent); + } + }; + + // Let native code know we are all done on the JS side. + // Native code will then un-hide the WebView. + channel.onCordovaReady.subscribe(function () { + exec(onMessageFromNative, null, APP_PLUGIN_NAME, 'messageChannel', []); + exec(null, null, APP_PLUGIN_NAME, 'show', []); + }); + } +}; + +function onMessageFromNative (msg) { + var cordova = require('cordova'); + var action = msg.action; + + switch (action) { + // pause and resume are Android app life cycle events + case 'backbutton': + case 'menubutton': + case 'searchbutton': + case 'pause': + case 'volumedownbutton': + case 'volumeupbutton': + cordova.fireDocumentEvent(action); + break; + case 'resume': + if (arguments.length > 1 && msg.pendingResult) { + if (arguments.length === 2) { + msg.pendingResult.result = arguments[1]; + } else { + // The plugin returned a multipart message + var res = []; + for (var i = 1; i < arguments.length; i++) { + res.push(arguments[i]); + } + msg.pendingResult.result = res; + } + + // Save the plugin result so that it can be delivered to the js + // even if they miss the initial firing of the event + lastResumeEvent = msg; + } + cordova.fireDocumentEvent(action, msg); + break; + default: + throw new Error('Unknown event action ' + action); + } +} diff --git a/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/plugin/android/app.js b/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/plugin/android/app.js new file mode 100644 index 0000000..027ce31 --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/cordova-js-src/plugin/android/app.js @@ -0,0 +1,108 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. + * +*/ + +var exec = require('cordova/exec'); +var APP_PLUGIN_NAME = Number(require('cordova').platformVersion.split('.')[0]) >= 4 ? 'CoreAndroid' : 'App'; + +module.exports = { + /** + * Clear the resource cache. + */ + clearCache: function () { + exec(null, null, APP_PLUGIN_NAME, 'clearCache', []); + }, + + /** + * Load the url into the webview or into new browser instance. + * + * @param url The URL to load + * @param props Properties that can be passed in to the activity: + * wait: int => wait msec before loading URL + * loadingDialog: "Title,Message" => display a native loading dialog + * loadUrlTimeoutValue: int => time in msec to wait before triggering a timeout error + * clearHistory: boolean => clear webview history (default=false) + * openExternal: boolean => open in a new browser (default=false) + * + * Example: + * navigator.app.loadUrl("http://server/myapp/index.html", {wait:2000, loadingDialog:"Wait,Loading App", loadUrlTimeoutValue: 60000}); + */ + loadUrl: function (url, props) { + exec(null, null, APP_PLUGIN_NAME, 'loadUrl', [url, props]); + }, + + /** + * Cancel loadUrl that is waiting to be loaded. + */ + cancelLoadUrl: function () { + exec(null, null, APP_PLUGIN_NAME, 'cancelLoadUrl', []); + }, + + /** + * Clear web history in this web view. + * Instead of BACK button loading the previous web page, it will exit the app. + */ + clearHistory: function () { + exec(null, null, APP_PLUGIN_NAME, 'clearHistory', []); + }, + + /** + * Go to previous page displayed. + * This is the same as pressing the backbutton on Android device. + */ + backHistory: function () { + exec(null, null, APP_PLUGIN_NAME, 'backHistory', []); + }, + + /** + * Override the default behavior of the Android back button. + * If overridden, when the back button is pressed, the "backKeyDown" JavaScript event will be fired. + * + * Note: The user should not have to call this method. Instead, when the user + * registers for the "backbutton" event, this is automatically done. + * + * @param override T=override, F=cancel override + */ + overrideBackbutton: function (override) { + exec(null, null, APP_PLUGIN_NAME, 'overrideBackbutton', [override]); + }, + + /** + * Override the default behavior of the Android volume button. + * If overridden, when the volume button is pressed, the "volume[up|down]button" + * JavaScript event will be fired. + * + * Note: The user should not have to call this method. Instead, when the user + * registers for the "volume[up|down]button" event, this is automatically done. + * + * @param button volumeup, volumedown + * @param override T=override, F=cancel override + */ + overrideButton: function (button, override) { + exec(null, null, APP_PLUGIN_NAME, 'overrideButton', [button, override]); + }, + + /** + * Exit and terminate the application. + */ + exitApp: function () { + return exec(null, null, APP_PLUGIN_NAME, 'exitApp', []); + } +}; diff --git a/app/build/intermediates/merged_assets/debug/out/www/cordova.js b/app/build/intermediates/merged_assets/debug/out/www/cordova.js new file mode 100644 index 0000000..3d71792 --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/cordova.js @@ -0,0 +1,1904 @@ +// Platform: android +// 538a985db128858c0a0eb4dd40fb9c8e5433fc94 +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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 + + http://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. +*/ +;(function() { +var PLATFORM_VERSION_BUILD_LABEL = '9.0.0'; +// file: src/scripts/require.js +var require; +var define; + +(function () { + var modules = {}; + // Stack of moduleIds currently being built. + var requireStack = []; + // Map of module ID -> index into requireStack of modules currently being built. + var inProgressModules = {}; + var SEPARATOR = '.'; + + function build (module) { + var factory = module.factory; + var localRequire = function (id) { + var resultantId = id; + // Its a relative path, so lop off the last portion and add the id (minus "./") + if (id.charAt(0) === '.') { + resultantId = module.id.slice(0, module.id.lastIndexOf(SEPARATOR)) + SEPARATOR + id.slice(2); + } + return require(resultantId); + }; + module.exports = {}; + delete module.factory; + factory(localRequire, module.exports, module); + return module.exports; + } + + require = function (id) { + if (!modules[id]) { + throw new Error('module ' + id + ' not found'); + } else if (id in inProgressModules) { + var cycle = requireStack.slice(inProgressModules[id]).join('->') + '->' + id; + throw new Error('Cycle in require graph: ' + cycle); + } + if (modules[id].factory) { + try { + inProgressModules[id] = requireStack.length; + requireStack.push(id); + return build(modules[id]); + } finally { + delete inProgressModules[id]; + requireStack.pop(); + } + } + return modules[id].exports; + }; + + define = function (id, factory) { + if (Object.prototype.hasOwnProperty.call(modules, id)) { + throw new Error('module ' + id + ' already defined'); + } + + modules[id] = { + id: id, + factory: factory + }; + }; + + define.remove = function (id) { + delete modules[id]; + }; + + define.moduleMap = modules; +})(); + +// Export for use in node +if (typeof module === 'object' && typeof require === 'function') { + module.exports.require = require; + module.exports.define = define; +} + +// file: src/cordova.js +define("cordova", function(require, exports, module) { + +// Workaround for Windows 10 in hosted environment case +// http://www.w3.org/html/wg/drafts/html/master/browsers.html#named-access-on-the-window-object +if (window.cordova && !(window.cordova instanceof HTMLElement)) { + throw new Error('cordova already defined'); +} + +var channel = require('cordova/channel'); +var platform = require('cordova/platform'); + +/** + * Intercept calls to addEventListener + removeEventListener and handle deviceready, + * resume, and pause events. + */ +var m_document_addEventListener = document.addEventListener; +var m_document_removeEventListener = document.removeEventListener; +var m_window_addEventListener = window.addEventListener; +var m_window_removeEventListener = window.removeEventListener; + +/** + * Houses custom event handlers to intercept on document + window event listeners. + */ +var documentEventHandlers = {}; +var windowEventHandlers = {}; + +document.addEventListener = function (evt, handler, capture) { + var e = evt.toLowerCase(); + if (typeof documentEventHandlers[e] !== 'undefined') { + documentEventHandlers[e].subscribe(handler); + } else { + m_document_addEventListener.call(document, evt, handler, capture); + } +}; + +window.addEventListener = function (evt, handler, capture) { + var e = evt.toLowerCase(); + if (typeof windowEventHandlers[e] !== 'undefined') { + windowEventHandlers[e].subscribe(handler); + } else { + m_window_addEventListener.call(window, evt, handler, capture); + } +}; + +document.removeEventListener = function (evt, handler, capture) { + var e = evt.toLowerCase(); + // If unsubscribing from an event that is handled by a plugin + if (typeof documentEventHandlers[e] !== 'undefined') { + documentEventHandlers[e].unsubscribe(handler); + } else { + m_document_removeEventListener.call(document, evt, handler, capture); + } +}; + +window.removeEventListener = function (evt, handler, capture) { + var e = evt.toLowerCase(); + // If unsubscribing from an event that is handled by a plugin + if (typeof windowEventHandlers[e] !== 'undefined') { + windowEventHandlers[e].unsubscribe(handler); + } else { + m_window_removeEventListener.call(window, evt, handler, capture); + } +}; + +function createEvent (type, data) { + var event = document.createEvent('Events'); + event.initEvent(type, false, false); + if (data) { + for (var i in data) { + if (Object.prototype.hasOwnProperty.call(data, i)) { + event[i] = data[i]; + } + } + } + return event; +} + +var cordova = { + define: define, + require: require, + version: PLATFORM_VERSION_BUILD_LABEL, + platformVersion: PLATFORM_VERSION_BUILD_LABEL, + platformId: platform.id, + + /** + * Methods to add/remove your own addEventListener hijacking on document + window. + */ + addWindowEventHandler: function (event) { + return (windowEventHandlers[event] = channel.create(event)); + }, + addStickyDocumentEventHandler: function (event) { + return (documentEventHandlers[event] = channel.createSticky(event)); + }, + addDocumentEventHandler: function (event) { + return (documentEventHandlers[event] = channel.create(event)); + }, + removeWindowEventHandler: function (event) { + delete windowEventHandlers[event]; + }, + removeDocumentEventHandler: function (event) { + delete documentEventHandlers[event]; + }, + + /** + * Retrieve original event handlers that were replaced by Cordova + * + * @return object + */ + getOriginalHandlers: function () { + return { + document: { + addEventListener: m_document_addEventListener, + removeEventListener: m_document_removeEventListener + }, + window: { + addEventListener: m_window_addEventListener, + removeEventListener: m_window_removeEventListener + } + }; + }, + + /** + * Method to fire event from native code + * bNoDetach is required for events which cause an exception which needs to be caught in native code + */ + fireDocumentEvent: function (type, data, bNoDetach) { + var evt = createEvent(type, data); + if (typeof documentEventHandlers[type] !== 'undefined') { + if (bNoDetach) { + documentEventHandlers[type].fire(evt); + } else { + setTimeout(function () { + // Fire deviceready on listeners that were registered before cordova.js was loaded. + if (type === 'deviceready') { + document.dispatchEvent(evt); + } + documentEventHandlers[type].fire(evt); + }, 0); + } + } else { + document.dispatchEvent(evt); + } + }, + + fireWindowEvent: function (type, data) { + var evt = createEvent(type, data); + if (typeof windowEventHandlers[type] !== 'undefined') { + setTimeout(function () { + windowEventHandlers[type].fire(evt); + }, 0); + } else { + window.dispatchEvent(evt); + } + }, + + /** + * Plugin callback mechanism. + */ + // Randomize the starting callbackId to avoid collisions after refreshing or navigating. + // This way, it's very unlikely that any new callback would get the same callbackId as an old callback. + callbackId: Math.floor(Math.random() * 2000000000), + callbacks: {}, + callbackStatus: { + NO_RESULT: 0, + OK: 1, + CLASS_NOT_FOUND_EXCEPTION: 2, + ILLEGAL_ACCESS_EXCEPTION: 3, + INSTANTIATION_EXCEPTION: 4, + MALFORMED_URL_EXCEPTION: 5, + IO_EXCEPTION: 6, + INVALID_ACTION: 7, + JSON_EXCEPTION: 8, + ERROR: 9 + }, + + /** + * Called by native code when returning successful result from an action. + */ + callbackSuccess: function (callbackId, args) { + cordova.callbackFromNative(callbackId, true, args.status, [args.message], args.keepCallback); + }, + + /** + * Called by native code when returning error result from an action. + */ + callbackError: function (callbackId, args) { + // TODO: Deprecate callbackSuccess and callbackError in favour of callbackFromNative. + // Derive success from status. + cordova.callbackFromNative(callbackId, false, args.status, [args.message], args.keepCallback); + }, + + /** + * Called by native code when returning the result from an action. + */ + callbackFromNative: function (callbackId, isSuccess, status, args, keepCallback) { + try { + var callback = cordova.callbacks[callbackId]; + if (callback) { + if (isSuccess && status === cordova.callbackStatus.OK) { + callback.success && callback.success.apply(null, args); + } else if (!isSuccess) { + callback.fail && callback.fail.apply(null, args); + } + /* + else + Note, this case is intentionally not caught. + this can happen if isSuccess is true, but callbackStatus is NO_RESULT + which is used to remove a callback from the list without calling the callbacks + typically keepCallback is false in this case + */ + // Clear callback if not expecting any more results + if (!keepCallback) { + delete cordova.callbacks[callbackId]; + } + } + } catch (err) { + var msg = 'Error in ' + (isSuccess ? 'Success' : 'Error') + ' callbackId: ' + callbackId + ' : ' + err; + cordova.fireWindowEvent('cordovacallbackerror', { message: msg, error: err }); + throw err; + } + }, + + addConstructor: function (func) { + channel.onCordovaReady.subscribe(function () { + try { + func(); + } catch (e) { + console.log('Failed to run constructor: ' + e); + } + }); + } +}; + +module.exports = cordova; + +}); + +// file: ../cordova-android/cordova-js-src/android/nativeapiprovider.js +define("cordova/android/nativeapiprovider", function(require, exports, module) { + +/** + * Exports the ExposedJsApi.java object if available, otherwise exports the PromptBasedNativeApi. + */ + +var nativeApi = this._cordovaNative || require('cordova/android/promptbasednativeapi'); +var currentApi = nativeApi; + +module.exports = { + get: function () { return currentApi; }, + setPreferPrompt: function (value) { + currentApi = value ? require('cordova/android/promptbasednativeapi') : nativeApi; + }, + // Used only by tests. + set: function (value) { + currentApi = value; + } +}; + +}); + +// file: ../cordova-android/cordova-js-src/android/promptbasednativeapi.js +define("cordova/android/promptbasednativeapi", function(require, exports, module) { + +/** + * Implements the API of ExposedJsApi.java, but uses prompt() to communicate. + * This is used pre-JellyBean, where addJavascriptInterface() is disabled. + */ + +module.exports = { + exec: function (bridgeSecret, service, action, callbackId, argsJson) { + return prompt(argsJson, 'gap:' + JSON.stringify([bridgeSecret, service, action, callbackId])); + }, + setNativeToJsBridgeMode: function (bridgeSecret, value) { + prompt(value, 'gap_bridge_mode:' + bridgeSecret); + }, + retrieveJsMessages: function (bridgeSecret, fromOnlineEvent) { + return prompt(+fromOnlineEvent, 'gap_poll:' + bridgeSecret); + } +}; + +}); + +// file: src/common/argscheck.js +define("cordova/argscheck", function(require, exports, module) { + +var utils = require('cordova/utils'); + +var moduleExports = module.exports; + +var typeMap = { + A: 'Array', + D: 'Date', + N: 'Number', + S: 'String', + F: 'Function', + O: 'Object' +}; + +function extractParamName (callee, argIndex) { + return (/\(\s*([^)]*?)\s*\)/).exec(callee)[1].split(/\s*,\s*/)[argIndex]; +} + +/** + * Checks the given arguments' types and throws if they are not as expected. + * + * `spec` is a string where each character stands for the required type of the + * argument at the same position. In other words: the character at `spec[i]` + * specifies the required type for `args[i]`. The characters in `spec` are the + * first letter of the required type's name. The supported types are: + * + * Array, Date, Number, String, Function, Object + * + * Lowercase characters specify arguments that must not be `null` or `undefined` + * while uppercase characters allow those values to be passed. + * + * Finally, `*` can be used to allow any type at the corresponding position. + * + * @example + * function foo (arr, opts) { + * // require `arr` to be an Array and `opts` an Object, null or undefined + * checkArgs('aO', 'my.package.foo', arguments); + * // ... + * } + * @param {String} spec - the type specification for `args` as described above + * @param {String} functionName - full name of the callee. + * Used in the error message + * @param {Array|arguments} args - the arguments to be checked against `spec` + * @param {Function} [opt_callee=args.callee] - the recipient of `args`. + * Used to extract parameter names for the error message + * @throws {TypeError} if args do not satisfy spec + */ +function checkArgs (spec, functionName, args, opt_callee) { + if (!moduleExports.enableChecks) { + return; + } + var errMsg = null; + var typeName; + for (var i = 0; i < spec.length; ++i) { + var c = spec.charAt(i); + var cUpper = c.toUpperCase(); + var arg = args[i]; + // Asterix means allow anything. + if (c === '*') { + continue; + } + typeName = utils.typeName(arg); + if ((arg === null || arg === undefined) && c === cUpper) { + continue; + } + if (typeName !== typeMap[cUpper]) { + errMsg = 'Expected ' + typeMap[cUpper]; + break; + } + } + if (errMsg) { + errMsg += ', but got ' + typeName + '.'; + errMsg = 'Wrong type for parameter "' + extractParamName(opt_callee || args.callee, i) + '" of ' + functionName + ': ' + errMsg; + // Don't log when running unit tests. + if (typeof jasmine === 'undefined') { + console.error(errMsg); + } + throw TypeError(errMsg); + } +} + +function getValue (value, defaultValue) { + return value === undefined ? defaultValue : value; +} + +moduleExports.checkArgs = checkArgs; +moduleExports.getValue = getValue; +moduleExports.enableChecks = true; + +}); + +// file: src/common/base64.js +define("cordova/base64", function(require, exports, module) { + +var base64 = exports; + +base64.fromArrayBuffer = function (arrayBuffer) { + var array = new Uint8Array(arrayBuffer); + return uint8ToBase64(array); +}; + +base64.toArrayBuffer = function (str) { + var decodedStr = atob(str); + var arrayBuffer = new ArrayBuffer(decodedStr.length); + var array = new Uint8Array(arrayBuffer); + for (var i = 0, len = decodedStr.length; i < len; i++) { + array[i] = decodedStr.charCodeAt(i); + } + return arrayBuffer; +}; + +// ------------------------------------------------------------------------------ + +/* This code is based on the performance tests at http://jsperf.com/b64tests + * This 12-bit-at-a-time algorithm was the best performing version on all + * platforms tested. + */ + +var b64_6bit = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; +var b64_12bit; + +var b64_12bitTable = function () { + b64_12bit = []; + for (var i = 0; i < 64; i++) { + for (var j = 0; j < 64; j++) { + b64_12bit[i * 64 + j] = b64_6bit[i] + b64_6bit[j]; + } + } + b64_12bitTable = function () { return b64_12bit; }; + return b64_12bit; +}; + +function uint8ToBase64 (rawData) { + var numBytes = rawData.byteLength; + var output = ''; + var segment; + var table = b64_12bitTable(); + for (var i = 0; i < numBytes - 2; i += 3) { + segment = (rawData[i] << 16) + (rawData[i + 1] << 8) + rawData[i + 2]; + output += table[segment >> 12]; + output += table[segment & 0xfff]; + } + if (numBytes - i === 2) { + segment = (rawData[i] << 16) + (rawData[i + 1] << 8); + output += table[segment >> 12]; + output += b64_6bit[(segment & 0xfff) >> 6]; + output += '='; + } else if (numBytes - i === 1) { + segment = (rawData[i] << 16); + output += table[segment >> 12]; + output += '=='; + } + return output; +} + +}); + +// file: src/common/builder.js +define("cordova/builder", function(require, exports, module) { + +var utils = require('cordova/utils'); + +function each (objects, func, context) { + for (var prop in objects) { + if (Object.prototype.hasOwnProperty.call(objects, prop)) { + func.apply(context, [objects[prop], prop]); + } + } +} + +function clobber (obj, key, value) { + var needsProperty = false; + try { + obj[key] = value; + } catch (e) { + needsProperty = true; + } + // Getters can only be overridden by getters. + if (needsProperty || obj[key] !== value) { + utils.defineGetter(obj, key, function () { + return value; + }); + } +} + +function assignOrWrapInDeprecateGetter (obj, key, value, message) { + if (message) { + utils.defineGetter(obj, key, function () { + console.log(message); + delete obj[key]; + clobber(obj, key, value); + return value; + }); + } else { + clobber(obj, key, value); + } +} + +function include (parent, objects, clobber, merge) { + each(objects, function (obj, key) { + try { + var result = obj.path ? require(obj.path) : {}; + + if (clobber) { + // Clobber if it doesn't exist. + if (typeof parent[key] === 'undefined') { + assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated); + } else if (typeof obj.path !== 'undefined') { + // If merging, merge properties onto parent, otherwise, clobber. + if (merge) { + recursiveMerge(parent[key], result); + } else { + assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated); + } + } + result = parent[key]; + } else { + // Overwrite if not currently defined. + if (typeof parent[key] === 'undefined') { + assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated); + } else { + // Set result to what already exists, so we can build children into it if they exist. + result = parent[key]; + } + } + + if (obj.children) { + include(result, obj.children, clobber, merge); + } + } catch (e) { + utils.alert('Exception building Cordova JS globals: ' + e + ' for key "' + key + '"'); + } + }); +} + +/** + * Merge properties from one object onto another recursively. Properties from + * the src object will overwrite existing target property. + * + * @param target Object to merge properties into. + * @param src Object to merge properties from. + */ +function recursiveMerge (target, src) { + for (var prop in src) { + if (Object.prototype.hasOwnProperty.call(src, prop)) { + if (target.prototype && target.prototype.constructor === target) { + // If the target object is a constructor override off prototype. + clobber(target.prototype, prop, src[prop]); + } else { + if (typeof src[prop] === 'object' && typeof target[prop] === 'object') { + recursiveMerge(target[prop], src[prop]); + } else { + clobber(target, prop, src[prop]); + } + } + } + } +} + +exports.buildIntoButDoNotClobber = function (objects, target) { + include(target, objects, false, false); +}; +exports.buildIntoAndClobber = function (objects, target) { + include(target, objects, true, false); +}; +exports.buildIntoAndMerge = function (objects, target) { + include(target, objects, true, true); +}; +exports.recursiveMerge = recursiveMerge; +exports.assignOrWrapInDeprecateGetter = assignOrWrapInDeprecateGetter; + +}); + +// file: src/common/channel.js +define("cordova/channel", function(require, exports, module) { + +var utils = require('cordova/utils'); +var nextGuid = 1; + +/** + * Custom pub-sub "channel" that can have functions subscribed to it + * This object is used to define and control firing of events for + * cordova initialization, as well as for custom events thereafter. + * + * The order of events during page load and Cordova startup is as follows: + * + * onDOMContentLoaded* Internal event that is received when the web page is loaded and parsed. + * onNativeReady* Internal event that indicates the Cordova native side is ready. + * onCordovaReady* Internal event fired when all Cordova JavaScript objects have been created. + * onDeviceReady* User event fired to indicate that Cordova is ready + * onResume User event fired to indicate a start/resume lifecycle event + * onPause User event fired to indicate a pause lifecycle event + * + * The events marked with an * are sticky. Once they have fired, they will stay in the fired state. + * All listeners that subscribe after the event is fired will be executed right away. + * + * The only Cordova events that user code should register for are: + * deviceready Cordova native code is initialized and Cordova APIs can be called from JavaScript + * pause App has moved to background + * resume App has returned to foreground + * + * Listeners can be registered as: + * document.addEventListener("deviceready", myDeviceReadyListener, false); + * document.addEventListener("resume", myResumeListener, false); + * document.addEventListener("pause", myPauseListener, false); + * + * The DOM lifecycle events should be used for saving and restoring state + * window.onload + * window.onunload + * + */ + +/** + * Channel + * @constructor + * @param type String the channel name + */ +var Channel = function (type, sticky) { + this.type = type; + // Map of guid -> function. + this.handlers = {}; + // 0 = Non-sticky, 1 = Sticky non-fired, 2 = Sticky fired. + this.state = sticky ? 1 : 0; + // Used in sticky mode to remember args passed to fire(). + this.fireArgs = null; + // Used by onHasSubscribersChange to know if there are any listeners. + this.numHandlers = 0; + // Function that is called when the first listener is subscribed, or when + // the last listener is unsubscribed. + this.onHasSubscribersChange = null; +}; +var channel = { + /** + * Calls the provided function only after all of the channels specified + * have been fired. All channels must be sticky channels. + */ + join: function (h, c) { + var len = c.length; + var i = len; + var f = function () { + if (!(--i)) h(); + }; + for (var j = 0; j < len; j++) { + if (c[j].state === 0) { + throw Error('Can only use join with sticky channels.'); + } + c[j].subscribe(f); + } + if (!len) h(); + }, + + create: function (type) { + return (channel[type] = new Channel(type, false)); + }, + createSticky: function (type) { + return (channel[type] = new Channel(type, true)); + }, + + /** + * cordova Channels that must fire before "deviceready" is fired. + */ + deviceReadyChannelsArray: [], + deviceReadyChannelsMap: {}, + + /** + * Indicate that a feature needs to be initialized before it is ready to be used. + * This holds up Cordova's "deviceready" event until the feature has been initialized + * and Cordova.initComplete(feature) is called. + * + * @param feature {String} The unique feature name + */ + waitForInitialization: function (feature) { + if (feature) { + var c = channel[feature] || this.createSticky(feature); + this.deviceReadyChannelsMap[feature] = c; + this.deviceReadyChannelsArray.push(c); + } + }, + + /** + * Indicate that initialization code has completed and the feature is ready to be used. + * + * @param feature {String} The unique feature name + */ + initializationComplete: function (feature) { + var c = this.deviceReadyChannelsMap[feature]; + if (c) { + c.fire(); + } + } +}; + +function checkSubscriptionArgument (argument) { + if (typeof argument !== 'function' && typeof argument.handleEvent !== 'function') { + throw new Error( + 'Must provide a function or an EventListener object ' + + 'implementing the handleEvent interface.' + ); + } +} + +/** + * Subscribes the given function to the channel. Any time that + * Channel.fire is called so too will the function. + * Optionally specify an execution context for the function + * and a guid that can be used to stop subscribing to the channel. + * Returns the guid. + */ +Channel.prototype.subscribe = function (eventListenerOrFunction, eventListener) { + checkSubscriptionArgument(eventListenerOrFunction); + var handleEvent, guid; + + if (eventListenerOrFunction && typeof eventListenerOrFunction === 'object') { + // Received an EventListener object implementing the handleEvent interface + handleEvent = eventListenerOrFunction.handleEvent; + eventListener = eventListenerOrFunction; + } else { + // Received a function to handle event + handleEvent = eventListenerOrFunction; + } + + if (this.state === 2) { + handleEvent.apply(eventListener || this, this.fireArgs); + return; + } + + guid = eventListenerOrFunction.observer_guid; + if (typeof eventListener === 'object') { + handleEvent = utils.close(eventListener, handleEvent); + } + + if (!guid) { + // First time any channel has seen this subscriber + guid = '' + nextGuid++; + } + handleEvent.observer_guid = guid; + eventListenerOrFunction.observer_guid = guid; + + // Don't add the same handler more than once. + if (!this.handlers[guid]) { + this.handlers[guid] = handleEvent; + this.numHandlers++; + if (this.numHandlers === 1) { + this.onHasSubscribersChange && this.onHasSubscribersChange(); + } + } +}; + +/** + * Unsubscribes the function with the given guid from the channel. + */ +Channel.prototype.unsubscribe = function (eventListenerOrFunction) { + checkSubscriptionArgument(eventListenerOrFunction); + var handleEvent, guid, handler; + + if (eventListenerOrFunction && typeof eventListenerOrFunction === 'object') { + // Received an EventListener object implementing the handleEvent interface + handleEvent = eventListenerOrFunction.handleEvent; + } else { + // Received a function to handle event + handleEvent = eventListenerOrFunction; + } + + guid = handleEvent.observer_guid; + handler = this.handlers[guid]; + if (handler) { + delete this.handlers[guid]; + this.numHandlers--; + if (this.numHandlers === 0) { + this.onHasSubscribersChange && this.onHasSubscribersChange(); + } + } +}; + +/** + * Calls all functions subscribed to this channel. + */ +Channel.prototype.fire = function (e) { + var fireArgs = Array.prototype.slice.call(arguments); + // Apply stickiness. + if (this.state === 1) { + this.state = 2; + this.fireArgs = fireArgs; + } + if (this.numHandlers) { + // Copy the values first so that it is safe to modify it from within + // callbacks. + var toCall = []; + for (var item in this.handlers) { + toCall.push(this.handlers[item]); + } + for (var i = 0; i < toCall.length; ++i) { + toCall[i].apply(this, fireArgs); + } + if (this.state === 2 && this.numHandlers) { + this.numHandlers = 0; + this.handlers = {}; + this.onHasSubscribersChange && this.onHasSubscribersChange(); + } + } +}; + +// defining them here so they are ready super fast! +// DOM event that is received when the web page is loaded and parsed. +channel.createSticky('onDOMContentLoaded'); + +// Event to indicate the Cordova native side is ready. +channel.createSticky('onNativeReady'); + +// Event to indicate that all Cordova JavaScript objects have been created +// and it's time to run plugin constructors. +channel.createSticky('onCordovaReady'); + +// Event to indicate that all automatically loaded JS plugins are loaded and ready. +// FIXME remove this +channel.createSticky('onPluginsReady'); + +// Event to indicate that Cordova is ready +channel.createSticky('onDeviceReady'); + +// Event to indicate a resume lifecycle event +channel.create('onResume'); + +// Event to indicate a pause lifecycle event +channel.create('onPause'); + +// Channels that must fire before "deviceready" is fired. +channel.waitForInitialization('onCordovaReady'); +channel.waitForInitialization('onDOMContentLoaded'); + +module.exports = channel; + +}); + +// file: ../cordova-android/cordova-js-src/exec.js +define("cordova/exec", function(require, exports, module) { + +/** + * Execute a cordova command. It is up to the native side whether this action + * is synchronous or asynchronous. The native side can return: + * Synchronous: PluginResult object as a JSON string + * Asynchronous: Empty string "" + * If async, the native side will cordova.callbackSuccess or cordova.callbackError, + * depending upon the result of the action. + * + * @param {Function} success The success callback + * @param {Function} fail The fail callback + * @param {String} service The name of the service to use + * @param {String} action Action to be run in cordova + * @param {String[]} [args] Zero or more arguments to pass to the method + */ +var cordova = require('cordova'); +var nativeApiProvider = require('cordova/android/nativeapiprovider'); +var utils = require('cordova/utils'); +var base64 = require('cordova/base64'); +var channel = require('cordova/channel'); +var jsToNativeModes = { + PROMPT: 0, + JS_OBJECT: 1 +}; +var nativeToJsModes = { + // Polls for messages using the JS->Native bridge. + POLLING: 0, + // For LOAD_URL to be viable, it would need to have a work-around for + // the bug where the soft-keyboard gets dismissed when a message is sent. + LOAD_URL: 1, + // For the ONLINE_EVENT to be viable, it would need to intercept all event + // listeners (both through addEventListener and window.ononline) as well + // as set the navigator property itself. + ONLINE_EVENT: 2, + EVAL_BRIDGE: 3 +}; +var jsToNativeBridgeMode; // Set lazily. +var nativeToJsBridgeMode = nativeToJsModes.EVAL_BRIDGE; +var pollEnabled = false; +var bridgeSecret = -1; + +var messagesFromNative = []; +var isProcessing = false; +var resolvedPromise = typeof Promise === 'undefined' ? null : Promise.resolve(); +var nextTick = resolvedPromise ? function (fn) { resolvedPromise.then(fn); } : function (fn) { setTimeout(fn); }; + +function androidExec (success, fail, service, action, args) { + if (bridgeSecret < 0) { + // If we ever catch this firing, we'll need to queue up exec()s + // and fire them once we get a secret. For now, I don't think + // it's possible for exec() to be called since plugins are parsed but + // not run until until after onNativeReady. + throw new Error('exec() called without bridgeSecret'); + } + // Set default bridge modes if they have not already been set. + // By default, we use the failsafe, since addJavascriptInterface breaks too often + if (jsToNativeBridgeMode === undefined) { + androidExec.setJsToNativeBridgeMode(jsToNativeModes.JS_OBJECT); + } + + // If args is not provided, default to an empty array + args = args || []; + + // Process any ArrayBuffers in the args into a string. + for (var i = 0; i < args.length; i++) { + if (utils.typeName(args[i]) === 'ArrayBuffer') { + args[i] = base64.fromArrayBuffer(args[i]); + } + } + + var callbackId = service + cordova.callbackId++; + var argsJson = JSON.stringify(args); + if (success || fail) { + cordova.callbacks[callbackId] = { success: success, fail: fail }; + } + + var msgs = nativeApiProvider.get().exec(bridgeSecret, service, action, callbackId, argsJson); + // If argsJson was received by Java as null, try again with the PROMPT bridge mode. + // This happens in rare circumstances, such as when certain Unicode characters are passed over the bridge on a Galaxy S2. See CB-2666. + if (jsToNativeBridgeMode === jsToNativeModes.JS_OBJECT && msgs === '@Null arguments.') { + androidExec.setJsToNativeBridgeMode(jsToNativeModes.PROMPT); + androidExec(success, fail, service, action, args); + androidExec.setJsToNativeBridgeMode(jsToNativeModes.JS_OBJECT); + } else if (msgs) { + messagesFromNative.push(msgs); + // Always process async to avoid exceptions messing up stack. + nextTick(processMessages); + } +} + +androidExec.init = function () { + bridgeSecret = +prompt('', 'gap_init:' + nativeToJsBridgeMode); + channel.onNativeReady.fire(); +}; + +function pollOnceFromOnlineEvent () { + pollOnce(true); +} + +function pollOnce (opt_fromOnlineEvent) { + if (bridgeSecret < 0) { + // This can happen when the NativeToJsMessageQueue resets the online state on page transitions. + // We know there's nothing to retrieve, so no need to poll. + return; + } + var msgs = nativeApiProvider.get().retrieveJsMessages(bridgeSecret, !!opt_fromOnlineEvent); + if (msgs) { + messagesFromNative.push(msgs); + // Process sync since we know we're already top-of-stack. + processMessages(); + } +} + +function pollingTimerFunc () { + if (pollEnabled) { + pollOnce(); + setTimeout(pollingTimerFunc, 50); + } +} + +function hookOnlineApis () { + function proxyEvent (e) { + cordova.fireWindowEvent(e.type); + } + // The network module takes care of firing online and offline events. + // It currently fires them only on document though, so we bridge them + // to window here (while first listening for exec()-releated online/offline + // events). + window.addEventListener('online', pollOnceFromOnlineEvent, false); + window.addEventListener('offline', pollOnceFromOnlineEvent, false); + cordova.addWindowEventHandler('online'); + cordova.addWindowEventHandler('offline'); + document.addEventListener('online', proxyEvent, false); + document.addEventListener('offline', proxyEvent, false); +} + +hookOnlineApis(); + +androidExec.jsToNativeModes = jsToNativeModes; +androidExec.nativeToJsModes = nativeToJsModes; + +androidExec.setJsToNativeBridgeMode = function (mode) { + if (mode === jsToNativeModes.JS_OBJECT && !window._cordovaNative) { + mode = jsToNativeModes.PROMPT; + } + nativeApiProvider.setPreferPrompt(mode === jsToNativeModes.PROMPT); + jsToNativeBridgeMode = mode; +}; + +androidExec.setNativeToJsBridgeMode = function (mode) { + if (mode === nativeToJsBridgeMode) { + return; + } + if (nativeToJsBridgeMode === nativeToJsModes.POLLING) { + pollEnabled = false; + } + + nativeToJsBridgeMode = mode; + // Tell the native side to switch modes. + // Otherwise, it will be set by androidExec.init() + if (bridgeSecret >= 0) { + nativeApiProvider.get().setNativeToJsBridgeMode(bridgeSecret, mode); + } + + if (mode === nativeToJsModes.POLLING) { + pollEnabled = true; + setTimeout(pollingTimerFunc, 1); + } +}; + +function buildPayload (payload, message) { + var payloadKind = message.charAt(0); + if (payloadKind === 's') { + payload.push(message.slice(1)); + } else if (payloadKind === 't') { + payload.push(true); + } else if (payloadKind === 'f') { + payload.push(false); + } else if (payloadKind === 'N') { + payload.push(null); + } else if (payloadKind === 'n') { + payload.push(+message.slice(1)); + } else if (payloadKind === 'A') { + var data = message.slice(1); + payload.push(base64.toArrayBuffer(data)); + } else if (payloadKind === 'S') { + payload.push(window.atob(message.slice(1))); + } else if (payloadKind === 'M') { + var multipartMessages = message.slice(1); + while (multipartMessages !== '') { + var spaceIdx = multipartMessages.indexOf(' '); + var msgLen = +multipartMessages.slice(0, spaceIdx); + var multipartMessage = multipartMessages.substr(spaceIdx + 1, msgLen); + multipartMessages = multipartMessages.slice(spaceIdx + msgLen + 1); + buildPayload(payload, multipartMessage); + } + } else { + payload.push(JSON.parse(message)); + } +} + +// Processes a single message, as encoded by NativeToJsMessageQueue.java. +function processMessage (message) { + var firstChar = message.charAt(0); + if (firstChar === 'J') { + // This is deprecated on the .java side. It doesn't work with CSP enabled. + // eslint-disable-next-line no-eval + eval(message.slice(1)); + } else if (firstChar === 'S' || firstChar === 'F') { + var success = firstChar === 'S'; + var keepCallback = message.charAt(1) === '1'; + var spaceIdx = message.indexOf(' ', 2); + var status = +message.slice(2, spaceIdx); + var nextSpaceIdx = message.indexOf(' ', spaceIdx + 1); + var callbackId = message.slice(spaceIdx + 1, nextSpaceIdx); + var payloadMessage = message.slice(nextSpaceIdx + 1); + var payload = []; + buildPayload(payload, payloadMessage); + cordova.callbackFromNative(callbackId, success, status, payload, keepCallback); + } else { + console.log('processMessage failed: invalid message: ' + JSON.stringify(message)); + } +} + +function processMessages () { + // Check for the reentrant case. + if (isProcessing) { + return; + } + if (messagesFromNative.length === 0) { + return; + } + isProcessing = true; + try { + var msg = popMessageFromQueue(); + // The Java side can send a * message to indicate that it + // still has messages waiting to be retrieved. + if (msg === '*' && messagesFromNative.length === 0) { + nextTick(pollOnce); + return; + } + processMessage(msg); + } finally { + isProcessing = false; + if (messagesFromNative.length > 0) { + nextTick(processMessages); + } + } +} + +function popMessageFromQueue () { + var messageBatch = messagesFromNative.shift(); + if (messageBatch === '*') { + return '*'; + } + + var spaceIdx = messageBatch.indexOf(' '); + var msgLen = +messageBatch.slice(0, spaceIdx); + var message = messageBatch.substr(spaceIdx + 1, msgLen); + messageBatch = messageBatch.slice(spaceIdx + msgLen + 1); + if (messageBatch) { + messagesFromNative.unshift(messageBatch); + } + return message; +} + +module.exports = androidExec; + +}); + +// file: src/common/exec/proxy.js +define("cordova/exec/proxy", function(require, exports, module) { + +// internal map of proxy function +var CommandProxyMap = {}; + +module.exports = { + + // example: cordova.commandProxy.add("Accelerometer",{getCurrentAcceleration: function(successCallback, errorCallback, options) {...},...); + add: function (id, proxyObj) { + console.log('adding proxy for ' + id); + CommandProxyMap[id] = proxyObj; + return proxyObj; + }, + + // cordova.commandProxy.remove("Accelerometer"); + remove: function (id) { + var proxy = CommandProxyMap[id]; + delete CommandProxyMap[id]; + CommandProxyMap[id] = null; + return proxy; + }, + + get: function (service, action) { + return (CommandProxyMap[service] ? CommandProxyMap[service][action] : null); + } +}; + +}); + +// file: src/common/init.js +define("cordova/init", function(require, exports, module) { + +var channel = require('cordova/channel'); +var cordova = require('cordova'); +var modulemapper = require('cordova/modulemapper'); +var platform = require('cordova/platform'); +var pluginloader = require('cordova/pluginloader'); + +var platformInitChannelsArray = [channel.onNativeReady, channel.onPluginsReady]; + +function logUnfiredChannels (arr) { + for (var i = 0; i < arr.length; ++i) { + if (arr[i].state !== 2) { + console.log('Channel not fired: ' + arr[i].type); + } + } +} + +window.setTimeout(function () { + if (channel.onDeviceReady.state !== 2) { + console.log('deviceready has not fired after 5 seconds.'); + logUnfiredChannels(platformInitChannelsArray); + logUnfiredChannels(channel.deviceReadyChannelsArray); + } +}, 5000); + +if (!window.console) { + window.console = { + log: function () {} + }; +} +if (!window.console.warn) { + window.console.warn = function (msg) { + this.log('warn: ' + msg); + }; +} + +// Register pause, resume and deviceready channels as events on document. +channel.onPause = cordova.addDocumentEventHandler('pause'); +channel.onResume = cordova.addDocumentEventHandler('resume'); +channel.onActivated = cordova.addDocumentEventHandler('activated'); +channel.onDeviceReady = cordova.addStickyDocumentEventHandler('deviceready'); + +// Listen for DOMContentLoaded and notify our channel subscribers. +if (document.readyState === 'complete' || document.readyState === 'interactive') { + channel.onDOMContentLoaded.fire(); +} else { + document.addEventListener('DOMContentLoaded', function () { + channel.onDOMContentLoaded.fire(); + }, false); +} + +// _nativeReady is global variable that the native side can set +// to signify that the native code is ready. It is a global since +// it may be called before any cordova JS is ready. +if (window._nativeReady) { + channel.onNativeReady.fire(); +} + +modulemapper.clobbers('cordova', 'cordova'); +modulemapper.clobbers('cordova/exec', 'cordova.exec'); +modulemapper.clobbers('cordova/exec', 'Cordova.exec'); + +// Call the platform-specific initialization. +platform.bootstrap && platform.bootstrap(); + +// Wrap in a setTimeout to support the use-case of having plugin JS appended to cordova.js. +// The delay allows the attached modules to be defined before the plugin loader looks for them. +setTimeout(function () { + pluginloader.load(function () { + channel.onPluginsReady.fire(); + }); +}, 0); + +/** + * Create all cordova objects once native side is ready. + */ +channel.join(function () { + modulemapper.mapModules(window); + + platform.initialize && platform.initialize(); + + // Fire event to notify that all objects are created + channel.onCordovaReady.fire(); + + // Fire onDeviceReady event once page has fully loaded, all + // constructors have run and cordova info has been received from native + // side. + channel.join(function () { + require('cordova').fireDocumentEvent('deviceready'); + }, channel.deviceReadyChannelsArray); +}, platformInitChannelsArray); + +}); + +// file: src/common/modulemapper.js +define("cordova/modulemapper", function(require, exports, module) { + +var builder = require('cordova/builder'); +var moduleMap = define.moduleMap; +var symbolList; +var deprecationMap; + +exports.reset = function () { + symbolList = []; + deprecationMap = {}; +}; + +function addEntry (strategy, moduleName, symbolPath, opt_deprecationMessage) { + if (!(moduleName in moduleMap)) { + throw new Error('Module ' + moduleName + ' does not exist.'); + } + symbolList.push(strategy, moduleName, symbolPath); + if (opt_deprecationMessage) { + deprecationMap[symbolPath] = opt_deprecationMessage; + } +} + +// Note: Android 2.3 does have Function.bind(). +exports.clobbers = function (moduleName, symbolPath, opt_deprecationMessage) { + addEntry('c', moduleName, symbolPath, opt_deprecationMessage); +}; + +exports.merges = function (moduleName, symbolPath, opt_deprecationMessage) { + addEntry('m', moduleName, symbolPath, opt_deprecationMessage); +}; + +exports.defaults = function (moduleName, symbolPath, opt_deprecationMessage) { + addEntry('d', moduleName, symbolPath, opt_deprecationMessage); +}; + +exports.runs = function (moduleName) { + addEntry('r', moduleName, null); +}; + +function prepareNamespace (symbolPath, context) { + if (!symbolPath) { + return context; + } + return symbolPath.split('.').reduce(function (cur, part) { + return (cur[part] = cur[part] || {}); + }, context); +} + +exports.mapModules = function (context) { + var origSymbols = {}; + context.CDV_origSymbols = origSymbols; + for (var i = 0, len = symbolList.length; i < len; i += 3) { + var strategy = symbolList[i]; + var moduleName = symbolList[i + 1]; + var module = require(moduleName); + // + if (strategy === 'r') { + continue; + } + var symbolPath = symbolList[i + 2]; + var lastDot = symbolPath.lastIndexOf('.'); + var namespace = symbolPath.substr(0, lastDot); + var lastName = symbolPath.substr(lastDot + 1); + + var deprecationMsg = symbolPath in deprecationMap ? 'Access made to deprecated symbol: ' + symbolPath + '. ' + deprecationMsg : null; + var parentObj = prepareNamespace(namespace, context); + var target = parentObj[lastName]; + + if (strategy === 'm' && target) { + builder.recursiveMerge(target, module); + } else if ((strategy === 'd' && !target) || (strategy !== 'd')) { + if (!(symbolPath in origSymbols)) { + origSymbols[symbolPath] = target; + } + builder.assignOrWrapInDeprecateGetter(parentObj, lastName, module, deprecationMsg); + } + } +}; + +exports.getOriginalSymbol = function (context, symbolPath) { + var origSymbols = context.CDV_origSymbols; + if (origSymbols && (symbolPath in origSymbols)) { + return origSymbols[symbolPath]; + } + var parts = symbolPath.split('.'); + var obj = context; + for (var i = 0; i < parts.length; ++i) { + obj = obj && obj[parts[i]]; + } + return obj; +}; + +exports.reset(); + +}); + +// file: ../cordova-android/cordova-js-src/platform.js +define("cordova/platform", function(require, exports, module) { + +// The last resume event that was received that had the result of a plugin call. +var lastResumeEvent = null; + +module.exports = { + id: 'android', + bootstrap: function () { + var channel = require('cordova/channel'); + var cordova = require('cordova'); + var exec = require('cordova/exec'); + var modulemapper = require('cordova/modulemapper'); + + // Get the shared secret needed to use the bridge. + exec.init(); + + // TODO: Extract this as a proper plugin. + modulemapper.clobbers('cordova/plugin/android/app', 'navigator.app'); + + var APP_PLUGIN_NAME = Number(cordova.platformVersion.split('.')[0]) >= 4 ? 'CoreAndroid' : 'App'; + + // Inject a listener for the backbutton on the document. + var backButtonChannel = cordova.addDocumentEventHandler('backbutton'); + backButtonChannel.onHasSubscribersChange = function () { + // If we just attached the first handler or detached the last handler, + // let native know we need to override the back button. + exec(null, null, APP_PLUGIN_NAME, 'overrideBackbutton', [this.numHandlers === 1]); + }; + + // Add hardware MENU and SEARCH button handlers + cordova.addDocumentEventHandler('menubutton'); + cordova.addDocumentEventHandler('searchbutton'); + + function bindButtonChannel (buttonName) { + // generic button bind used for volumeup/volumedown buttons + var volumeButtonChannel = cordova.addDocumentEventHandler(buttonName + 'button'); + volumeButtonChannel.onHasSubscribersChange = function () { + exec(null, null, APP_PLUGIN_NAME, 'overrideButton', [buttonName, this.numHandlers === 1]); + }; + } + // Inject a listener for the volume buttons on the document. + bindButtonChannel('volumeup'); + bindButtonChannel('volumedown'); + + // The resume event is not "sticky", but it is possible that the event + // will contain the result of a plugin call. We need to ensure that the + // plugin result is delivered even after the event is fired (CB-10498) + var cordovaAddEventListener = document.addEventListener; + + document.addEventListener = function (evt, handler, capture) { + cordovaAddEventListener(evt, handler, capture); + + if (evt === 'resume' && lastResumeEvent) { + handler(lastResumeEvent); + } + }; + + // Let native code know we are all done on the JS side. + // Native code will then un-hide the WebView. + channel.onCordovaReady.subscribe(function () { + exec(onMessageFromNative, null, APP_PLUGIN_NAME, 'messageChannel', []); + exec(null, null, APP_PLUGIN_NAME, 'show', []); + }); + } +}; + +function onMessageFromNative (msg) { + var cordova = require('cordova'); + var action = msg.action; + + switch (action) { + // pause and resume are Android app life cycle events + case 'backbutton': + case 'menubutton': + case 'searchbutton': + case 'pause': + case 'volumedownbutton': + case 'volumeupbutton': + cordova.fireDocumentEvent(action); + break; + case 'resume': + if (arguments.length > 1 && msg.pendingResult) { + if (arguments.length === 2) { + msg.pendingResult.result = arguments[1]; + } else { + // The plugin returned a multipart message + var res = []; + for (var i = 1; i < arguments.length; i++) { + res.push(arguments[i]); + } + msg.pendingResult.result = res; + } + + // Save the plugin result so that it can be delivered to the js + // even if they miss the initial firing of the event + lastResumeEvent = msg; + } + cordova.fireDocumentEvent(action, msg); + break; + default: + throw new Error('Unknown event action ' + action); + } +} + +}); + +// file: ../cordova-android/cordova-js-src/plugin/android/app.js +define("cordova/plugin/android/app", function(require, exports, module) { + +var exec = require('cordova/exec'); +var APP_PLUGIN_NAME = Number(require('cordova').platformVersion.split('.')[0]) >= 4 ? 'CoreAndroid' : 'App'; + +module.exports = { + /** + * Clear the resource cache. + */ + clearCache: function () { + exec(null, null, APP_PLUGIN_NAME, 'clearCache', []); + }, + + /** + * Load the url into the webview or into new browser instance. + * + * @param url The URL to load + * @param props Properties that can be passed in to the activity: + * wait: int => wait msec before loading URL + * loadingDialog: "Title,Message" => display a native loading dialog + * loadUrlTimeoutValue: int => time in msec to wait before triggering a timeout error + * clearHistory: boolean => clear webview history (default=false) + * openExternal: boolean => open in a new browser (default=false) + * + * Example: + * navigator.app.loadUrl("http://server/myapp/index.html", {wait:2000, loadingDialog:"Wait,Loading App", loadUrlTimeoutValue: 60000}); + */ + loadUrl: function (url, props) { + exec(null, null, APP_PLUGIN_NAME, 'loadUrl', [url, props]); + }, + + /** + * Cancel loadUrl that is waiting to be loaded. + */ + cancelLoadUrl: function () { + exec(null, null, APP_PLUGIN_NAME, 'cancelLoadUrl', []); + }, + + /** + * Clear web history in this web view. + * Instead of BACK button loading the previous web page, it will exit the app. + */ + clearHistory: function () { + exec(null, null, APP_PLUGIN_NAME, 'clearHistory', []); + }, + + /** + * Go to previous page displayed. + * This is the same as pressing the backbutton on Android device. + */ + backHistory: function () { + exec(null, null, APP_PLUGIN_NAME, 'backHistory', []); + }, + + /** + * Override the default behavior of the Android back button. + * If overridden, when the back button is pressed, the "backKeyDown" JavaScript event will be fired. + * + * Note: The user should not have to call this method. Instead, when the user + * registers for the "backbutton" event, this is automatically done. + * + * @param override T=override, F=cancel override + */ + overrideBackbutton: function (override) { + exec(null, null, APP_PLUGIN_NAME, 'overrideBackbutton', [override]); + }, + + /** + * Override the default behavior of the Android volume button. + * If overridden, when the volume button is pressed, the "volume[up|down]button" + * JavaScript event will be fired. + * + * Note: The user should not have to call this method. Instead, when the user + * registers for the "volume[up|down]button" event, this is automatically done. + * + * @param button volumeup, volumedown + * @param override T=override, F=cancel override + */ + overrideButton: function (button, override) { + exec(null, null, APP_PLUGIN_NAME, 'overrideButton', [button, override]); + }, + + /** + * Exit and terminate the application. + */ + exitApp: function () { + return exec(null, null, APP_PLUGIN_NAME, 'exitApp', []); + } +}; + +}); + +// file: src/common/pluginloader.js +define("cordova/pluginloader", function(require, exports, module) { + +var modulemapper = require('cordova/modulemapper'); + +// Helper function to inject a + + + diff --git a/app/build/intermediates/merged_assets/debug/out/www/js/index.js b/app/build/intermediates/merged_assets/debug/out/www/js/index.js new file mode 100644 index 0000000..6fc66e5 --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/js/index.js @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. + */ + +// Wait for the deviceready event before using any of Cordova's device APIs. +// See https://cordova.apache.org/docs/en/latest/cordova/events/events.html#deviceready +document.addEventListener('deviceready', onDeviceReady, false); + +function onDeviceReady() { + // Cordova is now initialized. Have fun! + + console.log('Running cordova-' + cordova.platformId + '@' + cordova.version); + document.getElementById('deviceready').classList.add('ready'); +} diff --git a/app/build/intermediates/merged_assets/debug/out/www/plugins/com-darryncampbell-cordova-plugin-intent/www/IntentShim.js b/app/build/intermediates/merged_assets/debug/out/www/plugins/com-darryncampbell-cordova-plugin-intent/www/IntentShim.js new file mode 100644 index 0000000..67be534 --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/plugins/com-darryncampbell-cordova-plugin-intent/www/IntentShim.js @@ -0,0 +1,91 @@ +cordova.define("com-darryncampbell-cordova-plugin-intent.IntentShim", function(require, exports, module) { +var argscheck = require('cordova/argscheck'), + channel = require('cordova/channel'), + utils = require('cordova/utils'), + exec = require('cordova/exec'), + cordova = require('cordova'); + + +/** + * This represents a thin shim layer over the Android Intent implementation + * @constructor + */ +function IntentShim() { + var me = this; +} + +IntentShim.prototype.ACTION_SEND = "android.intent.action.SEND"; +IntentShim.prototype.ACTION_VIEW= "android.intent.action.VIEW"; +IntentShim.prototype.ACTION_INSTALL_PACKAGE="android.intent.action.INSTALL_PACKAGE"; +IntentShim.prototype.ACTION_UNINSTALL_PACKAGE= "android.intent.action.UNINSTALL_PACKAGE"; +IntentShim.prototype.EXTRA_TEXT = "android.intent.extra.TEXT"; +IntentShim.prototype.EXTRA_SUBJECT = "android.intent.extra.SUBJECT"; +IntentShim.prototype.EXTRA_STREAM = "android.intent.extra.STREAM"; +IntentShim.prototype.EXTRA_EMAIL = "android.intent.extra.EMAIL"; +IntentShim.prototype.ACTION_CALL = "android.intent.action.CALL"; +IntentShim.prototype.ACTION_SENDTO = "android.intent.action.SENDTO"; +// StartActivityForResult +IntentShim.prototype.ACTION_GET_CONTENT = "android.intent.action.GET_CONTENT"; +IntentShim.prototype.ACTION_PICK = "android.intent.action.PICK"; +IntentShim.prototype.RESULT_CANCELED = 0; // Activity.RESULT_CANCELED +IntentShim.prototype.RESULT_OK = -1; // Activity.RESULT_OK + +IntentShim.prototype.startActivity = function(params, successCallback, errorCallback) { + argscheck.checkArgs('off', 'IntentShim.startActivity', arguments); + exec(successCallback, errorCallback, "IntentShim", "startActivity", [params]); +}; + +IntentShim.prototype.startActivityForResult = function(params, successCallback, errorCallback) { + argscheck.checkArgs('off', 'IntentShim.startActivityForResult', arguments); + exec(successCallback, errorCallback, "IntentShim", "startActivityForResult", [params]); +}; + +IntentShim.prototype.sendBroadcast = function(params, successCallback, errorCallback) { + argscheck.checkArgs('off', 'IntentShim.sendBroadcast', arguments); + exec(successCallback, errorCallback, "IntentShim", "sendBroadcast", [params]); +}; + +IntentShim.prototype.startService = function(params, successCallback, errorCallback) { + argscheck.checkArgs('off', 'IntentShim.startService', arguments); + exec(successCallback, errorCallback, "IntentShim", "startService", [params]); +}; + +IntentShim.prototype.registerBroadcastReceiver = function(params, callback) { + argscheck.checkArgs('of', 'IntentShim.registerBroadcastReceiver', arguments); + exec(callback, null, "IntentShim", "registerBroadcastReceiver", [params]); +}; + +IntentShim.prototype.unregisterBroadcastReceiver = function() { + argscheck.checkArgs('', 'IntentShim.unregisterBroadcastReceiver', arguments); + exec(null, null, "IntentShim", "unregisterBroadcastReceiver", []); +}; + +IntentShim.prototype.onIntent = function(callback) { + argscheck.checkArgs('f', 'IntentShim.onIntent', arguments); + exec(callback, null, "IntentShim", "onIntent", [callback]); +}; + +IntentShim.prototype.onActivityResult = function(callback) { + argscheck.checkArgs('f', 'IntentShim.onActivityResult', arguments); + exec(callback, null, "IntentShim", "onActivityResult", [callback]); +}; + +IntentShim.prototype.getIntent = function(successCallback, failureCallback) { + argscheck.checkArgs('ff', 'IntentShim.getIntent', arguments); + exec(successCallback, failureCallback, "IntentShim", "getIntent", []); +}; + +IntentShim.prototype.sendResult = function(params, callback) { + argscheck.checkArgs('of', 'IntentShim.sendResult', arguments); + exec(callback, null, "IntentShim", "sendResult", [params]); +} + +IntentShim.prototype.realPathFromUri = function(params, successCallback, errorCallback) { + argscheck.checkArgs('off', 'IntentShim.realPathFromUri', arguments); + exec(successCallback, errorCallback, "IntentShim", "realPathFromUri", [params]); +}; + +window.intentShim = new IntentShim(); +window.plugins = window.plugins || {}; +window.plugins.intentShim = window.intentShim; +}); diff --git a/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-device/www/device.js b/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-device/www/device.js new file mode 100644 index 0000000..ae48e35 --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-device/www/device.js @@ -0,0 +1,86 @@ +cordova.define("cordova-plugin-device.device", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. + * +*/ + +var argscheck = require('cordova/argscheck'); +var channel = require('cordova/channel'); +var utils = require('cordova/utils'); +var exec = require('cordova/exec'); +var cordova = require('cordova'); + +channel.createSticky('onCordovaInfoReady'); +// Tell cordova channel to wait on the CordovaInfoReady event +channel.waitForInitialization('onCordovaInfoReady'); + +/** + * This represents the mobile device, and provides properties for inspecting the model, version, UUID of the + * phone, etc. + * @constructor + */ +function Device () { + this.available = false; + this.platform = null; + this.version = null; + this.uuid = null; + this.cordova = null; + this.model = null; + this.manufacturer = null; + this.isVirtual = null; + this.serial = null; + + var me = this; + + channel.onCordovaReady.subscribe(function () { + me.getInfo(function (info) { + // ignoring info.cordova returning from native, we should use value from cordova.version defined in cordova.js + // TODO: CB-5105 native implementations should not return info.cordova + var buildLabel = cordova.version; + me.available = true; + me.platform = info.platform; + me.version = info.version; + me.uuid = info.uuid; + me.cordova = buildLabel; + me.model = info.model; + me.isVirtual = info.isVirtual; + me.manufacturer = info.manufacturer || 'unknown'; + me.serial = info.serial || 'unknown'; + channel.onCordovaInfoReady.fire(); + }, function (e) { + me.available = false; + utils.alert('[ERROR] Error initializing Cordova: ' + e); + }); + }); +} + +/** + * Get device info + * + * @param {Function} successCallback The function to call when the heading data is available + * @param {Function} errorCallback The function to call when there is an error getting the heading data. (OPTIONAL) + */ +Device.prototype.getInfo = function (successCallback, errorCallback) { + argscheck.checkArgs('fF', 'Device.getInfo', arguments); + exec(successCallback, errorCallback, 'Device', 'getDeviceInfo', []); +}; + +module.exports = new Device(); + +}); diff --git a/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-file/www/DirectoryEntry.js b/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-file/www/DirectoryEntry.js new file mode 100644 index 0000000..bb676eb --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-file/www/DirectoryEntry.js @@ -0,0 +1,120 @@ +cordova.define("cordova-plugin-file.DirectoryEntry", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. + * +*/ + +var argscheck = require('cordova/argscheck'); +var utils = require('cordova/utils'); +var exec = require('cordova/exec'); +var Entry = require('./Entry'); +var FileError = require('./FileError'); +var DirectoryReader = require('./DirectoryReader'); + +/** + * An interface representing a directory on the file system. + * + * {boolean} isFile always false (readonly) + * {boolean} isDirectory always true (readonly) + * {DOMString} name of the directory, excluding the path leading to it (readonly) + * {DOMString} fullPath the absolute full path to the directory (readonly) + * {FileSystem} filesystem on which the directory resides (readonly) + */ +var DirectoryEntry = function (name, fullPath, fileSystem, nativeURL) { + + // add trailing slash if it is missing + if ((fullPath) && !/\/$/.test(fullPath)) { + fullPath += '/'; + } + // add trailing slash if it is missing + if (nativeURL && !/\/$/.test(nativeURL)) { + nativeURL += '/'; + } + DirectoryEntry.__super__.constructor.call(this, false, true, name, fullPath, fileSystem, nativeURL); +}; + +utils.extend(DirectoryEntry, Entry); + +/** + * Creates a new DirectoryReader to read entries from this directory + */ +DirectoryEntry.prototype.createReader = function () { + return new DirectoryReader(this.toInternalURL()); +}; + +/** + * Creates or looks up a directory + * + * @param {DOMString} path either a relative or absolute path from this directory in which to look up or create a directory + * @param {Flags} options to create or exclusively create the directory + * @param {Function} successCallback is called with the new entry + * @param {Function} errorCallback is called with a FileError + */ +DirectoryEntry.prototype.getDirectory = function (path, options, successCallback, errorCallback) { + argscheck.checkArgs('sOFF', 'DirectoryEntry.getDirectory', arguments); + var fs = this.filesystem; + var win = successCallback && function (result) { + var entry = new DirectoryEntry(result.name, result.fullPath, fs, result.nativeURL); + successCallback(entry); + }; + var fail = errorCallback && function (code) { + errorCallback(new FileError(code)); + }; + exec(win, fail, 'File', 'getDirectory', [this.toInternalURL(), path, options]); +}; + +/** + * Deletes a directory and all of it's contents + * + * @param {Function} successCallback is called with no parameters + * @param {Function} errorCallback is called with a FileError + */ +DirectoryEntry.prototype.removeRecursively = function (successCallback, errorCallback) { + argscheck.checkArgs('FF', 'DirectoryEntry.removeRecursively', arguments); + var fail = errorCallback && function (code) { + errorCallback(new FileError(code)); + }; + exec(successCallback, fail, 'File', 'removeRecursively', [this.toInternalURL()]); +}; + +/** + * Creates or looks up a file + * + * @param {DOMString} path either a relative or absolute path from this directory in which to look up or create a file + * @param {Flags} options to create or exclusively create the file + * @param {Function} successCallback is called with the new entry + * @param {Function} errorCallback is called with a FileError + */ +DirectoryEntry.prototype.getFile = function (path, options, successCallback, errorCallback) { + argscheck.checkArgs('sOFF', 'DirectoryEntry.getFile', arguments); + var fs = this.filesystem; + var win = successCallback && function (result) { + var FileEntry = require('./FileEntry'); + var entry = new FileEntry(result.name, result.fullPath, fs, result.nativeURL); + successCallback(entry); + }; + var fail = errorCallback && function (code) { + errorCallback(new FileError(code)); + }; + exec(win, fail, 'File', 'getFile', [this.toInternalURL(), path, options]); +}; + +module.exports = DirectoryEntry; + +}); diff --git a/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-file/www/DirectoryReader.js b/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-file/www/DirectoryReader.js new file mode 100644 index 0000000..417c85f --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-file/www/DirectoryReader.js @@ -0,0 +1,75 @@ +cordova.define("cordova-plugin-file.DirectoryReader", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. + * +*/ + +var exec = require('cordova/exec'); +var FileError = require('./FileError'); + +/** + * An interface that lists the files and directories in a directory. + */ +function DirectoryReader (localURL) { + this.localURL = localURL || null; + this.hasReadEntries = false; +} + +/** + * Returns a list of entries from a directory. + * + * @param {Function} successCallback is called with a list of entries + * @param {Function} errorCallback is called with a FileError + */ +DirectoryReader.prototype.readEntries = function (successCallback, errorCallback) { + // If we've already read and passed on this directory's entries, return an empty list. + if (this.hasReadEntries) { + successCallback([]); + return; + } + var reader = this; + var win = typeof successCallback !== 'function' ? null : function (result) { + var retVal = []; + for (var i = 0; i < result.length; i++) { + var entry = null; + if (result[i].isDirectory) { + entry = new (require('./DirectoryEntry'))(); + } else if (result[i].isFile) { + entry = new (require('./FileEntry'))(); + } + entry.isDirectory = result[i].isDirectory; + entry.isFile = result[i].isFile; + entry.name = result[i].name; + entry.fullPath = result[i].fullPath; + entry.filesystem = new (require('./FileSystem'))(result[i].filesystemName); + entry.nativeURL = result[i].nativeURL; + retVal.push(entry); + } + reader.hasReadEntries = true; + successCallback(retVal); + }; + var fail = typeof errorCallback !== 'function' ? null : function (code) { + errorCallback(new FileError(code)); + }; + exec(win, fail, 'File', 'readEntries', [this.localURL]); +}; + +module.exports = DirectoryReader; + +}); diff --git a/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-file/www/Entry.js b/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-file/www/Entry.js new file mode 100644 index 0000000..b296d99 --- /dev/null +++ b/app/build/intermediates/merged_assets/debug/out/www/plugins/cordova-plugin-file/www/Entry.js @@ -0,0 +1,263 @@ +cordova.define("cordova-plugin-file.Entry", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. + * +*/ + +var argscheck = require('cordova/argscheck'); +var exec = require('cordova/exec'); +var FileError = require('./FileError'); +var Metadata = require('./Metadata'); + +/** + * Represents a file or directory on the local file system. + * + * @param isFile + * {boolean} true if Entry is a file (readonly) + * @param isDirectory + * {boolean} true if Entry is a directory (readonly) + * @param name + * {DOMString} name of the file or directory, excluding the path + * leading to it (readonly) + * @param fullPath + * {DOMString} the absolute full path to the file or directory + * (readonly) + * @param fileSystem + * {FileSystem} the filesystem on which this entry resides + * (readonly) + * @param nativeURL + * {DOMString} an alternate URL which can be used by native + * webview controls, for example media players. + * (optional, readonly) + */ +function Entry (isFile, isDirectory, name, fullPath, fileSystem, nativeURL) { + this.isFile = !!isFile; + this.isDirectory = !!isDirectory; + this.name = name || ''; + this.fullPath = fullPath || ''; + this.filesystem = fileSystem || null; + this.nativeURL = nativeURL || null; +} + +/** + * Look up the metadata of the entry. + * + * @param successCallback + * {Function} is called with a Metadata object + * @param errorCallback + * {Function} is called with a FileError + */ +Entry.prototype.getMetadata = function (successCallback, errorCallback) { + argscheck.checkArgs('FF', 'Entry.getMetadata', arguments); + var success = successCallback && function (entryMetadata) { + var metadata = new Metadata({ + size: entryMetadata.size, + modificationTime: entryMetadata.lastModifiedDate + }); + successCallback(metadata); + }; + var fail = errorCallback && function (code) { + errorCallback(new FileError(code)); + }; + exec(success, fail, 'File', 'getFileMetadata', [this.toInternalURL()]); +}; + +/** + * Set the metadata of the entry. + * + * @param successCallback + * {Function} is called with a Metadata object + * @param errorCallback + * {Function} is called with a FileError + * @param metadataObject + * {Object} keys and values to set + */ +Entry.prototype.setMetadata = function (successCallback, errorCallback, metadataObject) { + argscheck.checkArgs('FFO', 'Entry.setMetadata', arguments); + exec(successCallback, errorCallback, 'File', 'setMetadata', [this.toInternalURL(), metadataObject]); +}; + +/** + * Move a file or directory to a new location. + * + * @param parent + * {DirectoryEntry} the directory to which to move this entry + * @param newName + * {DOMString} new name of the entry, defaults to the current name + * @param successCallback + * {Function} called with the new DirectoryEntry object + * @param errorCallback + * {Function} called with a FileError + */ +Entry.prototype.moveTo = function (parent, newName, successCallback, errorCallback) { + argscheck.checkArgs('oSFF', 'Entry.moveTo', arguments); + var fail = errorCallback && function (code) { + errorCallback(new FileError(code)); + }; + var srcURL = this.toInternalURL(); + // entry name + var name = newName || this.name; + var success = function (entry) { + if (entry) { + if (successCallback) { + // create appropriate Entry object + var newFSName = entry.filesystemName || (entry.filesystem && entry.filesystem.name); + var fs = newFSName ? new FileSystem(newFSName, { name: '', fullPath: '/' }) : new FileSystem(parent.filesystem.name, { name: '', fullPath: '/' }); // eslint-disable-line no-undef + var result = (entry.isDirectory) ? new (require('./DirectoryEntry'))(entry.name, entry.fullPath, fs, entry.nativeURL) : new (require('cordova-plugin-file.FileEntry'))(entry.name, entry.fullPath, fs, entry.nativeURL); + successCallback(result); + } + } else { + // no Entry object returned + if (fail) { + fail(FileError.NOT_FOUND_ERR); + } + } + }; + + // copy + exec(success, fail, 'File', 'moveTo', [srcURL, parent.toInternalURL(), name]); +}; + +/** + * Copy a directory to a different location. + * + * @param parent + * {DirectoryEntry} the directory to which to copy the entry + * @param newName + * {DOMString} new name of the entry, defaults to the current name + * @param successCallback + * {Function} called with the new Entry object + * @param errorCallback + * {Function} called with a FileError + */ +Entry.prototype.copyTo = function (parent, newName, successCallback, errorCallback) { + argscheck.checkArgs('oSFF', 'Entry.copyTo', arguments); + var fail = errorCallback && function (code) { + errorCallback(new FileError(code)); + }; + var srcURL = this.toInternalURL(); + // entry name + var name = newName || this.name; + // success callback + var success = function (entry) { + if (entry) { + if (successCallback) { + // create appropriate Entry object + var newFSName = entry.filesystemName || (entry.filesystem && entry.filesystem.name); + var fs = newFSName ? new FileSystem(newFSName, { name: '', fullPath: '/' }) : new FileSystem(parent.filesystem.name, { name: '', fullPath: '/' }); // eslint-disable-line no-undef + var result = (entry.isDirectory) ? new (require('./DirectoryEntry'))(entry.name, entry.fullPath, fs, entry.nativeURL) : new (require('cordova-plugin-file.FileEntry'))(entry.name, entry.fullPath, fs, entry.nativeURL); + successCallback(result); + } + } else { + // no Entry object returned + if (fail) { + fail(FileError.NOT_FOUND_ERR); + } + } + }; + + // copy + exec(success, fail, 'File', 'copyTo', [srcURL, parent.toInternalURL(), name]); +}; + +/** + * Return a URL that can be passed across the bridge to identify this entry. + */ +Entry.prototype.toInternalURL = function () { + if (this.filesystem && this.filesystem.__format__) { + return this.filesystem.__format__(this.fullPath, this.nativeURL); + } +}; + +/** + * Return a URL that can be used to identify this entry. + * Use a URL that can be used to as the src attribute of a