1
0
Fork 0
mirror of https://github.com/gsantner/dandelion synced 2024-12-25 20:38:05 +01:00

Merge branch 'master' of github.com:Diaspora-for-Android/diaspora-android

This commit is contained in:
vanitasvitae 2016-06-22 21:43:22 +02:00
commit 971bebde6d
7 changed files with 308 additions and 17 deletions

View file

@ -0,0 +1,102 @@
package com.github.dfa.diaspora_android.ui;
import android.content.Context;
import android.os.Build;
import android.support.design.widget.CoordinatorLayout;
import android.support.v4.view.ViewCompat;
import android.support.v4.view.ViewPropertyAnimatorListener;
import android.support.v4.view.animation.FastOutSlowInInterpolator;
import android.util.AttributeSet;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.LinearLayout;
import com.github.dfa.diaspora_android.R;
/**
* Created by vanitas on 21.06.16.
*/
public class BottomBarBehavior extends CoordinatorLayout.Behavior<LinearLayout> {
private static final FastOutSlowInInterpolator INTERPOLATOR = new FastOutSlowInInterpolator();
private boolean mIsAnimatingOut = false;
public BottomBarBehavior(Context context, AttributeSet attrs) {
super();
}
@Override
public boolean onStartNestedScroll(final CoordinatorLayout coordinatorLayout, final LinearLayout child,
final View directTargetChild, final View target, final int nestedScrollAxes) {
return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL
|| super.onStartNestedScroll(coordinatorLayout, child, directTargetChild, target, nestedScrollAxes);
}
@Override
public void onNestedScroll(final CoordinatorLayout coordinatorLayout, final LinearLayout child,
final View target, final int dxConsumed, final int dyConsumed,
final int dxUnconsumed, final int dyUnconsumed) {
super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed);
if (dyConsumed < 0 && !this.mIsAnimatingOut && child.getVisibility() == View.VISIBLE) {
// User scrolled down and the FAB is currently visible -> hide the FAB
animateOut(child);
} else if (dyConsumed > 0 && child.getVisibility() != View.VISIBLE) {
// User scrolled up and the FAB is currently not visible -> show the FAB
animateIn(child);
}
}
private void animateOut(final LinearLayout linearLayout) {
if (Build.VERSION.SDK_INT >= 14) {
ViewCompat.animate(linearLayout).translationY(168F).alpha(0.0F).setInterpolator(INTERPOLATOR).withLayer()
.setListener(new ViewPropertyAnimatorListener() {
public void onAnimationStart(View view) {
BottomBarBehavior.this.mIsAnimatingOut = true;
}
public void onAnimationCancel(View view) {
BottomBarBehavior.this.mIsAnimatingOut = false;
}
public void onAnimationEnd(View view) {
BottomBarBehavior.this.mIsAnimatingOut = false;
view.setVisibility(View.GONE);
}
}).start();
} else {
Animation anim = AnimationUtils.loadAnimation(linearLayout.getContext(), R.anim.bottom_bar_up);
anim.setInterpolator(INTERPOLATOR);
anim.setDuration(200L);
anim.setAnimationListener(new Animation.AnimationListener() {
public void onAnimationStart(Animation animation) {
BottomBarBehavior.this.mIsAnimatingOut = true;
}
public void onAnimationEnd(Animation animation) {
BottomBarBehavior.this.mIsAnimatingOut = false;
linearLayout.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(final Animation animation) {
}
});
linearLayout.startAnimation(anim);
}
}
private void animateIn(LinearLayout linearLayout) {
linearLayout.setVisibility(View.VISIBLE);
if (Build.VERSION.SDK_INT >= 14) {
ViewCompat.animate(linearLayout).translationY(0).scaleX(1.0F).scaleY(1.0F).alpha(1.0F)
.setInterpolator(INTERPOLATOR).withLayer().setListener(null)
.start();
} else {
Animation anim = AnimationUtils.loadAnimation(linearLayout.getContext(), R.anim.bottom_bar_down);
anim.setDuration(200L);
anim.setInterpolator(INTERPOLATOR);
linearLayout.startAnimation(anim);
}
}
}

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="0%p" android:toYDelta="100%p" android:fillAfter="true"
android:interpolator="@android:anim/linear_interpolator"
android:duration="500" />
</set>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="75%p" android:toYDelta="0%p"
android:fillAfter="true"
android:duration="500"/>
</set>

