Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: enable screenshot in dev mode #300

Merged
merged 1 commit into from
Aug 2, 2019
Merged

fix: enable screenshot in dev mode #300

merged 1 commit into from
Aug 2, 2019

Conversation

hanwencheng
Copy link
Contributor

@hanwencheng hanwencheng commented Aug 1, 2019

close #230
Self explained.

Use negative value !BuildConfig.DEBUG for comparison since it has only been tested on DEBUG mode now.

@Tbaut
Copy link
Contributor

Tbaut commented Aug 1, 2019

while building with yarn android and react-native android I got the following:

BUILD SUCCESSFUL in 22s
141 actionable tasks: 109 executed, 32 up-to-date
info Connecting to the development server...
info Starting the app on "ZY223THPBL"...
Starting: Intent { cmp=io.parity.signer/.MainActivity }
usage: am [subcommand] [options]
usage: am start [-D] [-N] [-W] [-P <FILE>] [--start-profiler <FILE>]
               [--sampling INTERVAL] [-R COUNT] [-S]
               [--track-allocation] [--user <USER_ID> | current] <INTENT>
       am startservice [--user <USER_ID> | current] <INTENT>
       am stopservice [--user <USER_ID> | current] <INTENT>
       am force-stop [--user <USER_ID> | all | current] <PACKAGE>
       am kill [--user <USER_ID> | all | current] <PACKAGE>
       am kill-all
       am broadcast [--user <USER_ID> | all | current] <INTENT>
       am instrument [-r] [-e <NAME> <VALUE>] [-p <FILE>] [-w]
               [--user <USER_ID> | current]
               [--no-window-animation] [--abi <ABI>] <COMPONENT>
       am profile start [--user <USER_ID> current] [--sampling INTERVAL] <PROCESS> <FILE>
       am profile stop [--user <USER_ID> current] [<PROCESS>]
       am dumpheap [--user <USER_ID> current] [-n] <PROCESS> <FILE>
       am set-debug-app [-w] [--persistent] <PACKAGE>
       am clear-debug-app
       am set-watch-heap <PROCESS> <MEM-LIMIT>
       am clear-watch-heap
       am bug-report [--progress | --telephony]
       am monitor [--gdb <port>]
       am hang [--allow-restart]
       am restart
       am idle-maintenance
       am screen-compat [on|off] <PACKAGE>
       am package-importance <PACKAGE>
       am to-uri [INTENT]
       am to-intent-uri [INTENT]
       am to-app-uri [INTENT]
       am switch-user <USER_ID>
       am start-user <USER_ID>
       am unlock-user <USER_ID> [TOKEN_HEX]
       am stop-user [-w] [-f] <USER_ID>
       am stack start <DISPLAY_ID> <INTENT>
       am stack movetask <TASK_ID> <STACK_ID> [true|false]
       am stack resize <STACK_ID> <LEFT,TOP,RIGHT,BOTTOM>
       am stack resize-animated <STACK_ID> <LEFT,TOP,RIGHT,BOTTOM>
       am stack resize-docked-stack <LEFT,TOP,RIGHT,BOTTOM> [<TASK_LEFT,TASK_TOP,TASK_RIGHT,TASK_BOTTOM>]
       am stack size-docked-stack-test: <STEP_SIZE> <l|t|r|b> [DELAY_MS]
       am stack move-top-activity-to-pinned-stack: <STACK_ID> <LEFT,TOP,RIGHT,BOTTOM>
       am stack positiontask <TASK_ID> <STACK_ID> <POSITION>
       am stack list
       am stack info <STACK_ID>
       am stack remove <STACK_ID>
       am task lock <TASK_ID>
       am task lock stop
       am task resizeable <TASK_ID> [0 (unresizeable) | 1 (crop_windows) | 2 (resizeable) | 3 (resizeable_and_pipable)]
       am task resize <TASK_ID> <LEFT,TOP,RIGHT,BOTTOM>
       am task drag-task-test <TASK_ID> <STEP_SIZE> [DELAY_MS] 
       am task size-task-test <TASK_ID> <STEP_SIZE> [DELAY_MS] 
       am get-config
       am suppress-resize-config-changes <true|false>
       am set-inactive [--user <USER_ID>] <PACKAGE> true|false
       am get-inactive [--user <USER_ID>] <PACKAGE>
       am send-trim-memory [--user <USER_ID>] <PROCESS>
               [HIDDEN|RUNNING_MODERATE|BACKGROUND|RUNNING_LOW|MODERATE|RUNNING_CRITICAL|COMPLETE]
       am get-current-user

