mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 18:59:06 +01:00
Giant whitespace-only indentation patch.
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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.** { *; }
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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"
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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"/>
|
||||
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"/>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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="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" 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="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="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="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="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="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="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">
|
||||
<item name="android:textSize">@dimen/text_size_medium</item>
|
||||
<item name="android:padding">@dimen/margin_large</item>
|
||||
</style>
|
||||
|
||||
<style name="BriarButton.Default"/>
|
||||
<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="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="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="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">
|
||||
<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="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>
|
||||
<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>
|
||||
<!-- 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>
|
||||
@@ -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;
|
||||
@Inject private CryptoComponent mCrypto;
|
||||
private IdenticonBase mDelegate;
|
||||
|
||||
public AsymmetricIdenticon(Context context) {
|
||||
super(context);
|
||||
initDelegate();
|
||||
}
|
||||
public AsymmetricIdenticon(Context context) {
|
||||
super(context);
|
||||
initDelegate();
|
||||
}
|
||||
|
||||
public AsymmetricIdenticon(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
initDelegate();
|
||||
}
|
||||
public AsymmetricIdenticon(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
initDelegate();
|
||||
}
|
||||
|
||||
public AsymmetricIdenticon(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
initDelegate();
|
||||
}
|
||||
public AsymmetricIdenticon(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
initDelegate();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IdenticonBase getDelegate() {
|
||||
return mDelegate;
|
||||
}
|
||||
@Override
|
||||
protected IdenticonBase getDelegate() {
|
||||
return mDelegate;
|
||||
}
|
||||
|
||||
private void initDelegate() {
|
||||
RoboGuice.injectMembers(getContext(), this);
|
||||
mDelegate = new IdenticonBase() {
|
||||
@Override
|
||||
protected CryptoComponent getCrypto() {
|
||||
return mCrypto;
|
||||
}
|
||||
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 getRowCount() {
|
||||
return 4;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getColumnCount() {
|
||||
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 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);
|
||||
}
|
||||
};
|
||||
}
|
||||
@Override
|
||||
protected int getIconColor() {
|
||||
return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
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();
|
||||
public IdenticonBase() {
|
||||
mCrypto = getCrypto();
|
||||
mRowCount = getRowCount();
|
||||
mColumnCount = getColumnCount();
|
||||
mPaint = new Paint();
|
||||
|
||||
mPaint.setStyle(Paint.Style.FILL);
|
||||
mPaint.setAntiAlias(true);
|
||||
mPaint.setDither(true);
|
||||
}
|
||||
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;
|
||||
}
|
||||
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();
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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();
|
||||
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;
|
||||
}
|
||||
// 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];
|
||||
}
|
||||
}
|
||||
public byte getByte(int index) {
|
||||
if (mHash == null) {
|
||||
return -128;
|
||||
} else {
|
||||
return mHash[index % mHash.length];
|
||||
}
|
||||
}
|
||||
|
||||
abstract protected CryptoComponent getCrypto();
|
||||
abstract protected CryptoComponent getCrypto();
|
||||
|
||||
abstract protected int getRowCount();
|
||||
abstract protected int getRowCount();
|
||||
|
||||
abstract protected int getColumnCount();
|
||||
abstract protected int getColumnCount();
|
||||
|
||||
abstract protected boolean isCellVisible(int row, int column);
|
||||
abstract protected boolean isCellVisible(int row, int column);
|
||||
|
||||
abstract protected int getIconColor();
|
||||
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
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
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]);
|
||||
mPaint.setColor(mColors[r][c]);
|
||||
|
||||
canvas.drawRect(x, y + mCellHeight, x + mCellWidth, y, mPaint);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
canvas.drawRect(x, y + mCellHeight, x + mCellWidth, y, mPaint);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 IdenticonBase mDelegate;
|
||||
|
||||
private static final int CENTER_COLUMN_INDEX = 5;
|
||||
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;
|
||||
}
|
||||
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 getRowCount() {
|
||||
return 9;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getColumnCount() {
|
||||
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 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
|
||||
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 getIntrinsicHeight() {
|
||||
return 200;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIntrinsicWidth() {
|
||||
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(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 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 draw(Canvas canvas) {
|
||||
Log.d("IDENTICON", "DRAW IN PROGRESS");
|
||||
mDelegate.draw(canvas);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAlpha(int alpha) {
|
||||
@Override
|
||||
public void setAlpha(int alpha) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColorFilter(ColorFilter cf) {
|
||||
@Override
|
||||
public void setColorFilter(ColorFilter cf) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOpacity() {
|
||||
return 0;
|
||||
}
|
||||
@Override
|
||||
public int getOpacity() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
protected int getSymmetricColumnIndex(int row) {
|
||||
if (row < CENTER_COLUMN_INDEX) {
|
||||
return row;
|
||||
} else {
|
||||
return mDelegate.getColumnCount() - row - 1;
|
||||
}
|
||||
}
|
||||
protected int getSymmetricColumnIndex(int row) {
|
||||
if (row < CENTER_COLUMN_INDEX) {
|
||||
return row;
|
||||
} else {
|
||||
return mDelegate.getColumnCount() - row - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
public IdenticonView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
public IdenticonView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
public IdenticonView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
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);
|
||||
}
|
||||
}
|
||||
@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(byte[] input) {
|
||||
getDelegate().show(input);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void show(String input) {
|
||||
show(input.getBytes());
|
||||
}
|
||||
public void show(String input) {
|
||||
show(input.getBytes());
|
||||
}
|
||||
|
||||
public void show(int input) {
|
||||
show(String.valueOf(input));
|
||||
}
|
||||
public void show(int input) {
|
||||
show(String.valueOf(input));
|
||||
}
|
||||
|
||||
public void show(long 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(float input) {
|
||||
show(String.valueOf(input));
|
||||
}
|
||||
|
||||
public void show(double 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(byte input) {
|
||||
show(new byte[] { input });
|
||||
}
|
||||
|
||||
public void show(char input) {
|
||||
show(String.valueOf(input));
|
||||
}
|
||||
public void show(char input) {
|
||||
show(String.valueOf(input));
|
||||
}
|
||||
|
||||
public void show(boolean 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));
|
||||
}
|
||||
}
|
||||
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);
|
||||
}
|
||||
protected byte getByte(int index) {
|
||||
return getDelegate().getByte(index);
|
||||
}
|
||||
|
||||
abstract protected IdenticonBase getDelegate();
|
||||
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 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 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);
|
||||
}
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
super.onDraw(canvas);
|
||||
getDelegate().draw(canvas);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
private static final int CENTER_COLUMN_INDEX = 5;
|
||||
|
||||
@Inject private CryptoComponent mCrypto;
|
||||
private IdenticonBase mDelegate;
|
||||
@Inject private CryptoComponent mCrypto;
|
||||
private IdenticonBase mDelegate;
|
||||
|
||||
public SymmetricIdenticon(Context context) {
|
||||
super(context);
|
||||
initDelegate();
|
||||
}
|
||||
public SymmetricIdenticon(Context context) {
|
||||
super(context);
|
||||
initDelegate();
|
||||
}
|
||||
|
||||
public SymmetricIdenticon(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
initDelegate();
|
||||
}
|
||||
public SymmetricIdenticon(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
initDelegate();
|
||||
}
|
||||
|
||||
public SymmetricIdenticon(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
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;
|
||||
}
|
||||
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 getRowCount() {
|
||||
return 9;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getColumnCount() {
|
||||
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 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 int getIconColor() {
|
||||
return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IdenticonBase getDelegate() {
|
||||
return mDelegate;
|
||||
}
|
||||
@Override
|
||||
protected IdenticonBase getDelegate() {
|
||||
return mDelegate;
|
||||
}
|
||||
|
||||
protected int getSymmetricColumnIndex(int row) {
|
||||
if (row < CENTER_COLUMN_INDEX) {
|
||||
return row;
|
||||
} else {
|
||||
return getDelegate().getColumnCount() - row - 1;
|
||||
}
|
||||
}
|
||||
protected int getSymmetricColumnIndex(int row) {
|
||||
if (row < CENTER_COLUMN_INDEX) {
|
||||
return row;
|
||||
} else {
|
||||
return getDelegate().getColumnCount() - row - 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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']
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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']
|
||||
}
|
||||
|
||||
@@ -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']
|
||||
}
|
||||
|
||||
@@ -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'
|
||||
}
|
||||
|
||||
14
build.gradle
14
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')
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user