Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
0906dc9
[Dictionary] Changes from mobileGetLocationHistory to mobileStartTrac…
Jun 22, 2018
0a2e4a6
[[ Bug 21434 ]] Force bitmap view visible for visual effects
montegoulding Jul 20, 2018
a65a665
Merge pull request #6610 from montegoulding/bugfix-21434
livecodepanos Jul 23, 2018
5264d86
[Android API 23+][mobilePickPhoto] Request for camera permissions on …
livecodepanos Jul 26, 2018
9a8c15b
[Android API 23+] Request for location permissions on runtime
livecodepanos Jul 26, 2018
0b857f1
Removed unnecessary comparison
livecodepanos Jul 26, 2018
155a61c
[[ Bug ]] Move TISCopyCurrentKeyboardInputSource to main thread
montegoulding Jul 27, 2018
3224c7d
[Runtime permissions] Created API that checks for permission
livecodepanos Jul 27, 2018
912d98e
Removed unused code
livecodepanos Jul 27, 2018
384238a
Merge pull request #6615 from montegoulding/tistsm
Jul 28, 2018
0509d62
Used blocking wait
livecodepanos Jul 28, 2018
5c9490e
Implemented "androidRequestPermission()" function
livecodepanos Jul 28, 2018
e5a704e
Added feature note
livecodepanos Jul 29, 2018
62f1651
[androidRequestPermission] Added dictionary entry
livecodepanos Jul 29, 2018
4c34eaf
Fixed a couple of issues on docs and with long lines
livecodepanos Jul 29, 2018
d2c5a3a
Added "androidHasPermission" and "androidPermissionExists" commands
livecodepanos Jul 30, 2018
120b71f
Added stubs for iphone and updated docs
livecodepanos Jul 31, 2018
39b59ee
[androidRequestPermission] Docs: removed parentheses from syntax
livecodepanos Jul 31, 2018
b1be19c
[9.0.1-rc-2] Updated version
livecodepanos Jul 31, 2018
720de35
Merge pull request #6614 from livecodepanos/bugfix-20427
livecodepanos Jul 31, 2018
9c388a5
[[ Bug 18395 ]] Handle return correctly in fileds on Android
montegoulding Jul 31, 2018
3ba4498
[[ Bug 21443 ]] Dirty rect even if layer id is 0
montegoulding Aug 2, 2018
8d18e39
Update .gitignore to exclude more build files
bwmilby Aug 4, 2018
7c6d8d4
Include folders in iOS extension code folders
trevordevore Aug 6, 2018
bc8ad30
use `among the words`
trevordevore Aug 6, 2018
43ebc69
[[ Bug 21469 ]] Recursively sign frameworks in iOS apps
montegoulding Aug 7, 2018
4f42840
Merge pull request #6629 from trevordevore/tkd-bugfix-21468
Aug 7, 2018
a11b4d4
[[ Bug ]] Fix definition of natural float on 64 bit systems
montegoulding Aug 7, 2018
7f4f185
[9.0.2-rc-1] Updated version
livecodepanos Aug 7, 2018
d150ca5
Merge pull request #6632 from livecodepanos/update_version_9.0.2-rc-1
livecodeali Aug 13, 2018
7f5d410
[[Bug 21488]] Check 'uname -m' if on Linux and 'uname -p' is unknown
andrewferguson Aug 13, 2018
4410ce0
Merge pull request #6630 from montegoulding/bugfix-21469
livecodeali Aug 13, 2018
21c132b
[[Bug 21488]] Added documentation note
andrewferguson Aug 13, 2018
8f04abe
Update ParseStringAsNumber dictionary (#6627)
madpink Aug 13, 2018
e16a652
Merge pull request #6620 from montegoulding/bugfix-21443
livecodepanos Aug 15, 2018
0c17f0f
Merge pull request #6625 from bwmilby/bwm-gitignore-test
livecodepanos Aug 15, 2018
dc56c11
Merge pull request #6618 from montegoulding/bugfix-18395
livecodepanos Aug 15, 2018
ac13890
Merge pull request #6617 from livecodepanos/update_version_9.0.1-rc-2
livecodepanos Aug 15, 2018
7e3c2bb
[[ Bug 21496 ]] Ensure emscripten startup_script is suitable for caps…
livecodeali Aug 15, 2018
016f200
[[ Bug 21417 ]] Remove externals list from emscripten deploy params
livecodeali Aug 15, 2018
964d263
[[ Bug 21396 ]] Fix crash on startup in iOS 12 beta
montegoulding Aug 15, 2018
62e8972
Merge pull request #6635 from andrewferguson/bugfix-21488
Aug 15, 2018
d043856
Merge pull request #6640 from livecodeali/bugfix-21417
Aug 16, 2018
1a3e505
Merge pull request #6639 from livecodeali/bugfix-21496
Aug 16, 2018
250a0d4
Merge pull request #6631 from montegoulding/fixnaturalfloat
Aug 16, 2018
90ae2ab
[[Docfix]] Added undocumented TestSkipIf requirements
andrewferguson Aug 16, 2018
048f906
Merge pull request #6622 from montegoulding/bugfix-21396
livecodepanos Aug 18, 2018
82c69ce
[[ Bug 21503 ]] Tree widget - prevent value removal on key addition
bwmilby Aug 18, 2018
ff713cf
Merge pull request #6642 from andrewferguson/docfix-testing
Aug 19, 2018
27d5096
[[ Bug 21507 ]] Fix incorrect parameter order calling MCMathEvalAtan2…
livecodeian Aug 20, 2018
a426d7a
[[ Bug 21507 ]] Add release note
livecodeian Aug 20, 2018
866c52f
Merge pull request #6645 from livecodeian/bugfix-21507
Aug 20, 2018
f3b6258
[21500] Fix crash when moving a group before calling quit
livecodepanos Aug 21, 2018
d4fcb19
[21500] Added bugfix note
livecodepanos Aug 21, 2018
c0f3485
[21500] Added tests
livecodepanos Aug 21, 2018
9a16376
Updated bugfix note
livecodepanos Aug 21, 2018
240b043
Merge pull request #6649 from livecodepanos/bugfix-21500
livecodepanos Aug 21, 2018
b70a409
[[ Bug 21503 ]] Tree widget - prevent value removal on key addition
bwmilby Aug 22, 2018
867695e
Merge pull request #6643 from bwmilby/bwm-bugfix-21503
livecodepanos Aug 22, 2018
0b6e6cb
Update mobileGetLocationHistory.lcdoc
Aug 23, 2018
f9bdb2b
Update mobileSetLocationHistoryLimit.lcdoc
Aug 23, 2018
3b6cedf
Merge pull request #6587 from livecodesam/dictionary_batch_19
livecodepanos Aug 23, 2018
aee1042
[Bugfix-21494] Correct Round entry
Aug 24, 2018
c9d0b41
Update bugfix-21494.md
Aug 24, 2018
befc459
[[ Bug 21527 ]] Include iPadPro splash image in plist file
bwmilby Aug 25, 2018
4000aee
Merge pull request #6654 from livecodesam/bugfix_21494
Aug 26, 2018
391dfbe
Merge pull request #6655 from bwmilby/bwm-bugfix-21527
livecodepanos Aug 27, 2018
4eba796
Updated ide submodule ptr
livecodepanos Aug 27, 2018
9d83967
Merge remote-tracking branch 'upstream/release-9.0.1' into merge-rele…
livecodepanos Aug 27, 2018
9ea857b
Merge pull request #6658 from livecodepanos/merge-release-9.0.1-27_08…
livecodepanos Aug 28, 2018
b767cf8
Merge remote-tracking branch 'upstream/develop-9.0' into merge_develo…
livecodepanos Aug 28, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,12 @@ encryptedstack.cpp
encryptedstack.h
stacksecurity_encrypted.cpp
util/perfect/perfect.linux-*
extensions/*/*/*.xml
extensions/*/*/*.lci
extensions/*/*/*.lcm
extensions/*/*/*.lce
extensions/*/*/api.lcdoc
**/extensions/*/*/*.xml
**/extensions/*/*/*.lci
**/extensions/*/*/*.lcm
**/extensions/*/*/*.lce
**/extensions/*/*/api.lcdoc
*/src/.lci/*

# Compiled source and intermediates #
###################
Expand Down
4 changes: 4 additions & 0 deletions Makefile.common
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ guess_linux_arch_script := \
case `uname -p` in \
x86_64) echo x86_64 ;; \
x86|i*86) echo x86 ;; \
unknown) case `uname -m` in \
x86_64) echo x86_64 ;; \
x86|i*86) echo x86 ;; \
esac ;; \
esac
guess_linux_arch := $(shell $(guess_linux_arch_script))

Expand Down
23 changes: 19 additions & 4 deletions docs/development/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,18 +61,33 @@ Before running each test command, the test framework inserts a test library stac
* `TestAssert pDescription, pExpectTrue`: Make a test assertion. The test is recorded as a failure if *pExpectTrue* is false. *pDescription* should be a short string that describes the test (e.g. "clipboard is clear").
* `TestSkip pDescription, pReasonSkipped`: Record a test as having been skipped. *pReasonSkipped* should be a short explanation of why the test was skipped (e.g. "not supported on Windows").
* `TestSkipIf pRequirement, pOptions`: Skip a test if the requirements
are met. `pOptions` varies depending on the `pRequirement` enum. The
following requirements are implemented:
- `ide` - the IDE repo is available. No options.
are met. `pOptions` varies depending on the `pRequirement` enum (if no
options are explicitly specified then no options are available for that
particular `pRequirement`. The following requirements are implemented:
- `ide` - the IDE repo is available
- `lcb` - LCB compilation supported
- `docs` - the docs are available. No options.
- `docs` - the docs are available
- `standalone` - the test is running in the standalone test runner
- `securityPermissions` - Option `set` to skip if a test should not
set the `securityPermissions`
- `platform` - options are comma delimited platform strings
- `processor` - options are comma delimited processor strings
- `stack` - options are comma delimited stack names to test if they
are available
- `environment` - options are comma delimited environment strings
- `clipboard` - access to the clipboard is available
- `wait` - the `wait` command is available and works as expected
- `security` - the security module is available
- `write` - write access to the filesystem is available
- `ui` - the test is running in a graphical environment (as opposed
to the command line)
- `desktop` - the test is running on a desktop computer
- `mobile` - the test is running on a mobile device
- `external` - an external module can be loaded/used. Options are a
comma delimited list of external module names
- `database` - an database module can be loaded/used. Options are a
comma delimited list of external module names
- `jvm` - the Java Virtual Machine is available
* `TestSkipIfNot pRequirement, pOptions`: Skip a test if the
requirements are not met. Requirements and options are the same as for
`TestSkipIf`.
Expand Down
65 changes: 65 additions & 0 deletions docs/dictionary/command/androidRequestPermission.lcdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
Name: androidRequestPermission

Type: command

Syntax: androidRequestPermission <permissionName>

Summary:
Displays a dialog showing a permission request for <permissionName>. If a user has already granted permission for <permissionName>, this command does nothing.

Introduced: 9.0.1

OS: android

Platforms: mobile

Example:
local tCameraPermissionGranted
put androidHasPermission("android.permission.CAMERA") into tCameraPermissionGranted
if not tCameraPermissionGranted then
androidRequestPermission "android.permission.CAMERA"
end if
put androidHasPermission("android.permission.CAMERA") into tCameraPermissionGranted
if not tCameraPermissionGranted then
answer "This app is not permitted to access the device camera. You can change this" && \
"in the Settings app."
end if


Parameters:
permissionName (enum):
The name of the permission to request.

- "android.permission.READ_CALENDAR": permission to allow an application to read the device's calendar.
- "android.permission.WRITE_CALENDAR": permission to allow an application to write to the device's calendar.
- "android.permission.CAMERA": permission to allow an application to access the device's camera.
- "android.permission.ACCESS_COARSE_LOCATION": permission to allow an application to access the device's coarse location.
- "android.permission.ACCESS_FINE_LOCATION": permission to allow an application to access the device's fine location.
- "android.permission.READ_CONTACTS": permission to allow an application to read data from the device's contacts.
- "android.permission.WRITE_CONTACTS": permission to allow an application to write date to the device's contacts.
- "android.permission.GET_ACCOUNTS": permission to allow an application to access to the list of accounts in the Accounts Service.
- "android.permission.RECORD_AUDIO": permission to allow an application to allow an application to record audio.
- "android.permission.READ_EXTERNAL_STORAGE": permission to allow an application to read data from the device's external storage.
- "android.permission.WRITE_EXTERNAL_STORAGE": permission to allow an application to write data to the device's external storage.
- "android.permission.READ_PHONE_STATE": permission to allow an application to access phone state, including the phone number of the device, current cellular network information, the status of any ongoing calls, and a list of any PhoneAccounts registered on the device.
- "android.permission.READ_PHONE_NUMBERS": permission to allow an application to access the device's phone number(s).
- "android.permission.CALL_PHONE": permission to allow an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call.
- "android.permission.ANSWER_PHONE_CALLS": permission to allow an application to answer an incoming phone call.
- "android.permission.READ_CALL_LOG": permission to allow an application to read the user's call log.
- "android.permission.WRITE_CALL_LOG": permission to allow an application to write to the user's call log.
- "android.permission.ADD_VOICEMAIL": permission to allow an application to add voicemails into the system.
- "android.permission.USE_SIP": permission to allow an application to use SIP service.
- "android.permission.PROCESS_OUTGOING_CALLS": permission to allow an application to see the number being dialed during an outgoing call with the option to redirect the call to a different number or abort the call altogether.
- "android.permission.SEND_SMS": permission to allow an application to send SMS messages.
- "android.permission.RECEIVE_SMS": permission to allow an application to receive SMS messages
- "android.permission.READ_SMS": permission to allow an application to read SMS messages.
- "android.permission.RECEIVE_WAP_PUSH": permission to allow an application to receive WAP push messages.
- "android.permission.RECEIVE_MMS": permission to allow an application to receive MMS messages.
- "android.permission.BODY_SENSORS": permission to allow an application to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate.



Description:
Use the <androidRequestPermission> command to request permission for <permissionName> from the user.

>*Note:* Permission names are case sensitive.
8 changes: 5 additions & 3 deletions docs/dictionary/command/mobilePickMedia.lcdoc
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,17 @@ to select multiple items on iOS, the user has to select the Done button,
once all of the selections have been made.

The remaining arguments specify the type of media items the user should
> be allowed to select from the iPod library. On Android, it is not
> necessary to specify any arguments. The application that is launched
> is in control of the audio media types that are to be selected.
be allowed to select from the iPod library. On Android, it is not
necessary to specify any arguments. The application that is launched
is in control of the audio media types that are to be selected.
>*Note:* <mobilePickMedia> does not return anything for m4p files or
> iCloud files that are not physically on the device, even if they are
> displayed in the picker itself.

>*Note:* On iOS, <mobilePickMedia> returns references to the iTunes data
> store on the iOS device. These media references can only be played
> with the <mobilePlaySoundOnChannel> command.

>*Note:* <mobilePickMedia> is not available on the iOS simulator.

References: mobilePlaySoundOnChannel (command), mobilePick (command),
Expand Down
14 changes: 6 additions & 8 deletions docs/dictionary/command/mobilePickPhoto.lcdoc
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,13 @@ mobilePickPhoto "front camera", 250, 250

Parameters:
source (enum):
The source for the image. One of:
The source for the image.

- "library"
- "album"
- "camera"


- "rear camera": iOS only
- "front camera": iOS only
- "library":
- "album":
- "camera":
- "rear camera": iOS only
- "front camera": iOS only


maxwidth:
Expand Down
2 changes: 0 additions & 2 deletions docs/dictionary/command/mobilePlaySoundOnChannel.lcdoc
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ channel:
The name of the channel to play the sound on.

type (enum):
One of:

- "now": The sound is played immediately, replacing any current sound
(and queued sound) on the channel.
- "next": The sound is queued to play immediately after the current
Expand Down
20 changes: 9 additions & 11 deletions docs/dictionary/command/mobileSetLocationHistoryLimit.lcdoc
Original file line number Diff line number Diff line change
Expand Up @@ -57,21 +57,19 @@ sample provided with the <locationChanged> event (which will always be
the last sample in the history). e.g.

on locationChanged

local tHistory
put mobileGetLocationHistory() into tHistory
repeat for each element tSample in tHistory

processLocationChanged tSample

end repeat
local tHistory
put mobileGetLocationHistory() into tHistory
repeat for each element tSample in tHistory
processLocationChanged tSample
end repeat
end locationChanged


References: mobileStopTrackingSensor (command),
mobileStartTrackingSensor (command), mobileGetLocationHistory (function),
mobileStartTrackingSensor (command),
mobileGetLocationHistory (function),
mobileGetLocationHistoryLimit (function),
mobileSensorAvailable (function), mobileSensorReading (function),
mobileLocationAuthorizationStatus (function), locationChanged (message),
trackingError (message)
mobileLocationAuthorizationStatus (function),
locationChanged (message), trackingError (message)

4 changes: 2 additions & 2 deletions docs/dictionary/command/mobileStartTrackingSensor.lcdoc
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ loosely (enum):
How accurate the readings from sensors should be. The default value is
false

- "true": readings are determined without using accurate(but power
- "true": readings are determined without using accurate (but power
consuming) sources such as GPS.
- "false": readings are determined using accurate(but power consuming)
- "false": readings are determined using accurate (but power consuming)
sources such as GPS.


Expand Down
66 changes: 66 additions & 0 deletions docs/dictionary/function/androidHasPermission.lcdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
Name: androidHasPermission

Type: function

Syntax: androidHasPermission(<permissionName>)

Summary:
Returns if permission <permissionName> has been granted by the user.

Introduced: 9.0.1

OS: android

Platforms: mobile

Example:
local tLocationPermissionGranted
put androidHasPermission("android.permission.ACCESS_FINE_LOCATION") into tLocationPermissionGranted
if not tLocationPermissionGranted then
androidRequestPermission "android.permission.ACCESS_FINE_LOCATION"
end if
if not tLocationPermissionGranted then
answer "This app is not permitted to access the device location. You can change this" && \
"in the Settings app."
end if


Parameters:
permissionName (enum):
The name of the permission to request.

- "android.permission.READ_CALENDAR": permission to allow an application to read the device's calendar.
- "android.permission.WRITE_CALENDAR": permission to allow an application to write to the device's calendar.
- "android.permission.CAMERA": permission to allow an application to access the device's camera.
- "android.permission.ACCESS_COARSE_LOCATION": permission to allow an application to access the device's coarse location.
- "android.permission.ACCESS_FINE_LOCATION": permission to allow an application to access the device's fine location.
- "android.permission.READ_CONTACTS": permission to allow an application to read data from the device's contacts.
- "android.permission.WRITE_CONTACTS": permission to allow an application to write date to the device's contacts.
- "android.permission.GET_ACCOUNTS": permission to allow an application to access to the list of accounts in the Accounts Service.
- "android.permission.RECORD_AUDIO": permission to allow an application to allow an application to record audio.
- "android.permission.READ_EXTERNAL_STORAGE": permission to allow an application to read data from the device's external storage.
- "android.permission.WRITE_EXTERNAL_STORAGE": permission to allow an application to write data to the device's external storage.
- "android.permission.READ_PHONE_STATE": permission to allow an application to access phone state, including the phone number of the device, current cellular network information, the status of any ongoing calls, and a list of any PhoneAccounts registered on the device.
- "android.permission.READ_PHONE_NUMBERS": permission to allow an application to access the device's phone number(s).
- "android.permission.CALL_PHONE": permission to allow an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call.
- "android.permission.ANSWER_PHONE_CALLS": permission to allow an application to answer an incoming phone call.
- "android.permission.READ_CALL_LOG": permission to allow an application to read the user's call log.
- "android.permission.WRITE_CALL_LOG": permission to allow an application to write to the user's call log.
- "android.permission.ADD_VOICEMAIL": permission to allow an application to add voicemails into the system.
- "android.permission.USE_SIP": permission to allow an application to use SIP service.
- "android.permission.PROCESS_OUTGOING_CALLS": permission to allow an application to see the number being dialed during an outgoing call with the option to redirect the call to a different number or abort the call altogether.
- "android.permission.SEND_SMS": permission to allow an application to send SMS messages.
- "android.permission.RECEIVE_SMS": permission to allow an application to receive SMS messages
- "android.permission.READ_SMS": permission to allow an application to read SMS messages.
- "android.permission.RECEIVE_WAP_PUSH": permission to allow an application to receive WAP push messages.
- "android.permission.RECEIVE_MMS": permission to allow an application to receive MMS messages.
- "android.permission.BODY_SENSORS": permission to allow an application to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate.

Returns(boolean):
True if permission has been granted, false otherwise.


Description:
Use the <androidRequestPermission> function to find out if permission <permissionName> has been granted by the user.

>*Note:* Permission names are case sensitive.
33 changes: 33 additions & 0 deletions docs/dictionary/function/androidPermissionExists.lcdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Name: androidPermissionExists

Type: function

Syntax: androidPermissionExists(<permissionName>)

Summary:
Returns true if <permissionName> is a valid Android permission name

Introduced: 9.0.1

OS: android

Platforms: mobile

Example:

if not androidPermissionExists(pPermission) then
answer pPermission && "is not a valid permission name"
end if


Parameters:
permissionName (string):
The name of the permission to check.

Returns(boolean):
True if <permissionName> is a valid Android permission name, false otherwise.

Description:
Use the <androidPermissionExists> function to check if <permissionName> is a valid Android permission name.

>*Note:* Permission names are case sensitive.
Loading