Sync fork with main repo

Merge from main repo
This commit is contained in:
Jack Billings 2016-08-17 14:46:42 -05:00 committed by GitHub
commit d4cf036434
23 changed files with 230 additions and 32 deletions

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.habitrpg.android.habitica.ui.helpers.RecyclerViewEmptySupport
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbarSize="3dp"
android:scrollbarThumbVertical="@color/md_grey_500"
android:scrollbars="vertical" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/empty_view"
style="@style/EmptyView"/>
</android.support.design.widget.CoordinatorLayout>
</LinearLayout>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.habitrpg.android.habitica.ui.activities.MainActivity">
<item
android:id="@+id/action_guild_search"
android:title="@string/guild_search_hint"
android:orderInCategory="103"
android:visible="true"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView"/>
</menu>

View file

@ -128,7 +128,7 @@
<string name="chat">Чат</string>
<string name="members">Членове</string>
<string name="habits">Навици</string>
<string name="dailies">Ежедневни</string>
<string name="dailies">Ежедн.</string>
<string name="todos">Задачи</string>
<string name="rewards">Награди</string>
<string name="taskform.delete.title">Сигурен/на ли сте?</string>

View file

@ -345,12 +345,11 @@ Pour commencer, quels aspects de votre vie souhaitez-vous améliorer ?</string>
<string name="no_potion">Vous n\'avez pas besoin d\'acheter une potion de santé</string>
<string name="successful_purchase" formatted="false">%1$s acheté avec succès</string>
<string name="purchase_confirmation_title">Confirmer l\'achat</string>
<string name="confirm_purchase_text" formatted="false">Acheter %1$s for %2$s %3$s</string>
<string name="confirm_purchase_text" formatted="false">Acheter %1$s pour %2$s %3$s</string>
<string name="gem">gemme</string>
<string name="hourglass">sablier</string>
<string name="hourglasses">sabliers</string>
<string name="gold_singular">or</string>
<string name="gems_plural">or</string>
<string name="gold_singular">pièce d\'or</string>
<string name="chat_message_copied">Message copié dans le presse-papier</string>
<string name="copy_chat_message">Copier dans le presse-papier</string>
</resources>

View file

@ -15,4 +15,5 @@
<string name="sidebar.news">Berita</string>
<string name="sidebar.settings">Pengaturan</string>
<string name="sidebar.about">Tentang Kami</string>
<string name="sidebar_shops">Toko</string>
</resources>

View file

@ -19,6 +19,13 @@
<string name="pref_reminder_header">Notifica giornaliera</string>
<string name="pref_reminder_checkbox">Attiva notifica</string>
<string name="pref_reminder_picker">Imposta ora notifica</string>
<string name="push_notifications">Notifiche Push</string>
<string name="preference_push_you_won_challenge">Hai vinto una Sfida!</string>
<string name="preference_push_received_a_private_message">Ricevuto un messaggio</string>
<string name="preference_push_invited_to_party">Invito in una squadra</string>
<string name="preference_push_invited_to_guild">Invito in una Gilda</string>
<string name="preference_push_your_quest_has_begun">La tua Missione è cominciata</string>
<string name="preference_push_invited_to_quest">Invito ad una Missione</string>
<!--Adding tasks-->
<string name="task_value">Valore</string>
<string name="new_todo">Nuova to-do</string>
@ -331,4 +338,16 @@ Le Dailies mancate e le cattive Habit non li danneggiano molto, e hanno sempre m
<string name="timeTravelers">Viaggiatori del Tempo</string>
<string name="seasonalShop">Negozio Stagionale</string>
<string name="empty_inbox">Non hai nessun messaggio. Puoi inviare un messaggio privato ad un utente dai loro messaggi nelle chat pubbliche!</string>
<string name="party_invite">Sblocca invitando amici</string>
<string name="no_gold">Non hai abbastanza Oro</string>
<string name="no_potion">Non hai bisogno di comprare una pozione di salute</string>
<string name="successful_purchase" formatted="false">%1$s comprato con successo</string>
<string name="purchase_confirmation_title">Conferma acquisto</string>
<string name="confirm_purchase_text" formatted="false">Compra %1$s per %2$s %3$s</string>
<string name="gem">gemma</string>
<string name="hourglass">clessidra</string>
<string name="hourglasses">clessidre</string>
<string name="gold_singular">oro</string>
<string name="chat_message_copied">Messaggio copiato negli Appunti</string>
<string name="copy_chat_message">Copia negli appunti</string>
</resources>

