#!/bin/sh # Copyright 2016 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. # # This script can be used to set test flags in the Chromoting Android app. set -e if [[ $# -ne 1 ]]; then echo "Usage: $0 " >&2 exit 1 fi FLAGS=$1 TMP_FILE=`tempfile` # Pull the file from the device. adb shell run-as org.chromium.chromoting cat \ /data/data/org.chromium.chromoting/shared_prefs/Chromoting.xml > $TMP_FILE # Remove flags parameter if it's already there. sed -i '//d' $TMP_FILE # Add flags at the end. sed -i "s/<\/map>/ $FLAGS<\/string>\n<\/map>/" \ $TMP_FILE # Confirmation prompt. echo "Updated content of Chromoting.xml:" cat $TMP_FILE while true; do read -p "Continue pushing to the device (y/n)? " yn case $yn in [Yy]* ) break;; [Nn]* ) rm $TMP_FILE; exit;; * ) echo "Please answer yes or no.";; esac done # Push the file back to the device. FILE_CONTENT="`cat $TMP_FILE`" FILE_CONTENT="${FILE_CONTENT//\'/\'}" FILE_CONTENT="${FILE_CONTENT//\"/\\\\\\\"}" adb shell run-as org.chromium.chromoting sh -c "echo \\\"${FILE_CONTENT}\\\" > \ /data/data/org.chromium.chromoting/shared_prefs/Chromoting.xml" rm $TMP_FILE