summaryrefslogtreecommitdiffstats
path: root/chromecast/tools/apk_command_line
blob: 0fd0001d643a9e5f3b442c7da6bf98c61dd19f0f (plain)
1
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
#!/bin/bash
#
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# If no flags are given, prints the current cast shell flags.
#
# Otherwise, the given flags are used to REPLACE (not modify) the cast shell
# flags. For example:
#   apk_command_line --enable-webgl
#
# To remove all content shell flags, pass an empty string for the flags:
#   apk_command_line ""

CMD_LINE_FILE=/data/local/tmp/castshell-command-line

if [ $# -eq 0 ] ; then
  # If nothing specified, print the command line (stripping off "castshell")
  tempfile=$(tempfile)
  adb pull $CMD_LINE_FILE $tempfile 2>/dev/null
  if [ $? -eq 0 ] ; then
    rm $tempfile
    adb shell cat $CMD_LINE_FILE | cut -d " " -f "2-" 2>/dev/null
  fi
elif [ $# -eq 1 ] && [ "$1" = '' ] ; then
  # If given an empty string, delete the command line.
  set -x
  adb shell rm $CMD_LINE_FILE >/dev/null
else
  # Else set it.
  set -x
  adb shell "echo 'castshell $*' > $CMD_LINE_FILE"
  # Prevent other apps from modifying flags -- this can create security issues.
  adb shell chmod 0664 $CMD_LINE_FILE
fi