View file

@ -42,13 +42,15 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:theme="@style/AppTheme.AppBarOverlay">
android:theme="@style/AppTheme.AppBarOverlay"
app:layout_behavior=".ui.BottomBarBehavior">
<android.support.v7.widget.ActionMenuView
android:id="@+id/toolbar2"
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>

View file

@ -17,17 +17,17 @@
<string name="permissions_screenshot">Du musst der App Zugriff auf den Gerätespeicher gewähren, damit das Bildschirmfoto
gespeichert werden kann. Danach solltest du die Anwendung komplett schließen oder das Telefon neu starten.
Wenn du den Zugriff verweigerst und die Funktion später doch nutzen willst, kannst du die Berechtigung
nachträglich erteilen. Öffne dafür: Systemeinstellungen - Apps - Wetter. Im Bereich Berechtigungen kannst
nachträglich erteilen. Öffne dafür: Systemeinstellungen - Apps - Diaspora. Im Bereich Berechtigungen kannst
dann die entsprechende Einstellung vornehmen.</string>
<string name="permissions_image">Du musst der App Zugriff auf den Gerätespeicher gewähren, damit das Bild
gespeichert werden kann. Danach solltest du die Anwendung komplett schließen oder das Telefon neu starten.
Wenn du den Zugriff verweigerst und die Funktion später doch nutzen willst, kannst du die Berechtigung
nachträglich erteilen. Öffne dafür: Systemeinstellungen - Apps - Wetter. Im Bereich Berechtigungen kannst
nachträglich erteilen. Öffne dafür: Systemeinstellungen - Apps - Diaspora. Im Bereich Berechtigungen kannst
dann die entsprechende Einstellung vornehmen.</string>
<string name="permission_denied">Berechtigung verweigert.</string>
<string name="permission_granted_try_again">Berechtigung erteilt. Bitte versuche es erneut.</string>
//Titles
<!-- Titles -->
<string name="title_notifications">D* Benachrichtigungen</string>
<string name="title_conversations">D* Unterhaltungen</string>
@ -40,7 +40,7 @@
<string name="title_mentions">D* Erwähnungen</string>
<string name="title_public">D* Öffentliche Aktivitäten</string>
// Drawer and App
<!-- Drawer and App -->
<string name="jb_menu_1">Einstellungen</string>
<string name="jb_stream">Stream</string>
@ -56,7 +56,7 @@
<string name="jb_pod">Pod wechseln</string>
<string name="jb_public">Öffentliche Aktivitäten</string>
// Floating Action Buttons - Titles
<!-- Floating Action Buttons - Titles -->
<string name="go_to_top">Nach oben scrollen</string>
<string name="search_by_tags_or_persons">Suche nach Tags oder Personen …</string>
@ -67,10 +67,8 @@
<string name="search_alert_people">nach Personen</string>
<string name="search_alert_bypeople_validate_needsomedata">Füge einen Namen ein.</string>
//Dialog
<!-- Dialog -->
//Dialog
<string name="messages">Unterhaltungen</string>
<string name="new_post">D* Neuer Beitrag</string>
<string name="notifications">Benachrichtigungen</string>

View file

