diff --git a/briar-android/build.gradle b/briar-android/build.gradle index 52dff78ec10c4ff8c47161b06368aec6d366b113..940f8cea52e11692be90efb1d457689b880bc034 100644 --- a/briar-android/build.gradle +++ b/briar-android/build.gradle @@ -134,8 +134,10 @@ android { } lintOptions { - abortOnError false + warning 'MissingTranslation' + warning 'ImpliedQuantity' } + dexOptions { incremental true } diff --git a/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml b/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml index 4ae967f280bb44f0310fa97080806e11eb7ebb62..a5919e47f5a5c36f9280fccd72a093484634df23 100644 --- a/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml +++ b/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml @@ -6,8 +6,6 @@ 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" diff --git a/briar-android/res/layout/invitation_bluetooth_invitation_code.xml b/briar-android/res/layout/invitation_bluetooth_invitation_code.xml index c5f101d86f0f434ab77f569bb3d22d613fad5ca8..9f8aaa9e4a21bf4633d17f8ca8dce5ee834788be 100644 --- a/briar-android/res/layout/invitation_bluetooth_invitation_code.xml +++ b/briar-android/res/layout/invitation_bluetooth_invitation_code.xml @@ -6,8 +6,6 @@ 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" diff --git a/briar-android/res/values-de/strings.xml b/briar-android/res/values-de/strings.xml index 4275faf7a658c1915edb24c71bf4c6b6d23d17cf..1dd58f1f0145185def0b910c42049470cfc4898c 100644 --- a/briar-android/res/values-de/strings.xml +++ b/briar-android/res/values-de/strings.xml @@ -4,7 +4,6 @@ <string name="crash_report_title">Briar-Absturzberichte</string> <string name="feedback_title">Feedback</string> <string name="optional_contact_email">Optionale Kontaktemail</string> - <string name="include_debug_report">Absturzbericht anhängen?</string> <string name="could_not_load_report_data">Konnte Daten des Berichts nicht laden</string> <string name="ongoing_notification_title">In Briar angemeldet</string> <string name="setup_title">Briar einrichten</string> @@ -50,7 +49,6 @@ <string name="create_identity_button">Identität erstellen</string> <string name="identity_created_toast">Identität wurde erstellt</string> <string name="forum_post_hint">Forenbeitrag eingeben</string> - <string name="available_forums_title">Verfügbare Foren</string> <string name="forum_declined_toast">Foreneinladung abgelehnt</string> <string name="shared_by_format">Geteilt durch %s</string> <string name="forum_shared_by">Geteilt durch</string> @@ -116,7 +114,6 @@ <string name="dialog_title_lost_password">Passwort vergessen</string> <string name="dialog_title_delete_contact">Löschen des Kontakts bestätigen</string> <string name="dialog_title_welcome">Willkommen bei Briar</string> - <string name="dialog_title_share_crash_report">Briar ist abgestürzt</string> <string name="dialog_title_leave_forum">Verlassen des Forums bestätigen</string> <string name="dialog_button_ok">OK</string> <string name="dialog_button_leave">Verlassen</string> @@ -127,7 +124,6 @@ <string name="settings_toolbar_header">Einstellungen</string> <string name="contacts_toolbar_header">Kontakte</string> <string name="forums_toolbar_header">Foren</string> - <string name="forums_share_toolbar_header">Kontakte auswählen</string> <!--Progress titles--> <string name="progress_title_please_wait">Bitte warten...</string> <!--Blogs--> diff --git a/briar-android/res/values-ms/strings.xml b/briar-android/res/values-ms/strings.xml index 55f3f3e30f21a9942a52e1f461f7494949203abd..5675ebc92e91be4b54ec89b30a0fd4ce014d97c7 100644 --- a/briar-android/res/values-ms/strings.xml +++ b/briar-android/res/values-ms/strings.xml @@ -48,7 +48,6 @@ <string name="new_identity_item">Identiti baru\u2026</string> <string name="new_identity_title">Identiti baru</string> <string name="identity_created_toast">Identiti telah dicipta</string> - <string name="no_contacts_prompt">Anda tidak mempunyai kenalan. Tambah kenalan sekarang?</string> <string name="add_button">Tambah</string> <string name="cancel_button">Batal</string> <string name="done_button">Selesai</string> diff --git a/briar-android/res/values-pt-rBR/strings.xml b/briar-android/res/values-pt-rBR/strings.xml index 8269ad132fc1f7b03681765abdca413e4de6530a..d616b8feed173a165cf3d4d551e4b7bf77be168a 100644 --- a/briar-android/res/values-pt-rBR/strings.xml +++ b/briar-android/res/values-pt-rBR/strings.xml @@ -8,7 +8,6 @@ <string name="describe_crash">Descreva o que aconteceu</string> <string name="enter_feedback">Digite seu comentário</string> <string name="optional_contact_email">Email de contato opcional</string> - <string name="include_debug_report">Incluir relatório de depuração?</string> <string name="could_not_load_report_data">Não foi possÃvel carregar os dados do relatório.</string> <string name="dev_report_saved">Relatório salvo. Ele será enviado na próxima vez em que você entrar no Briar.</string> <string name="ongoing_notification_title">Conectado ao Briar</string> @@ -220,8 +219,6 @@ <string name="dialog_message_connect_panic_app">Você tem certeza que quer permitir que %1$s ative ações destrutivas do botão de pânico?</string> <string name="dialog_title_welcome">Bem-vindo ao Briar</string> <string name="dialog_welcome_message">Adicione um contato para começar uma comunicação segura ou pressione o Ãcone na parte superior direita da tela para mais opções.</string> - <string name="dialog_title_share_crash_report">Briar encerrou de maneira inesperada</string> - <string name="dialog_message_share_crash_report">Você gostaria de ver o relatório de falha e enviá-lo aos desenvolvedores? Ele será armazenado de maneira criptografada no seu dispositivo até a próxima vez que você entrar no Briar, então será enviado seguramente aos desenvolvedores.</string> <string name="dialog_title_leave_forum">Confirmar saÃda do fórum</string> <string name="dialog_message_leave_forum">Você tem certeza que deseja sair deste fórum? Seus contatos com quem você o compartilhou podem deixar de receber notificações dele.</string> <string name="dialog_button_ok">OK</string> @@ -234,7 +231,6 @@ <string name="settings_toolbar_header">Configurações</string> <string name="contacts_toolbar_header">Contatos</string> <string name="forums_toolbar_header">Fóruns</string> - <string name="forums_share_toolbar_header">Escolher contatos</string> <!--Progress titles--> <string name="progress_title_logout">Desconectando do Briar...</string> <string name="progress_title_please_wait">Por favor, aguarde</string> @@ -271,7 +267,6 @@ Seja o primeiro a postar e clique no Ãcone da caneta para escrever um novo Post <string name="blogs_remove_blog_dialog_message">Você ter certeza que quer deletar esse Blog e todos seus Posts? Note que isso não irá deletar o Blog dos dispositivos de outras pessoas. </string> <string name="blogs_remove_blog_ok">Deletar Blog</string> - <string name="blogs_delete_blog_cancel">Manter</string> <string name="blogs_blog_removed">Blog Deletado</string> <string name="blogs_blog_list">Lista de blogs</string> <string name="blogs_available_blogs">Blogs DisponÃveis </string> diff --git a/briar-android/src/org/briarproject/android/sharing/BlogInvitationAdapter.java b/briar-android/src/org/briarproject/android/sharing/BlogInvitationAdapter.java index 2bcc1bf3519e4ec794dda94a13cf0f508cedf273..78b0e34b6c3fb852efa5c008603e091cde787a94 100644 --- a/briar-android/src/org/briarproject/android/sharing/BlogInvitationAdapter.java +++ b/briar-android/src/org/briarproject/android/sharing/BlogInvitationAdapter.java @@ -24,8 +24,7 @@ class BlogInvitationAdapter extends InvitationAdapter { blog.getAuthor().getName())); if (item.isSubscribed()) { - ui.subscribed.setText(ctx.getString(R.string.blogs_sharing_exists, - blog.getAuthor().getName())); + ui.subscribed.setText(ctx.getString(R.string.blogs_sharing_exists)); } } diff --git a/briar-android/src/org/briarproject/android/util/BriarRecyclerView.java b/briar-android/src/org/briarproject/android/util/BriarRecyclerView.java index 4c68c6fe16cef08716bba9dfcf41fb00293e6310..70ba252cceed578a2c32f2c1ac4e5d88017fda39 100644 --- a/briar-android/src/org/briarproject/android/util/BriarRecyclerView.java +++ b/briar-android/src/org/briarproject/android/util/BriarRecyclerView.java @@ -1,5 +1,6 @@ package org.briarproject.android.util; +import android.annotation.TargetApi; import android.content.Context; import android.content.res.TypedArray; import android.os.Build; @@ -71,24 +72,7 @@ public class BriarRecyclerView extends FrameLayout { // scroll down when opening keyboard if (isScrollingToEnd && Build.VERSION.SDK_INT >= 11) { - recyclerView.addOnLayoutChangeListener( - new View.OnLayoutChangeListener() { - @Override - public void onLayoutChange(View v, int left, int top, - int right, int bottom, int oldLeft, int oldTop, - int oldRight, int oldBottom) { - if (bottom < oldBottom) { - recyclerView.postDelayed(new Runnable() { - @Override - public void run() { - scrollToPosition( - recyclerView.getAdapter() - .getItemCount() - 1); - } - }, 100); - } - } - }); + addLayoutChangeListener(); } emptyObserver = new RecyclerView.AdapterDataObserver() { @@ -97,6 +81,7 @@ public class BriarRecyclerView extends FrameLayout { super.onItemRangeInserted(positionStart, itemCount); if (itemCount > 0) showData(); } + @Override public void onItemRangeRemoved(int positionStart, int itemCount) { super.onItemRangeRemoved(positionStart, itemCount); @@ -105,6 +90,28 @@ public class BriarRecyclerView extends FrameLayout { }; } + @TargetApi(11) + private void addLayoutChangeListener() { + recyclerView.addOnLayoutChangeListener( + new OnLayoutChangeListener() { + @Override + public void onLayoutChange(View v, int left, int top, + int right, int bottom, int oldLeft, int oldTop, + int oldRight, int oldBottom) { + if (bottom < oldBottom) { + recyclerView.postDelayed(new Runnable() { + @Override + public void run() { + scrollToPosition( + recyclerView.getAdapter() + .getItemCount() - 1); + } + }, 100); + } + } + }); + } + public void setLayoutManager(RecyclerView.LayoutManager layout) { if (recyclerView == null) initViews(); recyclerView.setLayoutManager(layout);