am start: start an Activity.  Options are:
    -D: enable debugging
    -N: enable native debugging
    -W: wait for launch to complete
    --start-profiler <FILE>: start profiler and send results to <FILE>
    --sampling INTERVAL: use sample profiling with INTERVAL microseconds
        between samples (use with --start-profiler)
    -P <FILE>: like above, but profiling stops when app goes idle
    -R: repeat the activity launch <COUNT> times.  Prior to each repeat,
        the top activity will be finished.
    -S: force stop the target app before starting the activity
    --track-allocation: enable tracking of object allocations
    --user <USER_ID> | current: Specify which user to run as; if not
        specified then run as the current user.
    --stack <STACK_ID>: Specify into which stack should the activity be put.
am startservice: start a Service.  Options are:
    --user <USER_ID> | current: Specify which user to run as; if not
        specified then run as the current user.

am stopservice: stop a Service.  Options are:
    --user <USER_ID> | current: Specify which user to run as; if not
        specified then run as the current user.

am force-stop: force stop everything associated with <PACKAGE>.
    --user <USER_ID> | all | current: Specify user to force stop;
        all users if not specified.

am kill: Kill all processes associated with <PACKAGE>.  Only kills.
  processes that are safe to kill -- that is, will not impact the user
  experience.
    --user <USER_ID> | all | current: Specify user whose processes to kill;
        all users if not specified.

am kill-all: Kill all background processes.

am broadcast: send a broadcast Intent.  Options are:
    --user <USER_ID> | all | current: Specify which user to send to; if not
        specified then send to all users.
    --receiver-permission <PERMISSION>: Require receiver to hold permission.

am instrument: start an Instrumentation.  Typically this target <COMPONENT>
  is the form <TEST_PACKAGE>/<RUNNER_CLASS> or only <TEST_PACKAGE> if there 
  is only one instrumentation.  Options are:
    -r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT).  Use with
        [-e perf true] to generate raw output for performance measurements.
    -e <NAME> <VALUE>: set argument <NAME> to <VALUE>.  For test runners a
        common form is [-e <testrunner_flag> <value>[,<value>...]].
    -p <FILE>: write profiling data to <FILE>
    -w: wait for instrumentation to finish before returning.  Required for
        test runners.
    --user <USER_ID> | current: Specify user instrumentation runs in;
        current user if not specified.
    --no-window-animation: turn off window animations while running.
    --abi <ABI>: Launch the instrumented process with the selected ABI.
        This assumes that the process supports the selected ABI.

am trace-ipc: Trace IPC transactions.
  start: start tracing IPC transactions.
  stop: stop tracing IPC transactions and dump the results to file.
    --dump-file <FILE>: Specify the file the trace should be dumped to.

am profile: start and stop profiler on a process.  The given <PROCESS> argument
  may be either a process name or pid.  Options are:
    --user <USER_ID> | current: When supplying a process name,
        specify user of process to profile; uses current user if not specified.

am dumpheap: dump the heap of a process.  The given <PROCESS> argument may
  be either a process name or pid.  Options are:
    -n: dump native heap instead of managed heap
    --user <USER_ID> | current: When supplying a process name,
        specify user of process to dump; uses current user if not specified.

am set-debug-app: set application <PACKAGE> to debug.  Options are:
    -w: wait for debugger when application starts
    --persistent: retain this value

am clear-debug-app: clear the previously set-debug-app.

am set-watch-heap: start monitoring pss size of <PROCESS>, if it is at or
    above <HEAP-LIMIT> then a heap dump is collected for the user to report

am clear-watch-heap: clear the previously set-watch-heap.

am bug-report: request bug report generation; will launch a notification
    when done to select where it should be delivered. Options are: 
   --progress: will launch a notification right away to show its progress.
   --telephony: will dump only telephony sections.

am monitor: start monitoring for crashes or ANRs.
    --gdb: start gdbserv on the given port at crash/ANR

am hang: hang the system.
    --allow-restart: allow watchdog to perform normal system restart

am restart: restart the user-space system.

am idle-maintenance: perform idle maintenance now.

am screen-compat: control screen compatibility mode of <PACKAGE>.

am package-importance: print current importance of <PACKAGE>.

am to-uri: print the given Intent specification as a URI.

am to-intent-uri: print the given Intent specification as an intent: URI.

am to-app-uri: print the given Intent specification as an android-app: URI.