@ -0,0 +1,177 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Application -->
<string name="reload">Rafraîchir</string>
<string name="new_notifications">Notifications non lues. Lire ?</string>
<string name="new_conversations">Conversations non lues. Lire ?</string>
<string name="permissions_screenshot">Vous devez autoriser \"Modifier ou supprimer le contenu de la carte SD \" pour sauvegarder les captures d\'écrans. Ensuite, vous devriez fermer l\'application ou redémarrer votre téléphone. Si vous n\'avez pas autorisé l\'accès à l\'espace de stockage mais que vous souhaitez utiliser la fonctionnalité de prise de capture d\'écran plus tard, vous pouvez donner la permission plus tard. Veuillez ouvrir : Paramètres - applications - Diaspora. Dans la section Autorisations, vous pouvez autoriser \"Modifier ou supprimer le contenu de la carte SD \".</string>
<string name="permissions_image">Vous devez autoriser \"Modifier ou supprimer le contenu de la carte SD \" pour sauvegarder les images. Ensuite, vous devriez fermer l\'application ou redémarrer votre téléphone. Si vous n\'avez pas autorisé l\'accès à l\'espace de stockage mais que vous souhaitez sauvegarder des images ultérieurement, vous pouvez donner la permission plus tard. Veuillez ouvrir : Paramètres - applications - Diaspora. Dans la section Autorisations, vous pouvez autoriser \"Modifier ou supprimer le contenu de la carte SD \".</string>
<string name="permission_denied">Permission refusée.</string>
<string name="permission_granted_try_again">Permission accordée. Veuillez réessayer.</string>
<!-- Titles -->
<string name="title_notifications">D* Notifications</string>
<string name="title_conversations">D* Discussions</string>
<string name="title_stream">D* Flux</string>
<string name="title_profil">D* Profil</string>
<string name="title_aspects">D* Aspects</string>
<string name="title_activities">D* Activités</string>
<string name="title_liked">D* Aimés</string>
<string name="title_commented">D* Commentés</string>
<string name="title_mentions">D* Mentions</string>
<string name="title_public">D* Public</string>
<!-- Pod Activity -->
<string name="title_activity_pods">Selectionnez un Pod</string>
<string name="filter_hint">Entrez le nom de domaine du pod</string>
<string name="confirm_url">Confirmez l\'url du pod</string>
<string name="podlist_source_note">Note : la liste est générée à partir de la liste des pods sécurisés depuis https://podupti.me. Vous pouvez entrer l\'url d\'un pod non listé.</string>
<string name="valid_pod">Veuillez entrer un nom de domaine valide</string>
<string name="podlist_error">Erreur : impossible de récupérer la liste des pods !</string>
<string name="no_internet">Désolé, vous devez être connecté à Internet pour continuer</string>
<string name="confirmation">Confirmation</string>
<string name="confirm_pod">Voulez-vous vraiment utiliser\nhttps://%1$s\ncomme pod Diaspora ?</string>
<string name="confirm_exit">Souhaitez-vous quitter ?</string>
<string name="change_pod_warning">Cette opération va effacer les cookies et données de session. Voulez-vous vraiment changer de pod ?</string>
<string name="new_post">D* Nouveau message</string>
<string name="notifications">Notifications</string>
<string name="messages">Discussions</string>
<!-- Drawer and App -->
<string name="jb_menu_1">Paramètres</string>
<string name="jb_help_license">A propos de l\'application | Aide</string>
<string name="jb_stream">Flux</string>
<string name="jb_liked">Aimés</string>
<string name="jb_commented">Commentés</string>
<string name="jb_contacts">Contacts</string>
<string name="jb_mentions">Mentions</string>
<string name="jb_activities">Activités</string>
<string name="jb_followed_tags">Hashtags suivis</string>
<string name="jb_manage_tags">Gérer les Hashtags</string>
<string name="jb_settings">Paramètres personnels</string>
<string name="jb_aspects">Aspects</string>
<string name="jb_pod">Changer de pod</string>
<string name="jb_public">Activités publiques</string>
<string name="jb_settings_view">Paramètres de l\'application</string>
<string name="jb_settings_diaspora">Paramètres du pod</string>
<string name="jb_share">Partager du contenu</string>
<string name="settings_font">Changer la taille de la police</string>
<string name="settings_images_switch_on">Charger les images</string>
<string name="settings_images_switch_off">Ne pas charger les images</string>
<string name="settings_view">Changer de vue</string>
<string name="settings_proxy">Proxy</string>
<string name="proxy_enabled">Activé</string>
<string name="proxy_host">Hôte</string>
<string name="proxy_port">Port</string>
<string name="share_link">Partager le lien comme texte</string>
<string name="share_screenshot">Partager la capture d\'écran d\'un site web</string>
<string name="take_screenshot">Prendre une capture d\'écran d\'un site web</string>
<string name="help_license">Licence</string>
<string name="help_help">Mise en page Markdown</string>
<string name="help_about">Changelog</string>
<string name="toast_screenshot">Enregistrer la capture d\'écran sous :</string>
<!-- Floating Action Buttons - Titles -->
<string name="go_to_top">Retour en haut</string>
<string name="search_by_tags_or_persons">Recherche par tags ou par personnes</string>
<string name="compose">Nouveau message</string>
<string name="search_alert_title">Recherche</string>
<string name="search_alert_tag">par tags</string>
<string name="search_alert_people">par personne</string>
<string name="search_alert_bypeople_validate_needsomedata">Veuillez ajouter un nom</string>
<!-- Dialog License -->
<string name="markdown_text">&lt;i>"Sur diaspora* il est possible de mettre en forme votre texte des messages de statut, des commentaires et des conversations en utilisant un système de balises simple nommé Markdown. Cette page est une introduction aux codes utilisés pour créer ce formatage..&lt;/i>&lt;br> &lt;br>
&lt;b>En-têtes&lt;/b>&lt;br>
# Ceci est un très grand titre&lt;br>
## Moitié moins grand que le précédent&lt;br>
### Deux fois la taille d\'un texte normal&lt;br> &lt;br>
&lt;b>Italique et gras&lt;/b>&lt;br>
Italiques : *mot* ou _mot_&lt;br>
Gras : **mot** ou __mot__&lt;br>
Gras italique : ***mot*** ou ___mot___&lt;br> &lt;br>
&lt;b>Listes&lt;/b>&lt;br>
*, + ou - au début chaque ligne que vous souhaitez lister ou 1., 2., etc. au début de chaque ligne de la liste&lt;br> &lt;br>
&lt;b>Citation&lt;/b>&lt;br>
Lorsque vous souhaitez citer un extrait d\'un article ou d\'un autre commentaire, vous pouvez formater facilement votre texte en commençant la ligne ou le paragraphe avec le caractère >&lt;br> &lt;br>
&lt;b>Ligne horizontale&lt;/b>&lt;br>
Pour créer une ligne horizontale, utilisez au moins trois ---, ___ ou *** sur une ligne à part. N\'importe quel nombre au-delà de trois aura le même résultat et les espaces entre les caractères n\'ont pas d\'importance.&lt;br> &lt;br>
&lt;b>Liens intégrés&lt;/b>&lt;br>
[texte qui apparaîtra ici](http://lien.adresse.ici \"texte alternatif\") Le \"texte alternatif\" est facultatif et affiché lorsque la souris survole le lien.&lt;br> &lt;br>
&lt;b>Images&lt;/b>&lt;br>
![Texte alternatif](http://siteweb.com/image.jpg \"titre facultatif\") Le texte alternatif entre crochets est affiché si l\'image ne peut pas être chargée et le titre optionnel est affiché lorsque la souris survole l\'image ; les deux sont utiles mais pas essentiels.&lt;br> &lt;br>
&lt;b>Escape&lt;/b>&lt;br>
Si vous voulez inclure dans votre message un caractère aussi utilisé dans le codage Markdown, vous pouvez empêcher qu\'il soit interprété en l\'\"échappant\". Pour cela, placez un backslash (\) devant le caractère. Vous pouvez toutefois écrire "diaspora*" ou "D*" sans que l\'astérisque devienne un code de formatage !&lt;br> &lt;br>
&lt;b>Caractères spéciaux&lt;/b>&lt;br>
Vous pouvez créez les symboles et autres caractères spéciaux suivants en utilisant une combinaison de caractères :&lt;br>
(c) = © ; (r) = ® ; x^2 = x²"</string>
<string name="license_text">&lt;b>Principaux contributeurs :&lt;/b>&lt;br>
&#8226; gsantner https://gsantner.github.io&lt;br>
&#8226; martinchodev https://github.com/martinchodev&lt;br>
&#8226; scoute-dich https://github.com/scoute-dich&lt;br> &lt;br>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses.&lt;br> &lt;br>
&lt;i>The splashscreen images can be found on flickr:
https://www.flickr.com/photos/129581906@N06/sets/72157651933980136/with/16594947123.
They were published by \"Lydia\" and are licensed under cc by-nc-sa.&lt;/i></string>
<string name="splash_screen_description">Splash screen</string>
<string name="normal">Normal</string>
<string name="large">Large</string>
<string name="huge">Énorme</string>
<string name="image">Impossible de récupérer l\'image</string>
<string name="jb_profile">Profile</string>
<string name="exit_app">Quitter l\'application</string>
<string name="shared_by_diaspora_android">*[partagé via #DiasporaForAndroid]*</string>
<string name="toast_link_address_copied">Lien copié...</string>
<string name="context_menu_share_link">Partager un lien</string>
<string name="context_menu_save_image">Enregistrer l\'image</string>
<string name="context_menu_share_image">Partager l\'image</string>
<string name="context_menu_open_external_browser">Ouvrir dans un navigateur externe...</string>
<string name="context_menu_copy_link">Copier le lien dans le presse-papier</string>
<string name="toast_saved_image_to_location">Enregistrer l\'image sous</string>
<string name="share_dotdodot">Partager...</string>
<string name="toast_set_proxy_failed">Attention : connexion au proxy impossible...</string>
</resources>

View file

@ -1,6 +1,6 @@
<resources>
//Application
<!-- Application -->
<string name="navigation_drawer_open" translatable="false">Open navigation drawer</string>
<string name="navigation_drawer_close" translatable="false">Close navigation drawer</string>
@ -11,16 +11,16 @@
<string name="permissions_screenshot">You must grant \"Access Storage Permission\" to save screenshots. After that you should
completely close the app or restart the phone. If you don\'t permit the storage access but want to use the
screenshot function at a later time, you can grant the permission later. Please open then: systemsettings - apps -
weather. In the permissions section you can grant the \"write storage permission\".</string>
Diaspora. In the permissions section you can grant the \"write storage permission\".</string>
<string name="permissions_image">You must grant \"Access Storage Permission\" to save images. After that you should
completely close the app or restart the phone. If you don\'t permit the storage access but want to save images
at a later time, you can grant the permission later. Please open then: systemsettings - apps -
weather. In the permissions section you can grant the \"write storage permission\".</string>
Diaspora. In the permissions section you can grant the \"write storage permission\".</string>
<string name="permission_denied">Permission denied.</string>
<string name="permission_granted_try_again">Permission granted. Please try again.</string>
//Titles
<!-- Titles -->
<string name="title_notifications">D* Notifications</string>
<string name="title_conversations">D* Conversations</string>
@ -34,7 +34,7 @@
<string name="title_public">D* Public</string>
//Pod Activity
<!-- Pod Activity -->
<string name="title_activity_pods">Select Pod</string>
<string name="filter_hint">Enter pod domain</string>
@ -53,7 +53,7 @@
<string name="notifications">Notifications</string>
<string name="messages">Conversations</string>
// Drawer and App
<!-- Drawer and App -->
<string name="app_copyright" translatable="false">The community-run distributed social network</string>
<string name="jb_menu_1">Settings</string>
@ -93,7 +93,7 @@
<string name="toast_screenshot">Saving screenshot as:</string>
// Floating Action Buttons - Titles
<!-- Floating Action Buttons - Titles -->
<string name="go_to_top">Go to top</string>
<string name="search_by_tags_or_persons">Search by tags or persons</string>
@ -105,7 +105,7 @@
<string name="search_alert_people">by people</string>
<string name="search_alert_bypeople_validate_needsomedata">Please add a name</string>
//Dialog //License
<!-- Dialog License -->
<string name="markdown_text">&lt;i>"On diaspora* it's possible to format your text in status messages, comments
and conversations using a simplified mark-up system called Markdown. This page gives an introduction to the