View file

@ -266,7 +266,7 @@
<string name="food">えさ</string>
<string name="quests">クエスト</string>
<string name="pets">ペット</string>
<string name="mounts"></string>
<string name="mounts"></string>
<string name="armoireEquipment" formatted="false">宝箱に貴重なアイテム、 %s を見つけた! すごい!</string>
<string name="armoireFood" formatted="false">宝箱をひっかきまわして%1$s%2$sを見つけた。何でこんなとこに?</string>
<string name="armoireExp">宝箱と格闘して経験値を増やした。どうぞっ!</string>
@ -291,10 +291,10 @@
<string name="sectionpremiumPets">魔法の薬のペット</string>
<string name="sectionquestPets">クエスト ペット</string>
<string name="sectionspecialPets">貴重なペット</string>
<string name="sectionmounts">基本の騎</string>
<string name="sectionpremiumMounts">魔法の薬の騎</string>
<string name="sectionquestMounts">クエストの騎</string>
<string name="sectionspecialMounts">貴重な騎獣</string>
<string name="sectionmounts">基本の</string>
<string name="sectionpremiumMounts">魔法の薬の</string>
<string name="sectionquestMounts">クエストの</string>
<string name="sectionspecialMounts">レアな乗騎</string>
<string name="world_quest">世界のクエスト</string>
<string name="inn_description">宿で休んでいる間は、日課をやらずに夜が明けてもダメージを受けない! ( 注 : ボスから受けるダメージは避けられない)</string>
<string name="empty_items" formatted="false">%s を持ってないよ</string>
@ -332,7 +332,7 @@
<string name="share_using">共有 ( シェア ) : </string>
<string name="share_levelup" formatted="false">生活を改善して、Habitica でのレベルが %s になった!</string>
<string name="share_hatched" formatted="false">実生活でのタスクをこなして、Habitica で %1$s%2$s のペットを飼いはじめた。</string>
<string name="share_raised" formatted="false">実生活でのタスクをこなして、%1$s%2$s のペットが乗れるほど大きな騎まで成長した。</string>
<string name="share_raised" formatted="false">実生活でのタスクをこなして、%1$s%2$s のペットが乗れるほど大きな騎まで成長した。</string>
<string name="open_in_store">Play ストアで開く</string>
<string name="change_class_confirmation">クラスを変更します。いいですか? 3 ジェムかかります。</string>
<string name="leaderMessage" formatted="false">%1$s からのメッセージ</string>
@ -351,7 +351,6 @@
<string name="hourglass">砂時計</string>
<string name="hourglasses">砂時計</string>
<string name="gold_singular">ゴールド</string>
<string name="gems_plural">ゴールド</string>
<string name="chat_message_copied">クリップボードにコピーされたメッセージ</string>
<string name="copy_chat_message">クリップボードにコピー</string>
</resources>

View file

@ -16,4 +16,5 @@
<string name="sidebar.news">Naujienos</string>
<string name="sidebar.settings">Nustatymai</string>
<string name="sidebar.about">Apie</string>
<string name="sidebar_shops">Parduotuvės</string>
</resources>

View file

