Zim | 351b4d0 | 2020-03-30 17:59:00 +0100 | [diff] [blame] | 1 | # sudo apt-get install rlwrap to have a more fully featured sqlite CLI |
| 2 | set -x |
| 3 | |
| 4 | function sqlite3-pull () { |
| 5 | adb root |
| 6 | if [ -z "$1" ] |
| 7 | then |
| 8 | dir=$(pwd) |
| 9 | else |
| 10 | dir=$1 |
| 11 | fi |
| 12 | package=$(get-package) |
| 13 | |
| 14 | rm $dir/external.db |
| 15 | rm $dir/external.db-wal |
| 16 | |
| 17 | adb pull /data/user/0/$package/databases/external.db $dir/external.db |
| 18 | adb pull /data/user/0/$package/databases/external.db-wal "$dir/external.db-wal" |
| 19 | |
| 20 | sqlite3 $dir/external.db "drop trigger files_insert" |
| 21 | sqlite3 $dir/external.db "drop trigger files_update" |
| 22 | sqlite3 $dir/external.db "drop trigger files_delete" |
| 23 | |
| 24 | rlwrap sqlite3 $dir/external.db |
| 25 | } |
| 26 | |
| 27 | function sqlite3-push () { |
| 28 | adb root |
| 29 | if [ -z "$1" ] |
| 30 | then |
| 31 | dir=$(pwd) |
| 32 | else |
| 33 | dir=$1 |
| 34 | fi |
| 35 | package=$(get-package) |
| 36 | |
| 37 | adb push $dir/external.db /data/user/0/$package/databases/external.db |
| 38 | adb push $dir/external.db-wal /data/user/0/$package/databases/external.db-wal |
| 39 | |
| 40 | sqlite3-trigger-upgrade |
| 41 | } |
| 42 | |
| 43 | function sqlite3-trigger-upgrade () { |
| 44 | package=$(get-package) |
| 45 | |
| 46 | # Doesn't actually upgrade the db because db version is hardcoded in code |
| 47 | # It however triggers upgrade path |
| 48 | check_string="/data/user/0/$package/databases/external.db \"pragma user_version\"" |
| 49 | version=$(adb shell sqlite3 $check_string) |
| 50 | echo "Old version: $version" |
| 51 | |
| 52 | version=$((version+1)) |
| 53 | upgrade_string="/data/user/0/$package/databases/external.db \"pragma user_version=$version\"" |
| 54 | adb shell sqlite3 $upgrade_string |
| 55 | |
| 56 | version=$(adb shell sqlite3 $check_string) |
| 57 | echo "New version: $version" |
| 58 | |
| 59 | adb shell am force-stop $package |
| 60 | } |
| 61 | |
Zim | bd0aa36 | 2020-10-05 16:05:09 +0100 | [diff] [blame] | 62 | function get-id-from-data () { |
| 63 | adb root |
| 64 | path="$1" |
| 65 | package=$(get-package) |
| 66 | dir="/data/user/0/$package/databases/external.db" |
| 67 | clause="\"select _id from files where _data='$path';\"" |
| 68 | echo $clause |
| 69 | adb shell sqlite3 $dir $clause |
| 70 | } |
| 71 | |
| 72 | function get-data-from-id () { |
| 73 | adb root |
| 74 | _id="$1" |
| 75 | package=$(get-package) |
| 76 | dir="/data/user/0/$package/databases/external.db" |
| 77 | clause="\"select _data from files where _id='$_id';\"" |
| 78 | echo $clause |
| 79 | adb shell sqlite3 $dir $clause |
| 80 | } |
| 81 | |
Zim | 351b4d0 | 2020-03-30 17:59:00 +0100 | [diff] [blame] | 82 | function get-package() { |
| 83 | if [ -z "$(adb shell pm list package com.android.providers.media.module)" ] |
| 84 | then |
| 85 | echo "com.google.android.providers.media.module" |
| 86 | else |
| 87 | echo "com.android.providers.media.module" |
| 88 | fi |
| 89 | } |