<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
- android:layout_height="138dip" >
+ android:layout_height="112dip" >
<HorizontalScrollView
- android:layout_marginLeft="10dip"
- android:layout_marginTop="10dip"
- android:layout_marginRight="10dip"
- android:layout_marginBottom="10dip"
android:scrollbars="none"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/dashboard_highlight"
android:layout_gravity="center_horizontal"
- android:layout_width="87dip"
+ android:layout_width="92dip"
android:layout_height="fill_parent">
<!-- avatar -->
<ImageView android:id="@+id/avatar"
android:background="@drawable/im_avatar_picture_border_normal"
android:scaleType="centerCrop"
- android:padding="5dip"
android:layout_marginLeft="4dip"
- android:layout_marginTop="10dip"
+ android:layout_marginTop="5dip"
android:layout_width="58dip"
android:layout_height="58dip"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
+
+ <ImageView android:id="@+id/presence"
+ android:scaleType="centerCrop"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignBottom="@id/avatar"
+ android:layout_toRightOf="@id/avatar" />
<TextView android:id="@+id/name"
android:layout_marginTop="3dip"
<string name="presence_idle">"Nečinný"</string>
<string name="presence_offline">"Offline"</string>
<string name="presence_invisible">"Zobrazit jako offline"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g> settings (dev only)"</string>
- <string name="data_channel_label">"Datový kanál"</string>
- <string name="data_encoding_label">"Kódování dat"</string>
- <string name="cir_channel_label">"Kanál CIR"</string>
- <string name="host_label">"Hostitel"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"Uložit"</string>
<string name="chat_with">"Chat s uživatelem <xliff:g id="USER">%1$s</xliff:g>"</string>
<string name="me">"Já"</string>
<string name="compose_hint">"Sem zadejte zprávu"</string>
<item>"Smějící se"</item>
<item>"Zmatený"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_idle">"Leerlauf"</string>
<string name="presence_offline">"Offline"</string>
<string name="presence_invisible">"Als offline anzeigen"</string>
- <string name="preference_title">"Einstellungen für <xliff:g id="PROVIDER">%1$s</xliff:g> (nur für Entwickler)"</string>
- <string name="data_channel_label">"Datenkanal"</string>
- <string name="data_encoding_label">"Datenkodierung"</string>
- <string name="cir_channel_label">"CIR-Kanal"</string>
- <string name="host_label">"Host"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"Speichern"</string>
<string name="chat_with">"Mit <xliff:g id="USER">%1$s</xliff:g> chatten"</string>
<string name="me">"Eigene"</string>
<string name="compose_hint">"Zum Erstellen eintippen"</string>
<item>"Lachen"</item>
<item>"Verwirrt"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_idle">"Inactivo"</string>
<string name="presence_offline">"Desconectado"</string>
<string name="presence_invisible">"Aparecer desconectado"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g> settings (dev only)"</string>
- <string name="data_channel_label">"Canal de datos"</string>
- <string name="data_encoding_label">"Codificación de datos"</string>
- <string name="cir_channel_label">"Canal CIR"</string>
- <string name="host_label">"Host"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"Guardar"</string>
<string name="chat_with">"Chat con <xliff:g id="USER">%1$s</xliff:g>"</string>
<string name="me">"Yo"</string>
<string name="compose_hint">"Escribe el texto aquí"</string>
<item>"Riendo"</item>
<item>"Confuso"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_idle">"Absent"</string>
<string name="presence_offline">"Hors ligne"</string>
<string name="presence_invisible">"Apparaître hors ligne"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g> settings (dev only)"</string>
- <string name="data_channel_label">"Canal de données"</string>
- <string name="data_encoding_label">"Codage des données"</string>
- <string name="cir_channel_label">"Canal CIR"</string>
- <string name="host_label">"Hôte"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"Enregistrer"</string>
<string name="chat_with">"Chatter avec <xliff:g id="USER">%1$s</xliff:g>"</string>
<string name="me">"Moi"</string>
<string name="compose_hint">"Cliquer pour composer"</string>
<item>"Rigole"</item>
<item>"Confus"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_idle">"Inattivo"</string>
<string name="presence_offline">"Offline"</string>
<string name="presence_invisible">"Invisibile"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g> settings (dev only)"</string>
- <string name="data_channel_label">"Canale dati"</string>
- <string name="data_encoding_label">"Codifica dati"</string>
- <string name="cir_channel_label">"Canale CIR"</string>
- <string name="host_label">"Host"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"Salva"</string>
<string name="chat_with">"Conversazione con <xliff:g id="USER">%1$s</xliff:g>"</string>
<string name="me">"Io"</string>
<string name="compose_hint">"Digita per comporre"</string>
<item>"Risata"</item>
<item>"Confuso"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<skip />
<!-- no translation found for bg_data_prompt_cancel (7206105589826174638) -->
<skip />
- <string name="ongoing_conversation">"継続中のチャット (<xliff:g id="NUMBER">%1$d</xliff:g>件)"</string>
+ <string name="ongoing_conversation">"チャット中(<xliff:g id="NUMBER">%1$d</xliff:g>)"</string>
<string name="online_count">"オンライン<xliff:g id="NUMBER">%1$d</xliff:g>人"</string>
<string name="subscriptions">"友だちの招待"</string>
<string name="unknown_contact">"("<i>"不明"</i>")"</string>
<string name="empty_contact_group">"未登録"</string>
- <string name="empty_conversation_group">"ã\83\81ã\83£ã\83\83ã\83\88ã\81\97ã\81¦ã\81\84ã\81¾ã\81\9bã\82\93"</string>
+ <string name="empty_conversation_group">"ã\83\81ã\83£ã\83\83ã\83\88ã\81ªã\81\97"</string>
<string name="contacts_picker_title">"招待する連絡先を選択してください"</string>
<string name="contact_filter_hint">"検索する連絡先を入力"</string>
<string name="empty_contact_list">"連絡先がありません。"</string>
<string name="presence_idle">"アイドル状態"</string>
<string name="presence_offline">"オフライン"</string>
<string name="presence_invisible">"オフラインとして表示"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g> settings (dev only)"</string>
- <string name="data_channel_label">"データチャネル"</string>
- <string name="data_encoding_label">"データのエンコード"</string>
- <string name="cir_channel_label">"CIRチャネル"</string>
- <string name="host_label">"ホスト"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"保存"</string>
<string name="chat_with">"<xliff:g id="USER">%1$s</xliff:g>とチャット"</string>
<string name="me">"自分"</string>
<string name="compose_hint">"メッセージを入力"</string>
<item>"笑顔"</item>
<item>"混乱"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_idle">"한가함"</string>
<string name="presence_offline">"오프라인"</string>
<string name="presence_invisible">"오프라인"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g> settings (dev only)"</string>
- <string name="data_channel_label">"데이터 채널"</string>
- <string name="data_encoding_label">"데이터 인코딩"</string>
- <string name="cir_channel_label">"CIR 채널"</string>
- <string name="host_label">"호스트"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"저장"</string>
<string name="chat_with">"<xliff:g id="USER">%1$s</xliff:g>님과 채팅"</string>
<string name="me">"나"</string>
<string name="compose_hint">"메시지 내용을 입력하세요."</string>
<item>"웃음"</item>
<item>"어리둥절"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_idle">"Inaktiv"</string>
<string name="presence_offline">"Avlogget"</string>
<string name="presence_invisible">"Usynlig"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g> settings (dev only)"</string>
- <string name="data_channel_label">"Data channel"</string>
- <string name="data_encoding_label">"Data encoding"</string>
- <string name="cir_channel_label">"CIR channel"</string>
- <string name="host_label">"Host"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"Save"</string>
<string name="chat_with">"Samtale med <xliff:g id="USER">%1$s</xliff:g>"</string>
<string name="me">"Meg"</string>
<!-- no translation found for compose_hint (1735533889811320962) -->
<item>"Ler"</item>
<item>"Forvirret"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\\\\\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_idle">"Inactief"</string>
<string name="presence_offline">"Offline"</string>
<string name="presence_invisible">"Offline weergeven"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g> settings (dev only)"</string>
- <string name="data_channel_label">"Gegevenskanaal"</string>
- <string name="data_encoding_label">"Gegevenscodering"</string>
- <string name="cir_channel_label">"CIR-kanaal"</string>
- <string name="host_label">"Host"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"Opslaan"</string>
<string name="chat_with">"Chatten met <xliff:g id="USER">%1$s</xliff:g>"</string>
<string name="me">"Ik"</string>
<string name="compose_hint">"Typ om een bericht te schrijven"</string>
<item>"Lachend"</item>
<item>"Verward"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"Err:502"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_idle">"Bezczynność"</string>
<string name="presence_offline">"Offline"</string>
<string name="presence_invisible">"Pokazuj jako offline"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g> settings (dev only)"</string>
- <string name="data_channel_label">"Kanał danych"</string>
- <string name="data_encoding_label">"Szyfrowanie danych"</string>
- <string name="cir_channel_label">"Kanał CIR"</string>
- <string name="host_label">"Host"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"Zapisz"</string>
<string name="chat_with">"Czatuj z użytkownikiem <xliff:g id="USER">%1$s</xliff:g>"</string>
<string name="me">"Ja"</string>
<string name="compose_hint">"Wpisz, aby utworzyć"</string>
<item>"Śmiech"</item>
<item>"Zakłopotanie"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_idle">"Не активен"</string>
<string name="presence_offline">"Не в сети"</string>
<string name="presence_invisible">"Невидимость"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g> settings (dev only)"</string>
- <string name="data_channel_label">"Канал данных"</string>
- <string name="data_encoding_label">"Кодировка данных"</string>
- <string name="cir_channel_label">"Канал CIR"</string>
- <string name="host_label">"Хост"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"Сохранить"</string>
<string name="chat_with">"Чат: <xliff:g id="USER">%1$s</xliff:g>"</string>
<string name="me">"Я"</string>
<string name="compose_hint">"Введите текст"</string>
<item>"Смешно"</item>
<item>"В замешательстве"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_idle">"空闲"</string>
<string name="presence_offline">"脱机"</string>
<string name="presence_invisible">"显示为脱机"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g>设置(仅限开发人员)"</string>
- <string name="data_channel_label">"数据通道"</string>
- <string name="data_encoding_label">"数据编码"</string>
- <string name="cir_channel_label">"承诺信息速率通道"</string>
- <string name="host_label">"主机"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"保存"</string>
<string name="chat_with">"与<xliff:g id="USER">%1$s</xliff:g>聊天"</string>
<string name="me">"我"</string>
<string name="compose_hint">"键入内容"</string>
<item>"大笑"</item>
<item>"困惑"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_idle">"閒置"</string>
<string name="presence_offline">"離線"</string>
<string name="presence_invisible">"顯示離線"</string>
- <string name="preference_title">"<xliff:g id="PROVIDER">%1$s</xliff:g> settings (dev only)"</string>
- <string name="data_channel_label">"資料頻道"</string>
- <string name="data_encoding_label">"紀錄日期"</string>
- <string name="cir_channel_label">"多重路徑頻道"</string>
- <string name="host_label">"主機"</string>
- <string name="msisdn_label">"MSISDN"</string>
- <string name="http">"HTTP"</string>
- <string name="sms">"SMS"</string>
- <string name="tcp">"TCP"</string>
- <string name="xml">"XML"</string>
- <string name="wbxml">"WBXML"</string>
- <string name="save">"儲存"</string>
<string name="chat_with">"與 <xliff:g id="USER">%1$s</xliff:g> 交談"</string>
<string name="me">"我"</string>
<string name="compose_hint">"輸入文字開始撰寫"</string>
<item>"開懷大笑"</item>
<item>"疑惑"</item>
</string-array>
- <string-array name="default_smiley_texts">
- <item>":-)"</item>
- <item>":-("</item>
- <item>";-)"</item>
- <item>":-P"</item>
- <item>"=-O"</item>
- <item>":-*"</item>
- <item>":O"</item>
- <item>"B-)"</item>
- <item>":-$"</item>
- <item>":-!"</item>
- <item>":-["</item>
- <item>"O:-)"</item>
- <item>":-\\"</item>
- <item>":\'("</item>
- <item>":-X"</item>
- <item>":-D"</item>
- <item>"o_O"</item>
- </string-array>
</resources>
<string name="presence_invisible">Appear offline</string>
<!-- These strings are displayed on the connection setting activity. They are used for development only. Do not localize! -->
- <string name="preference_title"><xliff:g id="provider">%1$s</xliff:g> settings (dev only)</string>
- <string name="data_channel_label">Data channel</string>
- <string name="data_encoding_label">Data encoding</string>
- <string name="cir_channel_label">CIR channel</string>
- <string name="host_label">Host</string>
- <string name="msisdn_label">MSISDN</string>
- <string name="http">HTTP</string>
- <string name="sms">SMS</string>
- <string name="tcp">TCP</string>
- <string name="xml">XML</string>
- <string name="wbxml">WBXML</string>
- <string name="save">Save</string>
+ <string name="preference_title" translatable="false"><xliff:g id="provider">%1$s</xliff:g> settings (dev only)</string>
+ <string name="data_channel_label" translatable="false">Data channel</string>
+ <string name="data_encoding_label" translatable="false">Data encoding</string>
+ <string name="cir_channel_label" translatable="false">CIR channel</string>
+ <string name="host_label" translatable="false">Host</string>
+ <string name="msisdn_label" translatable="false">MSISDN</string>
+ <string name="http" translatable="false">HTTP</string>
+ <string name="sms" translatable="false">SMS</string>
+ <string name="tcp" translatable="false">TCP</string>
+ <string name="xml" translatable="false">XML</string>
+ <string name="wbxml" translatable="false">WBXML</string>
+ <string name="save" translatable="false">Save</string>
<!-- These strings are displayed on the chat screen -->
<!-- Chat screen title (i.e. Chat with Anne Clarkson) -->
<item>Confused</item>
</string-array>
<!-- Do not localize! Smiley text representations. May be overrided by the plugin. -->
- <string-array name="default_smiley_texts">
+ <string-array name="default_smiley_texts" translatable="false">
<item>:-)</item>
<item>:-(</item>
<item>;-)</item>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ /*
+ * Copyright 2008, Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<resources>
+ <style name="Theme.ChatSwitcher" parent="android:style/Theme.Dialog">
+ <item name="android:windowBackground">@drawable/dialog_im_switch_chats_strip</item>
+ <item name="android:windowNoTitle">true</item>
+ </style>
+</resources>
\ No newline at end of file
private View mEmptyView;
public ChatSwitcherDialog(Context context, ChatSwitcher switcher) {
- super(context);
+ super(context, R.style.Theme_ChatSwitcher);
mSwitcher = switcher;
}
}
}
+ private void updateViewListeners(View v, final Cursor c, final int position) {
+ v.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View view) {
+ select(c, position);
+ }});
+
+ v.setOnKeyListener(new View.OnKeyListener() {
+ public boolean onKey(View v, int keyCode, KeyEvent event) {
+ if (event.getAction() != KeyEvent.ACTION_DOWN) {
+ return false;
+ }
+ switch (keyCode) {
+ case KeyEvent.KEYCODE_ENTER:
+ case KeyEvent.KEYCODE_DPAD_CENTER:
+ select(c, position);
+ return true;
+ }
+ return false;
+ }
+ });
+ }
+
public void update() {
int focusPos = 0;
int sz = mViews.size();
mInflater.inflate(R.layout.chat_switcher_item, mContainer, true);
v = mContainer.getChildAt(mContainer.getChildCount() - 1);
mViews.add(v);
- final int position = pos;
- v.setOnClickListener(new View.OnClickListener() {
- public void onClick(View view) {
- select(c, position);
- }});
- v.setOnKeyListener(new View.OnKeyListener() {
- public boolean onKey(View v, int keyCode, KeyEvent event) {
- if (event.getAction() != KeyEvent.ACTION_DOWN) {
- return false;
- }
- switch (keyCode) {
- case KeyEvent.KEYCODE_ENTER:
- case KeyEvent.KEYCODE_DPAD_CENTER:
- select(c, position);
- return true;
- }
- return false;
- }
- });
v.setFocusable(true);
} else {
v = mViews.get(pos);
}
+
+ updateViewListeners(v, c, pos);
+
v.setVisibility(View.VISIBLE);
mSwitcherAdapter.bindView(v, mActivity, c);
v.setTag(c.getLong(mProviderIdColumn));
private String mMenuPlus;
private int mLayout;
- private android.database.ContentObserver mContentObserver =
+ private android.database.ContentObserver mContentObserver =
new android.database.ContentObserver(null) {
@Override
public void onChange(boolean selfChange) {
}
};
- private android.database.DataSetObserver mDataSetObserver =
- new android.database.DataSetObserver() {
- @Override
- public void onChanged() {
- if (isOpen())
- startQuery();
- }
-
- @Override
- public void onInvalidated() {
- }
- };
-
-
public SwitcherAdapter(Cursor c, Activity a) {
// use false as the third parameter to the CursorAdapter constructor
- // to indicate that we should not auto-requery the cursor
+ // to indicate that we should not auto-requery the cursor
super(a, c, false);
- mLayout = R.layout.chat_switcher_item;
+ mLayout = R.layout.chat_switcher_item;
mActivity = a;
mMenuPlus = a.getString(R.string.menu_plus);
private void setupObservers(Cursor oldCursor) {
if (oldCursor != null) {
oldCursor.unregisterContentObserver(mContentObserver);
- oldCursor.unregisterDataSetObserver(mDataSetObserver);
}
Cursor c = getCursor();
return;
c.registerContentObserver(mContentObserver);
- c.registerDataSetObserver(mDataSetObserver);
}
@Override
presence = brandingRes.getDrawable(
PresenceUtils.getStatusIconId(presenceMode));
}
- presence.setBounds(0, 0, presence.getIntrinsicWidth(),
- presence.getIntrinsicHeight());
- t.setCompoundDrawables(null, null, presence, null);
- t.setCompoundDrawablePadding(3);
+ ImageView presenceView = (ImageView) view.findViewById(R.id.presence);
+ presenceView.setImageDrawable(presence);
// If there is a shortcut assigned to this chat, then show it, otherwise
// hide the shortcut text view.
- String shortcut = c.getString(mShortcutColumn);
+ long shortcut = c.getLong(mShortcutColumn);
TextView shortcutView = (TextView) view.findViewById(R.id.shortcut);
shortcutView.setVisibility(mPreferMenuShortcut ? View.VISIBLE : View.GONE);
- if (!TextUtils.isEmpty(shortcut)) {
+ if (shortcut >= 0 && shortcut < 10) {
shortcutView.setText(mMenuPlus + shortcut);
} else {
shortcutView.setText("");
tv.setText(android.text.format.DateUtils.getRelativeTimeSpanString(
c.getLong(mLastChatColumn),
System.currentTimeMillis(),
- android.text.format.DateUtils.MINUTE_IN_MILLIS,
+ android.text.format.DateUtils.MINUTE_IN_MILLIS,
android.text.format.DateUtils.FORMAT_ABBREV_RELATIVE));
tv.setVisibility(mPreferMenuShortcut ? View.GONE : View.VISIBLE);
}
c.moveToPosition(-1);
while (c.moveToNext()) {
- String shortcut = c.getString(mShortcutColumn);
- if (shortcut != null && shortcut.length() > 0 && shortcut.charAt(0) == key) {
+ long shortcut = c.getLong(mShortcutColumn);
+ if (shortcut >= 0 && shortcut < 10 && key == (shortcut + '0')) {
select(c, c.getPosition());
break;
}
/*
* +1 to go forward, -1 to go backward
*/
- public void rotateChat(final int direction, final String contact,
- final long accountId, final long providerId) {
+ public void rotateChat(final int direction, final String contact, final long accountId, final long providerId) {
if (direction != 1 && direction != -1) {
return;
}
new AlertDialog.Builder(mContext)
.setTitle(R.string.confirm)
.setMessage(r.getString(R.string.confirm_block_contact, mNickName))
- .setPositiveButton(R.string.no, null) // default button
- .setNegativeButton(R.string.yes, confirmListener)
+ .setPositiveButton(R.string.yes, confirmListener) // default button
+ .setNegativeButton(R.string.no, null)
.setCancelable(false)
.show();
}
protected void onResume() {
super.onResume();
mApp.registerForConnEvents(mHandler);
+ mContactListView.setAutoRefreshContacts(true);
}
@Override
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
+import android.graphics.Canvas;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
private ContactListTreeAdapter mAdapter;
private boolean mHideOfflineContacts;
private SavedState mSavedState;
+ private boolean mAutoRefresh = true;
public ContactListView(Context screen, AttributeSet attrs) {
super(screen, attrs);
Intent i = new Intent(Intent.ACTION_VIEW, data);
i.addCategory(ImApp.IMPS_CATEGORY);
mScreen.startActivity(i);
+ setAutoRefreshContacts(false);
} catch (RemoteException e) {
mHandler.showServiceErrorAlert();
}
mSavedState = ss;
}
+
+ protected void setAutoRefreshContacts(boolean isRefresh) {
+ mAutoRefresh = isRefresh;
+ }
+
+ @Override
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
+ if (mAutoRefresh) {
+ super.onLayout(changed, l, t, r, b);
+ }
+ }
}
PackageManager pm = getPackageManager();
List<ResolveInfo> plugins = pm.queryIntentServices(
new Intent(ImPluginConstants.PLUGIN_ACTION_NAME), PackageManager.GET_META_DATA);
+ int numPlugins = plugins.size();
+
+ if (Log.isLoggable(TAG, Log.DEBUG)) {
+ log("loadThirdPartyPlugins: # plugins found: " + numPlugins);
+ }
+
+ if (numPlugins == 0) {
+ Log.e(TAG, "[IM.FrontDoorPlugin] no plugins found! bail...");
+ return;
+ }
+
for (ResolveInfo info : plugins) {
- if (LOCAL_DEBUG) log("loadThirdPartyPlugins: found plugin " + info);
+ if (Log.isLoggable(TAG, Log.DEBUG)) log("loadThirdPartyPlugins: found plugin " + info);
ServiceInfo serviceInfo = info.serviceInfo;
if (serviceInfo == null) {
- Log.e(TAG, "loadThirdPartyPlugins: ignore bad plugin: " + info);
+ Log.e(TAG, "[FrontDoorPlugin] loadThirdPartyPlugins: ignore bad plugin: " + info);
continue;
}
signUpUrl = metaData.getString(ImPluginConstants.METADATA_SIGN_UP_URL);
}
if (TextUtils.isEmpty(providerName) || TextUtils.isEmpty(providerFullName)) {
- Log.e(TAG, "Ignore bad IM plugin: " + info + ". Lack of required meta data");
+ Log.e(TAG, "[FrontDoorPlugin] Ignore bad IM plugin: " + info +
+ ". Lack of required meta data");
continue;
}
String srcPath = serviceInfo.applicationInfo.sourceDir;
Class pluginClass = loadClass(className, srcPath);
if (pluginClass == null) {
- Log.e(TAG, "Can not load package for plugin " + providerName);
+ Log.e(TAG, "[FrontDoorPlugin] Can not load package for plugin " + providerName);
continue;
}
classes.put(providerName, pluginClass);
Map<String, String> config = loadProviderConfigFromPlugin(pluginClass);
if (config == null) {
- Log.e(TAG, "Can not load config for plugin " + providerName);
+ Log.e(TAG, "[FrontDoorPlugin] Can not load config for plugin " + providerName);
continue;
}
config.put(ImConfigNames.PLUGIN_PATH, srcPath);
return;
}
for (PrimitiveElement entity : entityList.getChildren()) {
- if (entity.getTagName().equals(ImpsTags.UserID)) {
+ if (ImpsTags.UserID.equals(entity.getTagName())) {
+ String userId = entity.getContents();
+ if (userId == null || userId.length() == 0) {
+ ImpsLog.logError("Empty UserID in BlockList");
+ continue;
+ }
ImpsAddress userAddress = new ImpsUserAddress(entity.getContents());
notifyBlockContact(new Contact(userAddress, userAddress.getScreenName()),
true);
// Insert a fake msisdn on emulator. We don't need this on device
// because the mobile network will take care of it.
if ("1".equals(SystemProperties.get("ro.kernel.qemu"))) {
- settings.put(ImpsConfigNames.MSISDN, "1231231234");
+ settings.put(ImpsConfigNames.MSISDN, "15555218135");
} else if (networkInfo != null
&& networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
if (!TextUtils.isEmpty(settings.get(ImpsConfigNames.SMS_ADDR))) {
// the sign in would fail and an error message should be shown to warn
// the user to contact their operator.
String msisdn = TelephonyManager.getDefault().getLine1Number();
- if (!TextUtils.isEmpty(msisdn)) {
- settings.put(ImpsConfigNames.MSISDN, msisdn);
+ if (TextUtils.isEmpty(msisdn)) {
+ Log.w(TAG, "Can not read MSISDN from SIM, use a fake one."
+ + " SMS related feature won't work.");
+ msisdn = "15555218135";
}
+ settings.put(ImpsConfigNames.MSISDN, msisdn);
}
}
return settings;