diff --git a/briar-android/build.gradle b/briar-android/build.gradle index 6be595b8090ef69813e1e57f170198054f19049a..fd7393e4b80f0153a6f53e56f76fa391e0f7420c 100644 --- a/briar-android/build.gradle +++ b/briar-android/build.gradle @@ -2,97 +2,97 @@ apply plugin: 'com.android.application' apply plugin: 'witness' repositories { - jcenter() + jcenter() } dependencies { - def supportVersion = '23.1.1' - compile project(':briar-api') - compile project(':briar-core') - compile fileTree(dir: 'libs', include: '*.jar') - compile "com.android.support:support-v4:$supportVersion" - compile("com.android.support:appcompat-v7:$supportVersion") { - exclude module: 'support-v4' - } - compile("com.android.support:preference-v7:$supportVersion") { - exclude module: 'support-v4' - } - compile("com.android.support:preference-v14:$supportVersion") { - exclude module: 'support-v4' - exclude module: 'preference-v7' - exclude module: 'recyclerview-v7' - } - compile("com.android.support:design:$supportVersion") { - exclude module: 'support-v4' - exclude module: 'recyclerview-v7' - } - compile "org.roboguice:roboguice:2.0" - compile "info.guardianproject.panic:panic:0.5" - compile "info.guardianproject.trustedintents:trustedintents:0.2" - compile "de.hdodenhof:circleimageview:2.0.0" + def supportVersion = '23.1.1' + compile project(':briar-api') + compile project(':briar-core') + compile fileTree(dir: 'libs', include: '*.jar') + compile "com.android.support:support-v4:$supportVersion" + compile("com.android.support:appcompat-v7:$supportVersion") { + exclude module: 'support-v4' + } + compile("com.android.support:preference-v7:$supportVersion") { + exclude module: 'support-v4' + } + compile("com.android.support:preference-v14:$supportVersion") { + exclude module: 'support-v4' + exclude module: 'preference-v7' + exclude module: 'recyclerview-v7' + } + compile("com.android.support:design:$supportVersion") { + exclude module: 'support-v4' + exclude module: 'recyclerview-v7' + } + compile "org.roboguice:roboguice:2.0" + compile "info.guardianproject.panic:panic:0.5" + compile "info.guardianproject.trustedintents:trustedintents:0.2" + compile "de.hdodenhof:circleimageview:2.0.0" } dependencyVerification { - verify = [ - 'com.android.support:support-v4:5c7dceb6c824089fe80f502e5206264048ef8bffa4e8ddeab180b81723e79b7f', - 'com.android.support:appcompat-v7:0a8762214382b7e8d4b989b4ac10b5c846b957d767ccb7bccbc6be5afa885a82', - 'com.android.support:preference-v7:4b6dabaa4400cbed885c7edc885aa6372468f48d628cc0d4a04b9ccd128ed324', - 'com.android.support:preference-v14:a69906c2b29b315ac3c1fdf01537a7557660a65b8ea1cf891baa8665e1197459', - 'com.android.support:design:41a9cd75ca78f25df5f573db7cedf8bb66beae00c330943923ba9f3e2051736d', - 'com.android.support:support-annotations:f347a35b9748a4103b39a6714a77e2100f488d623fd6268e259c177b200e9d82', - 'com.android.support:recyclerview-v7:7606373da0931a1e62588335465a0e390cd676c98117edab29220317495faefd', - 'org.roboguice:roboguice:c5302f2648170ee6015a0d18fe0fcc87e09e415a34aeae3566e8d1a9dbb53f28', - 'info.guardianproject.panic:panic:a7ed9439826db2e9901649892cf9afbe76f00991b768d8f4c26332d7c9406cb2', - 'info.guardianproject.trustedintents:trustedintents:6221456d8821a8d974c2acf86306900237cf6afaaa94a4c9c44e161350f80f3e', - ] + verify = [ + 'com.android.support:support-v4:5c7dceb6c824089fe80f502e5206264048ef8bffa4e8ddeab180b81723e79b7f', + 'com.android.support:appcompat-v7:0a8762214382b7e8d4b989b4ac10b5c846b957d767ccb7bccbc6be5afa885a82', + 'com.android.support:preference-v7:4b6dabaa4400cbed885c7edc885aa6372468f48d628cc0d4a04b9ccd128ed324', + 'com.android.support:preference-v14:a69906c2b29b315ac3c1fdf01537a7557660a65b8ea1cf891baa8665e1197459', + 'com.android.support:design:41a9cd75ca78f25df5f573db7cedf8bb66beae00c330943923ba9f3e2051736d', + 'com.android.support:support-annotations:f347a35b9748a4103b39a6714a77e2100f488d623fd6268e259c177b200e9d82', + 'com.android.support:recyclerview-v7:7606373da0931a1e62588335465a0e390cd676c98117edab29220317495faefd', + 'org.roboguice:roboguice:c5302f2648170ee6015a0d18fe0fcc87e09e415a34aeae3566e8d1a9dbb53f28', + 'info.guardianproject.panic:panic:a7ed9439826db2e9901649892cf9afbe76f00991b768d8f4c26332d7c9406cb2', + 'info.guardianproject.trustedintents:trustedintents:6221456d8821a8d974c2acf86306900237cf6afaaa94a4c9c44e161350f80f3e', + ] } android { - compileSdkVersion 23 - buildToolsVersion "23.0.2" + compileSdkVersion 23 + buildToolsVersion "23.0.2" - sourceSets { - main { - manifest.srcFile 'AndroidManifest.xml' - java.srcDirs = ['src'] - resources.srcDirs = ['src'] - aidl.srcDirs = ['src'] - renderscript.srcDirs = ['src'] - res.srcDirs = ['res'] - assets.srcDirs = ['assets'] - } + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + } - // Move the tests to tests/java, tests/res, etc... - instrumentTest.setRoot('tests') + // Move the tests to tests/java, tests/res, etc... + instrumentTest.setRoot('tests') - // Move the build types to build-types/<type> - // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... - // This moves them out of them default location under src/<type>/... which would - // conflict with src/ being used by the main source set. - // Adding new build types or product flavors should be accompanied - // by a similar customization. - debug.setRoot('build-types/debug') - release.setRoot('build-types/release') - } + // Move the build types to build-types/<type> + // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... + // This moves them out of them default location under src/<type>/... which would + // conflict with src/ being used by the main source set. + // Adding new build types or product flavors should be accompanied + // by a similar customization. + debug.setRoot('build-types/debug') + release.setRoot('build-types/release') + } - buildTypes { - debug { - // Set this to true to run proguard in debug - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' - } - release { - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' - } - } + buildTypes { + debug { + // Set this to true to run proguard in debug + minifyEnabled true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' + } + release { + minifyEnabled true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' + } + } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_6 - targetCompatibility JavaVersion.VERSION_1_6 - } - lintOptions { - abortOnError false - } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_6 + targetCompatibility JavaVersion.VERSION_1_6 + } + lintOptions { + abortOnError false + } } diff --git a/briar-android/proguard-rules.txt b/briar-android/proguard-rules.txt index dcdd8c59a67aa8a72beafbddf820ca5edf56894d..1ee57c568558e2457f509c7dd9ca21feb916e3c8 100644 --- a/briar-android/proguard-rules.txt +++ b/briar-android/proguard-rules.txt @@ -16,17 +16,17 @@ -keep public class com.android.vending.licensing.ILicensingService -keepclasseswithmembers class * { native <methods>; } -keepclasseswithmembers class * { - public <init> (android.content.Context, android.util.AttributeSet); + public <init> (android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { - public <init> (android.content.Context, android.util.AttributeSet, int); + public <init> (android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * implements android.os.Parcelable { static android.os.Parcelable$Creator *; } -keepclassmembers class **.R$* { public static <fields>; } -keepclasseswithmembernames class * { native <methods>; } -keepclassmembers enum * { - public static **[] values(); - public static ** valueOf(java.lang.String); + public static **[] values(); + public static ** valueOf(java.lang.String); } -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); @@ -37,7 +37,7 @@ } # Just in case Roboguice events are used -keepclassmembers class * { - void *(**On*Event); + void *(**On*Event); } -keep class org.h2.** { *; } diff --git a/briar-android/res/drawable/bluetooth.xml b/briar-android/res/drawable/bluetooth.xml index 613a79f1645fda43b7d68c752891f222c265e0eb..a39bbc2a899d9ba7c6d86be6208a4ad4d8359779 100644 --- a/briar-android/res/drawable/bluetooth.xml +++ b/briar-android/res/drawable/bluetooth.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="499.24373dp" - android:height="175.49413dp" - android:viewportWidth="499.24373" - android:viewportHeight="175.49413"> + android:width="499.24373dp" + android:height="175.49413dp" + android:viewportWidth="499.24373" + android:viewportHeight="175.49413"> - <path - android:fillColor="#000000" - android:pathData="M459.809,171.16 L455.482,166.826 L448.412,164.399 + <path + android:fillColor="#000000" + android:pathData="M459.809,171.16 L455.482,166.826 L448.412,164.399 C444.524,163.064,439.689,161.403,437.668,160.708 L433.994,159.445 L437.518,159.272 C445.76,158.868,450.506,155.265,451.854,148.388 C452.65,144.327,452.983,131.09,452.684,115.347 @@ -50,9 +50,9 @@ C403.518,135.894,402.071,136.503,400.474,138.066 C398.229,140.264,397.72,143.505,399.173,146.353 C399.886,147.751,401.694,149.362,403.135,149.883 C404.632,150.425,406.975,150.358,408.344,149.734 Z" /> - <path - android:fillColor="#000000" - android:pathData="M39.4343,171.16 L43.7609,166.826 L50.8305,164.399 + <path + android:fillColor="#000000" + android:pathData="M39.4343,171.16 L43.7609,166.826 L50.8305,164.399 C54.7188,163.064,59.5534,161.403,61.574,160.708 L65.248,159.445 L61.724,159.272 C53.4822,158.868,48.7362,155.265,47.3877,148.388 C46.5914,144.327,46.2588,131.09,46.5575,115.347 @@ -94,24 +94,24 @@ C95.7256,135.894,97.1733,136.503,98.7696,138.066 C101.015,140.264,101.524,143.505,100.071,146.353 C99.3579,147.751,97.5496,149.362,96.1089,149.883 C94.6118,150.425,92.2689,150.358,90.9,149.734 Z" /> - <path - android:fillColor="#0a3d91" - android:pathData="M247.254,75.9792 L251.99,75.9792 + <path + android:fillColor="#0a3d91" + android:pathData="M247.254,75.9792 L251.99,75.9792 C265.155,75.9792,275.753,86.5777,275.753,99.7427 L275.753,131.917 C275.753,145.082,265.154,155.68,251.99,155.68 L247.254,155.68 C234.089,155.68,223.491,145.081,223.491,131.917 L223.491,99.7424 C223.491,86.5774,234.09,75.9789,247.254,75.9789 Z" /> - <path - android:strokeColor="#ffffff" - android:strokeWidth="4.32805729" - android:pathData="M236.311,102.927 L261.218,127.997 L249.214,142.533 L249.214,90.5963 + <path + android:strokeColor="#ffffff" + android:strokeWidth="4.32805729" + android:pathData="M236.311,102.927 L261.218,127.997 L249.214,142.533 L249.214,90.5963 L261.218,104.479 L236.311,128.896" /> - <path - android:fillColor="#0a3d91" - android:strokeWidth="7.55000019" - android:strokeLineJoin="round" - android:strokeLineCap="round" - android:pathData="M143.679,27.5571 C142.089,30.1809,143.861,33.1318,146.464,34.1998 + <path + android:fillColor="#0a3d91" + android:strokeWidth="7.55000019" + android:strokeLineJoin="round" + android:strokeLineCap="round" + android:pathData="M143.679,27.5571 C142.089,30.1809,143.861,33.1318,146.464,34.1998 C149.159,35.7722,152.635,39.187,155.612,36.432 C157.845,34.3925,156.213,30.7041,153.571,29.7617 C150.507,28.085,147.019,24.2469,143.68,27.5572 Z M351.705,27.1294 diff --git a/briar-android/res/drawable/contact_connected.xml b/briar-android/res/drawable/contact_connected.xml index 95e7a0bc06c3edc780303abda49339d19d31b8fc..fc0426085e9d4e4f2214e675c7c99988a8a58508 100644 --- a/briar-android/res/drawable/contact_connected.xml +++ b/briar-android/res/drawable/contact_connected.xml @@ -1,23 +1,23 @@ <?xml version="1.0" encoding="utf-8"?> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="24dp" - android:height="24dp" - android:viewportWidth="24" - android:viewportHeight="24" - android:alpha="0.56"> + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:alpha="0.56"> - <path - android:fillColor="#FF000000" - android:pathData="M12,2 C6.48,2,2,6.48,2,12 S6.48,22,12,22 S22,17.52,22,12 S17.52,2,12,2 Z M12,20 + <path + android:fillColor="#FF000000" + android:pathData="M12,2 C6.48,2,2,6.48,2,12 S6.48,22,12,22 S22,17.52,22,12 S17.52,2,12,2 Z M12,20 C7.58,20,4,16.42,4,12 S7.58,4,12,4 S20,7.58,20,12 S16.42,20,12,20 Z" /> - <path - android:pathData="M0,0 L24,0 L24,24 L0,24 Z" /> - <path - android:fillColor="#95d220" - android:strokeWidth="0.76779664" - android:strokeLineJoin="round" - android:strokeLineCap="round" - android:pathData="M10.8972,19.9503 C6.5514,19.3493,3.43091,15.2154,4.0625,10.896 + <path + android:pathData="M0,0 L24,0 L24,24 L0,24 Z" /> + <path + android:fillColor="#95d220" + android:strokeWidth="0.76779664" + android:strokeLineJoin="round" + android:strokeLineCap="round" + android:pathData="M10.8972,19.9503 C6.5514,19.3493,3.43091,15.2154,4.0625,10.896 C4.55452,7.53099,7.09451,4.8236,10.394,4.14714 C14.2569,3.35517,18.1698,5.54347,19.5236,9.25295 C20.0698,10.7495,20.1616,12.4612,19.777,13.9758 diff --git a/briar-android/res/drawable/contact_disconnected.xml b/briar-android/res/drawable/contact_disconnected.xml index d8ee38c1e146d5c49c6f7464358c6e1664d6e7ff..76c1002379a40d6207e82c267b51905f08fc2a4b 100644 --- a/briar-android/res/drawable/contact_disconnected.xml +++ b/briar-android/res/drawable/contact_disconnected.xml @@ -1,5 +1,5 @@ <vector android:alpha="0.56" android:height="24dp" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FF000000" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zm0,18c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z"/> + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zm0,18c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z"/> </vector> diff --git a/briar-android/res/drawable/ic_add_white.xml b/briar-android/res/drawable/ic_add_white.xml index 3052692a03919a26996b43d7366f7ce524ad0fff..b242968999731a98068dc0ee2d8d280ed251fede 100644 --- a/briar-android/res/drawable/ic_add_white.xml +++ b/briar-android/res/drawable/ic_add_white.xml @@ -1,5 +1,5 @@ <vector android:height="24dp" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FFFFFFFF" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/> + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FFFFFFFF" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/> </vector> diff --git a/briar-android/res/drawable/message_delivered.xml b/briar-android/res/drawable/message_delivered.xml index 7df040f3c06ecd6bed995d92b0a6caa440e518c5..414c707b6341bb4d7d1fd418930b337147cdec5f 100644 --- a/briar-android/res/drawable/message_delivered.xml +++ b/briar-android/res/drawable/message_delivered.xml @@ -1,5 +1,5 @@ <vector android:alpha="0.56" android:height="16dp" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FF000000" android:pathData="M18,7l-1.41,-1.41 -6.34,6.34 1.41,1.41L18,7zm4.24,-1.41L11.66,16.17 7.48,12l-1.41,1.41L11.66,19l12,-12 -1.42,-1.41zM0.41,13.41L6,19l1.41,-1.41L1.83,12 0.41,13.41z"/> + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M18,7l-1.41,-1.41 -6.34,6.34 1.41,1.41L18,7zm4.24,-1.41L11.66,16.17 7.48,12l-1.41,1.41L11.66,19l12,-12 -1.42,-1.41zM0.41,13.41L6,19l1.41,-1.41L1.83,12 0.41,13.41z"/> </vector> diff --git a/briar-android/res/drawable/message_sent.xml b/briar-android/res/drawable/message_sent.xml index 8a074e0fc85ef1382231f9bc8d30ac90bb237a64..37dd9ca84f98edbfd0bf9b0a0ca9980583e0f0fd 100644 --- a/briar-android/res/drawable/message_sent.xml +++ b/briar-android/res/drawable/message_sent.xml @@ -1,5 +1,5 @@ <vector android:alpha="0.56" android:height="16dp" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FF000000" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/> + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/> </vector> diff --git a/briar-android/res/drawable/message_stored.xml b/briar-android/res/drawable/message_stored.xml index b91196f03297bba45c20d43a0549f6c65ffce690..d687ff520707517d4d03f161160b969abf1d8a64 100644 --- a/briar-android/res/drawable/message_stored.xml +++ b/briar-android/res/drawable/message_stored.xml @@ -1,5 +1,5 @@ <vector android:alpha="0.56" android:height="16dp" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillAlpha=".9" android:fillColor="#FF000000" android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8zM12.5,7H11v6l5.25,3.15 0.75,-1.23 -4.5,-2.67z"/> + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillAlpha=".9" android:fillColor="#FF000000" android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8zM12.5,7H11v6l5.25,3.15 0.75,-1.23 -4.5,-2.67z"/> </vector> diff --git a/briar-android/res/drawable/social_remove_person.xml b/briar-android/res/drawable/social_remove_person.xml index 4adacc148f6a1be74b7fa11f15d2b6a6201e76bb..5c1e173eec4272da830f84b1fadba11ba31aacdc 100644 --- a/briar-android/res/drawable/social_remove_person.xml +++ b/briar-android/res/drawable/social_remove_person.xml @@ -1,5 +1,5 @@ <vector android:alpha="0.56" android:height="24dp" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FF000000" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/> + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/> </vector> diff --git a/briar-android/res/drawable/social_send_now.xml b/briar-android/res/drawable/social_send_now.xml index bd34e7fc219291f9a17e5c1d0a57f9afc1b5e6cf..941911ed32cd4123adeead4f20f4c2f5ae68e157 100644 --- a/briar-android/res/drawable/social_send_now.xml +++ b/briar-android/res/drawable/social_send_now.xml @@ -1,5 +1,5 @@ <vector android:alpha="0.56" android:height="24dp" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FF000000" android:pathData="M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z"/> + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z"/> </vector> diff --git a/briar-android/res/drawable/transport_bt.xml b/briar-android/res/drawable/transport_bt.xml index d2217086907b77c459045334224f5eeb31fd1672..be80561b542d2209913bd450d5aa7c233f5b4834 100644 --- a/briar-android/res/drawable/transport_bt.xml +++ b/briar-android/res/drawable/transport_bt.xml @@ -1,5 +1,5 @@ <vector android:alpha="0.54" android:height="24dp" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FF000000" android:pathData="M17.71,7.71L12,2h-1v7.59L6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 11,14.41V22h1l5.71,-5.71 -4.3,-4.29 4.3,-4.29zM13,5.83l1.88,1.88L13,9.59V5.83zm1.88,10.46L13,18.17v-3.76l1.88,1.88z"/> + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M17.71,7.71L12,2h-1v7.59L6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 11,14.41V22h1l5.71,-5.71 -4.3,-4.29 4.3,-4.29zM13,5.83l1.88,1.88L13,9.59V5.83zm1.88,10.46L13,18.17v-3.76l1.88,1.88z"/> </vector> diff --git a/briar-android/res/drawable/transport_lan.xml b/briar-android/res/drawable/transport_lan.xml index d2cc9189e6f744f29ed6e8ebd4f5bc5053086a31..ad12a9625258323b9988d8af9de87382cfd7824e 100644 --- a/briar-android/res/drawable/transport_lan.xml +++ b/briar-android/res/drawable/transport_lan.xml @@ -1,6 +1,6 @@ <vector android:alpha="0.54" android:height="24dp" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillAlpha=".3" android:fillColor="#FF000000" android:pathData="M12.01,21.49L23.64,7c-0.45,-0.34 -4.93,-4 -11.64,-4C5.28,3 0.81,6.66 0.36,7l11.63,14.49 0.01,0.01 0.01,-0.01z"/> - <path android:fillColor="#FF000000" android:pathData="M3.53,10.95l8.46,10.54 0.01,0.01 0.01,-0.01 8.46,-10.54C20.04,10.62 16.81,8 12,8c-4.81,0 -8.04,2.62 -8.47,2.95z"/> + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillAlpha=".3" android:fillColor="#FF000000" android:pathData="M12.01,21.49L23.64,7c-0.45,-0.34 -4.93,-4 -11.64,-4C5.28,3 0.81,6.66 0.36,7l11.63,14.49 0.01,0.01 0.01,-0.01z"/> + <path android:fillColor="#FF000000" android:pathData="M3.53,10.95l8.46,10.54 0.01,0.01 0.01,-0.01 8.46,-10.54C20.04,10.62 16.81,8 12,8c-4.81,0 -8.04,2.62 -8.47,2.95z"/> </vector> diff --git a/briar-android/res/drawable/transport_tor.xml b/briar-android/res/drawable/transport_tor.xml index fe462b2f73b95b98df34a0d2169c358b11386e99..9084ddbad147dcc05beeeba37770a9eb6f00c1a6 100644 --- a/briar-android/res/drawable/transport_tor.xml +++ b/briar-android/res/drawable/transport_tor.xml @@ -1,5 +1,5 @@ <vector android:alpha="0.54" android:height="24dp" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FF000000" android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zm6.93,6h-2.95c-0.32,-1.25 -0.78,-2.45 -1.38,-3.56 1.84,0.63 3.37,1.91 4.33,3.56zM12,4.04c0.83,1.2 1.48,2.53 1.91,3.96h-3.82c0.43,-1.43 1.08,-2.76 1.91,-3.96zM4.26,14C4.1,13.36 4,12.69 4,12s0.1,-1.36 0.26,-2h3.38c-0.08,0.66 -0.14,1.32 -0.14,2 0,0.68 0.06,1.34 0.14,2H4.26zm0.82,2h2.95c0.32,1.25 0.78,2.45 1.38,3.56 -1.84,-0.63 -3.37,-1.9 -4.33,-3.56zm2.95,-8H5.08c0.96,-1.66 2.49,-2.93 4.33,-3.56C8.81,5.55 8.35,6.75 8.03,8zM12,19.96c-0.83,-1.2 -1.48,-2.53 -1.91,-3.96h3.82c-0.43,1.43 -1.08,2.76 -1.91,3.96zM14.34,14H9.66c-0.09,-0.66 -0.16,-1.32 -0.16,-2 0,-0.68 0.07,-1.35 0.16,-2h4.68c0.09,0.65 0.16,1.32 0.16,2 0,0.68 -0.07,1.34 -0.16,2zm0.25,5.56c0.6,-1.11 1.06,-2.31 1.38,-3.56h2.95c-0.96,1.65 -2.49,2.93 -4.33,3.56zM16.36,14c0.08,-0.66 0.14,-1.32 0.14,-2 0,-0.68 -0.06,-1.34 -0.14,-2h3.38c0.16,0.64 0.26,1.31 0.26,2s-0.1,1.36 -0.26,2h-3.38z"/> + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zm6.93,6h-2.95c-0.32,-1.25 -0.78,-2.45 -1.38,-3.56 1.84,0.63 3.37,1.91 4.33,3.56zM12,4.04c0.83,1.2 1.48,2.53 1.91,3.96h-3.82c0.43,-1.43 1.08,-2.76 1.91,-3.96zM4.26,14C4.1,13.36 4,12.69 4,12s0.1,-1.36 0.26,-2h3.38c-0.08,0.66 -0.14,1.32 -0.14,2 0,0.68 0.06,1.34 0.14,2H4.26zm0.82,2h2.95c0.32,1.25 0.78,2.45 1.38,3.56 -1.84,-0.63 -3.37,-1.9 -4.33,-3.56zm2.95,-8H5.08c0.96,-1.66 2.49,-2.93 4.33,-3.56C8.81,5.55 8.35,6.75 8.03,8zM12,19.96c-0.83,-1.2 -1.48,-2.53 -1.91,-3.96h3.82c-0.43,1.43 -1.08,2.76 -1.91,3.96zM14.34,14H9.66c-0.09,-0.66 -0.16,-1.32 -0.16,-2 0,-0.68 0.07,-1.35 0.16,-2h4.68c0.09,0.65 0.16,1.32 0.16,2 0,0.68 -0.07,1.34 -0.16,2zm0.25,5.56c0.6,-1.11 1.06,-2.31 1.38,-3.56h2.95c-0.96,1.65 -2.49,2.93 -4.33,3.56zM16.36,14c0.08,-0.66 0.14,-1.32 0.14,-2 0,-0.68 -0.06,-1.34 -0.14,-2h3.38c0.16,0.64 0.26,1.31 0.26,2s-0.1,1.36 -0.26,2h-3.38z"/> </vector> diff --git a/briar-android/res/layout/activity_password.xml b/briar-android/res/layout/activity_password.xml index d69ff185fa6a1a84911fe800b6a9f45891e1706a..8905963eaf4116dd6cca7edc82fcbafd46dd5626 100644 --- a/briar-android/res/layout/activity_password.xml +++ b/briar-android/res/layout/activity_password.xml @@ -1,79 +1,79 @@ <?xml version="1.0" encoding="utf-8"?> <ScrollView - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:layout_width="match_parent" - android:layout_height="match_parent"> + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="match_parent"> - <RelativeLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="vertical" - android:paddingBottom="@dimen/margin_activity_vertical" - android:paddingEnd="@dimen/margin_activity_horizontal" - android:paddingRight="@dimen/margin_activity_horizontal" - android:paddingStart="@dimen/margin_activity_horizontal" - android:paddingLeft="@dimen/margin_activity_horizontal" - android:paddingTop="@dimen/margin_activity_vertical"> + <RelativeLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:paddingBottom="@dimen/margin_activity_vertical" + android:paddingEnd="@dimen/margin_activity_horizontal" + android:paddingRight="@dimen/margin_activity_horizontal" + android:paddingStart="@dimen/margin_activity_horizontal" + android:paddingLeft="@dimen/margin_activity_horizontal" + android:paddingTop="@dimen/margin_activity_vertical"> - <TextView - android:id="@+id/title_password" - style="@style/BriarTextTitle" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_centerHorizontal="true" - android:padding="@dimen/margin_large" - android:text="@string/enter_password" /> + <TextView + android:id="@+id/title_password" + style="@style/BriarTextTitle" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerHorizontal="true" + android:padding="@dimen/margin_large" + android:text="@string/enter_password" /> - <android.support.design.widget.TextInputLayout - android:id="@+id/password_layout" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_centerHorizontal="true" - android:layout_below="@id/title_password" + <android.support.design.widget.TextInputLayout + android:id="@+id/password_layout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_centerHorizontal="true" + android:layout_below="@id/title_password" app:errorEnabled="true"> - <EditText - android:id="@+id/edit_password" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:imeOptions="actionDone" - android:inputType="textPassword" - android:maxLines="1" /> - </android.support.design.widget.TextInputLayout> + <EditText + android:id="@+id/edit_password" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:imeOptions="actionDone" + android:inputType="textPassword" + android:maxLines="1" /> + </android.support.design.widget.TextInputLayout> - <Button - android:id="@+id/btn_sign_in" - style="@style/BriarButton.Default" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_below="@id/password_layout" - android:layout_marginTop="@dimen/margin_medium" - android:onClick="onSignInClick" - android:text="@string/sign_in_button" /> + <Button + android:id="@+id/btn_sign_in" + style="@style/BriarButton.Default" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_below="@id/password_layout" + android:layout_marginTop="@dimen/margin_medium" + android:onClick="onSignInClick" + android:text="@string/sign_in_button" /> - <ProgressBar - android:id="@+id/progress_wheel" - style="?android:attr/progressBarStyleInverse" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignTop="@id/btn_sign_in" - android:layout_alignBottom="@id/btn_sign_in" - android:layout_centerHorizontal="true" - android:visibility="invisible" /> + <ProgressBar + android:id="@+id/progress_wheel" + style="?android:attr/progressBarStyleInverse" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignTop="@id/btn_sign_in" + android:layout_alignBottom="@id/btn_sign_in" + android:layout_centerHorizontal="true" + android:visibility="invisible" /> - <TextView - style="@style/BriarTextBody" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_below="@id/btn_sign_in" - android:layout_centerHorizontal="true" - android:layout_marginTop="@dimen/margin_large" - android:clickable="true" - android:onClick="onForgottenPasswordClick" - android:text="@string/forgotten_password" - android:textColor="?android:attr/textColorLink" /> + <TextView + style="@style/BriarTextBody" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@id/btn_sign_in" + android:layout_centerHorizontal="true" + android:layout_marginTop="@dimen/margin_large" + android:clickable="true" + android:onClick="onForgottenPasswordClick" + android:text="@string/forgotten_password" + android:textColor="?android:attr/textColorLink" /> - </RelativeLayout> + </RelativeLayout> </ScrollView> \ No newline at end of file diff --git a/briar-android/res/layout/activity_startup_failure.xml b/briar-android/res/layout/activity_startup_failure.xml index c73dfbaaebd88abd05961d55fd9d7b791afdf885..42fa8047c82cdec2ddc550417520f24ba4199424 100644 --- a/briar-android/res/layout/activity_startup_failure.xml +++ b/briar-android/res/layout/activity_startup_failure.xml @@ -1,25 +1,25 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:padding="@dimen/margin_activity_horizontal"> + xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:padding="@dimen/margin_activity_horizontal"> - <TextView - android:id="@+id/headlineView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - style="@style/BriarTextTitle" - android:text="@string/startup_failed_notification_title" - android:layout_gravity="center_horizontal" - android:layout_marginTop="7dp" - android:layout_marginBottom="7dp"/> + <TextView + android:id="@+id/headlineView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + style="@style/BriarTextTitle" + android:text="@string/startup_failed_notification_title" + android:layout_gravity="center_horizontal" + android:layout_marginTop="7dp" + android:layout_marginBottom="7dp"/> - <TextView - android:id="@+id/errorView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/startup_failed_notification_text"/> + <TextView + android:id="@+id/errorView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/startup_failed_notification_text"/> </LinearLayout> \ No newline at end of file diff --git a/briar-android/res/layout/briar_recycler_view.xml b/briar-android/res/layout/briar_recycler_view.xml index d84769f3e15ce47b19f380d2973da34039cf3ac0..255cbe6634c560b3ddbd93d0ad82ca4400844e4c 100644 --- a/briar-android/res/layout/briar_recycler_view.xml +++ b/briar-android/res/layout/briar_recycler_view.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <RelativeLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="match_parent"> + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" diff --git a/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml b/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml index bf0d3ee68aefc16e31c2130c14d1aefe27798a9d..5597f671830ffef312898a352d914e6a7ea16900 100644 --- a/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml +++ b/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml @@ -1,123 +1,123 @@ <?xml version="1.0" encoding="utf-8"?> <ScrollView - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="match_parent"> + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent"> - <RelativeLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:paddingBottom="@dimen/margin_activity_vertical" - android:paddingEnd="@dimen/margin_activity_horizontal" - android:paddingRight="@dimen/margin_activity_horizontal" - android:paddingStart="@dimen/margin_activity_horizontal" - android:paddingLeft="@dimen/margin_activity_horizontal" - android:paddingTop="@dimen/margin_activity_vertical"> + <RelativeLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingBottom="@dimen/margin_activity_vertical" + android:paddingEnd="@dimen/margin_activity_horizontal" + android:paddingRight="@dimen/margin_activity_horizontal" + android:paddingStart="@dimen/margin_activity_horizontal" + android:paddingLeft="@dimen/margin_activity_horizontal" + android:paddingTop="@dimen/margin_activity_vertical"> - <TextView - android:id="@+id/stepView" - style="@style/BriarTextBody" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end" - android:padding="@dimen/margin_medium" - tools:text="Step 3/3" - android:layout_alignParentTop="true" - android:layout_alignParentRight="true" - android:layout_alignParentEnd="true"/> + <TextView + android:id="@+id/stepView" + style="@style/BriarTextBody" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end" + android:padding="@dimen/margin_medium" + tools:text="Step 3/3" + android:layout_alignParentTop="true" + android:layout_alignParentRight="true" + android:layout_alignParentEnd="true"/> - <TextView - android:id="@+id/connectedView" - style="@style/BriarTextTitle" - android:textSize="@dimen/text_size_large" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/connected_to_contact" - android:padding="@dimen/margin_medium" - android:layout_below="@+id/stepView" - android:layout_centerHorizontal="true" - android:drawableLeft="@drawable/navigation_accept" - android:drawableStart="@drawable/navigation_accept" - android:gravity="center_vertical"/> + <TextView + android:id="@+id/connectedView" + style="@style/BriarTextTitle" + android:textSize="@dimen/text_size_large" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/connected_to_contact" + android:padding="@dimen/margin_medium" + android:layout_below="@+id/stepView" + android:layout_centerHorizontal="true" + android:drawableLeft="@drawable/navigation_accept" + android:drawableStart="@drawable/navigation_accept" + android:gravity="center_vertical"/> - <TextView - android:id="@+id/yourConfirmationCodeView" - style="@style/BriarTextBody" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/your_confirmation_code" - android:padding="@dimen/margin_medium" - android:layout_below="@+id/connectedView" - android:layout_centerHorizontal="true"/> + <TextView + android:id="@+id/yourConfirmationCodeView" + style="@style/BriarTextBody" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/your_confirmation_code" + android:padding="@dimen/margin_medium" + android:layout_below="@+id/connectedView" + android:layout_centerHorizontal="true"/> - <TextView - android:id="@+id/codeView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:padding="@dimen/margin_medium" - android:textSize="50sp" - android:layout_below="@+id/yourConfirmationCodeView" - android:layout_centerHorizontal="true" - tools:text="1337"/> + <TextView + android:id="@+id/codeView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:padding="@dimen/margin_medium" + android:textSize="50sp" + android:layout_below="@+id/yourConfirmationCodeView" + android:layout_centerHorizontal="true" + tools:text="1337"/> - <TextView - android:id="@+id/waitingView" - style="@style/BriarTextBody" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/searching_format" - android:layout_gravity="center_horizontal" - android:padding="@dimen/margin_medium" - android:layout_below="@+id/codeView" - android:layout_centerHorizontal="true" - android:visibility="gone" - android:gravity="center_horizontal"/> + <TextView + android:id="@+id/waitingView" + style="@style/BriarTextBody" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/searching_format" + android:layout_gravity="center_horizontal" + android:padding="@dimen/margin_medium" + android:layout_below="@+id/codeView" + android:layout_centerHorizontal="true" + android:visibility="gone" + android:gravity="center_horizontal"/> - <ProgressBar - android:id="@+id/progressBar" - style="?android:attr/progressBarStyleLarge" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:indeterminate="true" - android:layout_below="@+id/waitingView" - android:layout_centerHorizontal="true" - android:visibility="gone"/> + <ProgressBar + android:id="@+id/progressBar" + style="?android:attr/progressBarStyleLarge" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:indeterminate="true" + android:layout_below="@+id/waitingView" + android:layout_centerHorizontal="true" + android:visibility="gone"/> - <TextView - android:id="@+id/enterCodeTextView" - style="@style/BriarTextBody" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/enter_confirmation_code" - android:layout_gravity="center_horizontal" - android:padding="@dimen/margin_medium" - android:layout_below="@+id/codeView" - android:layout_centerHorizontal="true"/> + <TextView + android:id="@+id/enterCodeTextView" + style="@style/BriarTextBody" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/enter_confirmation_code" + android:layout_gravity="center_horizontal" + android:padding="@dimen/margin_medium" + android:layout_below="@+id/codeView" + android:layout_centerHorizontal="true"/> - <include - android:id="@+id/codeEntryView" - layout="@layout/view_code_entry" - android:layout_below="@+id/enterCodeTextView" - android:layout_centerHorizontal="true" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_margin="@dimen/margin_medium"/> + <include + android:id="@+id/codeEntryView" + layout="@layout/view_code_entry" + android:layout_below="@+id/enterCodeTextView" + android:layout_centerHorizontal="true" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="@dimen/margin_medium"/> - <Button - android:id="@+id/continueButton" - style="@style/BriarButton.Default" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/continue_button" - android:layout_gravity="center_horizontal" - android:enabled="false" - android:layout_below="@+id/codeEntryView" - android:layout_centerHorizontal="true" - android:layout_margin="@dimen/margin_medium"/> + <Button + android:id="@+id/continueButton" + style="@style/BriarButton.Default" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/continue_button" + android:layout_gravity="center_horizontal" + android:enabled="false" + android:layout_below="@+id/codeEntryView" + android:layout_centerHorizontal="true" + android:layout_margin="@dimen/margin_medium"/> - </RelativeLayout> + </RelativeLayout> </ScrollView> \ No newline at end of file diff --git a/briar-android/res/layout/invitation_bluetooth_invitation_code.xml b/briar-android/res/layout/invitation_bluetooth_invitation_code.xml index 875a58d08aefd46951721cce332e8671fe33e792..d63fbe535f80b840c7ad059c24df334548d7b720 100644 --- a/briar-android/res/layout/invitation_bluetooth_invitation_code.xml +++ b/briar-android/res/layout/invitation_bluetooth_invitation_code.xml @@ -1,109 +1,109 @@ <?xml version="1.0" encoding="utf-8"?> <ScrollView - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="match_parent"> + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent"> - <RelativeLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:paddingBottom="@dimen/margin_activity_vertical" - android:paddingEnd="@dimen/margin_activity_horizontal" - android:paddingRight="@dimen/margin_activity_horizontal" - android:paddingStart="@dimen/margin_activity_horizontal" - android:paddingLeft="@dimen/margin_activity_horizontal" - android:paddingTop="@dimen/margin_activity_vertical"> + <RelativeLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingBottom="@dimen/margin_activity_vertical" + android:paddingEnd="@dimen/margin_activity_horizontal" + android:paddingRight="@dimen/margin_activity_horizontal" + android:paddingStart="@dimen/margin_activity_horizontal" + android:paddingLeft="@dimen/margin_activity_horizontal" + android:paddingTop="@dimen/margin_activity_vertical"> - <TextView - android:id="@+id/stepView" - style="@style/BriarTextBody" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end" - android:layout_marginTop="@dimen/margin_medium" - tools:text="Step 2/3" - android:layout_alignParentTop="true" - android:layout_alignParentRight="true" - android:layout_alignParentEnd="true"/> + <TextView + android:id="@+id/stepView" + style="@style/BriarTextBody" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end" + android:layout_marginTop="@dimen/margin_medium" + tools:text="Step 2/3" + android:layout_alignParentTop="true" + android:layout_alignParentRight="true" + android:layout_alignParentEnd="true"/> - <TextView - android:id="@+id/yourCodeView" - style="@style/BriarTextBody" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/your_invitation_code" - android:layout_marginTop="@dimen/margin_medium" - android:layout_below="@+id/stepView" - android:layout_centerHorizontal="true"/> + <TextView + android:id="@+id/yourCodeView" + style="@style/BriarTextBody" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/your_invitation_code" + android:layout_marginTop="@dimen/margin_medium" + android:layout_below="@+id/stepView" + android:layout_centerHorizontal="true"/> - <TextView - android:id="@+id/codeView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/margin_medium" - android:textSize="50sp" - android:layout_below="@+id/yourCodeView" - android:layout_centerHorizontal="true" - tools:text="1337"/> + <TextView + android:id="@+id/codeView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/margin_medium" + android:textSize="50sp" + android:layout_below="@+id/yourCodeView" + android:layout_centerHorizontal="true" + tools:text="1337"/> - <TextView - android:id="@+id/waitingView" - style="@style/BriarTextBody" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/searching_format" - android:layout_gravity="center_horizontal" - android:layout_marginTop="@dimen/margin_medium" - android:layout_below="@+id/codeView" - android:layout_centerHorizontal="true" - android:visibility="gone" - android:gravity="center_horizontal"/> + <TextView + android:id="@+id/waitingView" + style="@style/BriarTextBody" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/searching_format" + android:layout_gravity="center_horizontal" + android:layout_marginTop="@dimen/margin_medium" + android:layout_below="@+id/codeView" + android:layout_centerHorizontal="true" + android:visibility="gone" + android:gravity="center_horizontal"/> - <ProgressBar - android:id="@+id/progressBar" - style="?android:attr/progressBarStyleLarge" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:indeterminate="true" - android:layout_below="@+id/waitingView" - android:layout_centerHorizontal="true" - android:visibility="gone"/> + <ProgressBar + android:id="@+id/progressBar" + style="?android:attr/progressBarStyleLarge" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:indeterminate="true" + android:layout_below="@+id/waitingView" + android:layout_centerHorizontal="true" + android:visibility="gone"/> - <TextView - android:id="@+id/enterCodeTextView" - style="@style/BriarTextBody" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/enter_invitation_code" - android:layout_gravity="center_horizontal" - android:padding="@dimen/margin_medium" - android:layout_below="@+id/codeView" - android:layout_centerHorizontal="true"/> + <TextView + android:id="@+id/enterCodeTextView" + style="@style/BriarTextBody" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/enter_invitation_code" + android:layout_gravity="center_horizontal" + android:padding="@dimen/margin_medium" + android:layout_below="@+id/codeView" + android:layout_centerHorizontal="true"/> - <include - android:id="@+id/codeEntryView" - layout="@layout/view_code_entry" - android:layout_below="@+id/enterCodeTextView" - android:layout_centerHorizontal="true" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_margin="@dimen/margin_medium"/> + <include + android:id="@+id/codeEntryView" + layout="@layout/view_code_entry" + android:layout_below="@+id/enterCodeTextView" + android:layout_centerHorizontal="true" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="@dimen/margin_medium"/> - <Button - android:id="@+id/continueButton" - style="@style/BriarButton.Default" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/continue_button" - android:layout_gravity="center_horizontal" - android:enabled="false" - android:layout_below="@+id/codeEntryView" - android:layout_centerHorizontal="true" - android:layout_margin="@dimen/margin_medium"/> + <Button + android:id="@+id/continueButton" + style="@style/BriarButton.Default" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/continue_button" + android:layout_gravity="center_horizontal" + android:enabled="false" + android:layout_below="@+id/codeEntryView" + android:layout_centerHorizontal="true" + android:layout_margin="@dimen/margin_medium"/> - </RelativeLayout> + </RelativeLayout> </ScrollView> \ No newline at end of file diff --git a/briar-android/res/layout/invitation_error.xml b/briar-android/res/layout/invitation_error.xml index e1c94c393620793a72c963a3cc8300e818119866..d2928aa243726f9a1597703051c41242eca44354 100644 --- a/briar-android/res/layout/invitation_error.xml +++ b/briar-android/res/layout/invitation_error.xml @@ -1,41 +1,41 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:paddingBottom="@dimen/margin_activity_vertical" - android:paddingEnd="@dimen/margin_activity_horizontal" - android:paddingStart="@dimen/margin_activity_horizontal" - android:paddingTop="@dimen/margin_activity_vertical"> + xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingBottom="@dimen/margin_activity_vertical" + android:paddingEnd="@dimen/margin_activity_horizontal" + android:paddingStart="@dimen/margin_activity_horizontal" + android:paddingTop="@dimen/margin_activity_vertical"> - <TextView - android:id="@+id/errorTextView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/connection_failed" - android:layout_gravity="center_horizontal" - android:textSize="@dimen/text_size_large" - android:drawableStart="@drawable/alerts_and_states_error" - android:drawableLeft="@drawable/alerts_and_states_error" - android:gravity="center_vertical" - android:padding="@dimen/margin_medium"/> + <TextView + android:id="@+id/errorTextView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/connection_failed" + android:layout_gravity="center_horizontal" + android:textSize="@dimen/text_size_large" + android:drawableStart="@drawable/alerts_and_states_error" + android:drawableLeft="@drawable/alerts_and_states_error" + android:gravity="center_vertical" + android:padding="@dimen/margin_medium"/> - <TextView - android:id="@+id/explanationTextView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/interfering" - android:layout_gravity="center_horizontal" - android:padding="@dimen/margin_medium"/> + <TextView + android:id="@+id/explanationTextView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/interfering" + android:layout_gravity="center_horizontal" + android:padding="@dimen/margin_medium"/> - <Button - android:id="@+id/tryAgainButton" - style="@style/BriarButton.Default" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/try_again_button" - android:layout_gravity="center_horizontal" - android:layout_margin="@dimen/margin_medium"/> + <Button + android:id="@+id/tryAgainButton" + style="@style/BriarButton.Default" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/try_again_button" + android:layout_gravity="center_horizontal" + android:layout_margin="@dimen/margin_medium"/> </LinearLayout> \ No newline at end of file diff --git a/briar-android/res/layout/view_code_entry.xml b/briar-android/res/layout/view_code_entry.xml index 018915876e8e147e3a5a04fb6aac062e5b74a13f..2c735f04618f2d2fd6b9d6b3f2eb3d1d750b77a5 100644 --- a/briar-android/res/layout/view_code_entry.xml +++ b/briar-android/res/layout/view_code_entry.xml @@ -1,16 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> <EditText - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:id="@+id/codeEntryView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:inputType="number" - android:layout_gravity="center_horizontal" - android:textSize="@dimen/text_size_xlarge" - android:ems="4" - android:maxLines="1" - android:maxLength="6" - android:layout_margin="@dimen/margin_medium" - android:imeOptions="actionGo" - tools:text="123456"/> \ No newline at end of file + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/codeEntryView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:inputType="number" + android:layout_gravity="center_horizontal" + android:textSize="@dimen/text_size_xlarge" + android:ems="4" + android:maxLines="1" + android:maxLength="6" + android:layout_margin="@dimen/margin_medium" + android:imeOptions="actionGo" + tools:text="123456"/> \ No newline at end of file diff --git a/briar-android/res/values-v14/styles.xml b/briar-android/res/values-v14/styles.xml index ff39392ac4ea2678d97248a19b2a470c17450569..cd46b12fba5dd8759d14a66405289890fec7d215 100644 --- a/briar-android/res/values-v14/styles.xml +++ b/briar-android/res/values-v14/styles.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <style name="BriarTheme" parent="BriarBaseTheme"> - <!-- This fixes a UI bug in the support preference library --> - <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item> - </style> + <style name="BriarTheme" parent="BriarBaseTheme"> + <!-- This fixes a UI bug in the support preference library --> + <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item> + </style> - <style name="BriarButton.Default"> - <item name="android:textAllCaps">true</item> - </style> + <style name="BriarButton.Default"> + <item name="android:textAllCaps">true</item> + </style> </resources> \ No newline at end of file diff --git a/briar-android/res/values/color.xml b/briar-android/res/values/color.xml index 94f4ea9cbc52c6fefc3c61c9321bd6aa0eef3c98..bf0f61bd90a0ff212cad86ad535509de85213aa1 100644 --- a/briar-android/res/values/color.xml +++ b/briar-android/res/values/color.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <color name="window_background">#EEEEEE</color> - <color name="action_bar_text">#FFFFFF</color> - <color name="action_bar_background">#2D3E50</color> - <color name="button_bar_background">#FFFFFF</color> - <color name="dashboard_background">#FFFFFF</color> + <color name="window_background">#EEEEEE</color> + <color name="action_bar_text">#FFFFFF</color> + <color name="action_bar_background">#2D3E50</color> + <color name="button_bar_background">#FFFFFF</color> + <color name="dashboard_background">#FFFFFF</color> <color name="private_message_date">#AAAAAA</color> - <color name="unread_background">#FFFFFF</color> + <color name="unread_background">#FFFFFF</color> <color name="horizontal_border">#CCCCCC</color> <color name="forums_available_background">#FCCF1C</color> <color name="no_private_messages">#AAAAAA</color> @@ -14,20 +14,20 @@ <color name="settings_title_text">#2D3E50</color> <color name="settings_title_underline">#2D3E50</color> - <color name="briar_primary">#2D3E50</color> - <color name="briar_primary_dark">#0f1720</color> - <color name="briar_accent">#2D3E50</color> + <color name="briar_primary">#2D3E50</color> + <color name="briar_primary_dark">#0f1720</color> + <color name="briar_accent">#2D3E50</color> - <color name="briar_text_link">#75ab0d</color> - <color name="briar_green_light">#95d220</color> - <color name="briar_green_dark">#75ab0d</color> - <color name="briar_text_primary">#333333</color> - <color name="briar_text_primary_inverse">#ffffff</color> + <color name="briar_text_link">#75ab0d</color> + <color name="briar_green_light">#95d220</color> + <color name="briar_green_dark">#75ab0d</color> + <color name="briar_text_primary">#333333</color> + <color name="briar_text_primary_inverse">#ffffff</color> - <!-- this is needed as preference_category_material layout uses this color as the text color --> - <color name="preference_fallback_accent_color">@color/briar_accent</color> - <color name="default_background">#ffffff</color> - <color name="default_seperator">#000000</color> - <color name="default_seperator_inverted">#ffffff</color> - <color name="menu_background">#FFFFFF</color> + <!-- this is needed as preference_category_material layout uses this color as the text color --> + <color name="preference_fallback_accent_color">@color/briar_accent</color> + <color name="default_background">#ffffff</color> + <color name="default_seperator">#000000</color> + <color name="default_seperator_inverted">#ffffff</color> + <color name="menu_background">#FFFFFF</color> </resources> \ No newline at end of file diff --git a/briar-android/res/values/strings.xml b/briar-android/res/values/strings.xml index 70e2d20c5ce7c8204453dfdff75c52284c2872d8..9195c26a55879d1f61cf3fe73bf6ad9ce0f7250e 100644 --- a/briar-android/res/values/strings.xml +++ b/briar-android/res/values/strings.xml @@ -1,155 +1,155 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <string name="nav_drawer_open_description">Open the navigation drawer</string> - <string name="nav_drawer_close_description">Close the navigation drawer</string> - <string name="app_name">Briar</string> - <string name="crash_report_title">Briar Crash Report</string> - <string name="ongoing_notification_title">Signed into Briar</string> - <string name="ongoing_notification_text">Touch to show the dashboard.</string> - <string name="setup_title">Briar Setup</string> - <string name="choose_nickname">Choose your nickname:</string> - <string name="choose_password">Choose your password:</string> - <string name="confirm_password">Confirm your password:</string> - <string name="name_too_long">Name is too long</string> - <string name="password_too_weak">Password is too weak</string> - <string name="passwords_do_not_match">Passwords do not match</string> - <string name="create_account_button">Create Account</string> - <string name="enter_password">Enter your password:</string> - <string name="password_hint">Password</string> - <string name="forgotten_password">I have forgotten my password</string> - <string name="try_again">Wrong password, try again</string> - <string name="sign_in_button">Sign In</string> - <string name="startup_failed_notification_title">Briar could not start</string> - <string name="startup_failed_notification_text">You may need to reinstall Briar.</string> - <string name="startup_failed_activity_title">Briar Startup Failure</string> - <string name="startup_failed_db_error">For some reason, your Briar database is corrupted beyond repair. Your account, your data and all your contact connections are lost. Unfortunately, you need to reinstall Briar und set up a new account.</string> - <string name="startup_failed_service_error">Briar was unable to start a required plugin. Reinstalling Briar usually solves this problem. However, please note that you will then lose your account and all data associated with it since Briar is not using central servers to store your data on.</string> - <string name="expiry_warning">This software has expired.\nPlease install a newer version.</string> - <string name="contact_list_button">Contacts</string> - <string name="delete_contact">Delete contact</string> - <string name="contact_deleted_toast">Contact deleted</string> - <string name="forums_button">Forums</string> - <string name="settings_button">Settings</string> - <string name="sign_out_button">Sign Out</string> - <string name="contact_list_title">Contacts</string> - <string name="no_contacts">No contacts</string> - <string name="add_contact_title">Add a Contact</string> - <string name="your_nickname">Choose the identity you want to use:</string> - <string name="face_to_face">You must be face-to-face with the person you want to add as a contact. This will prevent anyone from impersonating you or reading your messages in future.</string> - <string name="continue_button">Continue</string> - <string name="your_invitation_code">Your invitation code is</string> - <string name="enter_invitation_code">Please enter your contact\'s invitation code:</string> - <string name="searching_format">Searching for contact with invitation code %06d\u2026</string> - <string name="connection_failed">Connection failed</string> - <string name="could_not_find_contact">Briar could not find your contact nearby</string> - <string name="try_again_button">Try Again</string> - <string name="connected_to_contact">Connected to contact</string> - <string name="calculating_confirmation_code">Calculating confirmation code\u2026</string> - <string name="your_confirmation_code">Your confirmation code is</string> - <string name="enter_confirmation_code">Please enter your contact\'s confirmation code:</string> - <string name="waiting_for_contact">Waiting for contact\u2026</string> - <string name="exchanging_contact_details">Exchanging contact details\u2026</string> - <string name="codes_do_not_match">Codes do not match</string> - <string name="interfering">This could mean that someone is trying to interfere with your connection</string> - <string name="contact_added_toast">Contact added: %s</string> - <string name="no_private_messages">No messages</string> - <string name="private_message_hint">Type message</string> - <string name="message_sent_toast">Message sent</string> - <string name="forums_title">Forums</string> - <string name="no_forums">No forums</string> - <plurals name="forums_shared"> - <item quantity="one">%d forum shared by contacts</item> - <item quantity="other">%d forums shared by contacts</item> - </plurals> - <string name="unsubscribe">Unsubscribe</string> - <string name="unsubscribed_toast">Unsubscribed</string> - <string name="no_forum_posts">No posts</string> - <string name="create_forum_title">New Forum</string> - <string name="choose_forum_name">Choose a name for your forum:</string> - <string name="create_forum_button">Create Forum</string> - <string name="forum_created_toast">Forum created</string> - <string name="forum_share_with_all">Share this forum with all contacts</string> - <string name="forum_share_with_some">Share this forum with chosen contacts</string> - <string name="share_button">Share Forum</string> - <string name="from">From:</string> - <string name="anonymous">Anonymous</string> - <string name="new_identity_item">New identity\u2026</string> - <string name="new_identity_title">New Identity</string> - <string name="create_identity_button">Create Identity</string> - <string name="identity_created_toast">Identity created</string> - <string name="forum_post_hint">Type forum post</string> - <string name="available_forums_title">Available Forums</string> - <string name="subscribed_toast">Subscribed</string> - <string name="shared_by_format">Shared by %s</string> - <string name="no_contacts_prompt">You don\'t have any contacts. Add a contact now?</string> - <string name="add_button">Add</string> - <string name="cancel_button">Cancel</string> - <string name="done_button">Done</string> - <string name="delete_button">Delete</string> - <string name="post_sent_toast">Forum post sent</string> - <plurals name="private_message_notification_text"> - <item quantity="one">New private message.</item> - <item quantity="other">%d new private messages.</item> - </plurals> - <plurals name="forum_post_notification_text"> - <item quantity="one">New forum post.</item> - <item quantity="other">%d new forum posts.</item> - </plurals> - <string name="settings_title">Settings</string> - <string name="bluetooth_setting_title">BLUETOOTH</string> - <string name="bluetooth_setting">Connect via Bluetooth</string> - <string name="bluetooth_setting_enabled">Whenever contacts are nearby</string> - <string name="bluetooth_setting_disabled">Only when adding contacts</string> - <string name="tor_wifi_setting_title">TOR</string> - <string name="tor_wifi_setting">Connect via Tor</string> - <string name="tor_wifi_setting_enabled">Only when using Wi-Fi</string> - <string name="tor_wifi_setting_disabled">When using Wi-Fi or mobile data</string> - <string name="panic_setting">Panic Button Setup</string> - <string name="panic_setting_title">PANIC BUTTON</string> - <string name="panic_setting_hint">Configure how Briar will react when you use a panic button app</string> - <string name="notification_settings_title">NOTIFICATIONS</string> - <string name="notify_private_messages_setting">Show alerts for private messages</string> - <string name="notify_forum_posts_setting">Show alerts for forum posts</string> - <string name="notify_vibration_setting">Vibrate</string> - <string name="notify_sound_setting">Sound</string> - <string name="notify_sound_setting_default">Default ringtone</string> - <string name="notify_sound_setting_disabled">None</string> - <string name="choose_ringtone_title">Choose ringtone</string> - <string name="panic_app_setting_title">Panic Button App</string> - <string name="panic_app_setting_summary">No app has been set</string> - <string name="panic_app_setting_none">None</string> - <string name="lock_setting_title">Sign Out</string> - <string name="lock_setting_summary">Sign out of Briar if a panic button is pressed</string> - <string name="purge_setting_title">Delete Account</string> - <string name="purge_setting_summary">Delete your Briar account if a panic button is pressed. Caution: This will permanently delete your identities, contacts and messages</string> - <string name="uninstall_setting_title">Uninstall Briar</string> - <string name="uninstall_setting_summary">This requires manual confirmation in a panic event</string> - <string name="step">Step %1$d/%2$d</string> - <string name="online">Online</string> - <string name="offline">Offline</string> - <string name="send">Send</string> - <string name="transport_tor">Internet</string> - <string name="transport_bt">Bluetooth</string> - <string name="transport_lan">Wi-Fi</string> - <string name="no_data">No data</string> - <string name="unknown_app">an unknown app</string> + <string name="nav_drawer_open_description">Open the navigation drawer</string> + <string name="nav_drawer_close_description">Close the navigation drawer</string> + <string name="app_name">Briar</string> + <string name="crash_report_title">Briar Crash Report</string> + <string name="ongoing_notification_title">Signed into Briar</string> + <string name="ongoing_notification_text">Touch to show the dashboard.</string> + <string name="setup_title">Briar Setup</string> + <string name="choose_nickname">Choose your nickname:</string> + <string name="choose_password">Choose your password:</string> + <string name="confirm_password">Confirm your password:</string> + <string name="name_too_long">Name is too long</string> + <string name="password_too_weak">Password is too weak</string> + <string name="passwords_do_not_match">Passwords do not match</string> + <string name="create_account_button">Create Account</string> + <string name="enter_password">Enter your password:</string> + <string name="password_hint">Password</string> + <string name="forgotten_password">I have forgotten my password</string> + <string name="try_again">Wrong password, try again</string> + <string name="sign_in_button">Sign In</string> + <string name="startup_failed_notification_title">Briar could not start</string> + <string name="startup_failed_notification_text">You may need to reinstall Briar.</string> + <string name="startup_failed_activity_title">Briar Startup Failure</string> + <string name="startup_failed_db_error">For some reason, your Briar database is corrupted beyond repair. Your account, your data and all your contact connections are lost. Unfortunately, you need to reinstall Briar und set up a new account.</string> + <string name="startup_failed_service_error">Briar was unable to start a required plugin. Reinstalling Briar usually solves this problem. However, please note that you will then lose your account and all data associated with it since Briar is not using central servers to store your data on.</string> + <string name="expiry_warning">This software has expired.\nPlease install a newer version.</string> + <string name="contact_list_button">Contacts</string> + <string name="delete_contact">Delete contact</string> + <string name="contact_deleted_toast">Contact deleted</string> + <string name="forums_button">Forums</string> + <string name="settings_button">Settings</string> + <string name="sign_out_button">Sign Out</string> + <string name="contact_list_title">Contacts</string> + <string name="no_contacts">No contacts</string> + <string name="add_contact_title">Add a Contact</string> + <string name="your_nickname">Choose the identity you want to use:</string> + <string name="face_to_face">You must be face-to-face with the person you want to add as a contact. This will prevent anyone from impersonating you or reading your messages in future.</string> + <string name="continue_button">Continue</string> + <string name="your_invitation_code">Your invitation code is</string> + <string name="enter_invitation_code">Please enter your contact\'s invitation code:</string> + <string name="searching_format">Searching for contact with invitation code %06d\u2026</string> + <string name="connection_failed">Connection failed</string> + <string name="could_not_find_contact">Briar could not find your contact nearby</string> + <string name="try_again_button">Try Again</string> + <string name="connected_to_contact">Connected to contact</string> + <string name="calculating_confirmation_code">Calculating confirmation code\u2026</string> + <string name="your_confirmation_code">Your confirmation code is</string> + <string name="enter_confirmation_code">Please enter your contact\'s confirmation code:</string> + <string name="waiting_for_contact">Waiting for contact\u2026</string> + <string name="exchanging_contact_details">Exchanging contact details\u2026</string> + <string name="codes_do_not_match">Codes do not match</string> + <string name="interfering">This could mean that someone is trying to interfere with your connection</string> + <string name="contact_added_toast">Contact added: %s</string> + <string name="no_private_messages">No messages</string> + <string name="private_message_hint">Type message</string> + <string name="message_sent_toast">Message sent</string> + <string name="forums_title">Forums</string> + <string name="no_forums">No forums</string> + <plurals name="forums_shared"> + <item quantity="one">%d forum shared by contacts</item> + <item quantity="other">%d forums shared by contacts</item> + </plurals> + <string name="unsubscribe">Unsubscribe</string> + <string name="unsubscribed_toast">Unsubscribed</string> + <string name="no_forum_posts">No posts</string> + <string name="create_forum_title">New Forum</string> + <string name="choose_forum_name">Choose a name for your forum:</string> + <string name="create_forum_button">Create Forum</string> + <string name="forum_created_toast">Forum created</string> + <string name="forum_share_with_all">Share this forum with all contacts</string> + <string name="forum_share_with_some">Share this forum with chosen contacts</string> + <string name="share_button">Share Forum</string> + <string name="from">From:</string> + <string name="anonymous">Anonymous</string> + <string name="new_identity_item">New identity\u2026</string> + <string name="new_identity_title">New Identity</string> + <string name="create_identity_button">Create Identity</string> + <string name="identity_created_toast">Identity created</string> + <string name="forum_post_hint">Type forum post</string> + <string name="available_forums_title">Available Forums</string> + <string name="subscribed_toast">Subscribed</string> + <string name="shared_by_format">Shared by %s</string> + <string name="no_contacts_prompt">You don\'t have any contacts. Add a contact now?</string> + <string name="add_button">Add</string> + <string name="cancel_button">Cancel</string> + <string name="done_button">Done</string> + <string name="delete_button">Delete</string> + <string name="post_sent_toast">Forum post sent</string> + <plurals name="private_message_notification_text"> + <item quantity="one">New private message.</item> + <item quantity="other">%d new private messages.</item> + </plurals> + <plurals name="forum_post_notification_text"> + <item quantity="one">New forum post.</item> + <item quantity="other">%d new forum posts.</item> + </plurals> + <string name="settings_title">Settings</string> + <string name="bluetooth_setting_title">BLUETOOTH</string> + <string name="bluetooth_setting">Connect via Bluetooth</string> + <string name="bluetooth_setting_enabled">Whenever contacts are nearby</string> + <string name="bluetooth_setting_disabled">Only when adding contacts</string> + <string name="tor_wifi_setting_title">TOR</string> + <string name="tor_wifi_setting">Connect via Tor</string> + <string name="tor_wifi_setting_enabled">Only when using Wi-Fi</string> + <string name="tor_wifi_setting_disabled">When using Wi-Fi or mobile data</string> + <string name="panic_setting">Panic Button Setup</string> + <string name="panic_setting_title">PANIC BUTTON</string> + <string name="panic_setting_hint">Configure how Briar will react when you use a panic button app</string> + <string name="notification_settings_title">NOTIFICATIONS</string> + <string name="notify_private_messages_setting">Show alerts for private messages</string> + <string name="notify_forum_posts_setting">Show alerts for forum posts</string> + <string name="notify_vibration_setting">Vibrate</string> + <string name="notify_sound_setting">Sound</string> + <string name="notify_sound_setting_default">Default ringtone</string> + <string name="notify_sound_setting_disabled">None</string> + <string name="choose_ringtone_title">Choose ringtone</string> + <string name="panic_app_setting_title">Panic Button App</string> + <string name="panic_app_setting_summary">No app has been set</string> + <string name="panic_app_setting_none">None</string> + <string name="lock_setting_title">Sign Out</string> + <string name="lock_setting_summary">Sign out of Briar if a panic button is pressed</string> + <string name="purge_setting_title">Delete Account</string> + <string name="purge_setting_summary">Delete your Briar account if a panic button is pressed. Caution: This will permanently delete your identities, contacts and messages</string> + <string name="uninstall_setting_title">Uninstall Briar</string> + <string name="uninstall_setting_summary">This requires manual confirmation in a panic event</string> + <string name="step">Step %1$d/%2$d</string> + <string name="online">Online</string> + <string name="offline">Offline</string> + <string name="send">Send</string> + <string name="transport_tor">Internet</string> + <string name="transport_bt">Bluetooth</string> + <string name="transport_lan">Wi-Fi</string> + <string name="no_data">No data</string> + <string name="unknown_app">an unknown app</string> - <!-- Dialogs --> - <string name="dialog_title_lost_password">Lost Password</string> - <string name="dialog_message_lost_password">Password recovery is not possible. Do you want to delete your account?\n\nCaution: This will permanently delete your identities, contacts and messages</string> - <string name="dialog_title_delete_contact">Confirm Contact Deletion</string> - <string name="dialog_message_delete_contact">Are you sure that you want to remove this contact and all messages exchanged with this contact?</string> - <string name="dialog_title_connect_panic_app">Confirm Panic App</string> - <string name="dialog_message_connect_panic_app">Are you sure that you want to allow %1$s to trigger destructive panic button actions?</string> - <string name="dialog_title_welcome">Welcome to Briar</string> - <string name="dialog_welcome_message">Add a contact to start communicating securely or press the icon in the upper left corner of the screen for more options.</string> - <string name="dialog_button_ok">OK</string> - <!-- Toolbar headers --> - <string name="dashboard_toolbar_header">Briar</string> - <string name="settings_toolbar_header">Settings</string> - <string name="contacts_toolbar_header">Contacts</string> - <string name="forums_toolbar_header">Forums</string> - <!-- Progress titles --> - <string name="progress_title_logout">Signing out of Briar..</string> - <string name="progress_title_please_wait">Please wait..</string> + <!-- Dialogs --> + <string name="dialog_title_lost_password">Lost Password</string> + <string name="dialog_message_lost_password">Password recovery is not possible. Do you want to delete your account?\n\nCaution: This will permanently delete your identities, contacts and messages</string> + <string name="dialog_title_delete_contact">Confirm Contact Deletion</string> + <string name="dialog_message_delete_contact">Are you sure that you want to remove this contact and all messages exchanged with this contact?</string> + <string name="dialog_title_connect_panic_app">Confirm Panic App</string> + <string name="dialog_message_connect_panic_app">Are you sure that you want to allow %1$s to trigger destructive panic button actions?</string> + <string name="dialog_title_welcome">Welcome to Briar</string> + <string name="dialog_welcome_message">Add a contact to start communicating securely or press the icon in the upper left corner of the screen for more options.</string> + <string name="dialog_button_ok">OK</string> + <!-- Toolbar headers --> + <string name="dashboard_toolbar_header">Briar</string> + <string name="settings_toolbar_header">Settings</string> + <string name="contacts_toolbar_header">Contacts</string> + <string name="forums_toolbar_header">Forums</string> + <!-- Progress titles --> + <string name="progress_title_logout">Signing out of Briar..</string> + <string name="progress_title_please_wait">Please wait..</string> </resources> diff --git a/briar-android/res/values/styles.xml b/briar-android/res/values/styles.xml index 2d10abf414fc10b5ea803aab15049cb8908fafd3..4c80c10edea097d5ccb541a2a71d07e278b296d2 100644 --- a/briar-android/res/values/styles.xml +++ b/briar-android/res/values/styles.xml @@ -1,104 +1,104 @@ <?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> - <style name="BriarBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar"> - <item name="actionBarStyle">@style/BriarActionBar</item> - <item name="colorPrimary">@color/briar_primary</item> - <item name="colorPrimaryDark">@color/briar_primary_dark</item> - <item name="colorAccent">@color/briar_accent</item> - <item name="android:textColorPrimary">@color/briar_text_primary</item> - <item name="android:textColorPrimaryInverse">@color/briar_text_primary_inverse</item> - <item name="android:textColorSecondary">@color/briar_text_primary</item> - <item name="android:textColorLink">@color/briar_text_link</item> - </style> - - <style name="BriarThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar"> - <item name="toolbarStyle">@style/BriarToolbar</item> - <item name="colorPrimary">@color/briar_primary</item> - <item name="colorPrimaryDark">@color/briar_primary_dark</item> - <item name="colorAccent">@color/briar_primary</item> - <item name="android:textColorPrimary">@color/briar_text_primary</item> - <item name="android:textColorPrimaryInverse">@color/briar_text_primary_inverse</item> - <item name="android:textColorSecondary">@color/briar_text_primary</item> - <item name="android:textColorLink">@color/briar_text_link</item> - </style> - - <style name="BriarThemeNoActionBar.Default" /> - - <style name="BriarToolbar" parent="Widget.AppCompat.Toolbar"> - <item name="android:background">?colorPrimary</item> - <item name="android:textColorPrimary">@color/briar_text_primary_inverse</item> - <item name="android:textSize">@dimen/text_size_medium</item> - <item name="colorPrimary">@color/briar_primary</item> - <item name="titleTextAppearance">@style/BriarToolbarTextAppearance</item> - <item name="android:theme">@style/BriarToolbarTheme</item> - </style> - - <style name="BriarToolbarTheme"> - <item name="colorControlNormal">@color/briar_text_primary_inverse</item> - </style> - - <style name="BriarToolbarTextAppearance" parent="TextAppearance.Widget.AppCompat.Toolbar.Title"> - <item name="android:textColor">@color/briar_text_primary_inverse</item> - </style> - - <style name="BriarTheme" parent="BriarBaseTheme"> - <item name="preferenceTheme">@style/PreferenceThemeOverlay</item> - <item name="android:listSeparatorTextViewStyle">@style/BriarTheme.ListSeparatorTextView</item> - </style> - - <style name="BriarActionBar" parent="Base.Widget.AppCompat.Light.ActionBar.Solid"> - <item name="elevation">1dp</item> - </style> - - <style name="BriarButton"> - <item name="android:textSize">@dimen/text_size_medium</item> - <item name="android:padding">@dimen/margin_large</item> - </style> - - <style name="BriarButton.Default"/> - - <style name="BriarTextTitle"> - <item name="android:textSize">@dimen/text_size_medium</item> - <item name="android:textColor">@android:color/primary_text_light</item> - </style> - - <style name="BriarTextTitleInverted" parent="BriarTextTitle"> - <item name="android:textColor">@android:color/primary_text_dark</item> - </style> - - <style name="BriarTextBody"> - <item name="android:textSize">@dimen/text_size_small</item> - <item name="android:textColor">@android:color/primary_text_light</item> - </style> - - <style name="Divider"> - <item name="android:background">?android:attr/listDivider</item> - </style> - - <style name="Divider.Horizontal"> - <item name="android:layout_width">match_parent</item> - <item name="android:layout_height">1px</item> - </style> - - <style name="NavMenuButton" parent="Widget.AppCompat.Button.Borderless.Colored"> - <item name="android:textSize">@dimen/text_size_medium</item> - <item name="android:textColor">@android:color/tertiary_text_light</item> - <item name="android:paddingTop">@dimen/margin_large</item> - <item name="android:paddingBottom">@dimen/margin_large</item> - <item name="android:drawablePadding">@dimen/margin_xlarge</item> - <item name="android:gravity">left|center_vertical</item> - <item name="android:layout_margin">0dp</item> - <item name="android:paddingLeft">@dimen/margin_large</item> - </style> - - <!-- This fixes a UI bug in the support preference library --> - <style name="BriarTheme.ListSeparatorTextView"> - <item name="android:textSize">14sp</item> - <item name="android:textStyle">bold</item> - <item name="android:textColor">@color/briar_accent</item> - <item name="android:paddingTop">16dp</item> - <item name="android:layout_marginBottom">16dp</item> - </style> + <style name="BriarBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar"> + <item name="actionBarStyle">@style/BriarActionBar</item> + <item name="colorPrimary">@color/briar_primary</item> + <item name="colorPrimaryDark">@color/briar_primary_dark</item> + <item name="colorAccent">@color/briar_accent</item> + <item name="android:textColorPrimary">@color/briar_text_primary</item> + <item name="android:textColorPrimaryInverse">@color/briar_text_primary_inverse</item> + <item name="android:textColorSecondary">@color/briar_text_primary</item> + <item name="android:textColorLink">@color/briar_text_link</item> + </style> + + <style name="BriarThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar"> + <item name="toolbarStyle">@style/BriarToolbar</item> + <item name="colorPrimary">@color/briar_primary</item> + <item name="colorPrimaryDark">@color/briar_primary_dark</item> + <item name="colorAccent">@color/briar_primary</item> + <item name="android:textColorPrimary">@color/briar_text_primary</item> + <item name="android:textColorPrimaryInverse">@color/briar_text_primary_inverse</item> + <item name="android:textColorSecondary">@color/briar_text_primary</item> + <item name="android:textColorLink">@color/briar_text_link</item> + </style> + + <style name="BriarThemeNoActionBar.Default" /> + + <style name="BriarToolbar" parent="Widget.AppCompat.Toolbar"> + <item name="android:background">?colorPrimary</item> + <item name="android:textColorPrimary">@color/briar_text_primary_inverse</item> + <item name="android:textSize">@dimen/text_size_medium</item> + <item name="colorPrimary">@color/briar_primary</item> + <item name="titleTextAppearance">@style/BriarToolbarTextAppearance</item> + <item name="android:theme">@style/BriarToolbarTheme</item> + </style> + + <style name="BriarToolbarTheme"> + <item name="colorControlNormal">@color/briar_text_primary_inverse</item> + </style> + + <style name="BriarToolbarTextAppearance" parent="TextAppearance.Widget.AppCompat.Toolbar.Title"> + <item name="android:textColor">@color/briar_text_primary_inverse</item> + </style> + + <style name="BriarTheme" parent="BriarBaseTheme"> + <item name="preferenceTheme">@style/PreferenceThemeOverlay</item> + <item name="android:listSeparatorTextViewStyle">@style/BriarTheme.ListSeparatorTextView</item> + </style> + + <style name="BriarActionBar" parent="Base.Widget.AppCompat.Light.ActionBar.Solid"> + <item name="elevation">1dp</item> + </style> + + <style name="BriarButton"> + <item name="android:textSize">@dimen/text_size_medium</item> + <item name="android:padding">@dimen/margin_large</item> + </style> + + <style name="BriarButton.Default"/> + + <style name="BriarTextTitle"> + <item name="android:textSize">@dimen/text_size_medium</item> + <item name="android:textColor">@android:color/primary_text_light</item> + </style> + + <style name="BriarTextTitleInverted" parent="BriarTextTitle"> + <item name="android:textColor">@android:color/primary_text_dark</item> + </style> + + <style name="BriarTextBody"> + <item name="android:textSize">@dimen/text_size_small</item> + <item name="android:textColor">@android:color/primary_text_light</item> + </style> + + <style name="Divider"> + <item name="android:background">?android:attr/listDivider</item> + </style> + + <style name="Divider.Horizontal"> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">1px</item> + </style> + + <style name="NavMenuButton" parent="Widget.AppCompat.Button.Borderless.Colored"> + <item name="android:textSize">@dimen/text_size_medium</item> + <item name="android:textColor">@android:color/tertiary_text_light</item> + <item name="android:paddingTop">@dimen/margin_large</item> + <item name="android:paddingBottom">@dimen/margin_large</item> + <item name="android:drawablePadding">@dimen/margin_xlarge</item> + <item name="android:gravity">left|center_vertical</item> + <item name="android:layout_margin">0dp</item> + <item name="android:paddingLeft">@dimen/margin_large</item> + </style> + + <!-- This fixes a UI bug in the support preference library --> + <style name="BriarTheme.ListSeparatorTextView"> + <item name="android:textSize">14sp</item> + <item name="android:textStyle">bold</item> + <item name="android:textColor">@color/briar_accent</item> + <item name="android:paddingTop">16dp</item> + <item name="android:layout_marginBottom">16dp</item> + </style> </resources> \ No newline at end of file diff --git a/briar-android/src/im/delight/android/identicons/AsymmetricIdenticon.java b/briar-android/src/im/delight/android/identicons/AsymmetricIdenticon.java index b1d98d9b35aad0f9294afcb912a07b174510fff8..888b234cc16afe5366aa7be964157ac4c2fb60b6 100644 --- a/briar-android/src/im/delight/android/identicons/AsymmetricIdenticon.java +++ b/briar-android/src/im/delight/android/identicons/AsymmetricIdenticon.java @@ -7,7 +7,7 @@ package im.delight.android.identicons; * 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 + * 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, @@ -28,57 +28,57 @@ import roboguice.RoboGuice; public class AsymmetricIdenticon extends IdenticonView { - @Inject private CryptoComponent mCrypto; - private IdenticonBase mDelegate; - - public AsymmetricIdenticon(Context context) { - super(context); - initDelegate(); - } - - public AsymmetricIdenticon(Context context, AttributeSet attrs) { - super(context, attrs); - initDelegate(); - } - - public AsymmetricIdenticon(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - initDelegate(); - } - - @Override - protected IdenticonBase getDelegate() { - return mDelegate; - } - - private void initDelegate() { - RoboGuice.injectMembers(getContext(), this); - mDelegate = new IdenticonBase() { - @Override - protected CryptoComponent getCrypto() { - return mCrypto; - } - - @Override - protected int getRowCount() { - return 4; - } - - @Override - protected int getColumnCount() { - return 4; - } - - @Override - protected boolean isCellVisible(int row, int column) { - return getByte(3 + row * getColumnCount() + column) >= 0; - } - - @Override - protected int getIconColor() { - return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128); - } - }; - } + @Inject private CryptoComponent mCrypto; + private IdenticonBase mDelegate; + + public AsymmetricIdenticon(Context context) { + super(context); + initDelegate(); + } + + public AsymmetricIdenticon(Context context, AttributeSet attrs) { + super(context, attrs); + initDelegate(); + } + + public AsymmetricIdenticon(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initDelegate(); + } + + @Override + protected IdenticonBase getDelegate() { + return mDelegate; + } + + private void initDelegate() { + RoboGuice.injectMembers(getContext(), this); + mDelegate = new IdenticonBase() { + @Override + protected CryptoComponent getCrypto() { + return mCrypto; + } + + @Override + protected int getRowCount() { + return 4; + } + + @Override + protected int getColumnCount() { + return 4; + } + + @Override + protected boolean isCellVisible(int row, int column) { + return getByte(3 + row * getColumnCount() + column) >= 0; + } + + @Override + protected int getIconColor() { + return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128); + } + }; + } } diff --git a/briar-android/src/im/delight/android/identicons/IdenticonBase.java b/briar-android/src/im/delight/android/identicons/IdenticonBase.java index f5ccc90e4456f458ef07edbb2f4319efb8f16374..59c842c122874030a56eac4981134480e2c33106 100644 --- a/briar-android/src/im/delight/android/identicons/IdenticonBase.java +++ b/briar-android/src/im/delight/android/identicons/IdenticonBase.java @@ -10,118 +10,118 @@ import org.briarproject.api.crypto.CryptoComponent; * Created by saiimons on 05/10/14. */ public abstract class IdenticonBase { - private final CryptoComponent mCrypto; - private final int mRowCount; - private final int mColumnCount; - private final Paint mPaint; - private volatile int mCellWidth; - private volatile int mCellHeight; - private volatile byte[] mHash; - private volatile int[][] mColors; - private volatile boolean mReady; - - public IdenticonBase() { - mCrypto = getCrypto(); - mRowCount = getRowCount(); - mColumnCount = getColumnCount(); - mPaint = new Paint(); - - mPaint.setStyle(Paint.Style.FILL); - mPaint.setAntiAlias(true); - mPaint.setDither(true); - } - - public byte[] getHash(byte[] input) { - byte[] mHash; - // if the input was null - if (input == null) { - // we can't create a hash value and have nothing to show (draw to the view) - mHash = null; - } else { - // generate a hash from the input to get unique but deterministic byte values - try { - mHash = mCrypto.hash(input); - } catch (Exception e) { - mHash = null; - } - } - return mHash; - } - - protected void setupColors() { - mColors = new int[mRowCount][mColumnCount]; - int colorVisible = getIconColor(); - int colorInvisible = getBackgroundColor(); - - for (int r = 0; r < mRowCount; r++) { - for (int c = 0; c < mColumnCount; c++) { - if (isCellVisible(r, c)) { - mColors[r][c] = colorVisible; - } else { - mColors[r][c] = colorInvisible; - } - } - } - } - - public void show(byte[] input) { - if(input != null) { - mHash = getHash(input); - } else { - mHash = null; - } - // set up the cell colors according to the input that was provided via show(...) - setupColors(); - - // this view may now be drawn (and thus must be re-drawn) - mReady = true; - } - - public byte getByte(int index) { - if (mHash == null) { - return -128; - } else { - return mHash[index % mHash.length]; - } - } - - abstract protected CryptoComponent getCrypto(); - - abstract protected int getRowCount(); - - abstract protected int getColumnCount(); - - abstract protected boolean isCellVisible(int row, int column); - - abstract protected int getIconColor(); - - protected int getBackgroundColor() { - float[] hsv = new float[3]; - Color.colorToHSV(getIconColor(), hsv); - if (hsv[2] < 0.5) - return Color.parseColor("#ffeeeeee"); // @color/background_material_light - else - return Color.parseColor("#ff303030"); // @color/background_material_dark - } - - public void updateSize(int w, int h) { - mCellWidth = w / mColumnCount; - mCellHeight = h / mRowCount; - } - - protected void draw(Canvas canvas) { - if (mReady) { - int x, y; - for (int r = 0; r < mRowCount; r++) { - for (int c = 0; c < mColumnCount; c++) { - x = mCellWidth * c; - y = mCellHeight * r; - - mPaint.setColor(mColors[r][c]); - - canvas.drawRect(x, y + mCellHeight, x + mCellWidth, y, mPaint); - } - } - } - } + private final CryptoComponent mCrypto; + private final int mRowCount; + private final int mColumnCount; + private final Paint mPaint; + private volatile int mCellWidth; + private volatile int mCellHeight; + private volatile byte[] mHash; + private volatile int[][] mColors; + private volatile boolean mReady; + + public IdenticonBase() { + mCrypto = getCrypto(); + mRowCount = getRowCount(); + mColumnCount = getColumnCount(); + mPaint = new Paint(); + + mPaint.setStyle(Paint.Style.FILL); + mPaint.setAntiAlias(true); + mPaint.setDither(true); + } + + public byte[] getHash(byte[] input) { + byte[] mHash; + // if the input was null + if (input == null) { + // we can't create a hash value and have nothing to show (draw to the view) + mHash = null; + } else { + // generate a hash from the input to get unique but deterministic byte values + try { + mHash = mCrypto.hash(input); + } catch (Exception e) { + mHash = null; + } + } + return mHash; + } + + protected void setupColors() { + mColors = new int[mRowCount][mColumnCount]; + int colorVisible = getIconColor(); + int colorInvisible = getBackgroundColor(); + + for (int r = 0; r < mRowCount; r++) { + for (int c = 0; c < mColumnCount; c++) { + if (isCellVisible(r, c)) { + mColors[r][c] = colorVisible; + } else { + mColors[r][c] = colorInvisible; + } + } + } + } + + public void show(byte[] input) { + if(input != null) { + mHash = getHash(input); + } else { + mHash = null; + } + // set up the cell colors according to the input that was provided via show(...) + setupColors(); + + // this view may now be drawn (and thus must be re-drawn) + mReady = true; + } + + public byte getByte(int index) { + if (mHash == null) { + return -128; + } else { + return mHash[index % mHash.length]; + } + } + + abstract protected CryptoComponent getCrypto(); + + abstract protected int getRowCount(); + + abstract protected int getColumnCount(); + + abstract protected boolean isCellVisible(int row, int column); + + abstract protected int getIconColor(); + + protected int getBackgroundColor() { + float[] hsv = new float[3]; + Color.colorToHSV(getIconColor(), hsv); + if (hsv[2] < 0.5) + return Color.parseColor("#ffeeeeee"); // @color/background_material_light + else + return Color.parseColor("#ff303030"); // @color/background_material_dark + } + + public void updateSize(int w, int h) { + mCellWidth = w / mColumnCount; + mCellHeight = h / mRowCount; + } + + protected void draw(Canvas canvas) { + if (mReady) { + int x, y; + for (int r = 0; r < mRowCount; r++) { + for (int c = 0; c < mColumnCount; c++) { + x = mCellWidth * c; + y = mCellHeight * r; + + mPaint.setColor(mColors[r][c]); + + canvas.drawRect(x, y + mCellHeight, x + mCellWidth, y, mPaint); + } + } + } + } } diff --git a/briar-android/src/im/delight/android/identicons/IdenticonDrawable.java b/briar-android/src/im/delight/android/identicons/IdenticonDrawable.java index 6c78367f9e8fa45f0bbe9f7b4d2fd6dc2b67fa21..135c1029e0f6d11db3ba6fb48513ee87370b9439 100644 --- a/briar-android/src/im/delight/android/identicons/IdenticonDrawable.java +++ b/briar-android/src/im/delight/android/identicons/IdenticonDrawable.java @@ -13,90 +13,90 @@ import org.briarproject.api.crypto.CryptoComponent; * Created by saiimons on 05/10/14. */ public class IdenticonDrawable extends Drawable { - private IdenticonBase mDelegate; - - private static final int CENTER_COLUMN_INDEX = 5; - - public IdenticonDrawable(final CryptoComponent crypto, byte[] toShow) { - super(); - mDelegate = new IdenticonBase() { - @Override - protected CryptoComponent getCrypto() { - return crypto; - } - - @Override - protected int getRowCount() { - return 9; - } - - @Override - protected int getColumnCount() { - return 9; - } - - @Override - protected boolean isCellVisible(int row, int column) { - return getByte(3 + row * CENTER_COLUMN_INDEX + getSymmetricColumnIndex(column)) >= 0; - } - - @Override - protected int getIconColor() { - return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128); - } - }; - mDelegate.show(toShow); - } - - @Override - public int getIntrinsicHeight() { - return 200; - } - - @Override - public int getIntrinsicWidth() { - return 200; - } - - @Override - public void setBounds(Rect bounds) { - super.setBounds(bounds); - Log.d("IDENTICON", "SIZE : " + (bounds.right - bounds.left) + " " + (bounds.bottom - bounds.top)); - mDelegate.updateSize(bounds.right - bounds.left, bounds.bottom - bounds.top); - } - - @Override - public void setBounds(int left, int top, int right, int bottom) { - super.setBounds(left, top, right, bottom); - mDelegate.updateSize(right - left, bottom - top); - } - - @Override - public void draw(Canvas canvas) { - Log.d("IDENTICON", "DRAW IN PROGRESS"); - mDelegate.draw(canvas); - } - - @Override - public void setAlpha(int alpha) { - - } - - @Override - public void setColorFilter(ColorFilter cf) { - - } - - @Override - public int getOpacity() { - return 0; - } - - protected int getSymmetricColumnIndex(int row) { - if (row < CENTER_COLUMN_INDEX) { - return row; - } else { - return mDelegate.getColumnCount() - row - 1; - } - } + private IdenticonBase mDelegate; + + private static final int CENTER_COLUMN_INDEX = 5; + + public IdenticonDrawable(final CryptoComponent crypto, byte[] toShow) { + super(); + mDelegate = new IdenticonBase() { + @Override + protected CryptoComponent getCrypto() { + return crypto; + } + + @Override + protected int getRowCount() { + return 9; + } + + @Override + protected int getColumnCount() { + return 9; + } + + @Override + protected boolean isCellVisible(int row, int column) { + return getByte(3 + row * CENTER_COLUMN_INDEX + getSymmetricColumnIndex(column)) >= 0; + } + + @Override + protected int getIconColor() { + return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128); + } + }; + mDelegate.show(toShow); + } + + @Override + public int getIntrinsicHeight() { + return 200; + } + + @Override + public int getIntrinsicWidth() { + return 200; + } + + @Override + public void setBounds(Rect bounds) { + super.setBounds(bounds); + Log.d("IDENTICON", "SIZE : " + (bounds.right - bounds.left) + " " + (bounds.bottom - bounds.top)); + mDelegate.updateSize(bounds.right - bounds.left, bounds.bottom - bounds.top); + } + + @Override + public void setBounds(int left, int top, int right, int bottom) { + super.setBounds(left, top, right, bottom); + mDelegate.updateSize(right - left, bottom - top); + } + + @Override + public void draw(Canvas canvas) { + Log.d("IDENTICON", "DRAW IN PROGRESS"); + mDelegate.draw(canvas); + } + + @Override + public void setAlpha(int alpha) { + + } + + @Override + public void setColorFilter(ColorFilter cf) { + + } + + @Override + public int getOpacity() { + return 0; + } + + protected int getSymmetricColumnIndex(int row) { + if (row < CENTER_COLUMN_INDEX) { + return row; + } else { + return mDelegate.getColumnCount() - row - 1; + } + } } diff --git a/briar-android/src/im/delight/android/identicons/IdenticonView.java b/briar-android/src/im/delight/android/identicons/IdenticonView.java index 32a4f863c05b4fabcfbea60041342aa9c6da9195..6ae08ce9ab0b892851f4fb0dee1ee872a5956c0a 100644 --- a/briar-android/src/im/delight/android/identicons/IdenticonView.java +++ b/briar-android/src/im/delight/android/identicons/IdenticonView.java @@ -7,7 +7,7 @@ package im.delight.android.identicons; * 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 + * 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, @@ -26,97 +26,97 @@ import android.view.View; abstract public class IdenticonView extends View { - public IdenticonView(Context context) { - super(context); - init(); - } - - public IdenticonView(Context context, AttributeSet attrs) { - super(context, attrs); - init(); - } - - public IdenticonView(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - init(); - } - - @SuppressLint("NewApi") - protected void init() { - setWillNotDraw(false); - if (Build.VERSION.SDK_INT >= 11) { - setLayerType(View.LAYER_TYPE_SOFTWARE, null); - } - } - - public void show(byte[] input) { - getDelegate().show(input); - invalidate(); - } - - public void show(String input) { - show(input.getBytes()); - } - - public void show(int input) { - show(String.valueOf(input)); - } - - public void show(long input) { - show(String.valueOf(input)); - } - - public void show(float input) { - show(String.valueOf(input)); - } - - public void show(double input) { - show(String.valueOf(input)); - } - - public void show(byte input) { - show(new byte[] { input }); - } - - public void show(char input) { - show(String.valueOf(input)); - } - - public void show(boolean input) { - show(String.valueOf(input)); - } - - public void show(Object input) { - if (input == null) { - getDelegate().show(null); - } else { - show(String.valueOf(input)); - } - } - - protected byte getByte(int index) { - return getDelegate().getByte(index); - } - - abstract protected IdenticonBase getDelegate(); - - @Override - protected void onSizeChanged(int w, int h, int oldw, int oldh) { - super.onSizeChanged(w, h, oldw, oldh); - getDelegate().updateSize(w, h); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - int size = Math.min(getMeasuredWidth(), getMeasuredHeight()); - setMeasuredDimension(size, size); - } - - @Override - protected void onDraw(Canvas canvas) { - super.onDraw(canvas); - getDelegate().draw(canvas); - } + public IdenticonView(Context context) { + super(context); + init(); + } + + public IdenticonView(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } + + public IdenticonView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + @SuppressLint("NewApi") + protected void init() { + setWillNotDraw(false); + if (Build.VERSION.SDK_INT >= 11) { + setLayerType(View.LAYER_TYPE_SOFTWARE, null); + } + } + + public void show(byte[] input) { + getDelegate().show(input); + invalidate(); + } + + public void show(String input) { + show(input.getBytes()); + } + + public void show(int input) { + show(String.valueOf(input)); + } + + public void show(long input) { + show(String.valueOf(input)); + } + + public void show(float input) { + show(String.valueOf(input)); + } + + public void show(double input) { + show(String.valueOf(input)); + } + + public void show(byte input) { + show(new byte[] { input }); + } + + public void show(char input) { + show(String.valueOf(input)); + } + + public void show(boolean input) { + show(String.valueOf(input)); + } + + public void show(Object input) { + if (input == null) { + getDelegate().show(null); + } else { + show(String.valueOf(input)); + } + } + + protected byte getByte(int index) { + return getDelegate().getByte(index); + } + + abstract protected IdenticonBase getDelegate(); + + @Override + protected void onSizeChanged(int w, int h, int oldw, int oldh) { + super.onSizeChanged(w, h, oldw, oldh); + getDelegate().updateSize(w, h); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + int size = Math.min(getMeasuredWidth(), getMeasuredHeight()); + setMeasuredDimension(size, size); + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + getDelegate().draw(canvas); + } } diff --git a/briar-android/src/im/delight/android/identicons/SymmetricIdenticon.java b/briar-android/src/im/delight/android/identicons/SymmetricIdenticon.java index f102e45f4bdef4f385c5bb12b23c27d6415c1e06..875cbe9ad12131fc9a0cc8386bbd301d4fe5bc5f 100644 --- a/briar-android/src/im/delight/android/identicons/SymmetricIdenticon.java +++ b/briar-android/src/im/delight/android/identicons/SymmetricIdenticon.java @@ -7,7 +7,7 @@ package im.delight.android.identicons; * 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 + * 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, @@ -28,67 +28,67 @@ import roboguice.RoboGuice; public class SymmetricIdenticon extends IdenticonView { - private static final int CENTER_COLUMN_INDEX = 5; - - @Inject private CryptoComponent mCrypto; - private IdenticonBase mDelegate; - - public SymmetricIdenticon(Context context) { - super(context); - initDelegate(); - } - - public SymmetricIdenticon(Context context, AttributeSet attrs) { - super(context, attrs); - initDelegate(); - } - - public SymmetricIdenticon(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - initDelegate(); - } - - private void initDelegate() { - RoboGuice.injectMembers(getContext(), this); - mDelegate = new IdenticonBase() { - @Override - protected CryptoComponent getCrypto() { - return mCrypto; - } - - @Override - protected int getRowCount() { - return 9; - } - - @Override - protected int getColumnCount() { - return 9; - } - - @Override - protected boolean isCellVisible(int row, int column) { - return getByte(3 + row * CENTER_COLUMN_INDEX + getSymmetricColumnIndex(column)) >= 0; - } - - @Override - protected int getIconColor() { - return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128); - } - }; - } - - @Override - protected IdenticonBase getDelegate() { - return mDelegate; - } - - protected int getSymmetricColumnIndex(int row) { - if (row < CENTER_COLUMN_INDEX) { - return row; - } else { - return getDelegate().getColumnCount() - row - 1; - } - } + private static final int CENTER_COLUMN_INDEX = 5; + + @Inject private CryptoComponent mCrypto; + private IdenticonBase mDelegate; + + public SymmetricIdenticon(Context context) { + super(context); + initDelegate(); + } + + public SymmetricIdenticon(Context context, AttributeSet attrs) { + super(context, attrs); + initDelegate(); + } + + public SymmetricIdenticon(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initDelegate(); + } + + private void initDelegate() { + RoboGuice.injectMembers(getContext(), this); + mDelegate = new IdenticonBase() { + @Override + protected CryptoComponent getCrypto() { + return mCrypto; + } + + @Override + protected int getRowCount() { + return 9; + } + + @Override + protected int getColumnCount() { + return 9; + } + + @Override + protected boolean isCellVisible(int row, int column) { + return getByte(3 + row * CENTER_COLUMN_INDEX + getSymmetricColumnIndex(column)) >= 0; + } + + @Override + protected int getIconColor() { + return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128); + } + }; + } + + @Override + protected IdenticonBase getDelegate() { + return mDelegate; + } + + protected int getSymmetricColumnIndex(int row) { + if (row < CENTER_COLUMN_INDEX) { + return row; + } else { + return getDelegate().getColumnCount() - row - 1; + } + } } diff --git a/briar-api/build.gradle b/briar-api/build.gradle index 4e5787800e789e0197be21e895e3b690a7477a93..bd5a6609387874ca28bf41e0098150fdc7fa7e39 100644 --- a/briar-api/build.gradle +++ b/briar-api/build.gradle @@ -5,25 +5,25 @@ targetCompatibility = 1.6 apply plugin: 'witness' repositories { - jcenter() + jcenter() } dependencies { - compile "javax.inject:javax.inject:1" - compile "com.google.inject:guice:3.0:no_aop" + compile "javax.inject:javax.inject:1" + compile "com.google.inject:guice:3.0:no_aop" } dependencyVerification { - verify = [ - 'javax.inject:javax.inject:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff', - 'com.google.inject:guice:7c0624d0986ae2bd7a8f1cf4789bcaae5b82a042a7e3d27ba3041ed7b7f2cd3a', - 'aopalliance:aopalliance:0addec670fedcd3f113c5c8091d783280d23f75e3acb841b61a9cdb079376a08', - 'org.sonatype.sisu.inject:cglib:42e1dfb26becbf1a633f25b47e39fcc422b85e77e4c0468d9a44f885f5fa0be2', - 'asm:asm:333ff5369043975b7e031b8b27206937441854738e038c1f47f98d072a20437a', - ] + verify = [ + 'javax.inject:javax.inject:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff', + 'com.google.inject:guice:7c0624d0986ae2bd7a8f1cf4789bcaae5b82a042a7e3d27ba3041ed7b7f2cd3a', + 'aopalliance:aopalliance:0addec670fedcd3f113c5c8091d783280d23f75e3acb841b61a9cdb079376a08', + 'org.sonatype.sisu.inject:cglib:42e1dfb26becbf1a633f25b47e39fcc422b85e77e4c0468d9a44f885f5fa0be2', + 'asm:asm:333ff5369043975b7e031b8b27206937441854738e038c1f47f98d072a20437a', + ] } sourceSets { - main.java.srcDirs = ['src'] - main.resources.srcDirs = ['src'] + main.java.srcDirs = ['src'] + main.resources.srcDirs = ['src'] } diff --git a/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java b/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java index 51bcbda4fb020565d4e793fe63e5d950b80f2388..8066c196f637357f5b03b13f7e8c2392ed88e057 100644 --- a/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java +++ b/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java @@ -12,7 +12,7 @@ public class MessagesSentEvent extends Event { private final Collection<MessageId> messageIds; public MessagesSentEvent(ContactId contactId, - Collection<MessageId> messageIds) { + Collection<MessageId> messageIds) { this.contactId = contactId; this.messageIds = messageIds; } diff --git a/briar-core/build.gradle b/briar-core/build.gradle index 67c2f28d1a3dbfb23dfe9662b8132a3a50c63ffc..7fe4201a76c6f6e93d5f4aa4857015fcdf92e0cf 100644 --- a/briar-core/build.gradle +++ b/briar-core/build.gradle @@ -5,24 +5,24 @@ targetCompatibility = 1.6 apply plugin: 'witness' repositories { - jcenter() + jcenter() } dependencies { - compile project(':briar-api') - compile fileTree(dir: 'libs', include: '*.jar') - compile "com.madgag.spongycastle:core:1.54.0.0" - compile "com.h2database:h2:1.4.190" + compile project(':briar-api') + compile fileTree(dir: 'libs', include: '*.jar') + compile "com.madgag.spongycastle:core:1.54.0.0" + compile "com.h2database:h2:1.4.190" } dependencyVerification { - verify = [ - 'com.madgag.spongycastle:core:1e7fa4b19ccccd1011364ab838d0b4702470c178bbbdd94c5c90b2d4d749ea1e', - 'com.h2database:h2:23ba495a07bbbb3bd6c3084d10a96dad7a23741b8b6d64b213459a784195a98c', - ] + verify = [ + 'com.madgag.spongycastle:core:1e7fa4b19ccccd1011364ab838d0b4702470c178bbbdd94c5c90b2d4d749ea1e', + 'com.h2database:h2:23ba495a07bbbb3bd6c3084d10a96dad7a23741b8b6d64b213459a784195a98c', + ] } sourceSets { - main.java.srcDirs = ['src'] - main.resources.srcDirs = ['src'] + main.java.srcDirs = ['src'] + main.resources.srcDirs = ['src'] } diff --git a/briar-desktop/build.gradle b/briar-desktop/build.gradle index 27528796df554ad152eab55ed91fa3f5c72f7759..d8b4ccacb9a128bc4b1240f72c2404da36b5bae6 100644 --- a/briar-desktop/build.gradle +++ b/briar-desktop/build.gradle @@ -5,17 +5,17 @@ targetCompatibility = 1.6 apply plugin: 'witness' repositories { - jcenter() + jcenter() } dependencies { - compile project(':briar-api') - compile fileTree(dir: '../briar-core/libs', include: '*.jar') - compile project(':briar-core') - compile fileTree(dir: 'libs', include: '*.jar') + compile project(':briar-api') + compile fileTree(dir: '../briar-core/libs', include: '*.jar') + compile project(':briar-core') + compile fileTree(dir: 'libs', include: '*.jar') } sourceSets { - main.java.srcDirs = ['src'] - main.resources.srcDirs = ['src'] + main.java.srcDirs = ['src'] + main.resources.srcDirs = ['src'] } diff --git a/briar-tests/build.gradle b/briar-tests/build.gradle index eb10dd05df71fadc4d36264a0addf0aca6a9fd39..afa7bbb2e4659437640dab09727142e93431ad72 100644 --- a/briar-tests/build.gradle +++ b/briar-tests/build.gradle @@ -5,37 +5,37 @@ targetCompatibility = 1.6 apply plugin: 'witness' repositories { - jcenter() + jcenter() } dependencies { - compile project(':briar-api') - compile project(':briar-core') - compile fileTree(dir: '../briar-desktop/libs', include: '*.jar') - compile project(':briar-desktop') + compile project(':briar-api') + compile project(':briar-core') + compile fileTree(dir: '../briar-desktop/libs', include: '*.jar') + compile project(':briar-desktop') - compile "junit:junit:4.12" - compile "org.jmock:jmock:2.8.1" - compile "org.hamcrest:hamcrest-library:1.3" - compile "org.hamcrest:hamcrest-core:1.3" + compile "junit:junit:4.12" + compile "org.jmock:jmock:2.8.1" + compile "org.hamcrest:hamcrest-library:1.3" + compile "org.hamcrest:hamcrest-core:1.3" } dependencyVerification { - verify = [ - 'junit:junit:59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a', - 'org.jmock:jmock:75d4bdaf636879f0215830c5e6ab99407069a625eaffde5d57b32d887b75dc14', - 'org.hamcrest:hamcrest-library:711d64522f9ec410983bd310934296da134be4254a125080a0416ec178dfad1c', - 'org.hamcrest:hamcrest-core:66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9', - ] + verify = [ + 'junit:junit:59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a', + 'org.jmock:jmock:75d4bdaf636879f0215830c5e6ab99407069a625eaffde5d57b32d887b75dc14', + 'org.hamcrest:hamcrest-library:711d64522f9ec410983bd310934296da134be4254a125080a0416ec178dfad1c', + 'org.hamcrest:hamcrest-core:66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9', + ] } sourceSets { - main.java.srcDirs = ['src'] - main.resources.srcDirs = ['src'] - test.java.srcDirs = ['src'] - test.resources.srcDirs = ['src'] + main.java.srcDirs = ['src'] + main.resources.srcDirs = ['src'] + test.java.srcDirs = ['src'] + test.resources.srcDirs = ['src'] } tasks.withType(Test) { - systemProperty 'java.library.path', '../briar-desktop/libs' + systemProperty 'java.library.path', '../briar-desktop/libs' } diff --git a/build.gradle b/build.gradle index 98a1101ba91104e5cd0ef505f80d8f4c5a67007c..614bca7eb459516fce2e087bb37cff0783c97a6b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,10 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - repositories { - mavenCentral() - } - dependencies { - classpath 'com.android.tools.build:gradle:1.5.0' - classpath files('briar-core/libs/gradle-witness.jar') - } + repositories { + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.5.0' + classpath files('briar-core/libs/gradle-witness.jar') + } } \ No newline at end of file