diff options
author | Mike Dodd <mdodd@google.com> | 2015-08-11 11:16:59 -0700 |
---|---|---|
committer | Mike Dodd <mdodd@google.com> | 2015-08-12 08:58:28 -0700 |
commit | 461a34b466cb4b13dbbc2ec6330b31e217b2ac4e (patch) | |
tree | bc4b489af52d0e2521e21167d2ad76a47256f348 /tools | |
parent | 8b3e2b9c1b0a09423a7ba5d1091b9192106502f8 (diff) | |
download | android_packages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.tar.gz android_packages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.tar.bz2 android_packages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.zip |
Initial checkin of AOSP Messaging app.
b/23110861
Change-Id: I9aa980d7569247d6b2ca78f5dcb4502e1eaadb8a
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/buglesql | 43 | ||||
-rwxr-xr-x | tools/dumpapkversion.sh | 20 | ||||
-rwxr-xr-x | tools/messagegen/fillsms | 287 | ||||
-rwxr-xr-x | tools/messagegen/listimages | 21 | ||||
-rwxr-xr-x | tools/mmssql | 43 |
5 files changed, 414 insertions, 0 deletions
diff --git a/tools/buglesql b/tools/buglesql new file mode 100755 index 0000000..c9ac8ef --- /dev/null +++ b/tools/buglesql @@ -0,0 +1,43 @@ +#!/bin/bash +# Copyright (C) 2015 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. + +usage='buglesql [-c] [-r] sql + -c display in columns with headers (default) + -r display as records' + +opts='-column -header' + +while test $# -gt 0 +do + case $1 in + -c) + opts='-column -header' + shift + ;; + -r) + opts='-line' + shift + ;; + *) + break; + esac +done + +if [ $# -lt 1 ]; then + echo "$usage" + exit 1 +fi + +adb shell su -c sqlite3 $opts data/data/com.android.messaging/databases/bugle_db "$1" diff --git a/tools/dumpapkversion.sh b/tools/dumpapkversion.sh new file mode 100755 index 0000000..48ff590 --- /dev/null +++ b/tools/dumpapkversion.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Copyright (C) 2015 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. +for i in `find . -name \*.apk` +do + echo -n $i + echo -n " " + aapt dump badging $i | grep versionCode | sed -E 's/^.*versionCode/versionCode/' +done diff --git a/tools/messagegen/fillsms b/tools/messagegen/fillsms new file mode 100755 index 0000000..6903941 --- /dev/null +++ b/tools/messagegen/fillsms @@ -0,0 +1,287 @@ +#!/bin/bash +# Copyright (C) 2015 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. +################################################################### +## Script that generates SMS and MMS messages and fills the Android +## telephony provider mmssms.db. This is used for testing SMS/MMS. +################################################################### + +AREA_CODE=605 + +TABLE_CANONICAL_ADDRESSES_START_ID=100 +TABLE_THREADS_START_ID=100 +TABLE_SMS_START_ID=1000 + +START_TIMESTAMP_IN_SECONDS=1357683093 # 1/8/2013 2:11:33 PM +TIMESTAMP_INC_IN_SECONDS=120 + +PART_DIR="/data/data/com.android.providers.telephony/app_parts" + +USAGE='fillsms [-f] [-x] <device_phone_number> <# of threads> <# of sms per thread> <# of mms per thread> <image list file> <sql file> + -f -- Only generates the SQL file, do not push to the device + -x -- Only execute a SQL file + -g -- For GB devices +Examples: + # Generate 2 threads each with 10 SMSes and 10 MMSes on device with phone + # number +16508619525. MMS messages use images listed in ./images, which list + # *.jpg and *.gif files in local directory. The SQL commands are in sql.txt + fillsms +16508619525 2 10 10 images sql.txt + + # Same as above but only creating the SQL command file without pushing to + # device + fillsms -f +16508619525 2 10 10 images sql.txt + + # Just push the sql.txt to device without generating new SQLs + fillsms -x +16508619525 2 10 10 images sql.txt +' + +SMIL='<smil> <head> <layout> <root-layout height="%dpx" width="%dpx"> <region fit="meet" height="%dpx" id="Image" left="0" top="0" width="%dpx"/></root-layout> </layout> </head> <body> <par dur="5000ms"> <img region="Image" src="%s"/> </par> </body> </smil>' + +MAX_WORDS_PER_MESSAGE=15 + +DICT=american-english + +# don't actually run the sql on device +opt_sql_only=0 +opt_exec_only=0 +opt_for_gb=0 + +while test $# -gt 0 +do + case $1 in + -f) + opt_sql_only=1 + shift + ;; + -x) + opt_exec_only=1 + shift + ;; + -g) + opt_for_gb=1 + shift + ;; + *) + break; + esac +done + + +if [ $opt_sql_only -eq "1" -a $opt_exec_only -eq "1" ]; then + echo "-f and -x can not coexist" + echo "$USAGE" + exit 1 +fi + +if [ $# -lt 6 ]; then + echo "$USAGE" + exit 1 +fi +device_phone=$1 +shift +num_of_threads=$1 +shift +sms_per_thread=$1 +shift +mms_per_thread=$1 +shift +image_list_file=$1 +shift +sql_file=$1 +shift + +dict_lines=`wc -l < $DICT` +image_files=`wc -l < $image_list_file` + +if [ $mms_per_thread -gt "0" ]; then + if [ ! -f $image_list_file ]; then + echo "No image files for creating MMS messages" + exit 1 + fi +fi + +echoerr () +{ + echo "$@" 1>&2; +} + +random_value () +{ + echo $(( $RANDOM % $1 + 1 )) +} + +dict_word () +{ + local v=$(random_value 30000) + sed $v"q;d" $DICT +} + +gen_message () +{ + local words=$(random_value $MAX_WORDS_PER_MESSAGE) + local message= + for k in `seq 1 $words`; + do + local word=$(dict_word) + message="$message $word" + done + echo $message | sed -e "s/'//g" +} + +random_image () +{ + local v=$(random_value $image_files) + sed $v"q;d" $image_list_file +} + +add_sql () +{ + echo $1 >> $sql_file +} + +adb_sql () +{ + echo $1 + adb shell sqlite3 data/data/com.android.providers.telephony/databases/mmssms.db "$1" +} + +###################################################################################### +###################################################################################### + +if [ $opt_exec_only -eq "0" ]; then + # clean up sql file + rm -f $sql_file + + # add sql to clean up database + add_sql "delete from pdu where _id>=$TABLE_SMS_START_ID;" + add_sql "delete from part where _id>=$TABLE_SMS_START_ID;" + add_sql "delete from addr where _id>=$TABLE_SMS_START_ID;" + add_sql "delete from sms where _id>=$TABLE_SMS_START_ID;" + add_sql "delete from threads where _id>=$TABLE_THREADS_START_ID;" + add_sql "delete from canonical_addresses where _id>=$TABLE_CANONICAL_ADDRESSES_START_ID;" + + for i in `seq 1 $num_of_threads`; + do + echo + echo "Creating thread $i ......" + echo + + # Get random phone number + value=$(random_value 1000) + middle=$(printf '%03d' $value) + value=$(random_value 10000) + last=$(printf '%04d' $value) + phone="+1$AREA_CODE$middle$last" + echo $phone + echo + + timestamp=$(( $START_TIMESTAMP_IN_SECONDS + 5 * $TIMESTAMP_INC_IN_SECONDS * $i )) + + # Generate threads + addr_id=$(( $TABLE_CANONICAL_ADDRESSES_START_ID + $i )) + add_sql "insert into canonical_addresses (_id,address) values ($addr_id,'$phone');" + + thread_id=$(( $TABLE_THREADS_START_ID + $i )) + add_sql "insert into threads (_id,date,message_count,recipient_ids,snippet,snippet_cs,read,type,error,has_attachment) values ($thread_id, $timestamp, $sms_per_thread, $addr_id, 'snippet', 0, 1, 0, 0, 0);" + + # Generate SMS + if [ $sms_per_thread -gt "0" ]; then + half_timestamp_inc=$(( 500 + ((($sms_per_thread + $mms_per_thread) * $TIMESTAMP_INC_IN_SECONDS) * 500 / $sms_per_thread) )) + for j in `seq 1 $sms_per_thread`; + do + message=$(gen_message) + date=$(( ( 1000 * $timestamp ) - $half_timestamp_inc * ( 2 * ($sms_per_thread - $j) + ( $i % 2 ) ) )) + message_id=$(( $TABLE_SMS_START_ID + $sms_per_thread * $i * 2 + (2 * $j) )) + message_type=$(( $j % 2 + 1 )) + add_sql "insert into sms (_id,thread_id,address,person,date,status,type,body,read,seen) values ($message_id, $thread_id, '$phone', '$phone', $date, -1, $message_type, '$message', 1, 1);" + done + fi + + # Generate MMS + if [ $mms_per_thread -gt "0" ]; then + half_timestamp_inc=$(( 1 + ((($sms_per_thread + $mms_per_thread) * $TIMESTAMP_INC_IN_SECONDS) / ( 2 * $mms_per_thread) ) )) + for j in `seq 1 $mms_per_thread`; + do + image_line=$(random_image) + image=`echo $image_line | awk '{ print $1 }'` + width=`echo $image_line | awk '{ print $2 }'` + height=`echo $image_line | awk '{ print $3 }'` + size=`echo $image_line | awk '{ print $4 }'` + date=$(( $timestamp - $half_timestamp_inc * ( 2 * ($mms_per_thread - $j) + ( ($i+1) % 2 ) ) )) + message_id=$(( $TABLE_SMS_START_ID + $sms_per_thread * $i * 2 + (2 * $j + 1) )) + message_type=$(( $j % 2 + 1 )) + if [ $message_type -eq '1' ]; then + m_type=132 + else + m_type=128 + fi + if [ $opt_for_gb -eq "0" ]; then + add_sql "insert into pdu (_id,thread_id,date,date_sent,msg_box,read,m_id,sub,sub_cs,ct_t,m_cls,m_type,v,m_size,pri,rr,tr_id,d_rpt,locked,seen,text_only) values ($message_id, $thread_id, $date, 0, $message_type, 1, 'hmma3p5s1a3m526@w.tmomail.net', 'no subject', 106, 'application/vnd.wap.multipart.related', 'personal', $m_type, 18, $size, 129, 129 , '$message_id', 129, 0, 1, 0);" + else + add_sql "insert into pdu (_id,thread_id,date,msg_box,read,m_id,sub,sub_cs,ct_t,m_cls,m_type,v,m_size,pri,rr,tr_id,d_rpt,locked,seen) values ($message_id, $thread_id, $date, $message_type, 1, 'hmma3p5s1a3m526@w.tmomail.net', 'no subject', 106, 'application/vnd.wap.multipart.related', 'personal', $m_type, 18, $size, 129, 129 , '$message_id', 129, 0, 1);" + fi + id_1=$(( $message_id )) + id_2=$(( $message_id + 1 )) + smil=$(printf "$SMIL" $height $width $height $width $image) + add_sql "insert into part (_id,mid,seq,ct,cid,cl,text) values ($id_1, $message_id, -1, 'application/smil', '<smil>', 'smil.xml', '$smil');" + image_no_suffix=${image%.*} + add_sql "insert into part (_id,mid,seq,ct,cid,cl,_data) values ($id_2, $message_id, 0, 'image/jpeg', '$image_no_suffix', '$image', '$PART_DIR/$image');" + if [ $message_type -eq '1' ]; then + add_sql "insert into addr (_id,msg_id,address,type,charset) values ($id_1, $message_id, '$phone', 137, 106);" + add_sql "insert into addr (_id,msg_id,address,type,charset) values ($id_2, $message_id, '$device_phone', 151, 106);" + else + add_sql "insert into addr (_id,msg_id,address,type,charset) values ($id_1, $message_id, 'insert-address-token', 137, 106);" + add_sql "insert into addr (_id,msg_id,address,type,charset) values ($id_2, $message_id, '$phone', 151, 106);" + fi + done + fi + done +fi + +# Push to device +if [ $opt_sql_only -eq "0" ]; then + # make sure we have access + adb root + + # Push all local jpgs or gifs to device, being lazy here. + if [ $mms_per_thread -gt "0" ]; then + for file in `ls *.jpg *.gif`; + do + echo "adb push $file $PART_DIR/$file" + adb push $file $PART_DIR/$file + done + fi + + echo "adb push $sql_file /data/fillsms" + adb push $sql_file /data/fillsms + echo + adb_sql ".read /data/fillsms" + echo + adb_sql "select count(*) from canonical_addresses where _id>=$TABLE_CANONICAL_ADDRESSES_START_ID;" + echo + adb_sql "select count(*) from threads where _id>=$TABLE_THREADS_START_ID;" + echo + if [ $sms_per_thread -gt "0" ]; then + adb_sql "select count(*) from sms where _id>=$TABLE_SMS_START_ID;" + echo + fi + if [ $mms_per_thread -gt "0" ]; then + adb_sql "select count(*) from pdu where _id>=$TABLE_SMS_START_ID;" + echo + adb_sql "select count(*) from part where _id>=$TABLE_SMS_START_ID;" + echo + adb_sql "select count(*) from addr where _id>=$TABLE_SMS_START_ID;" + echo + fi +fi diff --git a/tools/messagegen/listimages b/tools/messagegen/listimages new file mode 100755 index 0000000..9c50072 --- /dev/null +++ b/tools/messagegen/listimages @@ -0,0 +1,21 @@ +#!/bin/bash +# Copyright (C) 2015 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. + +for file in `ls *.jpg *.gif`; +do + dimension=`identify -format "%w %h" $file` + size=`stat -c%s $file` + echo "$file $dimension $size" +done diff --git a/tools/mmssql b/tools/mmssql new file mode 100755 index 0000000..1643dbb --- /dev/null +++ b/tools/mmssql @@ -0,0 +1,43 @@ +#!/bin/bash +# Copyright (C) 2015 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. + +usage='mmssql [-c] [-r] sql + -c display in columns with headers (default) + -r display as records' + +opts='-column -header' + +while test $# -gt 0 +do + case $1 in + -c) + opts='-column -header' + shift + ;; + -r) + opts='-line' + shift + ;; + *) + break; + esac +done + +if [ $# -lt 1 ]; then + echo "$usage" + exit 1 +fi + +adb shell su -c sqlite3 $opts data/data/com.android.providers.telephony/databases/mmssms.db "$1" |