@ -19,6 +19,16 @@
<string name="pref_reminder_header">Kasdienis Priminimas</string>
<string name="pref_reminder_checkbox">Įjungti Priminimą</string>
<string name="pref_reminder_picker">Nustatyti Priminimo Laiką</string>
<string name="pref_push_notifications_checkbox">Aktyvūs Vartotojo Pranešimai</string>
<string name="push_notifications">Aktyvūs Pranšimai</string>
<string name="preference_push_you_won_challenge">Laimėjai Iššūkį!</string>
<string name="preference_push_received_a_private_message">Gavai Privačią Žinutę</string>
<string name="preference_push_gifted_gems">Padovanoti Brangakmeniai</string>
<string name="preference_push_gifted_subscription">Padovanota Prenumerata</string>
<string name="preference_push_invited_to_party">Pakvietimas į Grupę</string>
<string name="preference_push_invited_to_guild">Pakvietimas į Gildiją</string>
<string name="preference_push_your_quest_has_begun">Tavo Misija Prasidėjo</string>
<string name="preference_push_invited_to_quest">Pakvietimas į Misiją</string>
<!--Adding tasks-->
<string name="task_value">Reikšmė</string>
<string name="new_todo">Nauja vienkartinė užduotis</string>
@ -325,4 +335,21 @@ Pradžiai, kurias savo gyvenimo dalis norėtum tobulint?</string>
<string name="open_in_store">Atidaryti play parduotuvėje</string>
<string name="change_class_confirmation">Ar tikrai nori pasikeisti savo klasę? Tai kainuos 3 brangakmenius.</string>
<string name="leaderMessage" formatted="false">Žinutė nuo %1$s</string>
<string name="confirm">Patvirtinti</string>
<string name="market">Turgus</string>
<string name="timeTravelers">Keliautojai Laiku</string>
<string name="seasonalShop">Sezoninė Parduotuvė</string>
<string name="empty_inbox">Tavo Pašo dėžutėje žinučių nėra. Kitiems vartotojams galima siųsti pranešimus paspaudus ant jų viešų pranešimų!</string>
<string name="party_invite">Atidenk pakviečiant draugus</string>
<string name="no_gold">Nepakanka Aukso</string>
<string name="no_potion">Tau nereikia gyvybių eliksyro</string>
<string name="successful_purchase" formatted="false">%1$s nupirktas</string>
<string name="purchase_confirmation_title">Patvirtinti pirkinį</string>
<string name="confirm_purchase_text" formatted="false">Pirkti %1$s už %2$s %3$s</string>
<string name="gem">brangakmenis</string>
<string name="hourglass">smėlio laikrodis</string>
<string name="hourglasses">smėlio laikrodžiai</string>
<string name="gold_singular">aukso</string>
<string name="chat_message_copied">Žinutė nukopijuota į Iškarpinę</string>
<string name="copy_chat_message">Kopijuoti į Iškarpinę</string>
</resources>

View file

@ -16,4 +16,5 @@
<string name="sidebar.news">Aktualności</string>
<string name="sidebar.settings">Ustawienia</string>
<string name="sidebar.about">O programie</string>
<string name="sidebar_shops">Sklepy</string>
</resources>

View file