am switch-user: switch to put USER_ID in the foreground, starting
  execution of that user if it is currently stopped.

am start-user: start USER_ID in background if it is currently stopped,
  use switch-user if you want to start the user in foreground.

am stop-user: stop execution of USER_ID, not allowing it to run any
  code until a later explicit start or switch to it.
  -w: wait for stop-user to complete.
  -f: force stop even if there are related users that cannot be stopped.

am stack start: start a new activity on <DISPLAY_ID> using <INTENT>.

am stack movetask: move <TASK_ID> from its current stack to the top (true) or   bottom (false) of <STACK_ID>.

am stack resize: change <STACK_ID> size and position to <LEFT,TOP,RIGHT,BOTTOM>.

am stack resize-docked-stack: change docked stack to <LEFT,TOP,RIGHT,BOTTOM>
   and supplying temporary different task bounds indicated by
   <TASK_LEFT,TOP,RIGHT,BOTTOM>

am stack size-docked-stack-test: test command for sizing docked stack by
   <STEP_SIZE> increments from the side <l>eft, <t>op, <r>ight, or <b>ottom
   applying the optional [DELAY_MS] between each step.

am stack move-top-activity-to-pinned-stack: moves the top activity from
   <STACK_ID> to the pinned stack using <LEFT,TOP,RIGHT,BOTTOM> for the
   bounds of the pinned stack.

am stack positiontask: place <TASK_ID> in <STACK_ID> at <POSITION>
am stack list: list all of the activity stacks and their sizes.

am stack info: display the information about activity stack <STACK_ID>.

am stack remove: remove stack <STACK_ID>.

am task lock: bring <TASK_ID> to the front and don't allow other tasks to run.

am task lock stop: end the current task lock.

am task resizeable: change resizeable mode of <TASK_ID>.
   0 (unresizeable) | 1 (crop_windows) | 2 (resizeable) | 3 (resizeable_and_pipable)

am task resize: makes sure <TASK_ID> is in a stack with the specified bounds.
   Forces the task to be resizeable and creates a stack if no existing stack
   has the specified bounds.

am task drag-task-test: test command for dragging/moving <TASK_ID> by
   <STEP_SIZE> increments around the screen applying the optional [DELAY_MS]
   between each step.

am task size-task-test: test command for sizing <TASK_ID> by <STEP_SIZE>   increments within the screen applying the optional [DELAY_MS] between
   each step.

am get-config: retrieve the configuration and any recent configurations
  of the device.
am suppress-resize-config-changes: suppresses configuration changes due to
  user resizing an activity/task.

am set-inactive: sets the inactive state of an app.

am get-inactive: returns the inactive state of an app.

am send-trim-memory: send a memory trim event to a <PROCESS>.

am get-current-user: returns id of the current foreground user.

am supports-multiwindow: returns true if the device supports multiwindow.


