diff options
Diffstat (limited to 'scripts/add-accounts-sdk')
-rwxr-xr-x | scripts/add-accounts-sdk | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/scripts/add-accounts-sdk b/scripts/add-accounts-sdk deleted file mode 100755 index bb3447f..0000000 --- a/scripts/add-accounts-sdk +++ /dev/null @@ -1,128 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed 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. - -""" -A faux Setup Wizard. Stuffs one or two usernames + passwords into the -database on the device. -""" - -import sys -if sys.hexversion < 0x02040000: - print "This script requires python 2.4 or higher." - sys.exit(1) - -import getpass -import subprocess -import time -import sha - -DB = "/data/data/com.google.android.googleapps/databases/accounts.db" - -def RunCmd(args): - proc = subprocess.Popen(args, stdout=subprocess.PIPE) - out = proc.stdout.read() - if proc.wait(): - print - print "failed: %s" % " ".join(args) - return None - return out - -def GetProp(adb_flags, name): - args = ("adb",) + adb_flags + ("shell", "/system/bin/getprop", name) - return RunCmd(args) - -def SetProp(adb_flags, name, value): - args = ("adb",) + adb_flags + ("shell", "/system/bin/setprop", name, value) - return RunCmd(args) - -def DbExists(adb_flags): - args = ("adb",) + adb_flags + ("shell", "/system/bin/ls", DB) - result = RunCmd(args) - if result is None: return None - return "No such file" not in result - -def main(argv): - if len(argv) == 1: - print ("usage: %s [adb flags] " - "[<hosted address[:password]>] " - "[<gmail address[:password]>]") % (argv[0],) - sys.exit(2) - - argv = argv[1:] - - gmail = None - hosted = None - while argv and "@" in argv[-1]: - addr = argv.pop() - if "@gmail.com" in addr or "@googlemail.com" in addr: - gmail = addr - else: - hosted = addr - - adb_flags = tuple(argv) - - while True: - db = DbExists(adb_flags) - if db is None: - print "failed to contact device; will retry in 3 seconds" - time.sleep(3) - continue - - if db: - print - print "GoogleLoginService has already started on this device;" - print "it's too late to use this script to add accounts." - print - print "This script only works on a freshly-wiped device (or " - print "emulator) while booting for the first time." - print - break - - hosted_account = GetProp(adb_flags, "ro.config.hosted_account").strip() - google_account = GetProp(adb_flags, "ro.config.google_account").strip() - - if hosted and hosted_account: - print - print "A hosted account is already configured on this device;" - print "can't add", hosted_account - print - hosted = None - - if gmail and google_account: - print - print "A google account is already configured on this device;" - print "can't add", google_account - print - gmail = None - - if not gmail and not hosted: break - - if hosted: - SetProp(adb_flags, "ro.config.hosted_account", hosted) - print "set hosted_account to", hosted - if gmail: - SetProp(adb_flags, "ro.config.google_account", gmail) - print "set google_account to", gmail - - break - - - - - - -if __name__ == "__main__": - main(sys.argv) |