@ -1,14 +1,14 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="tutorial_habits">Utrwalaj Pozytywne Nawyki, aby zdobyć złoto i punkty doświadczenia! Negatywne Nawyki zranią twojego bohatera gdy na nie natrafisz. Unikaj ich w prawdziwym życiu!</string>
<string name="tutorial_dailies">Pokonuj kolejne Codzienne zadania, aby zdobyć złoto i doświadczenie. Uwaga! Codzienne zranią twojego awatara, jeśli nie ukończysz ich na czas.</string>
<string name="tutorial_habits">Utrwalaj Pozytywne Nawyki, aby zdobyć złoto i punkty doświadczenia! Negatywne Nawyki zranią Twojego bohatera gdy na nie natrafisz. Unikaj ich w prawdziwym życiu!</string>
<string name="tutorial_dailies">Pokonuj kolejne Codzienne zadania, aby zdobyć złoto i doświadczenie. Uwaga! Codzienne zranią Twojego awatara, jeśli nie ukończysz ich na czas.</string>
<string name="tutorial_todos">Ukończ swoje Do-Zrobienia w prawdziwym życiu i odznacz je w zamian za ZŁOTO i DOŚWIADCZENIE, aby móc kupować Nagrody i odblokowywać nowe funkcje!</string>
<string name="tutorial_rewards">Oto twoje Nagrody! Zyskuj złoto za ukończone w prawdziwym życiu Nawyki, Codzienne i Do-Zrobienia. Następnie wydawaj na Nagrody w grze lub własne w realnym świecie!</string>
<string name="tutorial_equipment">Tu pojawia się zakupiony ekwipunek. Wyposażenie Bojowe wpływa na twoje statystyki, a Kostium (o ile włączony) na wygląd twojego awatara.</string>
<string name="tutorial_rewards">Oto Twoje Nagrody! Zyskuj złoto za ukończone w prawdziwym życiu Nawyki, Codzienne i Do-Zrobienia. Następnie wydawaj na Nagrody w grze lub własne w realnym świecie!</string>
<string name="tutorial_equipment">Tu pojawia się zakupiony ekwipunek. Wyposażenie Bojowe wpływa na Twoje statystyki, a Kostium (o ile włączony) na wygląd Twojego awatara.</string>
<string name="tutorial_items">Zbieraj przedmioty kończąc zadania i zdobywając poziomy. Stuknij przedmiot, żeby go użyć!</string>
<string name="tutorial_pets">Kończąc zadania w prawdziwym świecie, masz szansę znalezienia losowych jaj i eliksirów. Połącz je, aby wykluć chowańce.</string>
<string name="tutorial_skills">Umiejętności to specjalne zdolności, które mają potężne efekty! Stuknij umiejętność, aby jej użyć. To kosztuje Mana (niebieski pasek), którą zyskujesz zaglądając tu codziennie i kończąc zadania w prawdziwym świecie. Aby dowiedzieć się więcej, zaglądnij do FAQ w menu!</string>
<string name="tutorial_party">Tutaj ty i twoi przyjaciele pilnujecie wzajemnie swoich celów i walczycie z potworami poprzez swoje zadania!</string>
<string name="tutorial_party">Tutaj Ty i Twoi przyjaciele pilnujecie wzajemnie swoich celów i walczycie z potworami poprzez swoje zadania!</string>
<string name="tutorial_tavern">Witaj w Karczmie - publicznym czacie dla wszystkich grup wiekowych! Możecie tu rozmawiać o produktywności i zadawać pytania. Miłej zabawy!</string>
<string name="tutorial_classes">Wybierz, czy zostać Wojownikiem, Magiem, Uzdrowicielem, czy Łotrzykiem! Każda klasa ma unikalny zestaw wyposażenia i umiejętności. By dowiedzieć się więcej, stuknij (?) !</string>
</resources>

View file

