From 3634ba0b55d0d418603f556744d81d7c715babd4 Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Mon, 8 Jul 2013 16:29:28 -0700 Subject: [PATCH] Registration with voice verification. --- AndroidManifest.xml | 7 + res/drawable-hdpi/check_dark.png | Bin 0 -> 1320 bytes res/drawable-hdpi/telephone.png | Bin 0 -> 1695 bytes res/drawable-mdpi/check_dark.png | Bin 0 -> 1197 bytes res/drawable-mdpi/telephone.png | Bin 0 -> 1426 bytes res/drawable-xhdpi/check_dark.png | Bin 0 -> 1546 bytes res/drawable-xhdpi/telephone.png | Bin 0 -> 2029 bytes res/layout/registration_problems.xml | 140 ++++++++ res/layout/registration_progress_activity.xml | 270 ++++++--------- res/values/strings.xml | 93 ++++++ .../RegistrationProblemsActivity.java | 24 ++ .../RegistrationProgressActivity.java | 307 ++++++++++++++---- src/org/thoughtcrime/securesms/Release.java | 7 + .../securesms/RoutingActivity.java | 22 +- .../securesms/gcm/GcmIntentService.java | 8 +- .../securesms/gcm/OptimizingTransport.java | 8 +- ...{GcmSocket.java => PushServiceSocket.java} | 111 ++++--- .../securesms/gcm/RateLimitException.java | 8 + .../service/RegistrationService.java | 116 +++++-- 19 files changed, 805 insertions(+), 316 deletions(-) create mode 100644 res/drawable-hdpi/check_dark.png create mode 100644 res/drawable-hdpi/telephone.png create mode 100644 res/drawable-mdpi/check_dark.png create mode 100644 res/drawable-mdpi/telephone.png create mode 100644 res/drawable-xhdpi/check_dark.png create mode 100644 res/drawable-xhdpi/telephone.png create mode 100644 res/layout/registration_problems.xml create mode 100644 src/org/thoughtcrime/securesms/RegistrationProblemsActivity.java create mode 100644 src/org/thoughtcrime/securesms/Release.java rename src/org/thoughtcrime/securesms/gcm/{GcmSocket.java => PushServiceSocket.java} (70%) create mode 100644 src/org/thoughtcrime/securesms/gcm/RateLimitException.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 6c382fb782..854837bc3f 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -74,6 +74,13 @@ + + + + diff --git a/res/drawable-hdpi/check_dark.png b/res/drawable-hdpi/check_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..58bf972171f199c359dcdb3bc6233ac84c7853d3 GIT binary patch literal 1320 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%qp275hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s00+w{G(#^lGsVi#&Ct}+$imdr$-u?X(ACh=#L&{!#L3yw z&D7A`#K{n**Cju>G&eP`1g19yq1OzjUQlAlEdbi=l3J8mmYU*Ll%J~r_Ow+d7PlC? zn3-5OIXVK(v%u~ah~5<3ZZW~>7JZ;&^g&UJ6xA>xVEO?u;RzSWfhYacJYae+0w(OB zPunsW7#L@Hx;TbZ+F}XRH$BVJ_~tbB>ux&w{i&Jpl6k3-y`NvKHk21q zV1%GG?pIzqOj6l*_t-(U9qjp;vo`HwN=}ep)5vUa_N7?Rr}hN4ng+Fwoh&_BpW+wD z&uL8OV?3O|erD1ih8>LjGWVRk>cn-L{3q>ay)F~Cc;}xn`8m#J@(k z@^-_wj*fK>KI!`&dhL6Y6 literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/telephone.png b/res/drawable-hdpi/telephone.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a84f5d8ac1b494faa973fa25dcd1c35a8bbc8b GIT binary patch literal 1695 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +