Commit Graph

525 Commits

Author SHA1 Message Date
akwizgran
2ca2356ecc Moved MessageHeader to sync package. 2015-12-15 15:05:16 +00:00
akwizgran
e370cafb12 Moved classes from messaging package to sync package. 2015-12-15 15:05:06 +00:00
akwizgran
d99df73380 Trimmed some Roboguice boilerplate. 2015-12-15 14:00:51 +00:00
akwizgran
e7e7bf35ea Use 'forum' instead of 'group'. #174 2015-12-15 13:23:52 +00:00
akwizgran
2621ab011c Merge branch '55-key-manager-refactoring' into 'master'
Refactor KeyManager and TagRecogniser, implement new key rotation logic.

This patch implements the new key rotation logic for BTP version 2, the new transport protocol (#111).

KeyManager and TagRecogniser have been merged (#55). They no longer need to hold locks while calling each other's methods (#3, #4). TransportKeyManager holds a lock while calling CryptoComponent methods, but those methods don't block or acquire any locks.

The maximum clock difference has been increased from one hour to 24 hours because some people adjust the time rather than the timezone when travelling (#18). This will cause keys to be rotated less frequently.

For the same reason, the key manager no longer throws an Error when the clock moves backwards - keys that belong to future rotation periods are kept until they become current, then rotation resumes (#19).

The new KeyManagerImpl and TransportKeyManager need unit tests. I'm putting this up for review while I write the tests.

TransportKeyManager needs further work before #55 is complete - when a stream context is created, TransportKeyManager should wait for the database write to complete before returning the context, to avoid the risk of key reuse if the write fails. I'll make a separate patch for that as this one's big enough already.

Enjoy!

See merge request !13
2015-12-15 13:18:30 +00:00
akwizgran
1f8e86c01a Merge branch '62-roboguice-endless-error-loop' into 'master'
improved the crash handler and refactored the manifest

Improved the CrashReportActivity by putting the activity within its own process, making it a single instance and making sure it won't show up on the recent app list. 

The old structure could create endless crash-loops and might not start the CrashReportActivity on process-related exception such as OutOfMemory because the process simply will not have the resources to do so. This problem is now fixed.

Concerning Roboguide: the problem is that every time a new task is started the xml file will be reloaded, at least with this branch there will not be an endless loop. By updating to Roboguice 3 the problem will be eliminated completely as that version has stopped using the xml file and reverted to manifest tags instead. It is getting very tempting to update.

Closes #67 

See merge request !22
2015-12-15 13:14:38 +00:00
Ernir Erlingsson
13de33c329 fixed target 2015-12-15 13:57:08 +01:00
akwizgran
09774cb362 Don't stretch progress wheel on Android 2.3. 2015-12-15 11:56:00 +00:00
akwizgran
4dd9e25079 Merge branch '52-appcompat-action-bar' into 'master'
Added AppCompatActivity

Closes #52 

See merge request !14
2015-12-15 11:34:03 +00:00
Ernir Erlingsson
bd42661422 improved the crash handler and refactored the manifest 2015-12-15 11:53:03 +01:00
akwizgran
d0ac34e894 Merge branch '153-forum-sharing-with-selected-contacts' into 'master'
Improve Forum Sharing UI when sharing with selected contacts

When sharing only with chosen contacts, checking the contact's checkbox
and pressing Done nothing happens and the forum is not shared. An
additional click on "Share Forum" is necessary to actually share.

This behavior is fixed with this change.
Now, clicking 'Done' immediately shares the forum.

Closes #153

See merge request !20
2015-12-15 10:24:43 +00:00
Ernir Erlingsson
cdf8392725 code nitpicks and color fix 2015-12-14 22:22:49 +01:00
Torsten Grote
4d2215a442 Improve Forum Sharing UI when sharing with selected contacts
When sharing only with chosen contacts, checking the contact's checkbox
and pressing Done nothing happens and the forum is not shared. An
additional click on "Share Forum" is necessary to actually share.

This behavior is fixed with this change.
Now, clicking 'Done' immediately shares the forum.

Closes #153
2015-12-14 17:32:52 -02:00
Torsten Grote
e76b326ee2 Turn off Bluetooth again when not required anymore
and when errors occur.
Also do not turn off Bluetooth when just changing device orientation.
2015-12-14 16:19:36 -02:00
akwizgran
3f58af3b04 Merge branch '87-improve-adding-contacts' into 'master'
Improve Adding Contacts

These changes provide more detailed instructions for adding contacts.

Users were confused by the process of adding a contact for the first time.
This change adds additional explanation and a picture of what is going on.

Closes #87

This change also shows the current step and the total number of steps when adding a contact.

Closes #33

The UI was transferred into XML files and lots of redundant code was deleted such as the custom CodeEntryView.

Please note that I did not implement a countdown for Bluetooth discoverability (#71), because of the way how the state machine resets the entire content view of the activity. This should probably be refactored to use fragments which would make the code cleaner and a permanent progress bar easier to implement.

See merge request !15
2015-12-14 17:55:36 +00:00
akwizgran
f6cb3926fb More compact layout for first add contact screen. 2015-12-14 17:43:12 +00:00
Torsten Grote
527ac0c1e0 Show current step and total number of steps when adding a contact.
UI was transferred into XML files
and lots of redundant code was deleted such as the custom CodeEntryView.

Closes #33
2015-12-14 15:02:04 -02:00
akwizgran
0c0388437f Added paddingLeft/Right for older devices. 2015-12-14 15:49:08 +00:00
Ernir Erlingsson
6ac999c113 Added AppCompatBar and fixed dependencies 2015-12-14 14:03:55 +01:00
Torsten Grote
04be7c9b92 Providing more detailed instructions for adding contacts
Users were confused by the process of adding a contact for the first time.
This change adds additional explanation and a picture of what is going on.

It also moves part of the UI into XML files.

Closes #87
2015-12-14 09:29:55 -02:00
akwizgran
9868feeb2a Refactor KeyManager and TagRecogniser. #55 2015-12-14 11:02:49 +00:00
akwizgran
f71596c258 Align progress wheel with button. 2015-12-11 11:32:51 +00:00
akwizgran
2687e79593 Refactored FileUtils.
Removed methods that are no longer needed for Java 6, moved the remaining method into the utils directory.
2015-12-10 16:21:47 +00:00
akwizgran
912ba394c5 Refactored FileUtils.
Removed methods that are no longer needed for Java 6, moved the remaining method into the utils directory.
2015-12-10 15:58:52 +00:00
Torsten Grote
aa7d7642bf make message status persistent and initialize it from database 2015-12-10 11:25:41 -02:00
Torsten Grote
0a8c42b939 Improve how the status of messages is indicated.
Remove the Toast that always says 'Message Sent' and show graphical
indicators instead that show either:
* message is waiting to be sent
* message was sent (or requested)
* message was delivered
2015-12-10 10:11:27 -02:00
Ernir Erlingsson
b33d8d1ee5 fixed missing string 2015-12-10 11:07:10 +01:00
Ernir Erlingsson
a5fd7ff9dc Added dependency injections for FileUtils and removed redundant code 2015-12-10 11:07:10 +01:00
Ernir Erlingsson
fb2a44c478 code re-structure, mostly nitpicks :) 2015-12-10 11:02:15 +01:00
Ernir Erlingsson
886cad91f0 Added a dialog and refactored code 2015-12-10 11:02:15 +01:00
Ernir Erlingsson
ca00b414e7 Fixed lost code from merge 2015-12-10 11:01:00 +01:00
Ernir Erlingsson
27edc2e3e8 code and ui refactoring in the Password activity, encapsulation and wrappers. 2015-12-10 11:01:00 +01:00
akwizgran
a5afa2ef93 Merge branch '161-hidden-service-directory' into 'master'
Create hidden service in a subdirectory. #161

The permissions for the parent directory are too permissive (775) for Tor 0.2.7.5. Store the hidden service hostname and private key in a subdirectory with permissions 700.

See merge request !5
2015-12-09 13:21:54 +00:00
Ernir Erlingsson
2a61fa94d1 modified .gitignore and removed *.iml from git 2015-12-09 00:33:22 +01:00
akwizgran
3bf29fb6f2 Merge branch '38-touching-startup-failure-notification-should-show-details' into 'master'
Touching startup failure notification now shows details

The text of the startup failure notification is unhelpful due to lack of
space. Touching the notification now launches an activity that gives details
of the problem and what can be done about it.

Closes #38

See merge request !7
2015-12-08 15:03:05 +00:00
Torsten Grote
c57014e92b Merge branch '162-build-with-latest-sdk' into 'master'
Build with SDK 23, continue to target SDK 22. #162

This will allow people to download Android Studio, check out and build the project without extra steps. Compiling with the latest SDK is recommended even if your target is older (as ours is).

See merge request !6
2015-12-08 14:10:07 +00:00
Torsten Grote
f4538df679 Touching startup failure notification now shows details
The text of the startup failure notification is unhelpful due to lack of
space. Touching the notification now launches an activity that gives details
of the problem and what can be done about it.

Closes #38
2015-12-08 11:52:20 -02:00
akwizgran
eb2ff92161 Build with SDK 23, continue to target SDK 22. #162 2015-12-08 13:06:04 +00:00
akwizgran
f0558ceb7a Merge branch '159-improve-setup-errors' into 'master'
Show setup page error messages by the relevant text box

Closes #159 

See merge request !3
2015-12-08 12:59:30 +00:00
akwizgran
2b71e70144 Merge branch '100-hide-strength-meter' into 'master'
Hide password strength meter when confirming password

Closes #100

I opted to hide the strength meter because:

* more extensive changes would have been required to set the strength meter to 100% red.
* IMHO it would lead to confusion as to the meaning of the strength meter.
* the "passwords do not match" error should eventually become a proper error of the confirm EditText, not a separate label.

See merge request !2
2015-12-08 12:57:43 +00:00
akwizgran
e4ac6d3afd Create hidden service in a subdirectory. #161
The permissions for the parent directory are too permissive (775) for Tor 0.2.7.5. The subdirectory is created with permissions 700.
2015-12-08 12:26:00 +00:00
str4d
383cb651bc Show setup page error messages by the relevant text box 2015-12-08 07:13:14 +00:00
str4d
11deb5728f Hide password strength meter when confirming password 2015-12-08 06:49:55 +00:00
str4d
ceef31599b Clear the password field if wrong password is entered 2015-12-08 06:06:16 +00:00
akwizgran
061479dd68 Set source and target version to Java 6 in subprojects. 2015-12-04 10:12:01 +00:00
akwizgran
3872265d55 Upgraded Tor to 0.2.7.5 with OpenSSL 1.0.2e. #148 2015-12-03 21:46:16 +00:00
akwizgran
1dc75c1b9f We don't need to bundle SortJar. 2015-12-03 17:14:13 +00:00
akwizgran
53f6f24d53 Don't enable Bluetooth by default. #99 2015-12-03 17:13:49 +00:00
akwizgran
8529c976c2 Renamed a bunch of lock variables.
"synchLock" will become confusing when we have lots of objects with "sync" in the name.
2015-12-03 16:39:53 +00:00
akwizgran
4f59491c9f Upgraded Tor to 0.2.6.9 with OpenSSL 1.0.2d. 2015-12-03 16:21:55 +00:00