@ -19,6 +19,16 @@
<string name="pref_reminder_header">Przypominienie</string>
<string name="pref_reminder_checkbox">Aktywuj Przypomnienie</string>
<string name="pref_reminder_picker">Ustaw Czas Przypomnienia</string>
<string name="pref_push_notifications_checkbox">Notyfikacje użytkownika</string>
<string name="push_notifications">Notyfikacje</string>
<string name="preference_push_you_won_challenge">Ukończono wyzwanie!</string>
<string name="preference_push_received_a_private_message">Otrzymano prywatną wiadomość</string>
<string name="preference_push_gifted_gems">Otrzymałeś diamenty</string>
<string name="preference_push_gifted_subscription">Otrzymałeś Subskrypcję</string>
<string name="preference_push_invited_to_party">Otrzymano zaproszenie do drużyny</string>
<string name="preference_push_invited_to_guild">Otrzymano zaproszenie do gildii</string>
<string name="preference_push_your_quest_has_begun">Twoja misja się rozpoczęła</string>
<string name="preference_push_invited_to_quest">Zaproszono Cię na misję</string>
<!--Adding tasks-->
<string name="task_value">Wartość</string>
<string name="new_todo">Nowe DoZrobienia</string>
@ -171,10 +181,10 @@
<string name="previous_button">Poprzedni</string>
<string name="next_button">Następny</string>
<string name="skip_button">Pomiń</string>
<string name="setup_welcome_description">Witaj w Habitice, gdzie postęp w grze ulepszy twoje życie! Osiągając cele w prawdziwym świecie, odblokowujesz ekwipunek, chowańce, misje i wiele więcej.</string>
<string name="setup_welcome_description">Witaj w Habitice, gdzie postęp w grze ulepszy Twoje życie! Osiągając cele w prawdziwym świecie, odblokowujesz ekwipunek, chowańce, misje i wiele więcej.</string>
<string name="setup_welcome_title">Witaj</string>
<string name="avatar_setup_description">Na początek, potrzebujesz awatara - twoją reprezentację w grze! To, co robisz w prawdziwym życiu, ma wpływ na zdrowie, poziom doświadczenia i złoto twojego awatara.</string>
<string name="task_setup_description">Wspaniale! Teraz ustalmy twoje zadania, żeby zacząć zdobywać doświadczenie i złoto.
<string name="avatar_setup_description">Na początek, potrzebujesz awatara - swojego odpowiednika w grze! To, co robisz w prawdziwym życiu, ma wpływ na zdrowie, poziom doświadczenia i złoto Twojego awatara.</string>
<string name="task_setup_description">Wspaniale! Teraz ustalmy Twoje zadania, żebyś zaczął zdobywać doświadczenie i złoto.
Od czego chcesz zacząć poprawiać swoje życie?</string>
<string name="setup_group_work">Praca</string>
@ -205,7 +215,7 @@ Od czego chcesz zacząć poprawiać swoje życie?</string>
<string name="setup_task_creativity_1">Studiować mistrzostwo rzemiosła</string>
<string name="setup_task_creativity_2">Pracować nad twórczym projektem</string>
<string name="setup_task_creativity_3">Ukończyć twórczy projekt</string>
<string name="gem.purchase.support">Chcesz nam pomóc w utrzymaniu Habitiki? Możesz wesprzeć deweloperów kupując Klejnoty!\n\nZa Klejnoty można kupować zabawne dodatki do konta, takie jak:\n\n - Fajne kostiumy dla twojego awatara\n - Fantastyczne tła\n - Ciekawe misje, w których nagrodą są jaja chowańców\n - Możliwość zmiany klasy przed osiągnięciem poziomu 100\n\nStukrotne dzięki za pomaganie nam w czynieniu Habitiki najlepszą, jaka może być. Twoja pomoc wiele dla nas znaczy!</string>
<string name="gem.purchase.support">Chcesz nam pomóc w utrzymaniu Habitiki? Możesz wesprzeć deweloperów kupując Klejnoty!\n\nZa Klejnoty można kupować zabawne dodatki do konta, takie jak:\n\n - Fajne kostiumy dla Twojego awatara\n - Fantastyczne tła\n - Ciekawe misje, w których nagrodą są jaja chowańców\n - Możliwość zmiany klasy przed osiągnięciem poziomu 100\n\nStukrotne dzięki za pomaganie nam w czynieniu Habitiki najlepszą, jaka może być. Twoja pomoc wiele dla nas znaczy!</string>
<string name="my_guilds">Moje Gildie</string>
<string name="public_guilds">Publiczne Gildie</string>
<string name="guild">Gildia</string>
@ -293,9 +303,9 @@ Od czego chcesz zacząć poprawiać swoje życie?</string>
<string name="rogue">Łotrzyk</string>
<string name="mage">Mag</string>
<string name="healer">Uzdrowiciel</string>
<string name="warrior_description">Wojownicy mają częstsze i lepsze \"uderzenia krytyczne\", które losowo dają Złoto, Doświadczenie, i szansę na zrzut za odznaczenie zadania. Zadają także ciężkie obrażenia bossom. Graj jako Wojownik jeśli motywują cię nieprzewidywalne nagrody, lub jeśli chcesz niszczyć bossów w Misjach!</string>
<string name="warrior_description">Wojownicy mają częstsze i lepsze \"trafienia krytyczne\", które losowo dają Złoto, Doświadczenie, i szansę na zdobycz za odznaczenie zadania. Zadają także ciężkie obrażenia bossom. Graj jako Wojownik jeśli motywują Cię nieprzewidywalne nagrody, lub jeśli chcesz niszczyć bossów w Misjach!</string>
<string name="mage_description">Magowie uczą się sprawnie, zyskując Doświadczenie i Poziomy szybciej niż inne klasy. Dostają także dużo Many na specjalne umiejętności. Graj jako Mag jeśli lubisz elementy gry taktycznej w Habit, lub jeśli jesteś silnie motywowany przez zdobywanie poziomów i odblokowywanie zaawansowanych aspektów gry!</string>
<string name="rogue_description">Łotrzyki uwielbiają akumulować bogactwa, zyskując więcej Złota niż inni, oraz są adeptami w znajdowaniu losowych rzeczy. Ich umiejętność skradania pozwala im uniknąć konsekwencji pominięcia Codziennych. Graj jako Łotrzyk jeśli motywują cie Nagrody i Osiągnięcia, walczenie o skarby i odznaki!</string>
<string name="rogue_description">Łotrzyki uwielbiają gromadzić bogactwa, zyskując więcej Złota niż inni, oraz są adeptami w znajdowaniu losowych rzeczy. Ich umiejętność skradania pozwala im uniknąć konsekwencji pominięcia Codziennych. Graj jako Łotrzyk jeśli motywują Cię Nagrody i Osiągnięcia, walczenie o skarby i odznaki!</string>
<string name="healer_description">Medycy są odporni na obrażenia, i przedłużają tą ochronę na innych. Pominięte Codzienne i złe Nawyki nie robią na nich wrażenia, mają także sposoby na odzyskanie Zdrowia po porażce. Graj jako Medyk jeśli lubisz pomagać innym w Drużynie, lub jeśli koncepcja oszukania Śmierci dzięki ciężkiej pracy jest dla ciebie inspirująca!</string>
<string name="select_class">Wybierz klasę postaci</string>
<string name="opt_out_class">Wycofaj się</string>
@ -325,4 +335,22 @@ Od czego chcesz zacząć poprawiać swoje życie?</string>
<string name="open_in_store">Otwórz w sklepie Google Play</string>
<string name="change_class_confirmation">Jesteś pewien, że chcesz zmienić klasę? Będzie to kosztować 3 kryształy.</string>
<string name="leaderMessage" formatted="false">Wiadomość od %1$s</string>
<string name="confirm">Potwierdź</string>
<string name="market">Sklep</string>
<string name="timeTravelers">Podróżnicy w czasie</string>
<string name="seasonalShop">Sklep sezonowy</string>
<string name="empty_inbox">Nie masz żadnych wiadomości. Możesz wysłać użytkownikowi nową wiadomość za pomocą ich publicznych wiadomości!</string>
<string name="party_invite">Odblokuj poprzez zapraszanie przyjaciół</string>
<string name="no_gold">Niewystarczająca ilość złota</string>
<string name="no_potion">Nie potrzebujesz kupować eliksiru uzdrawiającego</string>
<string name="successful_purchase" formatted="false">%1$s jest w Twoim posiadaniu</string>
<string name="purchase_confirmation_title">Potwierdź zakup</string>
<string name="confirm_purchase_text" formatted="false">Zakup %1$s za %2$s %3$s</string>
<string name="gem">diament</string>
<string name="hourglass">klepsydra</string>
<string name="hourglasses">klepsydry</string>
<string name="gold_singular">złoto</string>
<string name="gems_plural">złoto</string>
<string name="chat_message_copied">Wiadomość skopiowana do schowka</string>
<string name="copy_chat_message">Kopiuj do schowka</string>
</resources>

