aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/AndroidManifest.xml56
-rw-r--r--src/main/java/eu/siacs/conversations/ui/AboutActivity.java15
-rw-r--r--src/main/java/eu/siacs/conversations/ui/AboutPreference.java41
-rw-r--r--src/main/res/layout/activity_about.xml21
-rw-r--r--src/main/res/values-w820dp/dimens.xml7
-rw-r--r--src/main/res/values/dimens.xml5
-rw-r--r--src/main/res/values/strings.xml39
-rw-r--r--src/main/res/xml/preferences.xml3
8 files changed, 156 insertions, 31 deletions
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index 95663a87..225091f9 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -19,10 +19,10 @@
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/ConversationsTheme"
- tools:replace="android:label">
- <service android:name="eu.siacs.conversations.services.XmppConnectionService" />
+ tools:replace="android:label" >
+ <service android:name=".services.XmppConnectionService" />
- <receiver android:name="eu.siacs.conversations.services.EventReceiver">
+ <receiver android:name=".services.EventReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
@@ -31,10 +31,10 @@
</receiver>
<activity
- android:name="eu.siacs.conversations.ui.ConversationActivity"
+ android:name=".ui.ConversationActivity"
android:label="@string/title_activity_conversations"
android:launchMode="singleTask"
- android:windowSoftInputMode="stateHidden">
+ android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -42,9 +42,9 @@
</intent-filter>
</activity>
<activity
- android:name="eu.siacs.conversations.ui.StartConversationActivity"
+ android:name=".ui.StartConversationActivity"
android:configChanges="orientation|screenSize"
- android:label="@string/title_activity_start_conversation">
+ android:label="@string/title_activity_start_conversation" >
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
@@ -63,38 +63,40 @@
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
+
<category android:name="android.intent.category.DEFAULT" />
+
<data android:scheme="xmpp" />
</intent-filter>
</activity>
<activity
- android:name="eu.siacs.conversations.ui.SettingsActivity"
- android:label="@string/title_activity_settings"></activity>
+ android:name=".ui.SettingsActivity"
+ android:label="@string/title_activity_settings" />
<activity
- android:name="eu.siacs.conversations.ui.ChooseContactActivity"
- android:label="@string/title_activity_choose_contact"></activity>
+ android:name=".ui.ChooseContactActivity"
+ android:label="@string/title_activity_choose_contact" />
<activity
- android:name="eu.siacs.conversations.ui.ManageAccountActivity"
+ android:name=".ui.ManageAccountActivity"
android:configChanges="orientation|screenSize"
- android:label="@string/title_activity_manage_accounts"></activity>
+ android:label="@string/title_activity_manage_accounts" />
<activity
- android:name="eu.siacs.conversations.ui.EditAccountActivity"
- android:windowSoftInputMode="stateHidden|adjustResize"></activity>
+ android:name=".ui.EditAccountActivity"
+ android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
- android:name="eu.siacs.conversations.ui.ConferenceDetailsActivity"
+ android:name=".ui.ConferenceDetailsActivity"
android:label="@string/title_activity_conference_details"
- android:windowSoftInputMode="stateHidden"></activity>
+ android:windowSoftInputMode="stateHidden" />
<activity
- android:name="eu.siacs.conversations.ui.ContactDetailsActivity"
+ android:name=".ui.ContactDetailsActivity"
android:label="@string/title_activity_contact_details"
- android:windowSoftInputMode="stateHidden"></activity>
+ android:windowSoftInputMode="stateHidden" />
<activity
- android:name="eu.siacs.conversations.ui.PublishProfilePictureActivity"
+ android:name=".ui.PublishProfilePictureActivity"
android:label="@string/mgmt_account_publish_avatar"
- android:windowSoftInputMode="stateHidden"></activity>
+ android:windowSoftInputMode="stateHidden" />
<activity
- android:name="eu.siacs.conversations.ui.ShareWithActivity"
- android:label="@string/title_activity_conversations">
+ android:name=".ui.ShareWithActivity"
+ android:label="@string/title_activity_conversations" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
@@ -111,6 +113,14 @@
</intent-filter>
</activity>
<activity android:name="de.duenndns.ssl.MemorizingActivity" />
+ <activity
+ android:name=".ui.AboutActivity"
+ android:label="@string/title_activity_about"
+ android:parentActivityName=".ui.SettingsActivity" >
+ <meta-data
+ android:name="android.support.PARENT_ACTIVITY"
+ android:value="eu.siacs.conversations.ui.SettingsActivity" />
+ </activity>
</application>
</manifest>
diff --git a/src/main/java/eu/siacs/conversations/ui/AboutActivity.java b/src/main/java/eu/siacs/conversations/ui/AboutActivity.java
new file mode 100644
index 00000000..a61b872a
--- /dev/null
+++ b/src/main/java/eu/siacs/conversations/ui/AboutActivity.java
@@ -0,0 +1,15 @@
+package eu.siacs.conversations.ui;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import eu.siacs.conversations.R;
+
+public class AboutActivity extends Activity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_about);
+ }
+}
diff --git a/src/main/java/eu/siacs/conversations/ui/AboutPreference.java b/src/main/java/eu/siacs/conversations/ui/AboutPreference.java
new file mode 100644
index 00000000..804b4e23
--- /dev/null
+++ b/src/main/java/eu/siacs/conversations/ui/AboutPreference.java
@@ -0,0 +1,41 @@
+package eu.siacs.conversations.ui;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.preference.Preference;
+import android.util.AttributeSet;
+
+public class AboutPreference extends Preference {
+ public AboutPreference(final Context context, final AttributeSet attrs, final int defStyle) {
+ super(context, attrs, defStyle);
+ setSummary();
+ }
+
+ public AboutPreference(final Context context, final AttributeSet attrs) {
+ super(context, attrs);
+ setSummary();
+ }
+
+ @Override
+ protected void onClick() {
+ super.onClick();
+ final Intent intent = new Intent(getContext(), AboutActivity.class);
+ getContext().startActivity(intent);
+ }
+
+ private void setSummary() {
+ if (getContext() != null && getContext().getPackageManager() != null) {
+ final String packageName = getContext().getPackageName();
+ final String versionName;
+ try {
+ versionName = getContext().getPackageManager().getPackageInfo(packageName, 0).versionName;
+ setSummary("Conversations " + versionName);
+ } catch (final PackageManager.NameNotFoundException e) {
+ // Using try/catch as part of the logic is sort of like this:
+ // https://xkcd.com/292/
+ }
+ }
+ }
+}
+
diff --git a/src/main/res/layout/activity_about.xml b/src/main/res/layout/activity_about.xml
new file mode 100644
index 00000000..06a4992a
--- /dev/null
+++ b/src/main/res/layout/activity_about.xml
@@ -0,0 +1,21 @@
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ tools:context="eu.siacs.conversations.ui.AboutActivity"
+ android:background="@color/secondarybackground"
+ android:paddingLeft="@dimen/activity_horizontal_margin"
+ android:paddingRight="@dimen/activity_horizontal_margin"
+ android:paddingTop="@dimen/activity_vertical_margin"
+ android:paddingBottom="@dimen/activity_vertical_margin"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent">
+
+ <TextView
+ android:text="@string/pref_about_message"
+ android:autoLink="web"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:linksClickable="true"
+ android:textColor="@color/primarytext"
+ android:textSize="?attr/TextSizeBody" />
+
+</ScrollView>
diff --git a/src/main/res/values-w820dp/dimens.xml b/src/main/res/values-w820dp/dimens.xml
new file mode 100644
index 00000000..3aeac9e7
--- /dev/null
+++ b/src/main/res/values-w820dp/dimens.xml
@@ -0,0 +1,7 @@
+<resources>
+ <!-- Customization of dimensions originally defined in res/values/dimens.xml
+ (such as screen margins) for screens with more than 820dp of available
+ width. This would include 7" and 10" devices in landscape (~960dp and
+ ~1280dp respectively). -->
+ <dimen name="activity_horizontal_margin">64dp</dimen>
+</resources>
diff --git a/src/main/res/values/dimens.xml b/src/main/res/values/dimens.xml
new file mode 100644
index 00000000..47c82246
--- /dev/null
+++ b/src/main/res/values/dimens.xml
@@ -0,0 +1,5 @@
+<resources>
+ <!-- Default screen margins, per the Android Design guidelines. -->
+ <dimen name="activity_horizontal_margin">16dp</dimen>
+ <dimen name="activity_vertical_margin">16dp</dimen>
+</resources>
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 0dbb49ad..547659b4 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -25,8 +25,8 @@
<string name="minute_ago">1 min ago</string>
<string name="minutes_ago">%d mins ago</string>
<string name="unread_conversations">unread Conversations</string>
- <string name="sending">sending&#8230;</string>
- <string name="encrypted_message">Decrypting message. Please wait&#8230;</string>
+ <string name="sending">sending…</string>
+ <string name="encrypted_message">Decrypting message. Please wait…</string>
<string name="nick_in_use">Nickname is already in use</string>
<string name="admin">Admin</string>
<string name="owner">Owner</string>
@@ -58,7 +58,7 @@
<string name="add_contact">Add contact</string>
<string name="send_failed">delivery failed</string>
<string name="send_rejected">rejected</string>
- <string name="receiving_image">Receiving image file. Please wait&#8230;</string>
+ <string name="receiving_image">Receiving image file. Please wait…</string>
<string name="preparing_image">Preparing image for transmission</string>
<string name="action_clear_history">Clear history</string>
<string name="clear_conversation_history">Clear Conversation History</string>
@@ -78,8 +78,8 @@
<string name="openkeychain_required_long">Conversations utilizes a third party app called <b>OpenKeychain</b> to encrypt and decrypt messages and to manage your public keys.\n\nOpenKeychain is licensed under GPLv3 and available on F-Droid and Google Play.\n\n<small>(Please restart Conversations afterwards.)</small></string>
<string name="restart">Restart</string>
<string name="install">Install</string>
- <string name="offering">offering&#8230;</string>
- <string name="waiting">waiting&#8230;</string>
+ <string name="offering">offering…</string>
+ <string name="waiting">waiting…</string>
<string name="no_pgp_key">No OpenPGP Key found</string>
<string name="contact_has_no_pgp_key">Conversations is unable to encrypt your messages because your contact is not announcing his or hers public key.\n\n<small>Please ask your contact to setup OpenPGP.</small></string>
<string name="no_pgp_keys">No OpenPGP Keys found</string>
@@ -91,7 +91,7 @@
<string name="pref_xmpp_resource">XMPP resource</string>
<string name="pref_xmpp_resource_summary">The name this client identifies itself with</string>
<string name="pref_accept_files">Accept files</string>
- <string name="pref_accept_files_summary">Automatically accept files smaller than&#8230;</string>
+ <string name="pref_accept_files_summary">Automatically accept files smaller than…</string>
<string name="pref_notification_settings">Notification Settings</string>
<string name="pref_notifications">Notifications</string>
<string name="pref_notifications_summary">Notify when a new message arrives</string>
@@ -217,7 +217,7 @@
<string name="publish">Publish</string>
<string name="touch_to_choose_picture">Touch avatar to select picture from gallery</string>
<string name="publish_avatar_explanation">Please note: Everyone subscribed to your presence updates will be allowed to see this picture.</string>
- <string name="publishing">Publishing&#8230;</string>
+ <string name="publishing">Publishing…</string>
<string name="error_publish_avatar_server_reject">The server rejected your publication</string>
<string name="error_publish_avatar_converting">Something went wrong while converting your picture</string>
<string name="error_saving_avatar">Could not save avatar to disk</string>
@@ -254,6 +254,29 @@
<string name="pref_enable_legacy_ssl_summary">Enables SSLv3 support for legacy servers. Warning: SSLv3 is considered insecure.</string>
<string name="pref_expert_options">Expert options</string>
<string name="pref_expert_options_summary">Please be careful with these</string>
+ <string name="title_activity_about">About Conversations</string>
+ <string name="pref_about_conversations_summary">Build and licensing information</string>
+ <string name="pref_about_message">
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License version 3 as published
+ by the Free Software Foundation.\n
+ \n
+ https://www.gnu.org/licenses/gpl-3.0.html\n
+ \n
+ OpenPGP API is licensed under the Apache License, Version 2.0; You may
+ obtain a copy of the License at:\n
+ \n
+ https://www.apache.org/licenses/LICENSE-2.0\n
+ \n
+ Minidns © 2014 Rene Treffer and is provided under the WTFPL\n
+ \n
+ http://wtfpl.org\n
+ \n
+ MemorizingTrustManager © 2010 Georg Lukas under the terms of the MIT
+ License\n
+ \n
+ http://opensource.org/licenses/MIT\n
+ </string>
<string name="pref_use_larger_font">Increase font size</string>
<string name="pref_use_larger_font_summary">Use larger font sizes across the entire app</string>
<string name="pref_use_send_button_to_indicate_status">Send button indicates status</string>
@@ -285,4 +308,4 @@
<string name="scan_qr_code">Scan QR code</string>
<string name="show_qr_code">Show QR code</string>
<string name="account_details">Account details</string>
-</resources> \ No newline at end of file
+</resources>
diff --git a/src/main/res/xml/preferences.xml b/src/main/res/xml/preferences.xml
index 06ab7560..15a61e87 100644
--- a/src/main/res/xml/preferences.xml
+++ b/src/main/res/xml/preferences.xml
@@ -110,5 +110,8 @@
android:summary="@string/pref_never_send_crash_summary"
android:title="@string/pref_never_send_crash" />
</PreferenceCategory>
+ <eu.siacs.conversations.ui.AboutPreference
+ android:summary="@string/pref_about_conversations_summary"
+ android:title="@string/title_activity_about" />
</PreferenceScreen>