<INTENT> specifications include these flags and arguments:
    [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
    [-c <CATEGORY> [-c <CATEGORY>] ...]
    [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
    [--esn <EXTRA_KEY> ...]
    [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
    [--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
    [--el <EXTRA_KEY> <EXTRA_LONG_VALUE> ...]
    [--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE> ...]
    [--eu <EXTRA_KEY> <EXTRA_URI_VALUE> ...]
    [--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>]
    [--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
        (mutiple extras passed as Integer[])
    [--eial <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
        (mutiple extras passed as List<Integer>)
    [--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
        (mutiple extras passed as Long[])
    [--elal <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
        (mutiple extras passed as List<Long>)
    [--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]
        (mutiple extras passed as Float[])
    [--efal <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]
        (mutiple extras passed as List<Float>)
    [--esa <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]
        (mutiple extras passed as String[]; to embed a comma into a string,
         escape it using "\,")
    [--esal <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]
        (mutiple extras passed as List<String>; to embed a comma into a string,
         escape it using "\,")
    [--f <FLAG>]
    [--grant-read-uri-permission] [--grant-write-uri-permission]
    [--grant-persistable-uri-permission] [--grant-prefix-uri-permission]
    [--debug-log-resolution] [--exclude-stopped-packages]
    [--include-stopped-packages]
    [--activity-brought-to-front] [--activity-clear-top]
    [--activity-clear-when-task-reset] [--activity-exclude-from-recents]
    [--activity-launched-from-history] [--activity-multiple-task]
    [--activity-no-animation] [--activity-no-history]
    [--activity-no-user-action] [--activity-previous-is-top]
    [--activity-reorder-to-front] [--activity-reset-task-if-needed]
    [--activity-single-top] [--activity-clear-task]
    [--activity-task-on-home]
    [--receiver-registered-only] [--receiver-replace-pending]
    [--receiver-foreground]
    [--selector]
    [<URI> | <PACKAGE> | <COMPONENT>]

Error: Unknown component: io.parity.signer/io.parity.signer.MainActivity

@hanwencheng
Copy link
Contributor Author

@Tbaut Did you try remove the android/app/build folder and run it again? I am using the same yarn android and react-native run-android, they both works.

Copy link
Contributor

@Tbaut Tbaut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Working well now 🤷‍♂️
Tested by releasing and signing an apk, and couldn't screenshot while I could in dev !

@Tbaut Tbaut merged commit 1d44254 into master Aug 2, 2019
@Tbaut Tbaut deleted the hanwen-screenshot-dev branch August 2, 2019 10:32
Tbaut added a commit that referenced this pull request Aug 3, 2019
Tbaut added a commit that referenced this pull request Aug 6, 2019
* fix(): init with PolaIcon file, types, add ui-shared and react-native-svg

* fix(): add @polkadot/util-crypto

* fix(): add react-native-crypto with override and node-libs-react-native

* fix(): add import 'crypto' in Apps.js

* fix(): add stream-browserify and overrides

* fix(): ideenticon visible

* fix(): pull in @polkadot/reactnative-identicon

* fix(): remove test files

* fix: update jest config to solve building problem on iOS

* fix(): revert #300

* fix: update npm script for android dev startup

* fix: remove nodefy and cleanup deps

* fix: re-enable screenshot for debug

* fix: typo

* fix: remove punny dep

* fix: remove polkadot/ui-shared

* fix: remove timers-browsify

* fix: remove string_decoder

* fix: remove buffer

* fix: remove hoist-non-react-statics

* fix: revert hoist-non-react-statics removal

* fix: add peer deps @plugnet/util @polkadot/keyring

* fix: upgrade vm-browserify @polkadot/reactnative-identicon

* fix: upgrade react-native bignumber reactotron

* fix: remove unused react-native-simple-picker

* fix: move reactotron to dev-deps

* fix: remove report

* fix: removed types.js

* fix: remove unneeded Buffer and crypto import in shim.js

* fix: rename shim and remove yarn dep

* fix: rename to shim.js
pmespresso added a commit that referenced this pull request Aug 22, 2019
pmespresso added a commit that referenced this pull request Aug 26, 2019
* feat: wip for adding QR support for UOS

* chore: Squashed old branch

* feat: expose blake2s hash function

* fix: use ui-qr

* fix: add peer dependencies for @polkadot/*

* feat: handle decoding via UOS

* fix: decode substrate payload!

* fix(): network selection

* Update src/components/QrView.js

* fix(): backward compatible

* fix(): Mock for a sparta account, add prefixes for substrate

* fix(): address map for substrate accounts

* fix: Duplicate function names in iOS

* fix(): init with PolaIcon file, types, add ui-shared and react-native-svg

* fix(): add @polkadot/util-crypto

* fix(): add react-native-crypto with override and node-libs-react-native

* fix(): add import 'crypto' in Apps.js

* fix(): add stream-browserify and overrides

* feat: Expose `substrateAddress` in native.js

* fix(): ideenticon visible

* fix: decode from u8a

* fix(): pull in @polkadot/reactnative-identicon

* fix: reformat data for consistency with legacy. temporary placeholdder for native substrateSign

* fix(): remove test files

* fix: update jest config to solve building problem on iOS

* fix(): revert #300

* fix: qr view

* fix: update npm script for android dev startup

* fix: decoding message and fix the screwed up qr code

* fix: warning when signing payload hash

* fix: remove nodefy and cleanup deps

* fix: re-enable screenshot for debug

* fix: typo

* fix: remove punny dep

* fix: remove polkadot/ui-shared

* fix: remove timers-browsify

* fix: remove string_decoder

* fix: remove buffer

* fix: remove hoist-non-react-statics

* fix: use genesisHash and Address

* fix: make it build

* fix: move parsing logic to store, setup for hadnleing multipart

* fix: store unsignedata

* fix: setData uses scannerstore state unsigned data

* fix: move parse to util

* fix: new account creation with mock

* fix: bring in native blake2s function

* fix: advanced derived path field for new account

* fix: move decores

* fix: use react hooks in AccountIcon

* fix: fix address and nits

* fix: fix genesis in QR

* fix: genesisHash as string

* fix: use real accounts and mnemonic

* fix: refactor

* fix: setup unit tests, vscode debug env

* fix: address encoding

* fix: make tests pass

* fix: multipart unit test

* fix: setup for testing stores

* fix: displaying ascii message to sign, use Kusama adddress in store

* fix: unneeded hexToAscii

* feat: sr25519 signing

* fix: put current account in the state

* fix: decode SCALE

* fix: make tests pass

* feat: Complete SURI derivation

* feat: Expose blake2s proxy function in native.js

* fix: use genesisHash

* fix: use substrateAddress

* fix: recover

* fix: recover derivation

* fix: refactor advanced (derivation path) field

* fix: derivation path validity + refactor

* fix: sign data

* fix: binding for blake2

* fix: display derivation path and link to check pasword

* fix: Added react methods to EthkeyBridge.m

* fix: derivation for new accounts

* fix: merge

* fix: verify derivation pw

* fix: remove dup, reset head

* fix: merge conflicts, handling legacy etehrum txn

* fix: show the hash for oversized message hex

* fix: alert warning signing hash, get network key substrate

* fix: remove log reports

* fix: display decoded extrinsic payload details

* fix: lock when saving accounts

* fix: lock when unmounting backup view

* fix: name wasn't save properly in securestore

* fix: comment out Polkadot and add testnet

* fix: bug ethereum new account and duplicated functions

* fix: stray comment

* fix: derive path

* fix: bump api for payload with spec version

* fix: making it build on android

* fix: link RNSecureStorage

* fix: link for ios

* fix: finalize

* fix: remove logs

* fix: remove console logs

* feat: wip for adding QR support for UOS

* fix: use ui-qr

* fix: add peer dependencies for @polkadot/*

* feat: handle decoding via UOS

* fix: decode substrate payload!

* chore: Squashed old branch

* feat: expose blake2s hash function

* Update src/components/QrView.js

* fix: Duplicate function names in iOS

* feat: Expose `substrateAddress` in native.js

* fix: decode from u8a

* fix: reformat data for consistency with legacy. temporary placeholdder for native substrateSign

* fix(): init with PolaIcon file, types, add ui-shared and react-native-svg

* fix(): add react-native-crypto with override and node-libs-react-native

* fix(): add stream-browserify and overrides

* fix(): ideenticon visible

* fix: qr view

* fix: decoding message and fix the screwed up qr code

* fix: warning when signing payload hash

* fix(): remove test files

* fix(): revert #300

* fix: remove nodefy and cleanup deps

* fix: re-enable screenshot for debug

* fix: remove punny dep

* fix: remove timers-browsify

* fix: make it build

* fix: move parsing logic to store, setup for hadnleing multipart

* fix: store unsignedata

* fix: setData uses scannerstore state unsigned data

* fix: move parse to util

* fix: bring in native blake2s function

* fix: move decores

* fix(): address map for substrate accounts

* fix: use genesisHash and Address

* fix: refactor

* fix: advanced derived path field for new account

* fix: setup unit tests, vscode debug env

* fix: address encoding

* fix: make tests pass

* fix: multipart unit test

* fix: setup for testing stores

* fix: displaying ascii message to sign, use Kusama adddress in store

* fix: decode SCALE

* fix: make tests pass

* feat: sr25519 signing

* feat: Complete SURI derivation

* fix: use substrateAddress

* fix: recover derivation

* fix: refactor advanced (derivation path) field

* fix: sign data

* feat: Expose blake2s proxy function in native.js

* fix: merge

* fix: display derivation path and link to check pasword

* fix: remove dup, reset head

* fix: merge conflicts, handling legacy etehrum txn

* fix: show the hash for oversized message hex

* fix: verify derivation pw

* fix: rmeove crash reports, qr hex payload

* fix: yarn.lock

* fix: uncorrupt project.pbxproj, resolve merge conflicts

* fix: finalize rebase

* fix: rmeove unused function

* fix: minor gurumbles

* fix: fonts

* fix: add back rn camera

* fix: helper check valid json string

* Update src/screens/MessageDetails.js

Co-Authored-By: Thibaut Sardan <[email protected]>

* Update src/screens/MessageDetails.js

Co-Authored-By: Thibaut Sardan <[email protected]>

* Update src/screens/MessageDetails.js

Co-Authored-By: Thibaut Sardan <[email protected]>

* Update src/screens/About.js

Co-Authored-By: Thibaut Sardan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow screenshot in development mode
2 participants