View file

@ -24,6 +24,7 @@
<string name="preference_push_you_won_challenge">Você venceu um Desafio!</string>
<string name="preference_push_received_a_private_message">Recebeu uma Mensagem Privada</string>
<string name="preference_push_gifted_gems">Gemas de presente</string>
<string name="preference_push_gifted_subscription">Assinatura Presenteada</string>
<string name="preference_push_invited_to_party">Convidado para um grupo</string>
<string name="preference_push_invited_to_guild">Convidado para uma Guilda</string>
<string name="preference_push_your_quest_has_begun">Sua missão começou</string>

View file

@ -350,7 +350,6 @@
<string name="hourglass">Песочные часы</string>
<string name="hourglasses">песочные часы</string>
<string name="gold_singular">золото</string>
<string name="gems_plural">золото</string>
<string name="chat_message_copied">Сообщение скопировано в буфер обмена</string>
<string name="copy_chat_message">Скопировать в буфер обмена</string>
</resources>

View file

@ -340,5 +340,4 @@
<string name="hourglass">沙漏</string>
<string name="hourglasses">沙漏</string>
<string name="gold_singular">金币</string>
<string name="gems_plural">金币</string>
</resources>

View file

@ -254,6 +254,7 @@ To start, which parts of your life do you want to improve?</string>
<string name="privacy">Privacy</string>
<string name="write_message">Write Message</string>
<string name="post">Post</string>
<string name="guild_search_hint">Search for guilds</string>
<string name="todo_due" formatted="false">Due: %s</string>
<string name="daily_streak" formatted="false">current streak: %d</string>
@ -373,7 +374,7 @@ To start, which parts of your life do you want to improve?</string>
<string name="hourglass">hourglass</string>
<string name="hourglasses">hourglasses</string>
<string name="gold_singular">gold</string>
<string name="gems_plural">gold</string>
<string name="gold_plural">gold</string>
<string name="chat_message_copied">Message copied to Clipboard</string>
<string name="copy_chat_message">Copy to clipboard</string>
</resources>

View file

@ -153,6 +153,7 @@ public class APIHelper implements Action1<Throwable> {
} else {
body = ResponseBody.create(contentType, stringJson);
}
Crashlytics.setString("last_api_call", response.request().url().toString());
return response.newBuilder().body(body).build();
};

View file

@ -316,7 +316,7 @@ public class AvatarView extends View {
if (oldUser != null) {
Map<LayerType, String> newLayerMap = getLayerMap(user, false);
boolean equals = currentLayers.equals(newLayerMap);
boolean equals = currentLayers != null && currentLayers.equals(newLayerMap);
if (!equals) {
multiDraweeHolder.clear();

View file

@ -144,7 +144,7 @@ public class ShopRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
if (item.getValue() == 1) {
currencyString = context.getString(R.string.gold_singular);
} else {
currencyString = context.getString(R.string.gems_plural);
currencyString = context.getString(R.string.gold_plural);
}
} else if (item.getCurrency().equals("hourglasses")) {
if (item.getValue() == 1) {

View file

@ -13,21 +13,26 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Filter;
import android.widget.Filterable;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class PublicGuildsRecyclerViewAdapter extends RecyclerView.Adapter<PublicGuildsRecyclerViewAdapter.GuildViewHolder> {
public class PublicGuildsRecyclerViewAdapter extends RecyclerView.Adapter<PublicGuildsRecyclerViewAdapter.GuildViewHolder> implements Filterable{
public APIHelper apiHelper;
private List<Group> publicGuildList;
private List<Group> fullPublicGuildList;
private List<String> memberGuildIDs;
public void setPublicGuildList(List<Group> publicGuildList) {
this.publicGuildList = publicGuildList;
this.fullPublicGuildList = new ArrayList<>(publicGuildList);
this.notifyDataSetChanged();
}
@ -94,6 +99,44 @@ public class PublicGuildsRecyclerViewAdapter extends RecyclerView.Adapter<Public
return this.memberGuildIDs != null && this.memberGuildIDs.contains(guild.id);
}
@Override
public Filter getFilter() {
return new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
List<Group> filteredGuilds = null;
if(constraint.length() == 0) {
filteredGuilds = fullPublicGuildList;
} else {
filteredGuilds = getFilteredResults(constraint.toString().toLowerCase());
}
FilterResults results = new FilterResults();
results.values = filteredGuilds;
return results;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
publicGuildList = (List<Group>) results.values;
PublicGuildsRecyclerViewAdapter.this.notifyDataSetChanged();
}
};
}
protected List<Group> getFilteredResults(String query) {
List<Group> filteredGuilds = new ArrayList<>();
for(Group guild : fullPublicGuildList) {
if(guild.name.toLowerCase().contains(query)) {
filteredGuilds.add(guild);
}
}
return filteredGuilds;
}
static class GuildViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.nameTextView)

View file

@ -149,6 +149,9 @@ public class AvatarCustomizationFragment extends BaseMainFragment {
private void updateActiveCustomization() {
Preferences prefs = this.user.getPreferences();
if (this.type == null) {
return;
}
switch (this.type) {
case "skin":
this.activeCustomization = prefs.getSkin();

View file

@ -4,14 +4,20 @@ import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.components.AppComponent;
import com.habitrpg.android.habitica.ui.adapter.social.PublicGuildsRecyclerViewAdapter;
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
import com.habitrpg.android.habitica.ui.menu.DividerItemDecoration;
import com.magicmicky.habitrpgwrapper.lib.models.Group;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SearchView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
@ -20,7 +26,7 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class PublicGuildsFragment extends BaseMainFragment {
public class PublicGuildsFragment extends BaseMainFragment implements SearchView.OnQueryTextListener {
List<String> memberGuildIDs;
List<Group> guilds;
@ -30,13 +36,14 @@ public class PublicGuildsFragment extends BaseMainFragment {
private View view;
private PublicGuildsRecyclerViewAdapter viewAdapter;
private SearchView guildSearchView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
if (view == null) {
view = inflater.inflate(R.layout.fragment_recyclerview, container, false);
view = inflater.inflate(R.layout.fragment_guild_recyclerview, container, false);
unbinder = ButterKnife.bind(this, view);
recyclerView.setLayoutManager(new LinearLayoutManager(this.activity));
@ -76,4 +83,30 @@ public class PublicGuildsFragment extends BaseMainFragment {
});
}
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_public_guild, menu);
MenuItem searchItem = menu.findItem(R.id.action_guild_search);
guildSearchView = (SearchView)searchItem.getActionView();
SearchView.SearchAutoComplete theTextArea = (SearchView.SearchAutoComplete) guildSearchView.findViewById(R.id.search_src_text);
theTextArea.setHintTextColor(ContextCompat.getColor(this.activity,R.color.white));
guildSearchView.setQueryHint(getString(R.string.guild_search_hint));
guildSearchView.setOnQueryTextListener(this);
}
@Override
public boolean onQueryTextSubmit(String s) {
viewAdapter.getFilter().filter(s);
UiUtils.dismissKeyboard(this.activity);
return true;
}
@Override
public boolean onQueryTextChange(String s) {
viewAdapter.getFilter().filter(s);
return true;
}
}

View file

@ -317,8 +317,7 @@ public class HabitRPGUser extends BaseModel {
authentication.user_id = id;
flags.user_id = id;
if (contributor != null) { contributor.user_id = id; }
contributor.user_id = id;
invitations.user_id = id;
if (invitations != null) { invitations.user_id = id; }
ArrayList<Task> allTasks = new ArrayList<Task>();